]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
re PR testsuite/48676 ([sh] Unaligned userspace access in gcc.dg/torture/pr37868.c)
[gcc.git] / gcc / ChangeLog
CommitLineData
f0679612
DD
12011-04-19 DJ Delorie <dj@redhat.com>
2
3 * config/m32c/m32c.c (m32c_emit_epilogue): Don't try to push
4 registers if we already know there aren't any.
5 (m32c_emit_epilogue): Don't emit a barrier here.
6 (m32c_emit_eh_epilogue): Likewise.
7 * config/m32c/blkmov.md (movstr): Don't fail on wrong-type
8 operands at expand time.
9 * config/m32c/m32c.h (WCHAR_TYPE_SIZE): Change to 4 to match "long
10 int" wchar type.
11 (REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): Remove
12 duplicates. Provide aliases instead.
13 * config/m32c/prologue.md (eh_return): Emit a barrier here.
14 (eh_epilogue): Add a "(return)" here as a hint to other parts of
15 the compiler.
16
32257ddc
AS
172011-04-19 Anatoly Sokolov <aesok@post.ru>
18
19 * config/sparc/sparc.h (GENERAL_OR_I64, REGISTER_MOVE_COST): Remove.
20 * config/sparc/sparc.c (TARGET_REGISTER_MOVE_COST): Define.
21 (general_or_i64_p, sparc_register_move_cost): New function.
22
60bea929
RO
232011-04-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
24
25 * doc/install.texi (Configuration, --enable-threads): Remove mach.
26 Add lynx, mipssde.
27 Sort table.
28
444b3995
XDL
292011-04-19 Xinliang David Li <davidxl@google.com>
30
31 * ipa-cp.c (ipcp_update_profiling): asserting
32 scale_completement is not negative.
33
d708ce50
JJ
342011-04-19 Jakub Jelinek <jakub@redhat.com>
35
36 PR target/48678
37 * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
38 is a SUBREG with non-MODE_INT mode inside of it.
39
49c471e3
MJ
402011-04-19 Martin Jambor <mjambor@suse.cz>
41
42 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize
43 also according to actual contants.
44 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): New function.
45 (gimple_fold_call): Use it.
46 * gimple.h (gimple_extract_devirt_binfo_from_cst): Declare.
47
0004f992
MJ
482011-04-19 Martin Jambor <mjambor@suse.cz>
49
50 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar
51 non-pointer assignments.
52
40591473
MJ
532011-04-19 Martin Jambor <mjambor@suse.cz>
54
55 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into
56 account anc_offset and otr_type from the indirect edge info.
57 * ipa-prop.c (get_ancestor_addr_info): New function.
58 (compute_complex_ancestor_jump_func): Assignment analysis moved to
59 get_ancestor_addr_info, call it.
60 (ipa_note_param_call): Do not initialize information about polymorphic
61 calls, return the indirect call graph edge. Remove the last
62 parameter, adjust all callers.
63 (ipa_analyze_virtual_call_uses): Process also calls to ancestors of
64 parameters. Initialize polymorphic information in the indirect edge.
65
abe36b81
EB
662011-04-19 Eric Botcazou <ebotcazou@adacore.com>
67
68 PR lto/48148
69 * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
70 the types if they have different enumeration identifiers.
71
e6416b30
JH
722011-04-19 Jan Hubicka <jh@suse.cz>
73
74 * cgraph.h (cgraph_optimize_for_size_p): Declare.
75 * ipa-cp.c (ipcp_insert_stage): Use cgraph_optimize_for_size_p.
76 * predict.c (cgraph_optimize_for_size_p): Break out from ...
77 (optimize_function_for_size_p) ... here.
78
d39132ea
RG
792011-04-19 Richard Guenther <rguenther@suse.de>
80
81 PR lto/48207
82 * tree.c (free_lang_data): Do not reset the decl-assembler-name
83 langhook.
84
ff7037dc
EB
852011-04-19 Eric Botcazou <ebotcazou@adacore.com>
86
87 * tree-inline.c (expand_call_inline): Do not issue a -Winline warning
88 if DECL_NO_INLINE_WARNING_P is set on the function.
89
c1ee2892
BS
902011-04-19 Bernd Schmidt <bernds@codesourcery.com>
91
92 PR fortran/47976
93 * reload1.c (inc_for_reload): Return void. All callers changed.
94 (emit_input_reload_insns): Don't try to delete previous output
95 reloads to a register, or record spill_reg_store for autoincs.
fbb20b29
BS
96
972011-04-19 Basile Starynkevitch <basile@starynkevitch.net>
98
99 * gengtype.h: Updated copyright year.
100 (struct input_file_st): Add inpisplugin field.
101 (type_fileloc): New function.
102 * gengtype.c
103 (write_typed_struct_alloc_def): Add gcc_assert.
104 (write_typed_alloc_defns): Ditto. Don't output for plugin files.
105 (write_typed_alloc_defns): Don't output for plugin files.
106 (input_file_by_name): Clear inpisplugin field.
107 (main): Set inpisplugin field for plugin files.
108
897e0a89
NP
1092011-04-19 Nicola Pero <nicola.pero@meta-innovation.com>
110
111 * gengtype-state.c (string_eq): New.
112 (read_state): Use string_eq instead of strcmp when creating the
113 state_ident_tab.
114
363ee90e
WG
1152011-04-19 Wei Guozhi <carrot@google.com>
116
117 PR target/47855
118 * config/arm/arm-protos.h (thumb1_legitimate_address_p): New prototype.
119 * config/arm/arm.c (thumb1_legitimate_address_p): Remove the static
120 linkage.
121 * config/arm/constraints.md (Uu): New constraint.
122 * config/arm/arm.md (*arm_movqi_insn): Compute attr "length".
123
18a24fed
TG
1242011-04-19 Tristan Gingold <gingold@adacore.com>
125
126 * config.gcc (-*-*-*vms): Added.
127 (alpha64-dec-*vms*,alpha*-dec-*vms*, ia64-hp-*vms*): Common
128 definitions moved.
129 * config/vms/vms-ld.c: New file.
130 * config/vms/vms-ar.c: New file.
131 * config/vms/t-vmsnative: New file.
132
1c13f168
XDL
1332011-04-18 Xinliang David Li <davidxl@google.com>
134
135 * final.c (dump_basic_block_info): Use ASM_COMMENT_START.
136
84825707
JJ
1372011-04-18 Jakub Jelinek <jakub@redhat.com>
138
139 PR middle-end/48661
140 * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
141 if TREE_TYPE (v) is non-NULL.
142
143 * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
144 gimple_get_virt_mehtod_for_binfo.
145 * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
146 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
147 callers.
148 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
149
7d4f8d02 1502011-04-18 Michael Matz <matz@suse.de>
7254cb57
MM
151 Steve Ellcey <sje@cup.hp.com>
152
7d4f8d02
EB
153 * expr.c (expand_expr_real_2) <CASE_CONVERT>: If OP0 is a constant,
154 use its mode as source mode if it isn't VOIDmode.
7254cb57 155
474e8e70
DCR
1562011-04-18 Dennis, CHENG Renquan <crquan@fedoraproject.org>
157
158 * doc/passes.texi: Fill crossref nodes.
159
cff41484
JM
1602011-04-18 Jim Meyering <meyering@redhat.com>
161
7d4f8d02 162 Fix doubled-word typos in comments and strings
cff41484
JM
163 * config/alpha/vms-unwind.h: s/for for/for/
164 * config/arm/unwind-arm.h: Likewise.
165 * config/microblaze/microblaze.c: Likewise.
166 * config/sh/constraints.md: s/in in/in/
167 * tree-cfg.c (verify_types_in_gimple_reference): Likewise.
168
f60c2554
UB
1692011-04-18 Uros Bizjak <ubizjak@gmail.com>
170
171 * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): Remove.
172 (AVX_FLOAT_MODE_P): Ditto.
173 (AVX128_VEC_FLOAT_MODE_P): Ditto.
174 (AVX256_VEC_FLOAT_MODE_P): Ditto.
175 (AVX_VEC_FLOAT_MODE_P): Ditto.
176 * config/i386/i386.md (UNSPEC_MASKLOAD): Remove.
177 (UNSPEC_MASKSTORE): Ditto.
178 * config/i386/sse.md (<sse>_movmsk<ssemodesuffix><avxmodesuffix>):
179 Merge from <sse>_movmsk<ssemodesuffix> and
180 avx_movmsk<ssemodesuffix>256. Use VF mode iterator.
181 (*sse2_maskmovdqu): Merge with *sse2_maskmovdqu_rex64. Use P mode
182 iterator.
183 (avx_maskload<ssemodesuffix><avxmodesuffix>): New expander.
184 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Ditto.
185 (*avx_maskmov<ssemodesuffix><avxmodesuffix>): New insn.
186
09a2806f
JH
1872011-04-18 Jan Hubicka <jh@suse.cz>
188
8a8dccb2
JH
189 * ipa-inline.c (inline_small_functions): Fix pasto in previous patch.
190
09a2806f
JH
191 * ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
192 (want_inline_function_called_once_p): Break out the logic from
193 ipa_inline.
194 (edge_badness): Ensure that profile is not misupdated.
195 (lookup_recursive_calls): Prioritize by call frequencies.
196 (inline_small_functions): Move program size estimates here;
197 actually process whole queue even when unit growth has been
198 met. (to properly compute inline_failed reasons and for the
f60c2554 199 case unit size decrease.) Revisit comments on recursive inlining.
09a2806f
JH
200 (ipa_inline): Remove unit summary code; first inline hot calls
201 of functions called once, cold calls next.
202 (order, nnodes): Remove unused variables.
203 * Makefile.in (ipa-inline.o): No longer depent on ggc files.
204 (GTFILES): Remove ipa-inline.c
205 * sel-sched.c (fill_insns): Silence uninitialized var warning.
206
3eea52ef
EB
2072011-04-18 Eric Botcazou <ebotcazou@adacore.com>
208
209 * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
210
229a1c59 2112011-04-18 Jie Zhang <jie@codesourcery.com>
3eea52ef 212 Richard Earnshaw <rearnsha@arm.com>
229a1c59
JZ
213
214 * arm.c (neon_builtin_type_bits): Remove.
215 (typedef enum neon_builtin_mode): New.
216 (T_MAX): Don't define.
217 (typedef enum neon_builtin_datum): Remove bits, codes[],
218 num_vars and base_fcode. Add mode, code and fcode.
219 (VAR1, VAR2, VAR3, VAR4, VAR5, VAR6, VAR7, VAR8, VAR9
220 VAR10): Change accordingly.
221 (neon_builtin_data[]): Change accordingly
222 (arm_init_neon_builtins): Change accordingly.
223 (neon_builtin_compare): Remove.
224 (locate_neon_builtin_icode): Remove.
225 (arm_expand_neon_builtin): Change accordingly.
226
227 * arm.h (enum arm_builtins): Move to ...
228 * arm.c (enum arm_builtins): ... here; and rearrange builtin code.
229
230 * arm.c (arm_builtin_decl): Declare.
231 (TARGET_BUILTIN_DECL): Define.
232 (enum arm_builtins): Correct ARM_BUILTIN_MAX.
233 (arm_builtin_decls[]): New.
234 (arm_init_neon_builtins): Store builtin declarations in
235 arm_builtin_decls[].
236 (arm_init_tls_builtins): Likewise.
237 (arm_init_iwmmxt_builtins): Likewise. Refactor initialization code.
238 (arm_builtin_decl): New.
239
75e802cc
RG
2402011-04-18 Richard Guenther <rguenther@suse.de>
241
242 * tree.c (upper_bound_in_type): Build properly canonicalized
243 INTEGER_CSTs.
244 (lower_bound_in_type): Likewise.
245
3b45a007
RG
2462011-04-18 Richard Guenther <rguenther@suse.de>
247
248 * gimple.h (gimple_call_addr_fndecl): New function.
249 (gimple_call_fndecl): Use it.
250 * gimple-fold.c (gimple_fold_call): Fold away OBJ_TYPE_REFs
251 for direct calls.
252 * tree-ssa-ccp.c (ccp_fold_stmt): Remove OBJ_TYPE_REF folding.
253 * tree-ssa-pre.c (eliminate): Also simplify indirect OBJ_TYPE_REFs.
254
d25a79ea
RG
2552011-04-18 Richard Guenther <rguenther@suse.de>
256
257 PR middle-end/48650
258 * tree.c (build_string): STRING_CST is now derived from tree_typed.
259
7d5fc814
EB
2602011-04-18 Eric Botcazou <ebotcazou@adacore.com>
261
262 PR lto/48492
263 * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
264 DECL_IN_CONSTANT_POOL without RTL.
265
7e7cfcf6
UW
2662011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org>
267 Ira Rosen <ira.rosen@linaro.org>
268
269 PR target/48252
270 * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
271 to match neon_vzip/vuzp/vtrn_internal.
272 * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
273 outputs explicitly dependent on both inputs.
274 (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
275
49eab32e
JJ
2762011-04-18 Jakub Jelinek <jakub@redhat.com>
277
278 PR tree-optimization/48616
279 * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
280 whether the shift is by scalar or vector based on whether all SLP
281 scalar stmts have the same rhs.
282
e54170f4
CLT
2832011-04-17 Chung-Lin Tang <cltang@codesourcery.com>
284
285 * config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
286 memory operands.
287
b14ee6c9
RS
2882011-04-17 Richard Sandiford <rdsandiford@googlemail.com>
289
290 * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
291 registers.
292
10158cd3
JH
2932011-04-17 Jan Hubicka <jh@suse.cz>
294
295 * cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
7d5fc814
EB
296 * cgrpahunit.c (cgraph_finalize_function): Do not set
297 finalized_by_frontend.
10158cd3
JH
298 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
299 finalized_by_frontend.
300
2e9bb6ba
JH
3012011-04-17 Jan Hubicka <jh@suse.cz>
302
303 * cgraph.c (cgraph_clone_node): Do not handle vtable_method
304 * cgraph.h (struct cgraph_local_info): Drop vtable_method.
305 * cgraphunit.c (cgraph_copy_node_for_versioning): Drop vtable_method.
7d5fc814
EB
306 * lto-cgraph.c (lto_output_node, input_overwrite_node): Drop vtable
307 method.
2e9bb6ba
JH
308 * gimple-fold.c (can_refer_decl_in_current_unit_p): Mention PR20991 in
309 gimple-fold.c
310 * varasm.c (mark_decl_referenced): Drop vtable_method handling code.
311
beb628e1
EB
3122011-04-17 Eric Botcazou <ebotcazou@adacore.com>
313
314 PR lto/48538
315 * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
316 is non-null before accessing it.
317 (input_cgraph): Remove trailing spaces.
318
3e2fdd24
RE
3192011-04-17 Revital Eres <revital.eres@linaro.org>
320
321 * params.def (sms-min-sc): New param flag.
322 * modulo-sched.c (sms_schedule): Use it.
323 * doc/invoke.texi (sms-min-sc): Document it.
324
4c0f7679
JH
3252011-04-17 Jan Hubicka <jh@suse.cz>
326
327 * lto-symtab.c (lto_cgraph_replace_node): When call statement is
328 present, also set gimple_call_set_cannot_inline.
329 * ipa-inline.c: Update toplevel comment.
330 (MAX_TIME): Remove.
331 (cgraph_clone_inlined_nodes): Fix linebreaks.
332 (cgraph_check_inline_limits): Restructure to ...
333 (caller_growth_limits): ... this one; be more tolerant
334 on growth in nested inline chains; add explanatory comment;
335 fix stack accounting thinko introduced by previous patch.
336 (cgraph_default_inline_p): Remove.
337 (report_inline_failed_reason): New function.
338 (can_inline_edge_p): New function.
339 (can_early_inline_edge_p): New function.
340 (leaf_node_p): Move upwards in file.
341 (want_early_inline_function_p): New function.
342 (want_inline_small_function_p): New function.
343 (want_inline_self_recursive_call_p): New function.
344 (cgraph_edge_badness): Rename to ...
345 (edge_badness) ... this one; fix linebreaks.
346 (update_edge_key): Update call of edge_baddness; add
347 detailed dump about queue updates.
348 (update_caller_keys): Use can_inline_edge_p and
349 want_inline_small_function_p.
350 (cgraph_decide_recursive_inlining): Rename to...
351 (recursive_inlining): Use can_inline_edge_p and
f60c2554
UB
352 want_inline_self_recursive_call_p; simplify and remove no longer
353 valid FIXME.
4c0f7679
JH
354 (cgraph_set_inline_failed): Remove.
355 (add_new_edges_to_heap): Use can_inline_edge_p and
356 want_inline_small_function_p.
357 (cgraph_decide_inlining_of_small_functions): Rename to ...
358 (inline_small_functions): ... this one; cleanup; use
f60c2554
UB
359 can/want predicates; cleanup debug ouput; work edges till fibheap
360 is exhausted and do not stop once unit growth is reached; remove
361 later loop processing remaining edges.
4c0f7679
JH
362 (cgraph_flatten): Rename to ...
363 (flatten_function): ... this one; use can_inline_edge_p
364 and can_early_inline_edge_p predicates.
365 (cgraph_decide_inlining): Rename to ...
366 (ipa_inline): ... this one; remove unreachable nodes before
367 inlining functions called once; simplify the pass.
368 (cgraph_perform_always_inlining): Rename to ...
369 (inline_always_inline_functions): ... this one; use
f60c2554 370 DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p predicate.
4c0f7679
JH
371 (cgraph_decide_inlining_incrementally): Rename to ...
372 (early_inline_small_functions): ... this one; simplify
373 using new predicates; cleanup; make dumps prettier.
374 (cgraph_early_inlining): Rename to ...
375 (early_inliner): newer inline regular functions into always-inlines;
376 fix updating of call stmt summaries.
377 (pass_early_inline): Update for new names.
378 (inline_transform): Fix formating.
379 (gate_cgraph_decide_inlining): Rename to ...
380 (pass_ipa_inline): ... this one.
381 * ipa-inline.h (inline_summary): Remove disregard_inline_limits.
382 * ipa-inline-analysis.c (dump_inline_summary): Update.
383 (compute_inline_parameters): Do not compute disregard_inline_limits;
384 look for mismatching arguments.
385 (estimate_growth): Fix handlig of non-trivial self recursion.
386 (inline_read_summary): Do not read info->disregard_inline_limits.
387 (inline_write_summary): Do not write info->disregard_inline_limits.
beb628e1
EB
388 * tree-inline.c (inline_forbidden_into_p, tree_can_inline_p): Remove
389 and move all checks into can_inline_edge_p predicate; re-enable code
390 comparing optimization levels.
4c0f7679
JH
391 (expand_call_inline): Do not test inline_forbidden_into_p.
392 * Makefile.in (ipa-inline.o): Update arguments.
393
54333b7c
RE
3942011-04-17 Revital Eres <revital.eres@linaro.org>
395
396 * ddg.c (free_ddg_all_sccs): Free sccs field in struct ddg_all_sccs.
397
42c2bf92
RE
3982011-04-17 Revital Eres <revital.eres@linaro.org>
399
400 * modulo-sched.c (sms_schedule): Avoid unfreed memory when SMS fails.
401
b183e9e0
MM
4022011-04-17 Michael Matz <matz@suse.de>
403
404 PR tree-optimization/48622
405 PR lto/48645
406 * ipa-inline-analysis.c (inline_read_summary): Read size/time
407 in same order as they're written.
408
b8a17fa2
JDA
4092011-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
410
411 * config/pa/predicates.md: Reorganize and simplify predicates.
412 Eliminate duplicate code checks.
413 (arith_operand): Rename to arith14_operand
414 (reg_or_ior_operand): Rename to reg_or_cint_ior_operand.
415 * config/pa/pa.md: Use renamed operands.
416 * config/pa/pa-protos.h (symbolic_operand): Delete declaration.
417 (tls_symbolic_operand, function_label_operand, lhs_lshift_cint_operand,
418 arith11_operand, adddi3_operand, indexed_memory_operand,
419 symbolic_memory_operand, int11_operand, reg_or_cint_move_operand,
420 arith5_operand, uint5_operand, pic_label_operand, plus_xor_ior_operator,
421 borx_reg_operand, shadd_operand, arith_operand, read_only_operand,
422 move_dest_operand, move_src_operand, prefetch_cc_operand,
423 prefetch_nocc_operand, and_operand, ior_operand, arith32_operand,
424 uint32_operand, reg_before_reload_operand, reg_or_0_operand,
425 reg_or_0_or_nonsymb_mem_operand, pre_cint_operand, post_cint_operand,
426 div_operand, int5_operand, movb_comparison_operator,
427 ireg_or_int5_operand, call_operand_address, ior_operand, fp_reg_operand,
428 arith_double_operand, ireg_operand, lhs_lshift_operand,
429 pc_or_label_operand, non_hard_reg_operand, eq_neq_comparison_operator,
430 integer_store_memory_operand): Likewise.
431 * config/pa/pa.c (adddi3_operand): Move to predicates.md.
432 (integer_store_memory_operand, read_only_operand,
433 function_label_operand, borx_reg_operand,
434 non_hard_reg_operand): Likewise.
435 (eq_neq_comparison_operator): Delete unused operator.
436 (legitimize_pic_address): Use VOIDmode for mode argument in calls to
437 function_label_operand.
438 (emit_move_sequence): Likewise.
439
8dfb9f16
UB
4402011-04-16 Uros Bizjak <ubizjak@gmail.com>
441
442 * config/i386/sse.md (sseunpackmode): New mode attribute.
443 (ssepackmode): Ditto.
444 (vec_pack_trunc_<mode>): Macroize expander from
445 vec_pack_trunc_{v8hi,v4si,v2di} using VI248_128 mode iterator.
446 (vec_unpacks_lo_<mode>): Macroize expander from
447 vec_unpacks_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
448 (vec_unpacks_hi_<mode>): Macroize expander from
449 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
450 (vec_unpacku_lo_<mode>): Macroize expander from
451 vec_unpacku_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
452 (vec_unpacku_hi_<mode>): Macroize expander from
453 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
454 * config/i386/i386.c (ix86_expand_sse_unpack): Merge with
455 ix86_expand_sse4_unpack.
456 * config/i386/i386-protos.h (ix86_expand_sse4_unpack): Remove.
457
e7f23018
JH
4582011-04-16 Jan Hubicka <jh@suse.cz>
459
460 * cgraphbuild.c: Include ipa-inline.h.
461 (reset_inline_failed): Use initialize_inline_failed.
462 * cgraph.c: Include ipa-inline.h.
463 (cgraph_create_node_1): Do not initialize estimated_growth.
464 (initialize_inline_failed): More to ipa-inline-analysis.c
465 (dump_cgraph_node): Do not dump inline flags.
466 * cgraph.h (cgraph_local_info): Remove inlineable, versionable
467 and disregard_inline_limits flags.
468 (cgrpah_global_info): Remove estimated_stack_size, stack_frame_offset,
469 time, size, estimated_growth.
8dfb9f16
UB
470 * ipa-cp.c (ipcp_versionable_function_p, ipcp_generate_summary):
471 Update.
e7f23018
JH
472 * cgraphunit.c (cgraph_decide_is_function_needed): Use
473 DECL_DISREGARD_INLINE_LIMITS.
474 (cgraph_analyze_function): Do not initialize
475 node->local.disregard_inline_limits.
476 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
477 inlinable, versionable and disregard_inline_limits.
478 * ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
8dfb9f16
UB
479 cgraph_check_inline_limits, cgraph_default_inline_p,
480 cgraph_edge_badness, update_caller_keys, update_callee_keys,
481 add_new_edges_to_heap): Update.
482 (cgraph_decide_inlining_of_small_function): Update; set
483 CIF_FUNCTION_NOT_INLINABLE for uninlinable functions.
e7f23018
JH
484 (cgraph_decide_inlining, cgraph_edge_early_inlinable_p,
485 cgraph_decide_inlining_incrementally): Update.
8dfb9f16
UB
486 * ipa-inline.h (inline_summary): Add inlinable, versionable,
487 disregard_inline_limits, estimated_stack_size, stack_frame_offset,
488 time, size and estimated_growth parameters.
e7f23018
JH
489 (estimate_edge_growth): Update.
490 (initialize_inline_failed): Declare.
491 * ipa-split.c: Include ipa-inline.h
492 (execute_split_functions): Update.
493 * ipa.c (cgraph_postorder): Use DECL_DISREGARD_INLINE_LIMITS.
494 (cgraph_remove_unreachable_nodes): Do not clear inlinable flag.
495 (record_cdtor_fn): Use DECL_DISREGARD_INLINE_LIMITS.
496 * ipa-inline-analysis.c (inline_node_removal_hook): Update; set
497 estimated_growth to INT_MIN.
498 (inline_node_duplication_hook): Likewise.
499 (dump_inline_summary): Dump new fields.
500 (compute_inline_parameters): Update.
501 (estimate_edge_time, estimate_time_after_inlining,
502 estimate_size_after_inlining, estimate_growth, inline_read_summary,
503 inline_write_summary):
504 (initialize_inline_failed): Move here from cgraph.c.
505 * tree-sra.c: Include ipa-inline.h.
506 (ipa_sra_preliminary_function_checks): Update.
f60c2554
UB
507 * Makefile.in (cgraph.o, cgraphbuild.o): Add dependency on
508 ipa-inline.h.
e7f23018 509
e81b8564
UB
5102011-04-16 Uros Bizjak <ubizjak@gmail.com>
511
512 * config/i386/sse.md (V16): New mode iterator.
513 (VI1, VI8): Ditto.
514 (AVXMODEQI, AVXMODEDI): Remove.
515 (sse2, sse3): New mode attribute.
516 (mov<mode>): Use V16 mode iterator.
517 (*mov<mode>_internal): Merge with *avx_mov<mode>_internal.
518 (push<mode>1): Use V16 mode iterator.
519 (movmisalign<mode>): Ditto.
520 (<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
521 <sse>_movu<ssemodesuffix> and avx_movu<ssemodesuffix><avxmodesuffix>.
522 (*<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
523 *<sse>_movu<ssemodesuffix> and *avx_movu<ssemodesuffix><avxmodesuffix>.
524 (<sse2>_movdqu<avxmodesuffix>): Merge from sse2_movdqu and
525 avx_movdqu<avxmodesuffix>.
526 (*<sse2>_movdqu<avxmodesuffix>): Merge from *sse2_movdqu and
527 *avx_movdqu<avxmodesuffix>.
528 (<sse3>_lddqu<avxmodesuffix>) Merge from sse3_lddqu and
529 avx_lddqu<avxmodesuffix>.
530 (<sse>_movnt<mode>): Merge with avx_movnt<AVXMODEF2P:mode>.
531 (<sse2>_movnt<mode>): Merge from sse2_movntv2di and
532 avx_movnt<AVXMODEDI:mode>.
533 * config/i386/i386.c (ix86_expand_vector_move_misalign): Update for
534 renamed sse_movups, sse2_movupd and sse2_movdqu patterns.
535
4743d438
BS
5362011-04-16 Bernd Schmidt <bernds@codesourcery.com>
537
538 PR target/48629
539 * haifa-sched.c (prune_ready_list, schedule_block): Use
540 sched_pressure_p rather than flag_sched_pressure.
541
eb229cf4
PH
5422011-04-15 Pat Haugen <pthaugen@us.ibm.com>
543
544 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
545 cgraph_get_node instead of cgraph_get_create_node.
546
2ba172e0
JJ
5472011-04-15 Jakub Jelinek <jakub@redhat.com>
548
549 * cfgexpand.c (expand_debug_expr): Use
550 simplify_gen_{unary,binary,ternary} instead of gen_rtx_*.
551
63d2a353
MM
5522011-04-15 Michael Matz <matz@suse.de>
553
554 * tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
555 * builtins.c (expand_builtin): Use CALL_ALLOCA_FOR_VAR_P.
556 * function.c (gimplify_parameters): Ditto.
557 * gimplify.c (gimplify_vla_decl): Ditto.
558
559 * gimple.h (enum gf_mask): Add GF_CALL_ALLOCA_FOR_VAR.
560 (gimple_call_set_alloca_for_var): New inline function.
561 (gimple_call_alloca_for_var_p): Ditto.
e81b8564
UB
562 * gimple.c (gimple_build_call_from_tree): Remember
563 CALL_ALLOCA_FOR_VAR_P state.
63d2a353
MM
564 * cfgexpand.c (expand_call_stmt): Restore CALL_ALLOCA_FOR_VAR_P state.
565
566 * tree-inline.c (inline_forbidden_p_stmt): Don't reject alloca
567 calls if they were for VLA objects.
568
dee74c34
MJ
5692011-04-15 Martin Jambor <mjambor@suse.cz>
570
571 * ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling
572 of ADR_EXPRs.
573
8e5837bc
MJ
5742011-04-15 Martin Jambor <mjambor@suse.cz>
575
576 PR middle-end/48601
577 * tree-emutls.c (lower_emutls_function_body): Call
578 cgraph_get_create_node instead of cgraph_get_node. Do not assert the
579 result is non-NULL.
580
0dc33c3c
NP
5812011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
582
583 * c-decl.c (detect_field_duplicates): Call
584 objc_detect_field_duplicates instead of objc_get_interface_ivars.
585
edcdea5b
NF
5862011-04-15 Nathan Froyd <froydnj@codesourcery.com>
587
588 * gimple.h (gimple_asm_clobbers_memory_p): Declare.
589 * gimple.c (gimple_asm_clobbers_memory_p): Define.
590 * ipa-pure-const.c (check_stmt): Call it.
591 * tree-ssa-operands.c (get_asm_expr_operands): Likewise.
592
8456558d
RG
5932011-04-15 Richard Guenther <rguenther@suse.de>
594
595 PR tree-optimization/48290
596 * tree-ssa-copy.c (copy_prop_visit_phi_node): Propagate constants.
597 Properly decide inhibiting propagation based on the valueized
598 operand. Do loop-closed SSA form preserving here ...
599 (init_copy_prop): ... not here.
600
266446be
L
6012011-04-15 H.J. Lu <hongjiu.lu@intel.com>
602
603 PR target/48612
604 * config/i386/sse.md (*ieee_smin<mode>3): Switch mnemonics.
605 (*ieee_smax<mode>3): Likewise.
606
17465c6e
AK
6072011-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
608
609 * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
610 Replace match_operand with match_dup for the third operand in
611 these expanders.
612
bce204e5
MK
6132011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
614
615 * combine.c (subst, combine_simlify_rtx): Add new argument, use it
616 to track processing of conditionals. Update all callers.
617 (try_combine, simplify_if_then_else): Update.
618
3162fdf4
MK
6192011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
620
621 * config/m68k/m68k.c (m68k_sched_variable_issue): Handle
622 -fsched-pressure.
623
79002a57 6242011-04-15 Georg-Johann Lay <avr@gjlay.de>
e81b8564 625
79002a57
GJL
626 * config/avr/avr.md ("rotl<mode>3",mode=HIDI): Use match_dup
627 instead of match_operand for operand 3.
628
4fd3a105
RS
6292011-04-15 Richard Sandiford <richard.sandiford@linaro.org>
630
631 * recog.h (insn_operand_data): Add an "allows_mem" field.
632 * genoutput.c (output_operand_data): Initialize it.
633 * optabs.c (maybe_legitimize_operand_same_code): New function.
634 (maybe_legitimize_operand): Use it when matching the original
635 op->value.
636
ad19c4be
EB
6372011-04-15 Eric Botcazou <ebotcazou@adacore.com>
638
639 * gimplify.c: Fix issues in comments throughout.
640 (voidify_wrapper_expr): Fix long line.
641 (build_stack_save_restore): Likewise.
642 (gimplify_loop_expr): Likewise.
643 (gimplify_compound_lval): Likewise.
644 (gimplify_init_ctor_eval): Likewise.
645 (gimplify_modify_expr_rhs): Likewise.
646 (omp_notice_threadprivate_variable): Likewise.
647
b25aa0e8 6482011-04-15 Eric Botcazou <ebotcazou@adacore.com>
e7925582 649
b25aa0e8
EB
650 * cfgexpand.c (expand_call_stmt): Convert the function type to the
651 original one if this is not a builtin function.
e7925582 652
09db7afe
JJ
6532011-04-14 Jakub Jelinek <jakub@redhat.com>
654
655 PR target/48605
656 * config/i386/sse.md (sse4_1_insertps): If operands[2] is a MEM,
657 offset it as needed based on top 2 bits in operands[3], change
658 MEM mode to SFmode and mask those 2 bits away from operands[3].
659
c59633d9
NP
6602011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
661
662 * c-parser.c (c_parser_objc_protocol_definition): Updated for
663 change from objc_declare_protocols() to objc_declare_protocol().
664
5e60198b
UB
6652011-04-14 Uros Bizjak <ubizjak@gmail.com>
666
667 * config/i386/sse.md (sse4_1): New mode attribute.
668 (<sse4_1>_blend<ssemodesuffix><avxmodesuffix>): Macroize from
669 avx_blend<ssemodesuffix><avxmodesuffix> and
670 sse4_1_blend<ssemodesuffix> using VF mode iterator.
671 (<sse4_1>_blendv<ssemodesuffix><avxmodesuffix>): Macroize from
672 avx_blendv<ssemodesuffix><avxmodesuffix> and
673 sse4_1_blendv<ssemodesuffix> using VF mode iterator.
674 (<sse4_1>_dp<ssemodesuffix><avxmodesuffix>): Macroize from
675 avx_dp<ssemodesuffix><avxmodesuffix> and
676 sse4_1_dp<ssemodesuffix> using VF mode iterator.
677 (sse4_1_mpsadbw): Merge with *avx_mpsadbw.
678 (sse4_1_packusdw): Merge with *avx_packusdw.
679 (sse4_1_pblendvb): Merge with *avx_pblendvb.
680 (sse4_1_pblendw): Merge with *avx_pblendw.
681 (avx_vtest<ssemodesuffix><avxmodesuffix>): Use VF mode iterator.
682 (<sse4_1>_round<ssemodesuffix><avxmodesuffix>): Macroize from
683 avx_round<ssemodesuffix>256 and sse4_1_round<ssemodesuffix> using
684 VF mode iterator.
685 (sse4_1_round<ssescalarmodesuffix>): Merge with
686 *avx_round<ssescalarmodesuffix>.
687 (aesenc): Merge with *avx_aesenc.
688 (aesenclast): Merge with *avx_aesenclast.
689 (aesdec): Merge with *avx_aesdec.
690 (aesdeclast): Merge with *avx_aesdeclast.
691 (pclmulqdq): Merge with *pclmulqdq.
692 * config/i386/predicates.md (reg_not_xmm0_operand_maybe_avx):
693 New predicate.
694 (nonimm_not_xmm0_operand_maybe_avx): Ditto.
695
6f197850
L
6962011-04-14 H.J. Lu <hongjiu.lu@intel.com>
697
698 PR middle-end/48608
699 * cfgexpand.c (get_decl_align_unit): Renamed to ...
700 (align_local_variable): This. Update DECL_ALIGN.
701 (add_stack_var): Updated.
702 (expand_one_stack_var): Likewise.
703
4a5ba3ed
RG
7042011-04-14 Richard Guenther <rguenther@suse.de>
705
706 * tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
707 Remove.
708 (dse_initialize_block_local_data, dse_leave_block,
709 record_voperand_set, get_stmt_uid): Likewise.
710 (dse_possible_dead_store_p): Allow any kind of killing stmt.
711 (dse_optimize_stmt): Remove voperand set handling code.
712 Simplify and improve to handle any kind of killing stmt.
713 (dse_record_phi): Remove.
714 (dse_enter_block): Simplify.
715 (tree_ssa_dse): Likewise.
716 * tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.
717
10a5dd5d
JH
7182011-04-14 Jan Hubicka <jh@suse.cz>
719
720 * cgraph.c (dump_cgraph_node): Do not dump inline summaries.
721 * cgraph.h (struct inline_summary): Move to ipa-inline.h
722 (cgraph_local_info): Remove inline_summary.
723 * ipa-cp.c: Include ipa-inline.h.
724 (ipcp_cloning_candidate_p, ipcp_estimate_growth,
725 ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
726 accesor.
727 * lto-cgraph.c (lto_output_node): Do not stream inline summary.
728 (input_overwrite_node): Do not set inline summary.
729 (input_node): Do not stream inline summary.
730 * ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
731 (cgraph_decide_inlining_incrementally): Do not try to estimate overall
732 growth; we do not have inline parameters computed for that anyway.
733 (cgraph_early_inlining): After inlining compute call_stmt_sizes.
734 * ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
735 (inline_summary_t): New type and VECtor.
736 (debug_inline_summary, dump_inline_summaries): Declare.
737 (inline_summary): Use VOCtor.
738 (estimate_edge_growth): Kill hack computing call stmt size directly.
739 * lto-section-in.c (lto_section_name): Add inline section.
740 * ipa-inline-analysis.c: Include lto-streamer.h
741 (node_removal_hook_holder, node_duplication_hook_holder): New holders
742 (inline_node_removal_hook, inline_node_duplication_hook): New functions.
743 (inline_summary_vec): Define.
744 (inline_summary_alloc, dump_inline_summary, debug_inline_summary,
745 dump_inline_summaries): New functions.
5e60198b
UB
746 (estimate_function_body_sizes): Properly compute size/time of outgoing
747 calls.
748 (compute_inline_parameters): Alloc inline_summary; do not compute
749 size/time of incomming calls.
10a5dd5d
JH
750 (estimate_edge_time): Avoid missing time summary hack.
751 (inline_read_summary): Read inline summary info.
752 (inline_write_summary): Write inline summary info.
753 (inline_free_summary): Free all hooks and inline summary vector.
754 * lto-streamer.h: Add LTO_section_inline_summary section.
755 * Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
756 * ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.
757
b602d918
RS
7582011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
759
760 * tree-vectorizer.h (vect_strided_store_supported): Add a
761 HOST_WIDE_INT argument.
762 (vect_strided_load_supported): Likewise.
763 (vect_permute_store_chain): Return void.
764 (vect_transform_strided_load): Likewise.
765 (vect_permute_load_chain): Delete.
766 * tree-vect-data-refs.c (vect_strided_store_supported): Take a
767 count argument. Check that the count is a power of two.
768 (vect_strided_load_supported): Likewise.
769 (vect_permute_store_chain): Return void. Update after above changes.
770 Assert that the access is supported.
771 (vect_permute_load_chain): Likewise.
772 (vect_transform_strided_load): Return void.
773 * tree-vect-stmts.c (vectorizable_store): Update calls after
774 above interface changes.
775 (vectorizable_load): Likewise.
776 (vect_analyze_stmt): Don't check for strided powers of two here.
777
ab4472fa
RG
7782011-04-14 Richard Guenther <rguenther@suse.de>
779
780 PR tree-optimization/48590
781 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
782 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
783 (call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
784 BUILT_IN_STACK_SAVE.
785 * tree-ssa-dce.c (propagate_necessity): Handle
786 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
787
32dabdaf
NP
7882011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
789
790 * c-parser.c (c_parser_objc_class_declaration): Updated call to
791 objc_declare_class.
792
daade206
RG
7932011-04-14 Richard Guenther <rguenther@suse.de>
794
795 * tree.h (get_object_alignment_1): Declare.
796 * builtins.c (get_object_alignment_1): Split out worker from ...
797 (get_object_alignment): ... here.
798 * fold-const.c (get_pointer_modulus_and_residue): Use
799 get_object_alignment_1.
800
920e8172
RS
8012011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
802
803 * tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
804 type parameter.
805 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
806 parameter. Generalise code to handle arrays as well as vectors.
807 (vect_setup_realignment): Update accordingly.
808 * tree-vect-stmts.c (vectorizable_store): Likewise.
809 (vectorizable_load): Likewise.
810
5ce1ee7f
RS
8112011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
812
813 * tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain
814 within the per-copy loop.
815
6438fe33 8162011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
0ea25ecd
RS
817
818 * tree-vect-stmts.c (vectorizable_load): Print the number of copies
819 in the dump file.
820
6438fe33 8212011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
77b10485
RS
822
823 * doc/options.texi (Negative): Explicitly mention that the
824 Negative chain must be circular.
825
61e46a7d
NF
8262011-04-14 Nathan Froyd <froydnj@codesourcery.com>
827
828 * function.h (block_chainon): Declare.
829 * function.c (block_chainon): Define.
830
43ea6502 8312011-04-14 Anatoly Sokolov <aesok@post.ru>
5e60198b
UB
832 Eric Weddington <eric.weddington@atmel.com>
833 Georg-Johann Lay <avr@gjlay.de>
834
f60c2554 835 * config/avr/avr.c ("insn-codes.h", "optabs.h", "langhooks.h"):
43ea6502
AS
836 New Includes
837 (avr_init_builtins, avr_expand_builtin,
838 avr_expand_delay_cycles, avr_expand_unop_builtin,
839 avr_expand_binop_builtin ): New functions.
840 (avr_builtin_id): New enum
841 (struct avr_builtin_description): New struct
842 (bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins.
843 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
5e60198b 844
43ea6502 845 * config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU,
5e60198b 846 UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR,
43ea6502
AS
847 UNSPECV_DELAY_CYCLES): new enumeration values
848 (UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values
849 ("enable_interrupt"): Use UNSPECV_ENABLE_IRQS
850 ("disable_interrupt"): Use UNSPECV_ENABLE_IRQS
851 ("*rotlqi3_4"): rename insn to "rotlqi3_4"
852 ("delay_cycles_1", "delay_cycles_2", "delay_cycles_3",
853 "delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls",
854 "fmulsu"): New insns
5e60198b 855
43ea6502
AS
856 * config/avr/avr-c.c: fix line endings
857 (avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP,
858 __BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR,
859 __BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP,
860 __BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL,
861 __BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU.
5e60198b 862
43ea6502
AS
863 * doc/extend.texi (AVR Built-in Functions): New node
864 (Target Builtins): Add documentation of AVR
865 built-in functions.
866
8a9b55f3
GJL
8672011-04-14 Georg-Johann Lay <avr@gjlay.de>
868
869 PR target/44643
870 * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
871 alone. Error if non-const data has attribute progmem.
872
94bd1825
NF
8732011-04-13 Nathan Froyd <froydnj@codesourcery.com>
874
875 * tree.h (struct tree_constructor): Include tree_typed instead of
876 tree_common.
877 * tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as
878 TS_TYPED instead of TS_COMMON.
879
5e60198b 8802011-04-13 Uros Bizjak <ubizjak@gmail.com>
81b1e7eb
UB
881
882 * config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
883 (*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3.
884 (sse2_psadbw): Merge with *avx_psadbw.
885 (ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3.
886 (ssse3_phadddv4si3): Merge with *avx_phadddv4si3.
887 (ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3.
888 (ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3.
889 (ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3.
890 (ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3.
891 (ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128.
892 (*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3.
893 (ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3.
894 (ssse3_psign<mode>3): Merge with *avx_psign<mode>3.
895 (ssse3_palignrti): Merge with *avx_palignrti.
896
4b1a4694
NF
8972011-04-13 Nathan Froyd <froydnj@codesourcery.com>
898
899 * tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
900 * tree-ssanames.c (fini_ssanames): VEC_free it.
901 (make_ssa_name_fn): Update for VECness of free_ssanames.
902 (release_ssa_name, release_dead_ssa_names): Likewise.
903 * tree.h (struct tree_ssa_name): Include tree_typed instead of
904 tree_common.
905 * tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
906 TS_TYPED instead of TS_COMMON.
907
4da3b811
NF
9082011-04-13 Nathan Froyd <froydnj@codesourcery.com>
909
910 * postreload-gcse.c (gcse_after_reload_main): Add calls to
911 statistics_counter_event.
912 * tree-ssa-copyrename.c (stats): Define.
913 (rename_ssa_copies): Count coalesced SSA_NAMEs. Add call to
914 statistics_counter_event.
915 * tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
916 (bswap_stats, widen_mul_stats): Define.
917 (insert_reciprocals): Increment rdivs_inserted.
918 (execute_cse_reciprocals): Zeroize reciprocal_stats. Increment
919 rfuncs_inserted. Add calls to statistics_counter_event.
920 (execute_cse_sincos_1): Increment inserted.
921 (execute_cse_sincos): Zeroize sincos_stats. Add call to
922 statistics_counter_event.
923 (execute_optimize_bswap): Zeroize bswap_stats. Increment fields
924 of bswap_stats. Add calls to statistics_counter_event.
925 (convert_mult_to_widen): Increment widen_mults_inserted.
926 (convert_plusminus_to_widen): Increment maccs_inserted.
927 (convert_mult_to_fma): Increment fmas_inserted.
928 (execute_optimize_widening_mul): Zeroize widen_mul_stats. Add
929 calls to statistics_counter_event.
930
89fa552a
VM
9312011-04-13 Vladimir Makarov <vmakarov@redhat.com>
932
933 PR rtl-optimization/48455
934 * ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
935 `temp_costs->mem_cost'.
936
03dfc36d
JH
9372011-04-13 Jan Hubicka <jh@suse.cz>
938
939 * ipa-inline.h: New file.
940 * ipa-inline-analysis.c: New file. Broken out of ...
941 * ipa-inline.c: ... this file; update toplevel comment;
942 include ipa-inline.h
943 (inline_summary): Move to ipa-inline.h
944 (cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
945 ipa-inline-analysis.c.
7d4f8d02
EB
946 (cgraph_estimate_time_after_inlining): Rename to
947 estiamte_time_after_inlining; move to ipa-inline-analysis.c
03dfc36d
JH
948 (cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
949 to estimate_edge_growth.
950 (cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
951 rename to estimate_size_after_inlining.
952 (cgraph_mark_inline_edge): Update for new naming convention.
953 (cgraph_check_inline_limits): Likewise.
954 (cgraph_edge_badness): Likewise.
955 (cgraph_decide_recursive_inlining): Likewise.
956 (cgraph_decide_inlining_of_small_functions): Likewise.
957 (cgraph_decide_inlining_incrementally): Likewise.
7d4f8d02
EB
958 (cgraph_estimate_growth): Rename to estimate_growth; move to
959 ipa-inline-analysis.c.
03dfc36d
JH
960 (eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
961 (estimate_function_body_sizes): Move to ipa-inline-analysis.c.
962 (compute_inline_parameters): Likewise.
963 (compute_inline_parameters_for_current): Likewise.
964 (pass_inline_parameters): Likewise.
965 (inline_indirect_intraprocedural_analysis): Likewise.
966 (analyze_function): Rename to inline_analyze_function; likewise.
967 (add_new_function): Move to ipa-inline-analysis.c.
968 (inline_generate_summary): Likewise.
969 (inline_read_summary): Likewise.
970 (inline_write_summary): Likewise.
971 * Makefile.in (ipa-inline-analysis.c): New file.
972
7673c962
RO
9732011-04-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
974
975 * configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
976 * configure: Regenerate.
977
9698252f
NF
9782011-04-13 Nathan Froyd <froydnj@codesourcery.com>
979
980 * tree.h (struct tree_int_cst, struct real_value): Include tree_typed
981 instead of tree_common.
982 (struct tree_fixed_cst, struct tree_string, struct tree_complex):
983 Likewise.
984 * tree.c (initialize_tree_contains_struct): Mark such nodes as being
985 TS_TYPED rather than TS_COMMON.
986 * print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.
987
3a7bfdd5
GJL
9882011-04-01 Georg-Johann Lay <avr@gjlay.de>
989
990 PR target/45263
86d83530
GJL
991 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Don't use
992 r20 around calls of __tablejump_elpm__
3a7bfdd5 993
20790697
JJ
9942011-04-13 Jakub Jelinek <jakub@redhat.com>
995
996 PR middle-end/48591
997 * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
998 NULL.
999 (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
1000
094d7661
BS
10012011-04-13 Bernd Schmidt <bernds@codesourcery.com>
1002
1003 * dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
1004 (dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
1005 (cfi_vec): New typedef.
1006 (struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
1007 dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
1008 (cie_cfi_vec): New static variable.
1009 (cie_cfi_head): Delete.
1010 (add_cfi): Accept a cfi_vec * as first argument. All callers and
1011 declaration changed. Use vector rather than list operations.
1012 (new_cfi): Don't initialize the dw_cfi_next field.
1013 (add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
1014 rather than list operations.
1015 (lookup_cfa): Use vector rather than list operations.
1016 (output_cfis): New argument upto. Accept a cfi_vec rather than
1017 a dw_cfi_ref list head as argument. All callers changed.
1018 Iterate over the vector using upto as a maximum index.
1019 (output_all_cfis): New static function.
1020 (output_fde): Use vector rather than list operations. Use the
1021 new upto argument for output_cfis rather than manipulating a
1022 list.
1023 (dwarf2out_begin_prologue): Change initializations to match
1024 new struct members.
1025 (dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
1026 from the vector length rather than searching for the end of a list.
1027 Use output_all_cfis.
1028 (convert_cfa_to_fb_loc_list): Use vector rather than list operations.
1029
673a5740
NC
10302011-04-13 Nick Clifton <nickc@redhat.com>
1031
1032 * config/rx/rx.md (movmemsi): Do not use this pattern when
1033 volatile pointers are involved.
1034
1ee8b298
UB
10352011-04-13 Uros Bizjak <ubizjak@gmail.com>
1036
1037 * config/i386/sse.md (pinsrbits): Remove.
1038 (sse2_packsswb): Merge with *avx_packsswb.
1039 (sse2_packssdw): Merge with *avx_packssdw.
1040 (sse2_packuswb): Merge with *avx_packuswb.
1041 (vec_interleave_highv16qi): Merge with *avx_interleave_highv16qi.
1042 (vec_interleave_lowv16qi): Merge with *avx_interleave_lowv16qi.
1043 (vec_interleave_highv8hi): Merge with *avx_interleave_highv8hi.
1044 (vec_interleave_lowv8hi): Merge with *avx_interleave_lowv8hi.
1045 (vec_interleave_highv4si): Merge with *avx_interleave_highv4si.
1046 (vec_interleave_lowv4si): Merge with *avx_interleave_lowv4si.
1047 (*sse4_1_pinsrb): Merge with *avx_pinsr<ssevecsize>.
1048 (*sse2_pinsrw): Merge with *avx_pinsr<ssevecsize>.
1049 (*sse4_1_pinsrd): Merge with *avx_pinsr<ssevecsize>.
1050 (*sse4_1_pinsrq): Merge with *avx_pinsrq.
1051 (sse2_loadld): Merge with *avx_loadld.
1052 (*vec_extractv2di_1_rex64): Merge with *vec_extractv2di_1_rex64_avx.
1053 (*vec_extractv2di_1_sse2): Merge with *vec_extractv2di_1_avx.
1054 (*vec_concatv2si_sse4_1): Merge with *vec_concatv2si_avx.
1055 (*vec_concatv2di_rex64_sse4_1): Merge with *vec_concatv2di_rex64_avx.
1056 (vec_concatv2di): Merge with *vec_concatv2di_avx.
1057
81f653d6
NF
10582011-04-12 Nathan Froyd <froydnj@codesourcery.com>
1059
1060 * c-decl.c (union lang_tree_node): Check for TS_COMMON before
1061 calling TREE_CHAIN.
1062 * print-tree.c (print_node): Likewise.
1063 * tree-inline.c (copy_tree_r): Likewise.
1064 * c-lang.c (LANG_HOOKS_INIT_TS): Define.
1065 * lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
1066 instead of TS_COMMON.
1067 * lto-streamer-out.c (lto_output_tree_pointers): Likewise.
1068 * tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
1069 (copy_node_stat): Zero TREE_CHAIN only if necessary.
1070 (MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
1071 (MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
1072 ...and these...
1073 (MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
1074 * tree.h: ...here.
1075 (TREE_CHAIN): Check for a TS_COMMON structure.
1076 (TREE_TYPE): Check for a TS_TYPED structure.
1077
ed940a4a
PH
10782011-04-12 Pat Haugen <pthaugen@us.ibm.com>
1079
1080 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
1081 cgraph_get_create_node instead of cgraph_node.
1082
eb345401
NP
10832011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
1084
1085 * c-parser.c (c_parser_initelt): Updated call to
1086 objc_build_message_expr.
1087 (c_parser_postfix_expression): Likewise.
1088
a6c46762
KT
10892011-04-12 Kai Tietz <ktietz@redhat.com>
1090
1091 * config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add
1092 MASK_MS_BITFIELD_LAYOUT bit.
1093
b4ccfed9
JJ
10942011-04-12 Jakub Jelinek <jakub@redhat.com>
1095
1096 * combine.c (update_cfg_for_uncondjump): Instead of testing at_end
1097 assert it is always true.
1098 (try_combine): Don't call update_cfg_for_uncondjump for noop non-jump
1099 moves.
1100
0d8a2528
NP
11012011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
1102
1103 * c-parser.c (c_lex_one_token): Rewritten conditional used when
1104 compiling Objective-C to be more efficient.
1105
06bd234a
AF
11062011-04-12 Axel Freyn <axel-freyn@gmx.de>
1107
1108 * opts-common.c (decode_cmdline_options_to_array): Remove variable
1109 argv_copied.
1110
28569ac3
RS
11112011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
1112
1113 * recog.h, genoutput.c, optabs.c: Revert last patch.
1114
ae59e00d
RR
11152011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
1116
81b1e7eb
UB
1117 PR target/48090
1118 * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
ae59e00d 1119
cff1b7e0
RS
11202011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
1121
1122 * recog.h (insn_operand_data): Add an "allows_mem" field.
1123 * genoutput.c (output_operand_data): Initialize it.
1124 * optabs.c (maybe_legitimize_operand_same_code): New function.
1125 (maybe_legitimize_operand): Use it when matching the original
1126 op->value.
1127
77059241
RS
11282011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
1129
1130 * genpreds.c (process_define_predicate): Move most processing
1131 to gensupport.c. Continue to validate the expression.
1132 * genrecog.c (did_you_mean_codes, compute_predicate_codes)
1133 (process_define_predicate): Move processing to gensupport.c.
1134 (main): Remove DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE cases.
1135 * gensupport.c (did_you_mean_codes): Moved from genrecog.c.
1136 (compute_predicate_codes): Moved from genrecog.c. Add lineno
1137 argument.
1138 (valid_predicate_name_p): New function, split out from old
1139 genpreds.c:process_define_predicate.
1140 (process_define_predicate): New function, combining code from
1141 old genpreds.c and genrecog.c functions.
1142 (process_rtx): Call it for DEFINE_PREDICATE and
1143 DEFINE_SPECIAL_PREDICATE.
1144
6308e208
RS
11452011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
1146
1147 * config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
1148 size of a '%A' memory reference.
1149 (T_DREG, T_QREG): New neon_builtin_type_bits.
1150 (arm_init_neon_builtins): Assert that the load and store operands
1151 are neon_struct_operands.
1152 (locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
1153 (NEON_ARG_MEMORY): New builtin_arg.
1154 (neon_dereference_pointer): New function.
1155 (arm_expand_neon_args): Add a neon_builtin_type_bits argument.
1156 Handle NEON_ARG_MEMORY.
1157 (arm_expand_neon_builtin): Update after above interface changes.
1158 Use NEON_ARG_MEMORY for loads and stores.
1159 * config/arm/predicates.md (neon_struct_operand): New predicate.
1160 * config/arm/iterators.md (V_two_elem): Tweak formatting.
1161 (V_three_elem): Use BLKmode for accesses that have no associated mode.
1162 (V_four_elem): Tweak formatting.
1163 * config/arm/neon.md (neon_vld1<mode>, neon_vld1_dup<mode>)
1164 (neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
1165 (neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
1166 (neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
1167 (neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
1168 (neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
1169 (neon_vst4<mode>): Replace pointer operand with a memory operand.
1170 Use %A in the output template.
1171 (neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
1172 (neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
1173 (neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
1174 the width of the memory access. Remove post-increment.
1175 * config/arm/neon-testgen.ml: Allow addresses to have an alignment.
1176
e5db8f2f
NC
11772011-04-12 Nick Clifton <nickc@redhat.com>
1178
1179 * config/v850/v850.c (expand_prologue): Do not use the CALLT
1180 instruction for interrupt handlers if the target is the basic V850
1181 architecture.
1182 (expand_epilogue): Likewise.
1183
74f091d6
JJ
11842011-04-12 Jakub Jelinek <jakub@redhat.com>
1185
1186 PR rtl-optimization/48549
1187 * combine.c (propagate_for_debug): Also stop after BB_END of
1188 this_basic_block. Process LAST and just stop processing after it.
1189 (combine_instructions): If last_combined_insn has been deleted,
1190 set last_combined_insn to its PREV_INSN.
1191
f20ca725
RG
11922011-04-12 Richard Guenther <rguenther@suse.de>
1193
1194 PR tree-optimization/46076
1195 * gimple.h (struct gimple_statement_call): Add fntype field.
1196 (gimple_call_fntype): Adjust.
1197 (gimple_call_set_fntype): New function.
1198 * gimple.c (gimple_build_call_1): Set the call function type.
1199 * gimplify.c (gimplify_call_expr): Preserve the function
1200 type the frontend used for the call.
1201 (gimplify_modify_expr): Likewise.
1202 * lto-streamer-in.c (input_gimple_stmt): Input the call stmts
1203 function type.
1204 * lto-streamer-out.c (output_gimple_stmt): Output the call stmts
1205 function type.
1206 * tree-ssa.c (useless_type_conversion_p): Function pointer
1207 conversions are useless.
1208
a358e188
MJ
12092011-04-12 Martin Jambor <mjambor@suse.cz>
1210
1211 * cgraph.h (cgraph_node): Remove function declaration.
1212 (cgraph_create_node): Declare.
1213 (cgraph_get_create_node): Likewise.
1214 * cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1.
1215 Updated all callers.
1216 (cgraph_node): Renamed to cgraph_create_node, assert that a node for
1217 the decl does not already exist. Call cgraph_get_create_node instead
1218 of cgraph_node.
1219 (cgraph_get_create_node): New function.
1220 (cgraph_same_body_alias): Update comment.
1221 (cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node,
1222 assert it does not return NULL.
1223 (cgraph_update_edges_for_call_stmt): Likewise.
1224 (cgraph_clone_edge): Likewise.
1225 (cgraph_create_virtual_clone): Likewise.
1226 (cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node
1227 instead of cgraph_node.
1228 (cgraph_add_new_function): Call cgraph_create_node or
1229 cgraph_get_create_node instead of cgraph_node.
1230 * cgraphbuild.c (record_reference): Call cgraph_get_create_node
1231 instead of cgraph_node.
1232 (record_eh_tables): Likewise.
1233 (mark_address): Likewise.
1234 (mark_load): Likewise.
1235 (build_cgraph_edges): Call cgraph_get_create_node instead
1236 of cgraph_node.
1237 (rebuild_cgraph_edges): Likewise.
1238 * cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node
1239 instead of cgraph_node.
1240 (cgraph_copy_node_for_versioning): Call cgraph_create_node instead of
1241 cgraph_node.
1242 * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call
1243 cgraph_create_node instead of cgraph_node.
1244 * c-decl.c (finish_function): Call cgraph_get_create_node instead
1245 of cgraph_node.
1246 * lto-cgraph.c (input_node): Likewise.
1247 * lto-streamer-in.c (input_function): Likewise.
1248 * varasm.c (mark_decl_referenced): Likewise.
1249 (assemble_alias): Likewise.
1250
fe660d7b
MJ
12512011-04-12 Martin Jambor <mjambor@suse.cz>
1252
1253 * tree-inline.c (tree_function_versioning): Call cgraph_get_node
1254 instead of cgraph_node and assert it does not return NULL.
1255 * lto-streamer-in.c (lto_read_body): Likewise.
1256 * omp-low.c (new_omp_context): Likewise.
1257 (create_task_copyfn): Likewise.
1258 * tree-emutls.c (lower_emutls_function_body): Likewise.
1259 * matrix-reorg.c (transform_allocation_sites): Likewise.
1260
bae5cddf
JJ
12612011-04-12 Jakub Jelinek <jakub@redhat.com>
1262
1263 PR c/48552
1264 * c-typeck.c (build_asm_expr): Error out on attempts to use
1265 void type outputs or inputs for constraints that allow reg or
1266 don't allow memory.
1267
06eb52ca
CLT
12682011-04-11 Chung-Lin Tang <cltang@codesourcery.com>
1269 Richard Earnshaw <rearnsha@arm.com>
1270
1271 PR target/48250
1272 * config/arm/arm.c (arm_legitimize_reload_address): Update cases
1273 to use sign-magnitude offsets. Reject unsupported unaligned
1274 cases. Add detailed description in comments.
1275 * config/arm/arm.md (reload_outdf): Disable for ARM mode; change
1276 condition from TARGET_32BIT to TARGET_ARM.
1277
648a616b
NF
12782011-04-11 Nathan Froyd <froydnj@codesourcery.com>
1279
1280 * tree.h (struct typed_tree): New.
1281 (struct tree_common): Include it instead of tree_base.
1282 (TREE_TYPE): Update for new location of type field.
1283 (TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly.
1284 (DECL_USER_ALIGN, DECL_PACKED): Likewise.
1285 (union tree_node): Add typed field.
1286 * treestruct.def (TS_TYPED): New.
1287 * lto-streamer.c (check_handled_ts_structures): Handle it.
1288 * tree.c (MARK_TS_TYPED): New macro.
1289 (MARK_TS_COMMON): Call it instead of MARK_TS_BASE.
1290
1e6d1da0
EB
12912011-04-11 Eric Botcazou <ebotcazou@adacore.com>
1292
1293 * cfghooks.c (redirect_edge_and_branch_force): Localize variable.
1294 (force_nonfallthru): Do not alter the loop nest if no basic block
1295 was created.
1296
12972011-04-11 Uros Bizjak <ubizjak@gmail.com>
d8700b1c
UB
1298
1299 * config/i386/sse.md (VI): New mode iterator.
1300 (SSEMODEI): Remove.
1301 (AVX256MODEI): Ditto.
1302 (AVXMODEF4P): Ditto.
1303 (avxvecpsmode): Ditto.
1304 (one_cmpl<mode>2): Enable for TARGET_SSE. Use VI mode iterator.
1305 (sse2_andnot<mode>3): New expander.
1306 (*andnot<mode>3): Merge with *sse2_andnot<mode>3 and
1307 *avx_andnot<mode>3. Enable for TARGET_SSE. Use VI mode iterator.
1308 (<any_logic:code><mode>3): Use VI mode iterator.
1309 (*<any_logic:code><mode>3): Merge with *sse2_<any_logic:code><mode>3
1310 and *avx_<any_logic:code><mode>3. Use VI mode iterator.
1311 (*andnottf3): Handle AVX three-operand constraints.
1312 (*<any_logic:code>tf3): Handle AVX three-operand constraints.
1313
b1372d5d 13142011-04-11 Joseph Myers <joseph@codesourcery.com>
d8700b1c 1315 Robert Millan <rmh@gnu.org>
b1372d5d
JM
1316
1317 * config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
1318 * config/i386/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER32,
1319 GNU_USER_DYNAMIC_LINKER64): Define.
1320 (REG_NAME): Don't undefine.
1321 (MD_UNWIND_SUPPORT): Undefine.
1322 * config/i386/knetbsd-gnu.h (GNU_USER_LINK_EMULATION): Define.
1323 (REG_NAME): Don't undefine.
1324 (MD_UNWIND_SUPPORT): Undefine.
d8700b1c 1325 * config/i386/kopensolaris-gnu.h (GNU_USER_LINK_EMULATION): Define.
b1372d5d 1326
761c0c6e
JM
13272011-04-11 Joseph Myers <joseph@codesourcery.com>
1328
1329 * config/i386/gnu.h (GNU_USER_LINK_EMULATION): Define.
1330 (CPP_SPEC, CC1_SPEC, ENDFILE_SPEC): Remove.
1331
26e0228f
XDL
13322011-04-11 Xinliang David Li <davidxl@google.com>
1333
1334 * value-profile.c (check_ic_target): New function.
1335 (gimple_ic_transform): Sanity check indirect call target.
1336 * gimple-low.c (gimple_check_call_args): Interface change.
1337 (gimple_check_call_matching_types): New function.
1338 * tree-inline.c (tree_can_inline_p): Call new function.
6075765d
BS
1339
13402011-04-11 Basile Starynkevitch <basile@starynkevitch.net>
1341
1342 * Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h
1343 tree-pretty-print.h & realmpfr.h.
1344
a58dfa49
VM
13452011-04-11 Vladimir Makarov <vmakarov@redhat.com>
1346
1347 PR middle-end/48464
1348 * ira.c (setup_pressure_classes): Fix typo in loop condition.
1349 (setup_allocno_and_important_classes): Ditto.
1350
107fd1c1
JM
13512011-04-11 Joseph Myers <joseph@codesourcery.com>
1352
1353 * config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
1354 GNU_USER_DYNAMIC_LINKER.
1355 * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
1356 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1357 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
1358 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
1359 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
1360 GNU_USER_TARGET_OS_CPP_BUILTINS.
1361 * config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
1362 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1363 * config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
1364 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1365 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
1366 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
1367 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
1368 GNU_USER_TARGET_OS_CPP_BUILTINS.
1369 * config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1370 GNU_USER_DYNAMIC_LINKER.
1371 * config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
1372 GNU_USER_TARGET_OS_CPP_BUILTINS.
1373 * config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
1374 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1375 * config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
1376 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1377 * config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
1378 * config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
1379 GNU_USER_DYNAMIC_LINKER64): Remove.
1380 * config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
1381 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1382 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1383 GNU_USER_DYNAMIC_LINKER.
1384 * config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
1385 GNU_USER_TARGET_OS_CPP_BUILTINS.
1386 * config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
1387 GNU_USER_TARGET_OS_CPP_BUILTINS.
1388 * config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
1389 to GNU_USER_TARGET_OS_CPP_BUILTINS.
1390 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
1391 GNU_USER_TARGET_OS_CPP_BUILTINS.
1392 (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
1393 (LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
1394 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
1395 * config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
1396 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1397 * config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1398 GNU_USER_DYNAMIC_LINKER.
1399 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
1400 GNU_USER_TARGET_OS_CPP_BUILTINS.
1401 * config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
1402 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1403 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1404 GNU_USER_DYNAMIC_LINKER.
1405 * config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
1406 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1407 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
1408 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1409 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1410 GNU_USER_DYNAMIC_LINKER.
1411 * config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
1412 GNU_USER_DYNAMIC_LINKERN32.
1413 (LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
1414 GNU_USER_DYNAMIC_LINKERN32. Change LINUX_DYNAMIC_LINKER64 to
1415 GNU_USER_DYNAMIC_LINKER64. Change LINUX_DYNAMIC_LINKER32 to
1416 GNU_USER_DYNAMIC_LINKER32.
1417 * config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change
1418 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1419 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1420 GNU_USER_DYNAMIC_LINKER.
1421 * config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
1422 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1423 * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
1424 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 1425 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1
JM
1426 * config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
1427 GNU_USER_DYNAMIC_LINKER32.
1428 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
1429 * config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
1430 GNU_USER_DYNAMIC_LINKER.
1431 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
1432 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1433 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
1434 GNU_USER_DYNAMIC_LINKER32. Change LINUX_DYNAMIC_LINKER64 to
1435 GNU_USER_DYNAMIC_LINKER64.
1436 * config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
1437 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1438 (SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1439 GNU_USER_DYNAMIC_LINKER.
1440 * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
1441 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1442 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1443 GNU_USER_DYNAMIC_LINKER.
1444 * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
1445 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1446 (LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
1447 GNU_USER_DYNAMIC_LINKER32.
1448 (LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
1449 GNU_USER_DYNAMIC_LINKER64.
1450 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
1451 GNU_USER_DYNAMIC_LINKER64.
1452 * config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
1453 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1454 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
1455 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 1456 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1 1457
e24609cf
JM
14582011-04-11 Joseph Myers <joseph@codesourcery.com>
1459
1460 * config/i386/gnu-user.h: Copy from linux.h. Update comments.
1461 (LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
1462 (SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
1463 GNU_USER_DYNAMIC_LINKER.
1464 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
1465 * config/i386/gnu-user64.h: Copy from linux64.h. Update comments.
1466 (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
1467 (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
1468 GNU_USER_DYNAMIC_LINKER64.
1469 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
1470 * config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
1471 GNU_USER_LINK_EMULATION.
1472 * config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
1473 DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
1474 ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
1475 MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
1476 PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
1477 CPP_SPEC, CC1_SPEC): Remove.
1478 (LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
1479 (GNU_USER_DYNAMIC_LINKER): Define.
1480 (ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
1481 ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
1482 ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
1483 LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
1484 TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
1485 STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
1486 TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
1487 * config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
1488 CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
1489 TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
1490 LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
1491 LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
1492 (GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
1493 (STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
1494 TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
1495 TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
1496 * config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
1497 GNU_USER_DYNAMIC_LINKER.
1498 * config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
1499 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
1500 * config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
1501 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
1502 * config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
1503 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
1504 * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
1505 i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
1506 i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
d8700b1c 1507 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new headers.
e24609cf 1508
b8ce4e94
KT
15092011-04-11 Kai Tietz <ktietz@redhat.com>
1510
1511 PR target/9601
1512 PR target/11772
1513 * config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
1514 * config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
1515 comment.
1516 (ix86_is_msabi_thiscall): Removed.
1517 (ix86_is_type_thiscall): Likewise.
1518 (ix86_get_callcvt): New function.
1519 (ix86_comp_type_attributes): Simplify check.
1520 (ix86_function_regparm): Use ix86_get_callcvt for calling
1521 convention attribute checks.
1522 (ix86_return_pops_args): Likewise.
1523 (ix86_static_chain): Likewise.
1524 (x86_this_parameter): Likewise.
1525 (x86_output_mi_thunk): Likewise.
1526 (ix86_function_type_abi): Optimize check for types without attributes.
1527 * config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
1528 IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
1529 IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
1530 by flag-values.
1531 (IX86_BASE_CALLCVT): Helper macro.
1532 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
1533 Use ix86_get_callcvt for calling convention attribute checks and avoid
1534 symbol-decoration for stdcall in TARGET_RTD case.
1535 * config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
1536 Likewise.
1537 (gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
1538 for declaration.
1539
798dd0ba
UB
15402011-04-11 Uros Bizjak <ubizjak@gmail.com>
1541
1542 * config/i386/sse.md (VI_128): New mode iterator.
1543 (VI12_128): Rename from SSEMODE12.
1544 (VI14_128): Rename from SSEMODE14.
1545 (VI124_128): New mode iterator.
1546 (VI24_128): Rename from SSEMODE248.
1547 (VI248_128): Rename from SSEMODE248.
1548 (SSEMODE124C8): Remove.
1549 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
1550 (*sse2_<plusminus_insn><mode>3): Merge with
1551 *avx_<plusminus_insn><mode>3.
1552 (*mulv8hi3): Merge with *avx_mulv8hi3.
1553 (*<s>mulv8hi3_highpart): Merge with *avx_<s>mulv8hi3_highpart.
1554 (*sse2_umulv2siv2di3): Merge with *avx_umulv2siv2di3.
1555 (*sse2_pmaddwd): Merge with *avx_pmaddwd.
1556 (*sse4_1_mulv4si3): Merge with *avx_mulv4si3.
1557 (ashr<mode>3): Merge with *avx_ashr<mode>3.
1558 (lshr<mode>3): Merge with *avx_lshr<mode>3.
1559 (ashl<mode>3): Merge with *avx_ashl<mode>3.
1560 (sse2_ashlv1ti3): Merge with *avx_ashlv1ti3.
1561 (sse2_lshrv1ti3): Merge with *avx_lshrv1ti3.
1562 (*sse4_1_<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
1563 (*<smaxmin:code>v8hi3): Ditto.
1564 (*sse4_1_<umaxmin:code><mode>3): Merge with *avx_<umaxmin:code><mode>3.
1565 (*<smaxmin:code>v16qi3): Ditto.
1566 (*sse4_1_eqv2di3): Merge with *avx_eq<mode>3.
1567 (*sse2_eq<mode>3): Ditto.
1568 (*sse4_2_eqv2di3): Merge with *avx_gt<mode>3.
1569 (*sse2_gt<mode>3): Ditto.
1570 (vcondv2di): Split out of vcond<mode>.
1571 (vconduv2di): Split out of vcondu<mode>.
1572
956011be
RG
15732011-04-11 Richard Guenther <rguenther@suse.de>
1574
1575 * gimplify.c (gimple_fold_indirect_ref): Check host_integerp
1576 before calling tree_low_cst.
1577
e6313a78
RG
15782011-04-11 Richard Guenther <rguenther@suse.de>
1579
1580 * stor-layout.c (layout_type): Compute all array index size operations
1581 in the original type.
1582 (initialize_sizetypes): Add comment.
1583 (set_sizetype): Do not set TREE_TYPE of a TREE_VEC.
1584
e69d7376
JM
15852011-04-11 Joseph Myers <joseph@codesourcery.com>
1586
1587 * common.opt (Tbss=, Tdata=, Ttext=): New options.
1588
9f9ebcdf
MJ
15892011-04-11 Martin Jambor <mjambor@suse.cz>
1590
1591 * cgraph.c (cgraph_local_info): Call cgraph_get_node instead
1592 of cgraph_node, handle NULL return value.
1593 (cgraph_global_info): Likewise.
1594 (cgraph_rtl_info): Likewise.
1595 * tree-inline.c (estimate_num_insns): Likewise.
1596 * gimplify.c (unshare_body): Likewise.
1597 (unvisit_body): Likewise.
1598 (gimplify_body): Likewise.
1599 * predict.c (optimize_function_for_size_p): Likewise.
1600 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
1601 (call_may_clobber_ref_p_1): Likewise.
1602 * varasm.c (function_section_1): Likewise.
1603 (assemble_start_function): Likewise.
1604
581985d7
MJ
16052011-04-11 Martin Jambor <mjambor@suse.cz>
1606
1607 * except.c (set_nothrow_function_flags): Call cgraph_get_node instead
1608 of cgraph_node.
1609 * final.c (rest_of_clean_state): Likewise.
1610 * gimple-iterator.c (update_call_edge_frequencies): Likewise.
1611 * passes.c (pass_init_dump_file): Likewise.
1612 (execute_all_ipa_transforms): Likewise.
1613 (function_called_by_processed_nodes_p): Likewise.
1614 * predict.c (maybe_hot_frequency_p): Likewise.
1615 (probably_never_executed_bb_p): Likewise.
1616 (compute_function_frequency): Likewise.
1617 * tree-nested.c (check_for_nested_with_variably_modified): Likewise.
1618 (unnest_nesting_tree_1): Likewise.
1619 (lower_nested_functions): Likewise.
1620 * tree-optimize.c (execute_fixup_cfg): Likewise.
1621 (tree_rest_of_compilation): Likewise.
1622 * tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
1623 * tree-sra.c (ipa_early_sra): Likewise.
1624 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
1625 * config/i386/i386.c (ix86_compute_frame_layout): Likewise.
1626 * ipa.c (record_cdtor_fn): Likewise.
1627 * ipa-inline.c (cgraph_early_inlining): Likewise.
1628 (compute_inline_parameters_for_current): Likewise.
1629 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
1630 * ipa-pure-const.c (local_pure_const): Likewise.
1631 * ipa-split.c (split_function): Likewise.
1632 (execute_split_functions): Likewise.
1633 * cgraphbuild.c (build_cgraph_edges): Likewise.
1634 (rebuild_cgraph_edges): Likewise.
1635 (cgraph_rebuild_references): Likewise.
1636 (remove_cgraph_callee_edges): Likewise.
1637 * cgraphunit.c (cgraph_mark_if_needed): Likewise.
1638 (verify_cgraph_node): Likewise.
1639 (cgraph_analyze_functions): Likewise.
1640 (cgraph_preserve_function_body_p): Likewise.
1641 (save_inline_function_body): Likewise.
1642 (save_inline_function_body): Likewise.
1643 * tree-inline.c (copy_bb): Likewise.
1644 (optimize_inline_calls): Likewise.
1645
57dbdc5a
MJ
16462011-04-11 Martin Jambor <mjambor@suse.cz>
1647
1648 PR tree-optimization/48195
1649 * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
1650 ipa_check_create_edge_args.
1651 (ipcp_generate_summary): Do not call ipa_check_create_node_params and
1652 ipa_check_create_edge_args.
1653 * ipa-inline.c (inline_generate_summary): Do not call
1654 ipa_check_create_node_params and ipa_check_create_edge_args.
1655 * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
1656 ipa_check_create_edge_args.
1657
d108e679
AS
16582011-04-09 Anatoly Sokolov <aesok@post.ru>
1659
1660 * expr.c (expand_expr_real_1): Use add_to_hard_reg_set function
1661 instead of loop.
1662 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
1663 * function.c (record_hard_reg_sets): Likewise.
1664 * ira.c (compute_regs_asm_clobbered): Likewise.
1665 * sched-deps.c (sched_analyze_1): Likewise.
1666 * reload1.c (mark_reload_reg_in_use, choose_reload_regs): Likewise.
1667
3411bc59
XDL
16682011-04-09 Xinliang David Li <davidxl@google.com>
1669
1670 PR tree-optimization/PR48484
1671 * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): Set
1672 has_valid_pred lazily
1673
b365495a
DS
16742011-04-09 Duncan Sands <baldrick@free.fr>
1675
1676 * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
1677
68bc509a
EB
16782011-04-08 Eric Botcazou <ebotcazou@adacore.com>
1679
1680 * combine.c (combine_validate_cost): Adjust comments. Set registered
1681 cost of I0 to zero at the end, if any.
1682
041e059f
XDL
16832011-04-08 Xinliang David Li <davidxl@google.com>
1684
68bc509a
EB
1685 * ipa-cp.c (ipcp_update_profiling): Correct negative scale factor due
1686 to insane profile data.
041e059f 1687
444b3995
XDL
16882011-04-08 Xinliang David Li <davidxl@google.com>
1689
1690 * ipa-cp.c (ipcp_update_profiling): Correct
1691 negative scale factor due to insane profile data.
1692
6a801cf2
XDL
16932011-04-08 Xinliang David Li <davidxl@google.com>
1694
1695 * final.c (dump_basic_block_info): New function.
1696 (final): Dump basic block.
1697 (final_scan_insn): Remove old dump.
1698
d5f3624e
SK
16992011-04-08 Steven G. Kargl <kargl@gcc.gnu.org>
1700
68bc509a
EB
1701 PR target/47829
1702 * config.gcc (i386-*-freebsd): Disable unwind table generation for
1703 crtbegin/crtend.
d5f3624e 1704
42821aff
MM
17052011-04-08 Michael Matz <matz@suse.de>
1706
1707 PR middle-end/48389
1708 * jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
1709 functions.
1710 (rebuild_jump_labels): Call rebuild_jump_labels_1.
1711 * rtl.h (rebuild_jump_labels_chain): Declare.
1712 * cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
1713 insns inserted on edges.
1714
ad7be009
JM
17152011-04-08 Joseph Myers <joseph@codesourcery.com>
1716
1717 * config.gcc (arm*-*-*): Add arm/arm-tables.opt to extra_options.
1718 * config/arm/arm-arches.def: New.
1719 * config/arm/arm-opts.h: New.
1720 * config/arm/genopt.sh: New.
1721 * config/arm/arm-tables.opt: New (generated).
1722 * config/arm/arm.c (arm_handle_option, arm_target_help,
1723 TARGET_HANDLE_OPTION, TARGET_HELP, arm_find_cpu): Remove.
1724 (all_architectures): Get most table contents from arm-arches.def.
1725 (arm_option_override): Set arm_selected_arch, arm_selected_cpu and
1726 arm_selected_tune here.
1727 * config/arm/arm.h (enum processor_type): Move to arm-opts.h.
1728 * config/arm/arm.opt (config/arm/arm-opts.h): New HeaderInclude.
1729 (march=, mcpu=, mtune=): Use Enum and Var.
1730 * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt): New.
1731 (arm.o): Update dependencies.
ecbb6fb7 1732
42821aff 17332011-04-08 Basile Starynkevitch <basile@starynkevitch.net>
ecbb6fb7
BS
1734
1735 * gengtype.c (write_typed_alloc_def): New argument f. Use it instead
1736 of header_file.
1737 (write_typed_struct_alloc_def, write_typed_typedef_alloc_def)
1738 (write_typed_alloc_defns): Likewise.
1739 (main): Calls write_typed_alloc_defns with output_header.
1740
8d189b3f
VM
17412011-04-08 Vladimir Makarov <vmakarov@redhat.com>
1742
68bc509a 1743 PR inline-asm/48435
8d189b3f
VM
1744 * ira-color.c (setup_profitable_hard_regs): Add comments.
1745 Don't take prohibited hard regs into account.
1746 (setup_conflict_profitable_regs): Rename to
1747 get_conflict_profitable_regs.
1748 (check_hard_reg_p): Check prohibited hard regs.
1749
44f370bf
NF
17502011-04-08 Nathan Froyd <froydnj@codesourcery.com>
1751
1752 * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
1753 * config/xtensa/xtensa.c (xtensa_call_tls_desc): Likewise.
1754 * config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise.
1755
483d7ad3
JDA
17562011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1757
1758 PR target/48366
1759 * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
b8a17fa2 1760 move from floating point to shift amount register.
483d7ad3
JDA
1761 (emit_move_sequence): Remove secondary reload support for floating
1762 point to shift amount amount register copies.
1763 (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
1764 amount register copies.
1765 * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
1766 register, return false if mode isn't a scalar integer mode.
1767 * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
1768
97e03fa1
RG
17692011-04-08 Richard Guenther <rguenther@suse.de>
1770
1771 * gimple.c (gimple_call_flags): Remove kludge.
1772
9d40778b
AM
17732011-04-08 Alexander Monakov <amonakov@ispras.ru>
1774
1775 * sel-sched.c (sel_region_init): Move call to
1776 sel_setup_region_sched_flags after setup_current_loop_nest.
1777
19ac7892
AB
17782011-04-08 Andrey Belevantsev <abel@ispras.ru>
1779
1780 PR rtl-optimization/48272
19ac7892
AB
1781 * sched-deps.c (setup_insn_reg_pressure_info): Export and rename to
1782 init_insn_reg_pressure_info. Adjust a caller.
1783 * sched-int.h (init_insn_reg_pressure_info): Declare.
1784 * haifa-sched.c (haifa_init_insn): Call init_insn_reg_pressure_info
1785 when sched-pressure is enabled.
1786
0f8c63cc
RG
17872011-04-08 Richard Guenther <rguenther@suse.de>
1788
1789 * gimple.c (gimple_set_modified): Do not queue calls to
1790 MODIFIED_NORETURN_CALLS here ...
1791 * tree-ssa-operands.c (update_stmt_operands): ... but here.
1792
5e5a425e
RG
17932011-04-08 Richard Guenther <rguenther@suse.de>
1794
1795 PR lto/48467
1796 * toplev.c (lang_dependent_init): Do not open asm_out_file
1797 in WPA mode, nor perform debug machinery initialization.
1798 (finalize): Do not unlink asm_out_file in WPA mode.
1799
9bfc434b
RG
18002011-04-08 Richard Guenther <rguenther@suse.de>
1801
1802 * gimple.h (gimple_call_fntype): New function.
1803 (gimple_call_return_type): Use it.
1804 * expr.c (expand_expr_real_1): Use gimple_call_fntype.
1805 * gimple-low.c (gimple_check_call_args): Likewise.
1806 * gimple.c (gimple_call_flags): Likewise.
1807 (gimple_call_arg_flags): Likewise.
1808 (gimple_call_return_flags): Likewise.
1809 * tree-cfg.c (verify_gimple_call): Likewise.
1810 (do_warn_unused_result): Likewise.
1811 * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
1812 * value-prof.c (gimple_ic_transform): Fix fndecl check.
1813
7c1f0b40
DM
18142011-04-08 Dmitry Melnik <dm@ispras.ru>
1815
1816 PR rtl-optimization/48235
1817 * sel-sched.c (code_motion_process_successors): Recompute the last
1818 insn in basic block if control flow changed.
1819 (code_motion_path_driver): Ditto. Recompute the first insn as well.
1820 Update condition for ilist_remove.
1821
ea4d630f
AM
18222011-04-08 Alexander Monakov <amonakov@ispras.ru>
1823
1824 PR rtl-optimization/48302
1825 * sel-sched-ir.h (sel_add_loop_preheaders): Update prototype.
1826 * sel-sched-ir.c (sel_add_loop_preheaders): Add 'bbs' argument. Use
1827 it to record added preheader blocks.
1828 * sel-sched.c (setup_current_loop_nest): Add 'bbs' argument. Pass it
1829 on to sel_add_loop_preheaders.
1830 (sel_region_init): Move call to setup_current_loop_nest after
1831 sel_init_bbs.
1832
07643d76
AM
18332011-04-08 Alexander Monakov <amonakov@ispras.ru>
1834
1835 PR target/48273
1836 * cfgloop.h (loop_has_exit_edges): New helper.
1837 * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
1838 non-clonable.
1839 * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
1840 that have no exit edges.
1841
1f3b2b4e
AM
18422011-04-08 Alexander Monakov <amonakov@ispras.ru>
1843
1844 PR rtl-optimization/48442
1845 * sel-sched.c (init_seqno): Remove number_of_insns argument. Update
1846 all callers. Adjust assert.
1847
554f1948
JJ
18482011-04-08 Jakub Jelinek <jakub@redhat.com>
1849
1850 PR tree-optimization/48377
1851 * tree-vect-data-refs.c (vector_alignment_reachable_p): Set
1852 is_packed to true even for types with smaller TYPE_ALIGN than
1853 TYPE_SIZE.
1854
ddf72388
RG
18552011-04-08 Richard Guenther <rguenther@suse.de>
1856
1857 PR bootstrap/48513
1858 * doc/tm.texi: Re-generate.
1859
0c27e2d8
WG
18602011-04-08 Wei Guozhi <carrot@google.com>
1861
1862 PR target/47855
1863 * config/arm/arm-protos.h (arm_attr_length_push_multi): New prototype.
1864 * config/arm/arm.c (arm_attr_length_push_multi): New function.
1865 * config/arm/arm.md (*push_multi): Change the length computation to
1866 call a C function.
1867
07c5f94e
AS
18682011-04-08 Anatoly Sokolov <aesok@post.ru>
1869
1870 * doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
1871 (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation.
1872 * doc/tm.texi: Regenerate.
1873 * system.h (ASM_OUTPUT_BSS): Poison.
1874 * varasm.c (asm_output_bss): Remove function.
1875 (emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro.
798dd0ba 1876
07c5f94e
AS
1877 * config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment.
1878 * config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise.
1879 * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise.
1880 * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
1881 Likewise.
1882 * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
1883 Likewise.
1884 * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
1885 Likewise.
1886 * config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1887
5f2c36e1
JM
18882011-04-07 Joseph Myers <joseph@codesourcery.com>
1889
1890 * config/rx/rx.opt (rx610, rx200, rx600): Use Enum not Name on
1891 EnumValue lines.
1892
39e7722b
JM
18932011-04-07 Joseph Myers <joseph@codesourcery.com>
1894
1895 * config/m68k/m68k.c (m68k_handle_option): Don't handle
1896 OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
1897 OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
1898 OPT_mcpu32.
1899 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
1900 handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
1901 -m68030, -m68040, -m68060, -mcpu32 and -m68332.
1902 * config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
1903 m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
1904 * config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
1905 (MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
1906 (MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
1907 options. Don't map other m68k options manually. Don't handle
1908 old-style options as canonical.
1909 (MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
798dd0ba 1910 * doc/install.texi (m68k-*-*): Document binutils version requirement.
39e7722b 1911
cf103ca4
EB
19122011-04-07 Eric Botcazou <ebotcazou@adacore.com>
1913
1914 * basic-block.h (force_nonfallthru): Move to...
1915 * cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
1916 (force_nonfallthru): ...here.
1917 * cfghooks.c (force_nonfallthru): New function.
1918 * cfgrtl.c (force_nonfallthru): Rename into...
1919 (rtl_force_nonfallthru): ...this.
1920 (commit_one_edge_insertion): Do not set AUX field.
1921 (commit_edge_insertions): Do not discover new basic blocks.
1922 (rtl_cfg_hooks): Add rtl_force_nonfallthru.
1923 (cfg_layout_rtl_cfg_hooks): Likewise.
1924 * function.c (thread_prologue_and_epilogue_insns): Remove bogus
1925 ATTRIBUTE_UNUSED. Discover new basic blocks in the prologue insns.
1926 * tree-cfg.c (gimple_cfg_hooks): Add NULL for force_nonfallthru.
1927
14431f58
AS
19282011-04-07 Anatoly Sokolov <aesok@post.ru>
1929
1930 * config/mips/mips.h (REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
1931 Remove macros.
1932
3729983c
UB
19332011-04-07 Uros Bizjak <ubizjak@gmail.com>
1934
1935 * config/i386/sse.md: Update copyright year.
1936 (avxcvtvecmode): Remove.
1937 (sse_movhlps): Merge with *avx_movhlps.
1938 (sse_movlhps): Merge with *avx_movlhps.
1939 (vec_interleave_highv4sf): Merge with *avx_interleave_highv4sf.
1940 (vec_interleave_lowv4sf): Merge with *avx_interleave_lowv4sf.
1941 (sse_shufps_<mode>): Merge with *avx_shufps_<mode>.
1942 (sse_loadhps): Merge with *avx_loadhps.
1943 (sse_storelps): Merge with *avx_storelps.
1944 (sse_loadlps): Merge with *avx_loadlps.
1945 (sse_movss): Merge with *avx_movss.
1946 (*vec_concatv2sf_sse4_1): Merge with *vec_concatv2sf_avx.
1947 (*vec_concatv4sf_sse): Merge with *vec_concatv4sf_avx.
1948 (*vec_set<mode>_0_sse4_1): Merge with *vec_set<mode>_0_avx.
1949 (*vec_set<mode>_0_sse2): Split multi-unit alternative.
1950 (vec_set<mode>_0): Ditto.
1951 (*vec_setv4sf_sse4_1): Merge with *vec_setv4sf_avx.
1952 (sse4_1_insertps): Merge with *avx_insertps.
1953 (*sse3_interleave_highv2df): Merge with *avx_interleave_highv2df.
1954 (*sse3_interleave_lowv2df): Merge with *avx_interleave_lowv2df.
1955 (vec_interleave_highv2di): Merge with *avx_interleave_highv2di.
1956 (sse2_shufpd_<mode>): Merge with *avx_shufpd_<mode>.
1957 (sse2_storehpd): Merge with *avx_storehpd.
1958 (sse2_loadhpd): Merge with *avx_loadhpd.
1959 (sse2_loadlpd): Merge with *avx_loadlpd.
1960 (sse2_movsd): Merge with *avx_movsd.
1961 (*vec_concatv2df): Merge with *vec_concatv2df.
1962
4e626909
JJ
19632011-04-07 Jakub Jelinek <jakub@redhat.com>
1964
1965 PR debug/48343
1966 * combine.c (combine_instructions): Add last_combined_insn,
3729983c 1967 update it if insn is after it, pass it to all try_combine calls.
4e626909
JJ
1968 (try_combine): Add last_combined_insn parameter, pass it instead of
1969 i3 to propagate_for_debug.
1970
3729983c 19712011-04-07 Nick Clifton <nickc@redhat.com>
5a10b0a9
NC
1972
1973 * config/mn10300/mn10300.md (movqi_internal): Add alternatives
1974 to handle MDR <-> data register transfers.
1975 (movhi_internal): Likewise.
1976
20c03367
AM
19772011-04-07 Alan Modra <amodra@gmail.com>
1978
1979 * config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
1980 previous stack info.
1981
bf22920b
TV
19822011-04-07 Tom de Vries <tom@codesourcery.com>
1983
1984 PR target/43920
1985 * cfgcleanup.c (try_crossjump_to_edge): Add dir parameter. Pass dir to
1986 flow_find_cross_jump. Swap variables to implement backward replacement.
1987 (try_crossjump_bb): Add argument to try_crossjump_to_edge.
1988
823918ae
TV
19892011-04-07 Tom de Vries <tom@codesourcery.com>
1990
1991 PR target/43920
1992 * cfgcleanup.c (walk_to_nondebug_insn): New function.
3729983c
UB
1993 (flow_find_cross_jump): Use walk_to_nondebug_insn. Recalculate bb1
1994 and bb2.
1995 (try_crossjump_to_edge): Handle case that newpos1 or newpos2 is not
1996 src1 or src2. Redirect edges to the last basic block. Update
1997 frequency and count on multiple basic blocks in case of fallthru.
823918ae 1998
472c95f5
TV
19992011-04-07 Tom de Vries <tom@codesourcery.com>
2000
2001 PR target/43920
2002 * cfgcleanup.c (equal_different_set_p, can_replace_by, merge_dir): New
2003 function.
3729983c
UB
2004 (old_insns_match_p): Change return type. Replace return false/true
2005 with return dir_none/dir_both. Use can_replace_by.
2006 (flow_find_cross_jump): Add dir_p parameter. Init replacement
2007 direction from dir_p. Register replacement direction in dir, last_dir
2008 and afterlast_dir. Handle new return type of old_insns_match_p using
472c95f5
TV
2009 merge_dir. Return replacement direction in dir_p.
2010 (flow_find_head_matching_sequence, outgoing_edges_match): Handle new
2011 return type of old_insns_match_p.
2012 (try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
2013 * ifcvt.c ( cond_exec_process_if_block): Add argument to call to
2014 flow_find_cross_jump.
2015 * basic-block.h (enum replace_direction): New type.
2016 (flow_find_cross_jump): Add parameter to declaration.
2017
a95d4000
UB
20182011-04-06 Uros Bizjak <ubizjak@gmail.com>
2019
2020 * config/i386/sse.md (AVXMODEDCVTDQ2PS): Remove.
2021 (AVXMODEDCVTPS2DQ): Ditto.
2022 (VEC_FLOAT_MODE): Ditto.
2023 (<sse>_andnot<mode>3): Merge with avx_andnot<mode>3. Use VF mode
2024 iterator. Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
2025 (<any_logic:code><mode>3): Use VF mode iterator.
2026 (*<any_logic:code><mode>3): Merge with *avx_<any_logic:code><mode>3.
2027 Use VF mode iterator.
2028 (copysign<mode>3): Use VF mode iterator.
2029 (*andnot<MODEF:mode>3): Merge with *avx_andnot<MODEF:mode>3. Handle
2030 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
2031 (*<any_logic:code><MODEF:mode>3): Merge with
2032 *avx_<any_logic:code><MODEF:mode>3.
2033 (sse_cvtsi2ss): Merge with *avx_cvtsi2ss.
2034 (sse_cvtsi2ssq): Merge with *avx_cvtsi2ssq.
2035 (avx_cvtdq2ps256): Split from avx_cvtdq2ps<avxmodesuffix>.
2036 (avx_cvtdq2ps<avxmodesuffix>): Remove.
2037 (sse2_cvtdq2ps): Use %v modifier.
2038 (avx_cvtps2dq256): Split from avx_cvtps2dq<avxmodesuffix>.
2039 (avx_cvtps2dq<avxmodesuffix>): Remove.
2040 (sse2_cvtps2dq): Use %v modifier.
2041 (avx_cvttps2dq256): Split from avx_cvttps2dq<avxmodesuffix>.
2042 (avx_cvttps2dq<avxmodesuffix>): Remove.
2043 (sse2_cvttps2dq): Use %v modifier.
2044 (sse2_cvtsi2sd): Merge with *avx_cvtsi2sd.
2045 (sse2_cvtsi2sdq): Merge with *avx_cvtsi2sdq.
2046 (sse2_cvtsd2siq): Fix insn template.
2047 (sse2_cvtsd2siq_2): Ditto.
2048 (sse2_cvttsd2siq): Ditto.
2049 (sse2_cvtsd2ss): Merge with *avx_cvtsd2ss.
2050 (sse2_cvtss2sd): Merge with *avx_cvtss2sd.
2051
ad01c437
JM
20522011-04-06 Joseph Myers <joseph@codesourcery.com>
2053
2054 * gcov-io.c: Use GCC Runtime Library Exception.
2055
fe846284
JJ
20562011-04-06 Jakub Jelinek <jakub@redhat.com>
2057
2058 PR debug/48466
2059 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
2060 as base_reg whatever register reg has been eliminated to, instead
2061 of hardcoding STACK_POINTER_REGNUM.
2062
acce4e77
JM
20632011-04-06 Joseph Myers <joseph@codesourcery.com>
2064
2065 * doc/tm.texi.in: Document C target hooks as separate from general
2066 target hooks.
2067 * doc/tm.texi: Regenerate.
2068 * genhooks.c (struct hook_desc): Add docname field.
2069 (HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize
2070 docname field.
2071 (hook_array): Include c-target.def.
2072 (emit_documentation): Use docname field in output.
2073 (emit_init_macros): Take docname argument. Only emit definitions
2074 for hooks matching docname.
2075 (main): Expect additional arguments in all cases. Pass argument
2076 to emit_init_macros.
2077 * target.def: Move initial macro definitions and comments to
2078 target-hooks-macros.h.
2079 (gcc_targetcm): Move to c-family/c-target.def.
2080 * target.h (targetcm): Move declaration to c-family/c-target.h.
2081 * targhooks.c (default_handle_c_option): Move to
2082 c-family/c-opts.c.
2083 * targhooks.h (default_handle_c_option): Move declaration to
2084 c-family/c-common.h.
2085 * target-hooks-macros.h: New file.
2086 * config.gcc (target_has_targetcm): Define and use to add to
2087 c_target_objs and cxx_target_objs.
2088 * config/default-c.c: New file.
2089 * config/darwin-c.c: Include c-target.h and c-target-def.h instead
2090 of target.h and target-def.h.
2091 (TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
2092 (darwin_objc_construct_string, darwin_cfstring_ref_p,
2093 darwin_check_cfstring_format_arg): Make static.
2094 (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
2095 TARGET_STRING_OBJECT_REF_TYPE_P,
2096 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
2097 * config/darwin-protos.h (darwin_objc_construct_string,
2098 darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
2099 declare.
2100 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
2101 TARGET_STRING_OBJECT_REF_TYPE_P,
a95d4000 2102 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM): Remove.
acce4e77
JM
2103 * config/t-darwin (darwin-c.o): Update dependencies.
2104 * system.h (TARGET_HAS_TARGETCM): Poison.
2105 * Makefile.in (TARGET_H): Update.
2106 (TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
2107 (c-family/c-format.o, c-family/c-opts.o): Update dependencies.
2108 (default-c.o): New target.
2109 (s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
a95d4000 2110 (c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New targets.
acce4e77
JM
2111 (s-tm-texi): Pass -d option to genhooks. Also test timestamp on
2112 c-target.def.
2113 (build/genhooks.o): Update dependencies.
2114
275b4baa 21152011-04-06 Richard Guenther <rguenther@suse.de>
a95d4000 2116
275b4baa
RG
2117 * ipa-inline.c (enum inlining_mode): Remove.
2118 (cgraph_flatten): Use some other token.
2119 (cgraph_edge_early_inlinable_p): New function, split out from ...
2120 (cgraph_perform_always_inlining): New function, split out from ...
2121 (cgraph_decide_inlining_incrementally): ... here.
2122 (cgraph_mark_inline_edge): Adjust.
2123 (cgraph_early_inlining): Re-structure.
2124 (pass_early_inline): Require SSA form.
2125
f15b8bdf 21262011-04-06 Andrew Stubbs <ams@codesourcery.com>
9adc580c
AS
2127 Julian Brown <julian@codesourcery.com>
2128 Mark Shinwell <shinwell@codesourcery.com>
2129
2130 * config/arm/arm.h (arm_class_likely_spilled_p): Check against
2131 LO_REGS only for Thumb-1.
2132 (MODE_BASE_REG_CLASS): Restrict base registers to those which can
2133 be used in short instructions when optimising for size on Thumb-2.
2134
516426da
EB
21352011-04-06 Eric Botcazou <ebotcazou@adacore.com>
2136
2137 * gimple-low.c (lower_gimple_return): When not optimizing, force labels
2138 associated with user returns to be preserved.
2139
96621ebf
TG
21402011-04-06 Tristan Gingold <gingold@adacore.com>
2141
f15b8bdf
EB
2142 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index,
2143 symbol_queue_size, DBXOUT_DECR_NESTING,
96621ebf
TG
2144 (DBXOUT_DECR_NESTING_AND_RETURN): Also define
2145 if XCOFF_DEBUGGING_INFO.
2146
07c0852e
UB
21472011-04-06 Uros Bizjak <ubizjak@gmail.com>
2148
2149 * config/i386/i386.md (attribute isa): New.
2150 (attribute enabled): New.
2151 (setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
2152 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
2153 (*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
2154 (*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
2155 (*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
2156 (<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
2157 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
2158 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.
2159
2160 * config/i386/sse.md (VF): New mode iterator.
2161 (VF1): Ditto.
2162 (VF2): Ditto.
2163 (VF_128): Ditto.
2164 (SSEMODEF4): Remove.
2165 (attribute sse): Handle V8SF and V4DF modes.
2166 (<absneg:code><mode>2): Use VF mode iterator.
2167 (*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2. Use VF
2168 mode iterator.
2169 (<plusminus_insn><mode>3): Use VF mode iterator.
2170 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
2171 Use VF mode iterator.
2172 (<sse>_vm<plusminus_insn><mode>3): Merge with
2173 *avx_vm<plusminus_insn><mode>3. Use VF_128 mode iterator.
2174 (mul<mode>3): Use VF mode iterator.
2175 (*mul<mode>3): Merge with *avx_mul<mode>3. Use VF mode iterator.
2176 (<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3. Use VF_128
2177 mode iterator.
2178 (div<VF2:mode>3): Merge from divv2df3 and divv4df3.
2179 (div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
2180 (<sse>_div<mode>3): Merge with *avx_div<mode>3. Use VF mode iterator.
2181 (<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3. Use VF_128
2182 mode iterator.
2183 (<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
2184 Use VF1 mode iterator.
2185 (sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
2186 (sqrt<VF2:mode>2): New expander.
2187 (sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
2188 (<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
2189 and sqrtv2df2. Use VF mode iterator.
2190 (<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2. Use VF_128
2191 mode iterator.
2192 (rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
2193 (<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
2194 Use VF1 mode iterator.
2195 (sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
2196 (<smaxmin:code><mode>3): Use VF mode iterator.
2197 (*<smaxmin:code><mode>3_finite): Merge with
2198 *avx_<smaxmin:code><mode>3_finite. Use VF mode iterator.
2199 (*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
2200 (<sse>_vm<smaxmin:code><mode>2): Merge with
2201 *avx_vm<smaxmin:code><mode>2. Use VF_128 mode iterator.
2202 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3. Use VF
2203 mode iterator.
2204 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3. Use VF
2205 mode iterator.
2206 (sse3_addsubv2df3): Merge with *avx_addsubv2df3.
2207 (sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
2208 (sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
2209 (sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
2210 (avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3. Use
2211 VF mode iterator.
2212 (avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
2213 Use VF_128 mode iterator.
2214 (<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3. Use VF
2215 mode iterator.
2216 (<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3. Use
2217 VF_128 mode iterator.
2218 (vcond<mode>): Use VF mode iterator.
2219 * config/i386/predicates.md (sse_comparison_operator): Merge with
2220 avx_comparison_float_operator. Do not declare as special_predicate.
2221 * config/i386/i386.c (struct builtin_description): Update for renamed
2222 compare patterns.
2223 (ix86_expand_args_builtin): Ditto.
2224 (ix86_expand_sse_compare_mask): Ditto.
2225
ff5d142c
RG
22262011-04-06 Richard Guenther <rguenther@suse.de>
2227
2228 * tree-inline.c (estimate_num_insns): For calls simply account
2229 for all passed arguments and a used return value.
2230
d7d1d041 22312011-04-06 Richard Guenther <rguenther@suse.de>
07c0852e 2232
d7d1d041
RG
2233 PR tree-optimization/47663
2234 * cgraph.h (struct cgraph_edge): Add call_stmt_size and
2235 call_stmt_time fields.
2236 (cgraph_edge_inlinable_p): Declare.
2237 (cgraph_edge_recursive_p): New inline function.
2238 * cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
2239 (cgraph_clone_edge): Copy it.
2240 * ipa-inline.c (cgraph_estimate_edge_time): New function.
2241 Account for call stmt time.
2242 (cgraph_estimate_time_after_inlining): Take edge argument.
2243 (cgraph_estimate_edge_growth): Account call stmt size.
2244 (cgraph_estimate_size_after_inlining): Take edge argument.
2245 (cgraph_mark_inline_edge): Adjust.
2246 (cgraph_check_inline_limits): Likewise.
2247 (cgraph_recursive_inlining_p): Remove.
2248 (cgraph_edge_badness): Use cgraph_edge_recursive_p.
2249 (cgraph_decide_recursive_inlining): Take edge argument and
2250 adjust.
2251 (cgraph_decide_inlining_of_small_functions): Do not avoid
2252 diags for recursive inlining here.
2253 (cgraph_flatten): Adjust.
2254 (cgraph_decide_inlining_incrementally): Likewise.
2255 (estimate_function_body_sizes): Remove call cost handling.
2256 (compute_inline_parameters): Initialize caller edge call costs.
2257 (cgraph_estimate_edge_growth): New function.
2258 (cgraph_estimate_growth): Use it.
2259 (cgraph_edge_badness): Likewise.
2260 (cgraph_check_inline_limits): Take an edge argument.
2261 (cgraph_decide_inlining_of_small_functions): Adjust.
2262 (cgraph_decide_inlining): Likewise.
2263 * tree-inline.c (estimate_num_insns): Only account for call
2264 return value if it is used.
2265 (expand_call_inline): Avoid diagnostics on recursive inline
2266 functions here.
2267 * lto-cgraph.c (lto_output_edge): Output edge call costs.
2268 (input_edge): Input edge call costs.
2269
2feb95f7
RO
22702011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2271
2272 * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
2273
26fbd9c2
JW
22742011-04-06 Jonathan Wakely <jwakely.gcc@gmail.com>
2275
2276 * doc/invoke.texi (Spec Files): Fix typo.
2277
694dc0ca
EB
22782011-04-06 Eric Botcazou <ebotcazou@adacore.com>
2279
2280 * profile.c (branch_prob): Move declaration of local variable. Remove
2281 obsolete ??? comment. Expand the location explicitly instead of using
2282 the LOCATION_FILE and LOCATION_LINE macros.
2283
4925d0d5
WG
22842011-04-06 Wei Guozhi <carrot@google.com>
2285
2286 PR target/47855
2287 * config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
2288 (arm_cond_branch): Likewise.
2289 (arm_cond_branch_reversed): Likewise.
2290 (arm_jump): Likewise.
2291 (push_multi): Likewise.
2292 * config/arm/constraints.md (Py): New constraint.
2293
f55dfa2f
NF
22942011-04-05 Nathan Froyd <froydnj@codesourcery.com>
2295
2296 PR bootstrap/48471
2297 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
2298 Move these...
2299 (symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
2300 (DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
2301 #ifdef DBX_DEBUGGING_INFO.
2302
fca96842
BS
23032011-04-05 Bernd Schmidt <bernds@codesourcery.com>
2304
2305 PR bootstrap/48403
2306 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
2307 if old and new states differ.
2308
30b83e38
JM
23092011-04-05 Joseph Myers <joseph@codesourcery.com>
2310
2311 * config/m68k/m68k.c (m68k_handle_option): Don't handle OPT_m5200,
2312 OPT_m5206e, OPT_m528x, OPT_m5307, OPT_m5407 and OPT_mcfv4e.
2313 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
2314 handle -m5200, -m5206e, -m528x, -m5307, -m5407 and -mcfv4e.
2315 * config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407,
2316 mcfv4e): Use Alias.
2317 * config/m68k/t-mlibs (MULTILIB_MATCHES): Don't map legacy
2318 ColdFire options to -mcpu= options.
2319
277a9aa5
JL
23202011-04-05 Jeff Law <law@redhat.com>
2321
2322 * tree-ssa-threadupdate.c (determine_bb_domination_status): Always
2323 check if BB is a successor of LOOP->header and return
2324 NONDOMINATING if it is not, regardless of ENABLE_CHECKING.
2325
c1e2610e
SB
23262011-04-05 Steven Bosscher <steven@gcc.gnu.org>
2327
2328 * cprop.c (struct reg_use): Remove.
2329 (reg_use_table): Make an array of RTX.
2330 (find_used_regs, constprop_register, local_cprop_pass,
2331 bypass_block): Simplify users of reg_use_table.
2332 (cprop_insn): Likewise. Iterate if copy propagation succeeded
2333 on one of the uses found by find_used_regs.
2334
e532f586
NF
23352011-04-05 Nathan Froyd <froydnj@codesourcery.com>
2336
2337 PR bootstrap/48469
2338 * combine.c (combine_instructions): #ifdef AUTO_INC_DEC links
2339 declaration.
2340
3fb7c055
NF
23412011-04-05 Nathan Froyd <froydnj@codesourcery.com>
2342
2343 * combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
2344 as an rtx.
2345 (try_combine) [AUTO_INC_DEC]: Declare a local link rtx.
2346
b71b43d9
SB
23472011-04-05 Steven Bosscher <steven@gcc.gnu.org>
2348
2349 PR middle-end/48441
2350 * cprop.c (one_cprop_pass): Do not mark_oprs_set of deleted insns.
2351
b405b274
NF
23522011-04-05 Nathan Froyd <froydnj@codesourcery.com>
2353
2354 * combine.c: Include obstack.h.
2355 (struct insn_link): Define.
2356 (uid_log_links): Adjust type.
2357 (FOR_EACH_LOG_LINK): New macro.
2358 (insn_link_obstack): Declare.
2359 (alloc_insn_link): Define.
2360 (create_log_links): Call it. Use FOR_EACH_LOG_LINK and adjust
2361 type of link variables.
2362 (find_single_use, insn_a_feeds_b, combine_instructions): Likewise.
2363 (try_combine, record_promoted_values, distribute_notes): Likewise.
2364 (distribute_links): Likewise. Tweak prototype.
2365 (clear_log_links): Delete.
2366 (adjust_for_new_dest): Call alloc_insn_link.
2367 * Makefile.in (combine.o): Depend on $(OBSTACK_H).
2368
6409abe3
NF
23692011-04-05 Nathan Froyd <froydnj@codesourcery.com>
2370
2371 * gcse.c (modify_mem_list): Convert to an array of VECs.
2372 (canon_modify_mem_list, compute_transp): Tweak formatting.
2373 (alloc_gcse_mem): Likewise. Adjust for modify_mem_list change.
2374 (load_killed_in_block_p): Likewise.
2375 (record_last_mem_set_info): Likewise.
2376 (clear_modify_mem_tables): Likewise.
2377
170d8157
TV
23782011-04-05 Tom de Vries <tom@codesourcery.com>
2379
2380 PR middle-end/48461
2381 * function.c (emit_use_return_register_into_block): Only define if
2382 HAVE_return.
2383
c5911a55
EB
23842011-04-05 Eric Botcazou <ebotcazou@adacore.com>
2385
2386 * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
2387
abd016e6
JM
23882011-04-05 Joseph Myers <joseph@codesourcery.com>
2389
2390 * config/rx/rx-opts.h: New.
2391 * config/rx/rx.c (rx_cpu_type): Remove.
2392 (rx_handle_option): Don't assert that global structures are in
2393 use. Access variables via opts pointer. Defer most handling of
2394 OPT_mint_register_. Use error_at.
2395 (rx_option_override): Handle deferred OPT_mint_register_ here.
2396 * config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
2397 * config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
2398 (mcpu=): Use Enum and specifiy rx_cpu_type with Var.
2399 (rx_cpu_types): New Enum and EnumValue entries.
2400 (mint-register=): Use Defer and use Var accordingly.
2401
1ed13f83
NF
24022011-04-05 Nathan Froyd <froydnj@codesourcery.com>
2403
2404 * debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
2405 (debug_free_queue, debug_nesting, symbol_queue_index): Delete.
2406 * final.c (debug_flush_symbol_queue, debug_queue_symbol):
2407 Move these...
2408 (debug_free_queue, debug_nesting, symbol_queue_index):
2409 ...and these...
2410 * dbxout.c: ...to here. Make static.
2411
6ce1edcf
NF
24122011-04-05 Nathan Froyd <froydnj@codesourcery.com>
2413
2414 * gcse.c (modify_pair): Define. Define a VEC of it.
2415 (canon_modify_mem_list): Convert to an array of VECs.
2416 (free_insn_expr_list_list): Delete.
2417 (clear_modify_mem_tables): Call VEC_free instead.
2418 (record_last_mem_set_info): Don't modify canon_modify_mem_list.
2419 (alloc_gcse_mem): Adjust for canon_modify_mem_list change.
2420 (canon_list_insert, compute_transp): Likewise.
2421
c201ac94
TV
24222011-04-05 Tom de Vries <tom@codesourcery.com>
2423
2424 PR target/43920
2425 * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
2426 for size.
2427
4c029f40
TV
24282011-04-05 Tom de Vries <tom@codesourcery.com>
2429
2430 PR target/43920
2431 * function.c (emit_use_return_register_into_block): New function.
2432 (thread_prologue_and_epilogue_insns): Use
2433 emit_use_return_register_into_block.
2434
2a562b0a
TV
24352011-04-05 Tom de Vries <tom@codesourcery.com>
2436
2437 PR target/43920
2438 * cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
2439 insn.
2440
0248bceb
TV
24412011-04-05 Tom de Vries <tom@codesourcery.com>
2442
2443 * cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.
2444
ffa94123
YZ
24452011-04-05 Yufeng Zhang <yufeng.zhang@arm.com>
2446
798dd0ba
UB
2447 * config/arm/arm.md (define_constants for unspec): Replace with
2448 define_c_enum.
2449 (define_constants for unspecv): Replace with define_c_enum.
2450 * config/arm/neon.md (define_constants for unspec): Replace with
2451 define_c_enum.
ffa94123 2452
3b8f9b46
RH
24532011-04-04 Richard Henderson <rth@redhat.com>
2454
720cf80f 2455 PR bootstrap/48400
3b8f9b46
RH
2456 * dwarf2out.c (output_line_info): Always emit line info from
2457 at least one section.
2458 (dwarf2out_init): Create text_section_line_info here ...
2459 (set_cur_line_info_table): ... not here.
2460
720cf80f 24612011-04-04 Vladimir Makarov <vmakarov@redhat.com>
e5b0e1ca
VM
2462
2463 PR target/48380
2464 * ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
720cf80f 2465 not called.
e5b0e1ca 2466
720cf80f 2467 * ira-emit.c (emit_move_list): Update reg_equiv_init insn list.
e5b0e1ca 2468
196565d4
SB
24692011-04-04 Steven Bosscher <steven@gcc.gnu.org>
2470
b77f9eab
SB
2471 * cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
2472 (expr_equiv_p): Remove.
2473 (insert_set_in_table): Look at <dest, src> pair instead of expr.
2474 (hash_scan_set): Update call to insert_set_in_table.
2475 (dump_hash_table): Dump <dest, src> pair.
2476 (lookup_set): Simplify. Lookup <dest, src> pair.
2477 (compute_transp): Remove, fold heavily simplified code into...
2478 (compute_local_properties): ...here. Expect COMP and TRANSP
2479 unconditionally.
2480 (find_avail_set): Take set directly from struct expr.
2481 (find_bypass-set): Likewise.
2482 (bypass_block): Likewise.
2483 (cprop_insn): Likewise. Remove redundant INSN_P test.
2484
384d7a55
SB
2485 * cprop.c (implicit_set_cond_p): Assume nothing about COND, move
2486 checks on form of COND from find_implicit_sets to here.
2487 (find_implicit_sets): Cleanup control flow. Split critical edges
2488 if it exposes implicit sets. Allocate/resize implicit_sets as
2489 necessary.
2490 (one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
2491 changed something. Run df_analyze after find_implicit_sets if any
2492 edges were split. Do not allocate implicit_sets here.
2493
3084ce69
SB
2494 * cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
2495 (gcse_obstack): Renamed to cprop_obstack.
2496 (GNEW, GNEWVEC, GNEWVAR): Remove.
2497 (gmalloc): Remove.
2498 (alloc_hash_table): Use XNEWVAR instead of GNEWVAR.
2499 (GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming.
2500 (gcse_alloc): Likewise, and rename to cprop_alloc.
2501 (alloc_gcse_men, free_gcse_mem): Remove.
2502 (gcse_constant_p): Rename to cprop_constant_p, and adjust all callers.
2503 (compute_hash_table_work): Allocate and free reg_set_bitmap here.
2504 (one_cprop_pass): Likewise. Adjust for gcse_obstack renaming.
2505
196565d4
SB
2506 * cprop.c (oprs_not_set_p): Remove.
2507 (mark_set, mark_clobber): Remove.
2508 (mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache.
2509 (reg_not_set_p): New function.
2510 (find_avail_set): Use reg_not_set_p instead of oprs_not_set_p.
2511 (cprop_insn): Likewise.
2512 (cprop_jump): Use FOR_EACH_EDGE.
2513
9b69cf83
BS
25142011-04-04 Bernd Schmidt <bernds@codesourcery.com>
2515
2516 PR bootstrap/48403
2517 * haifa-sched.c (nonscheduled_insns_begin): New static variable.
2518 (rank_for_schedule): Use scheduled_insns vector instead of
2519 last_scheduled_insn.
2520 (ok_for_early_queue_removal): Likewise.
2521 (queue_to_ready): Search forward in nonscheduled_insns_begin if
2522 we have a dbg_cnt.
2523 (choose_ready): Likewise.
2524 (commit_schedule): Use VEC_iterate.
2525 (schedule_block): Initialize nonscheduled_insns_begin. If we have
2526 a dbg_cnt, use it and ensure the first insn is in the ready list.
2527 (haifa_sched_init): Allocate scheduled_insns.
2528 (sched_extend_ready_list): Don't allocate it; reserve space.
2529 (haifa_sched_finish): Free it.
2530
24f48c2f
JM
25312011-04-04 Joseph Myers <joseph@codesourcery.com>
2532
2533 * optc-gen.awk: Always remove type from Variable entry before
2534 recording in var_seen.
2535
8effe856
EB
25362011-04-04 Eric Botcazou <ebotcazou@adacore.com>
2537
2538 * cfghooks.c (tidy_fallthru_edges): Add ??? comment.
2539 * tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove
2540 call to tidy_fallthru_edges.
2541
413519ae
JM
25422011-04-04 Joseph Myers <joseph@codesourcery.com>
2543
2544 * doc/options.texi (ToLower): Document.
3729983c 2545 * opt-functions.awk (switch_bit_fields): Initialize cl_tolower field.
413519ae
JM
2546 * opts-common.c (decode_cmdline_option): Handle cl_tolower.
2547 * opts.h (cl_option): Add cl_tolower field.
2548 * config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu=
2549 arguments with lowercase strings.
2550 * config/rx/rx.opt (mcpu=): Add ToLower.
2551 * config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu=
2552 argument.
2553
7d34a1b0
RS
25542011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
2555
2556 * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.
2557
c30e7434
RS
25582011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
2559
2560 * config/vax/vax.c: Include reload.h.
2561
112a861d
AS
25622011-04-04 Anatoly Sokolov <aesok@post.ru>
2563
2564 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove.
2565 * config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
2566 (sparc_preferred_reload_class): New function.
2567
e8c6bb74
JJ
25682011-04-04 Jakub Jelinek <jakub@redhat.com>
2569
2aeaa366 2570 PR debug/48401
e8c6bb74
JJ
2571 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
2572 Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.
2573
2c081caf
NF
25742011-04-03 Nathan Froyd <froydnj@codesourcery.com>
2575
2576 * tree.h (struct tree_const_decl): Inherit from tree_decl_common.
2577 * tree.c (initialize_tree_contains_struct): Adjust accordingly.
2578
53802f27
AS
25792011-04-03 Anatoly Sokolov <aesok@post.ru>
2580
2581 * config/avr/avr.h (ASM_OUTPUT_BSS): Remove.
2582 (ASM_OUTPUT_ALIGNED_BSS): Define.
2583
e89964e3
MM
25842011-04-03 Michael Matz <matz@suse.de>
2585
2586 * lto-streamer.h (struct lto_streamer_cache_d): Remove offsets
2587 and next_slot members.
2588 (lto_streamer_cache_insert, lto_streamer_cache_insert_at,
2589 lto_streamer_cache_lookup, lto_streamer_cache_get): Adjust prototypes.
2590 (lto_streamer_cache_append): Declare.
2591 * lto-streamer.c (lto_streamer_cache_add_to_node_array): Use
2592 unsigned index, remove offset parameter, ensure that we append
2593 or update existing entries.
2594 (lto_streamer_cache_insert_1): Use unsigned index, remove offset_p
2595 parameter, update next_slot for append.
2596 (lto_streamer_cache_insert): Use unsigned index, remove offset_p
2597 parameter.
2598 (lto_streamer_cache_insert_at): Likewise.
2599 (lto_streamer_cache_append): New function.
2600 (lto_streamer_cache_lookup): Use unsigned index.
2601 (lto_streamer_cache_get): Likewise.
2602 (lto_record_common_node): Don't test tree_node_can_be_shared.
2603 (preload_common_node): Adjust call to lto_streamer_cache_insert.
2604 (lto_streamer_cache_delete): Don't free offsets member.
2605 * lto-streamer-out.c (eq_string_slot_node): Use memcmp.
2606 (lto_output_string_with_length): Use lto_output_data_stream.
2607 (lto_output_tree_header): Remove ix parameter, don't write it.
2608 (lto_output_builtin_tree): Likewise.
2609 (lto_write_tree): Adjust callers to above, don't track and write
2610 offset, write unsigned index.
2611 (output_unreferenced_globals): Don't emit all global vars.
2612 (write_global_references): Use unsigned indices.
2613 (lto_output_decl_state_refs): Likewise.
2614 (write_symbol): Likewise.
2615 * lto-streamer-in.c (lto_input_chain): Move earlier.
2616 (input_function): Use unsigned index.
2617 (input_alias_pairs): Don't read and then ignore all global vars.
2618 (lto_materialize_tree): Remove ix_p parameter, don't read index,
2619 don't pass it back, use lto_streamer_cache_append.
2620 (lto_register_var_decl_in_symtab): Use unsigned index.
2621 (lto_register_function_decl_in_symtab): Likewise.
2622 (lto_get_pickled_tree): Don't read in or handle offset, read unsigned
2623 index.
2624 (lto_get_builtin_tree): Don't read index, use
2625 lto_streamer_cache_append.
2626 (lto_read_tree): Adjust call to lto_materialize_tree.
2627
2628 * ipa-inline.c (cgraph_edge_badness): Move growth calculaton,
2629 don't use function calls in arguments to MIN.
2630
2631 * varasm.c (decl_binds_to_current_def_p): Don't check TREE_PUBLIC
2632 twice.
2633
2634 * gimple.c (gimple_type_leader_entry): Mark deletable.
2635
b9a5b5b2
AM
26362011-04-03 Alan Modra <amodra@gmail.com>
2637
2638 * dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
2639
ac6a641b
MM
26402011-04-03 Michael Matz <matz@suse.de>
2641
2642 * tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not
2643 an integer.
2644 * tree.h (tree_decl_non_common.vindex): Adjust comment.
2645
0038d4e0
MM
26462011-04-03 Michael Matz <matz@suse.de>
2647
e9c18386 2648 * cgraphbuild.c (record_reference): Canonicalize constructor values.
0038d4e0
MM
2649 * gimple-fold.c (canonicalize_constructor_val): Accept being called
2650 without function context.
2651 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
2652 current_function_decl and cfun.
2653
91f2fae8
MM
26542011-04-03 Michael Matz <matz@suse.de>
2655
2656 * tree.c (decl_init_priority_insert): Don't create entry for
2657 default priority.
2658 (decl_fini_priority_insert): Ditto.
2659 (fields_compatible_p, find_compatible_field): Remove.
2660 * tree.h (fields_compatible_p, find_compatible_field): Remove.
2661 * gimple.c (gimple_compare_field_offset): Adjust block comment.
2662
da29e070
EB
26632011-04-03 Eric Botcazou <ebotcazou@adacore.com>
2664
2665 * combine.c (try_combine): Remove useless local variable.
2666
4979c28b 26672011-04-03 Richard Guenther <rguenther@suse.de>
91f2fae8 2668 Ira Rosen <ira.rosen@linaro.org>
4979c28b
RG
2669
2670 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
2671 non-variable offsets and compare the remaining bases of the two
2672 accesses instead of looking for exact same data-ref.
2673
b4ddcaee
KT
26742011-04-02 Kai Tietz <ktietz@redhat.com>
2675
f90298e1
KT
2676 PR target/48416
2677 * i386.c (ix86_function_arg_boundary): Fix printf formatter.
2678
b4ddcaee
KT
2679 * i386.c (ix86_is_msabi_thiscall): New helper function.
2680 (ix86_is_type_thiscall): New helper function.
2681 (ix86_comp_type_attributes): Handle thiscall for method-functions
2682 special.
2683 (init_cumulative_args): Likewise.
2684 (find_drap_reg): Likewise.
2685 (ix86_static_chain): Likewise.
2686 (x86_this_parameter): Likewise.
2687 (x86_output_mi_thunk): Likewise.
2688
2a9d769a 26892011-04-01 Olivier Hainque <hainque@adacore.com>
91f2fae8
MM
2690 Nicolas Setton <setton@adacore.com>
2691 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
2692
2693 * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
2694 (add_gnat_descriptive_type_attribute): New function.
2695 (gen_array_type_die): Call it.
2696 (gen_enumeration_type_die): Likewise.
2697 (gen_struct_or_union_type_die): Likewise.
2698 (modified_type_die): Likewise.
2699 * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
2700 * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
2701 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
2702
15a03a11
JJ
27032011-04-01 Jakub Jelinek <jakub@redhat.com>
2704
2705 PR bootstrap/48148
2706 * dwarf2out.c (resolve_addr): Don't call force_decl_die
2707 if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
2708
2709 Revert:
2710 2011-03-17 Richard Guenther <rguenther@suse.de>
2711
2712 PR bootstrap/48148
2713 * lto-cgraph.c (input_overwrite_node): Clear the abstract
2714 origin for decls in other ltrans units.
2715 (input_varpool_node): Likewise.
2716
19228b93
JJ
27172011-04-01 Jakub Jelinek <jakub@redhat.com>
2718
2719 PR middle-end/48335
2720 * expr.c (expand_assignment): Handle all possibilities
2721 if TO_RTX is CONCAT.
e9c18386 2722 * expmed.c (store_bit_field_1): Avoid trying to create invalid SUBREGs.
19228b93
JJ
2723 (store_split_bit_field): If SUBREG_REG (op0) or
2724 op0 itself has smaller mode than word, return it
2725 for offset 0 and const0_rtx for out-of-bounds stores.
2726 If word is const0_rtx, skip it.
2727
88cb339e
N
27282011-04-01 Naveen H.S <naveen.S@kpitcummins.com>
2729
2730 * config/h8300/h8300.c (print_operand_address): Rename to...
2731 (h8300_print_operand_address): ...this. Make static. Adjust comments.
2732 Call h8300_print_operand and h8300_print_operand_address instead of
2733 print_operand and print_operand_address. Declare.
2734 (print_operand): Renake to...
2735 (h8300_print_operand): ...this. Make static. Adjust comments.
2736 Call h8300_print_operand instead of print_operand. Declare.
2737 (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
2738 (h8300_register_move_cost): Likewise.
2739 (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
2740 TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
2741 * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
2742 PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
2743 * config/h8300/h8300-protos.h (print_operand): Delete.
2744 (print_operand_address): Delete.
2745
756d6ee9
RH
27462011-04-01 Richard Henderson <rth@redhat.com>
2747
2748 PR 48400
2749 * dwarf2out.c (dwarf2out_source_line): Disable discriminators
2750 in strict mode before dwarf4. Re-order tests to early out
2751 before switching sections.
2752
ceaaaeab
NF
27532011-04-01 Nathan Froyd <froydnj@codesourcery.com>
2754
2755 * config/h8300/constraints.md: New file.
2756 * config/h8300/h8300.md: Include it. Use satisfies_constraint_J,
2757 satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
2758 (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
2759 * config/h8300/predicates.md (bit_operand): Likewise.
2760 (incdec_operand): Use satisfies_constraint_M and
2761 satisfies_constraint_O. Don't use C code block.
2762 * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
2763 * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
2764 (compute_mov_length): Use satisfies_constraint_G.
2765 (fix_bit_operand): Use satisfies_constraint_U.
2766 * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
2767 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
2768 (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
2769 (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
2770 (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
2771 (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
2772 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2773 (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
2774 (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
2775 (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
2776 (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
2777 (EXTRA_MEMORY_CONSTRAINT): Delete.
2778
08ae38e0
AP
27792011-04-01 Andrew Pinski <pinskia@gmail.com>
2780 Michael Meissner <meissner@linux.vnet.ibm.com>
2781
2782 PR target/48262
2783 * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
2784 operands, as per the specifications.
2785
2786 * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
2787 (vec_extract_evenv4sf): Ditto.
2788 (vec_extract_evenv8hi): Ditto.
2789 (vec_extract_evenv16qi): Ditto.
2790 (vec_extract_oddv4si): Ditto.
2791
bdb0b0f6
MW
27922011-03-31 Mark Wielaard <mjw@redhat.com>
2793
2794 * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
2795 high_pc attribute if the CU has no associated code. Only output
2796 DW_AT_entry_pc for CU if not generating strict dwarf and
2797 dwarf_version < 4.
2798
722279e4
BS
27992011-04-01 Bernd Schmidt <bernds@codesourcery.com>
2800
2801 * dwarf2out.h (dwarf2out_frame_debug_init): Declare.
2802 * dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
2803 out of ...
2804 (dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
2805 * final.c (final_start_function): Call the new function rather
2806 than using a NULL argument for dwarf2out_frame_debug.
2807
c5dd277d
BS
2808 * ifcvt.c (cond_exec_process_insns): Disallow converting a block
2809 that contains the prologue.
2810
ec4efea9
BS
2811 * haifa-sched.c (queue_insn): New arg REASON. All callers
2812 changed. Print it in debugging output.
2813
2a6a0d80
BS
2814 * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
2815
86014d07
BS
2816 * sched-ebb.c (begin_schedule_ready): Remove second argument.
2817 Split most of the code into...
2818 (begin_move_insn): ... here. New function.
2819 (ebb_sched_info): Add a pointer to it.
2820 * haifa-sched.c (scheduled_insns): New static variable.
2821 (sched_extend_ready_list): Allocate it.
2822 (schedule_block): Use it to record the order of scheduled insns.
2823 Perform RTL changes to move insns only after all scheduling
2824 decisions have been made.
2825 * modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
2826 begin_move_insn field.
2827 * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
2828 * sched-int.h (struct haifa_sched_info): Remove second argument
2829 from begin_schedule_ready hook. Add new member begin_move_insn.
2830 * sched-rgn.c (begin_schedule_ready): Remove second argument.
2831 (rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
2832
9d701248
BS
2833 * haifa-sched.c (prune_ready_list): New function, broken out of
2834 schedule_block.
2835 (schedule_block): Use it.
2836
1ca1dad5
UW
28372011-04-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2838
2839 * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
2840
49568e45
KT
28412011-04-01 Kai Tietz <ktietz@redhat.com>
2842
2843 * config.gcc (*-*-mingw*): Allow as option the
2844 posix threading model.
07c0852e 2845 * config/i386/mingw32.h (SPEC_PTHREAD1, SPEC_PTHREAD2):
49568e45
KT
2846 New macros defined dependent to TARGET_USE_PTHREAD_BY_DEFAULT
2847 definition.
2848 (CPP_SPEC): Add pthread/no-pthread handling.
2849 (LIB_SPEC): Likewise.
2850 * config/i386/mingw-w64.h (CPP_SPEC):Likewise.
2851 (LIB_SPEC): Likewise.
2852 * config/i386/t-cygming (SHLIB_PTHREAD_CFLAG): New
2853 flag to pass -pthread option for shared libgcc build.
2854 (SHLIB_PTHREAD_LDFLAG): New option to pass -lpthread
2855 for shared libgcc build.
2856 * config/i386/t-mingw-pthread: New file.
2857 * config/i386/mingw-pthread.h (TARGET_USE_PTHREAD_BY_DEFAULT):
2858 New define to enable use of library pthread by default.
2859 * config/i386/mingw.opt (pthread): New driver option.
2860 (no-pthread): New driver option.
e9c18386 2861 * config/i386/cygming.opt: Make sure trailing empty line is retained.
49568e45
KT
2862 * config/i386/mingw-w64.opt: Likewise.
2863
636b4106
GF
28642011-04-01 Gary Funck <gary@intrepid.com>
2865
2866 * c-decl.c (grokdeclarator): Fix formatting.
2867
f04713ee
RS
28682011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
2869
2870 * expr.c (emit_block_move_via_movmem): Use n_generator_args
2871 instead of n_operands.
2872 (set_storage_via_setmem): Likewise.
2873 * optabs.c (maybe_gen_insn): Likewise.
2874 * config/arm/arm.c (arm_init_neon_builtins): Likewise.
2875 * config/mips/mips.c (mips_expand_builtin_compare_1): Likewise.
2876 (mips_expand_builtin_direct): Likewise.
2877 * config/spu/spu.c (expand_builtin_args): Likewise.
2878
b29387ee
RS
28792011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
2880
2881 * recog.h (insn_data_d): Add n_generator_args.
2882 * genoutput.c (data): Likewise.
2883 (output_insn_data): Print it.
2884 (max_opno, num_dups): Delete.
2885 (scan_operands): Just fill in "d->operand[...]".
2886 (gen_insn, gen_peephole, gen_expand, gen_split): Use get_pattern_stats.
2887
e792559a
RS
28882011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
2889
2890 * gensupport.h (pattern_stats): New structure.
2891 * gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
2892 * genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
2893 (max_operand_1, max_operand_vec): Delete.
2894 (gen_insn, gen_expand, gen_split): Use get_pattern_stats.
2895
e8110d6f
NF
28962011-03-31 Nathan Froyd <froydnj@codesourcery.com>
2897
2898 * emit-rtl.c (emit_pattern_after_setloc): New function.
2899 (emit_insn_after_setloc, emit_jump_insn_after_setloc): Call it.
2900 (emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise.
2901 (emit_pattern_after): New function.
2902 (emit_insn_after, emit_jump_insn_after): Call it.
2903 (emit_call_insn_after, emit_debug_insn_after): Likewise.
2904 (emit_pattern_before_setloc): New function.
2905 (emit_insn_before_setloc, emit_jump_insn_before_setloc): Call it.
2906 (emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
2907 Likewise.
2908 (emit_pattern_before): New function.
2909 (emit_insn_before, emit_jump_insn_before): Call it.
2910 (emit_call_insn_before, emit_debug_insn_before): Likewise.
2911
576f85f1
RH
29122011-03-31 Richard Henderson <rth@redhat.com>
2913
2914 * dwarf2out.c (dw_separate_line_info_ref): Remove.
2915 (dw_separate_line_info_entry): Remove.
2916 (enum dw_line_info_opcode): New.
2917 (dw_line_info_entry): Use it.
2918 (dw_line_info_table, dw_line_info_table_p): New.
2919 (DWARF_LINE_OPCODE_BASE): Include dwarf3 opcodes.
2920 (line_info_table, line_info_label_num): Remove.
2921 (line_info_table_in_use): Remove.
2922 (separate_line_info_table): Remove.
2923 (separate_line_info_table_allocated): Remove.
2924 (separate_line_info_table_in_use): Remove.
2925 (LINE_INFO_TABLE_INCREMENT): Remove.
2926 (line_info_label_num): New.
2927 (cur_line_info_table): New.
2928 (text_section_line_info, cold_text_section_line_info): New.
2929 (separate_line_info): New.
2930 (SEPARATE_LINE_CODE_LABEL): Remove.
2931 (print_dwarf_line_table): Remove.
2932 (debug_dwarf): Don't dump it.
2933 (output_one_line_info_table): New.
2934 (output_line_info): Use it.
2935 (new_line_info_table): New.
2936 (set_cur_line_info_table): New.
2937 (dwarf2out_switch_text_section): Use it.
2938 (dwarf2out_begin_function): Likewise.
2939 (push_dw_line_info_entry): New.
2940 (dwarf2out_source_line): Rewrite for new line info tables.
2941 (dwarf2out_init): Remove dead initailizations.
2942
300d83d9
JM
29432011-03-31 Joseph Myers <joseph@codesourcery.com>
2944
2945 * opts.h (cl_option): Add comments to fields. Add bit-fields for
2946 various flags.
2947 (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK,
2948 CL_SEPARATE_ALIAS, CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE,
2949 CL_DISABLED, CL_REPOR, CL_REJECT_NEGATIVE, CL_MISSING_OK,
2950 CL_UINTEGER, CL_NEGATIVE_ALIAS): Remove.
2951 (CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED): Update bit positions.
2952 * opt-functions.awk (flag_init, switch_bit_fields): New.
2953 (switch_flags): Don't handle flags moved to bit-fields. Don't
2954 generate CL_MISSING_OK or CL_SAVE.
2955 * optc-gen.awk: Update to generate bit-field output as well as
2956 flags field.
2957 * gcc.c (driver_wrong_lang_callback): Use cl_reject_driver
2958 bit-field instead of CL_REJECT_DRIVER flag.
2959 * opts-common.c (generate_canonical_option,
2960 decode_cmdline_option): Use bit-fields instead of CL_* flags.
2961 * opts.c (maybe_default_option): Use cl_reject_negative bit-field
2962 instead of CL_REJECT_NEGATIVE flag.
2963 * toplev.c (print_switch_values): Use cl_report bit-field instead
2964 of CL_REPORT flag.
2965
d4d73ce2
EB
29662011-03-31 Eric Botcazou <ebotcazou@adacore.com>
2967
2968 * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
2969 a zero minimum index only if it is redundant.
2970
b8faca75
VM
29712011-03-31 Vladimir Makarov <vmakarov@redhat.com>
2972
2973 PR rtl-optimization/48381
2974 * ira-color.c (assign_hard_reg): Use hard reg set intersection
2975 instead of ira_class_hard_reg_index for calculating conflicting
2976 hard registers.
2977
7d11cebe
SB
29782011-03-31 Steven Bosscher <steven@gcc.gnu.org>
2979
2980 * cprop.c: Clean up hash table building.
2981 (reg_avail_info): Remove.
2982 (oprs_available_p): Remove.
2983 (record_last_reg_set_info): Remove.
2984 (record_last_set_info): Remove.
2985 (reg_available_p): New function.
2986 (gcse_constant_p): Do not treat unfolded conditions as constants.
2987 (make_set_regs_unavailable): New function.
2988 (hash_scan_set): Simplify with new reg_available_p.
2989 (compute_hash_table_work): Traverse insns stream only once.
2990 Do not compute reg_avail_info. Traverse insns in reverse order.
2991 Record implicit sets after recording explicit sets from the block.
2992
98faf84f
MM
29932011-03-31 Michael Matz <matz@suse.de>
2994
e9c18386 2995 * builtins.c (build_va_arg_indirect_ref): Use build_simple_mem_ref_loc.
98faf84f 2996
f52d97da
AS
29972011-03-31 Anatoly Sokolov <aesok@post.ru>
2998
2999 * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove macro.
3000 * config/h8300/h8300-protos.h (h8300_get_index): Remove.
3001 * config/h8300/h8300.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
3002 (h8300_mode_dependent_address_p): New function.
3003 (h8300_get_index): Make static.
3004
e16b6fd0
JL
30052011-03-31 Jeff Law <law@redhat.com>
3006
10c51983
JL
3007 * reload1.c (elimination_effects): Fix typo in recent change.
3008
e9c18386 3009 * tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid
e16b6fd0
JL
3010 typo potentially leading to null pointer dereference.
3011
3012 * caller-save.c (new_saved_hard_reg): Eliminate return value.
3013 (setup_save_areas): Corresponding changes to avoid useless
3014 assignments.
3015
3016 * jump.c (reversed_comparison_code_parts): Avoid successive return
3017 statements when REVERSE_CONDITION is defined.
3018
3019 * expr.c (expand_assignment): Avoid useless assignments.
3020 (expand_expr_real_1): Likewise.
3021 (expand_expr_real_2): Avoid useless statements.
3022
3023 * tree-ssa-phiopt.c (minmax_replacement): Avoid useless statement.
3024
3025 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
3026
3027 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Avoid useless
3028 statements.
3029
3030 * stmt.c (expand_expr_stmt): Avoid useless assignment.
3031
eb1eb914
JM
30322011-03-31 Joseph Myers <joseph@codesourcery.com>
3033
3034 PR target/47109
3035 * doc/tm.texi.in (TARGET_VERSION): Remove.
3036 * doc/tm.texi: Regenerate.
3037 * system.h (TARGET_VERSION, MACHINE_TYPE): Poison.
3038 * collect2.c (main): Don't use TARGET_VERSION.
3039 * mips-tdump.c (main): Don't use TARGET_VERSION.
3040 * mips-tfile.c (main): Don't use TARGET_VERSION.
e9c18386 3041 * config.gcc (powerpc-wrs-vxworksae): Don't use rs6000/vxworksae.h.
eb1eb914
JM
3042 * config/rs6000/vxworksae.h: Remove.
3043 * config/alpha/alpha.h (TARGET_VERSION): Remove.
3044 * config/alpha/freebsd.h (TARGET_VERSION): Remove.
3045 * config/alpha/linux-elf.h (TARGET_VERSION): Remove.
3046 * config/alpha/netbsd.h (TARGET_VERSION): Remove.
3047 * config/alpha/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
3048 * config/arm/arm.h (TARGET_VERSION): Remove.
3049 * config/arm/coff.h (TARGET_VERSION): Remove.
3050 * config/arm/ecos-elf.h (TARGET_VERSION): Remove.
3051 * config/arm/elf.h (TARGET_VERSION): Remove.
3052 * config/arm/freebsd.h (TARGET_VERSION): Remove.
3053 * config/arm/linux-elf.h (TARGET_VERSION): Remove.
3054 * config/arm/netbsd-elf.h (TARGET_VERSION): Remove.
3055 * config/arm/pe.h (TARGET_VERSION): Remove.
3056 * config/arm/rtems-elf.h (TARGET_VERSION): Remove.
3057 * config/arm/semi.h (TARGET_VERSION): Remove.
3058 * config/arm/uclinux-elf.h (TARGET_VERSION): Remove.
3059 * config/arm/unknown-elf.h (TARGET_VERSION): Remove.
3060 * config/arm/vxworks.h (TARGET_VERSION): Remove.
3061 * config/avr/avr.h (TARGET_VERSION): Remove.
3062 * config/bfin/bfin.h (TARGET_VERSION): Remove.
3063 * config/fr30/fr30.h (TARGET_VERSION): Remove.
3064 * config/frv/frv.h (TARGET_VERSION): Remove.
3065 * config/h8300/h8300.h (TARGET_VERSION): Remove.
3066 * config/i386/cygwin.h (TARGET_VERSION): Remove.
3067 * config/i386/darwin.h (TARGET_VERSION): Remove.
3068 * config/i386/darwin64.h (TARGET_VERSION): Remove.
3069 * config/i386/djgpp.h (TARGET_VERSION): Remove.
3070 * config/i386/freebsd.h (TARGET_VERSION): Remove.
3071 * config/i386/freebsd64.h (TARGET_VERSION): Remove.
3072 * config/i386/gnu.h (TARGET_VERSION): Remove.
3073 * config/i386/i386-interix.h (TARGET_VERSION): Remove.
3074 * config/i386/i386elf.h (TARGET_VERSION): Remove.
3075 * config/i386/linux.h (TARGET_VERSION): Remove.
3076 * config/i386/linux64.h (TARGET_VERSION): Remove.
3077 * config/i386/lynx.h (TARGET_VERSION): Remove.
3078 * config/i386/mingw32.h (TARGET_VERSION): Remove.
3079 * config/i386/netbsd-elf.h (TARGET_VERSION): Remove.
3080 * config/i386/netbsd64.h (TARGET_VERSION): Remove.
3081 * config/i386/netware.h (TARGET_VERSION): Remove.
3082 * config/i386/nto.h (TARGET_VERSION): Remove.
3083 * config/i386/openbsd.h (TARGET_VERSION): Remove.
3084 * config/i386/vxworks.h (TARGET_VERSION): Remove.
3085 * config/ia64/elf.h (TARGET_VERSION): Remove.
3086 * config/ia64/freebsd.h (TARGET_VERSION): Remove.
3087 * config/ia64/hpux.h (TARGET_VERSION): Remove.
3088 * config/ia64/linux.h (TARGET_VERSION): Remove.
3089 * config/ia64/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
3090 * config/iq2000/iq2000.h (IQ2000_VERSION, MACHINE_TYPE,
3091 TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
3092 * config/lm32/lm32.h (TARGET_VERSION): Remove.
3093 * config/lm32/uclinux-elf.h (TARGET_VERSION): Remove.
3094 * config/m32c/m32c.h (TARGET_VERSION): Remove.
3095 * config/m32r/linux.h (LINUX_DEFAULT_ELF, TARGET_VERSION): Remove.
3096 * config/m32r/m32r.h (TARGET_VERSION): Remove.
3097 * config/m68k/linux.h (TARGET_VERSION): Remove.
3098 * config/m68k/m68k.h (TARGET_VERSION): Remove.
3099 * config/m68k/netbsd-elf.h (TARGET_VERSION): Remove.
3100 * config/m68k/uclinux.h (TARGET_VERSION): Remove.
3101 * config/mcore/mcore-elf.h (TARGET_VERSION): Remove.
3102 * config/mep/mep.h (TARGET_VERSION): Remove.
3103 * config/microblaze/microblaze.h (MICROBLAZE_VERSION,
3104 MACHINE_TYPE, TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
3105 * config/mips/iris6.h (MACHINE_TYPE): Remove.
3106 * config/mips/linux.h (TARGET_VERSION): Remove.
3107 * config/mips/netbsd.h (MACHINE_TYPE): Remove.
3108 * config/mips/vxworks.h (TARGET_VERSION): Remove.
3109 * config/mmix/mmix.h (TARGET_VERSION): Remove.
3110 * config/mn10300/linux.h (TARGET_VERSION): Remove.
3111 * config/mn10300/mn10300.h (TARGET_VERSION): Remove.
3112 * config/pa/pa.h (TARGET_VERSION): Remove.
3113 * config/pdp11/pdp11.h (TARGET_VERSION): Remove.
3114 * config/picochip/picochip.h (TARGET_VERSION): Remove.
3115 * config/rs6000/aix.h (TARGET_VERSION): Remove.
3116 * config/rs6000/darwin.h (TARGET_VERSION): Remove.
3117 * config/rs6000/darwin64.h (TARGET_VERSION): Remove.
3118 * config/rs6000/eabi.h (TARGET_VERSION): Remove.
3119 * config/rs6000/eabialtivec.h (TARGET_VERSION): Remove.
3120 * config/rs6000/eabisim.h (TARGET_VERSION): Remove.
3121 * config/rs6000/eabispe.h (TARGET_VERSION): Remove.
3122 * config/rs6000/freebsd.h (TARGET_VERSION): Remove.
3123 * config/rs6000/linux.h (TARGET_VERSION): Remove.
3124 * config/rs6000/linux64.h (TARGET_VERSION): Remove.
3125 * config/rs6000/linuxaltivec.h (TARGET_VERSION): Remove.
3126 * config/rs6000/linuxspe.h (TARGET_VERSION): Remove.
3127 * config/rs6000/lynx.h (TARGET_VERSION): Remove.
3128 * config/rs6000/netbsd.h (TARGET_VERSION): Remove.
3129 * config/rs6000/sysv4.h (TARGET_VERSION): Remove.
3130 * config/rs6000/vxworks.h (TARGET_VERSION): Remove.
3131 * config/s390/linux.h (TARGET_VERSION): Remove.
3132 * config/s390/s390.h (TARGET_VERSION): Remove.
3133 * config/s390/tpf.h (TARGET_VERSION): Remove.
3134 * config/score/score.h (TARGET_VERSION): Remove.
3135 * config/sh/linux.h (TARGET_VERSION): Remove.
3136 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN,
3137 TARGET_VERSION_CPU, TARGET_VERSION): Remove.
3138 * config/sh/sh.h (TARGET_VERSION): Remove.
3139 * config/sh/sh64.h (TARGET_VERSION): Remove.
3140 * config/sh/superh.h (TARGET_VERSION): Remove.
3141 * config/sh/vxworks.h (TARGET_VERSION): Remove.
3142 * config/sparc/freebsd.h (TARGET_VERSION): Remove.
3143 * config/sparc/linux.h (TARGET_VERSION): Remove.
3144 * config/sparc/linux64.h (TARGET_VERSION): Remove.
3145 * config/sparc/netbsd-elf.h (TARGET_VERSION, TARGET_NAME64,
3146 TARGET_NAME32, TARGET_NAME): Remove.
3147 * config/sparc/openbsd64.h (TARGET_VERSION): Remove.
3148 * config/sparc/sp-elf.h (TARGET_VERSION): Remove.
3149 * config/sparc/sp64-elf.h (TARGET_VERSION): Remove.
3150 * config/sparc/sysv4.h (TARGET_VERSION): Remove.
3151 * config/sparc/vxworks.h (TARGET_VERSION): Remove.
3152 * config/spu/spu.h (TARGET_VERSION): Remove.
3153 * config/stormy16/stormy16.h (TARGET_VERSION): Remove.
3154 * config/v850/v850.h (TARGET_VERSION): Remove.
3155 * config/vax/linux.h (TARGET_VERSION): Remove.
3156 * config/vax/vax.h (TARGET_NAME, TARGET_VERSION): Remove.
3157 * config/xtensa/elf.h (TARGET_VERSION): Remove.
3158 * config/xtensa/linux.h (TARGET_VERSION): Remove.
3159
ace31bca
EB
31602011-03-31 Eric Botcazou <ebotcazou@adacore.com>
3161
3162 PR target/48142
3163 * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
3164 frame-related from frame-unrelated adjustments to the stack pointer.
3165
76f9db36
JJ
31662011-03-31 Jakub Jelinek <jakub@redhat.com>
3167
3168 * common.opt (fdebug-types-section): Move earlier.
3169 * doc/invoke.texi: Fix up -fno-debug-types-section documentation.
3170
b7826465
AT
31712011-03-31 Andreas Tobler <andreast@fgznet.ch>
3172
3173 * config/rs6000/rs6000.c (rs6000_handle_option): Remove unused isel
3174 var.
3175
1290e54c
NF
31762011-03-30 Nathan Froyd <froydnj@codesourcery.com>
3177
3178 * tree.h (CASE_CHAIN): Define.
3179 * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
3180 (gimple_redirect_edge_and_branch): Likewise.
3181
bddc98e1
VM
31822011-03-30 Vladimir Makarov <vmakarov@redhat.com>
3183
3184 PR middle-end/48367
3185 * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
3186 calculation.
3187
c865e437
JL
31882011-03-30 Jeff Law <law@redhat.com>
3189
b3750213 3190 * PR bootstrap/48371
c865e437
JL
3191 * reload1.c (reload): Fix botch in last change.
3192
3193 * reload.h (struct reload): Fix typo introduced in last change.
3194
2cdf9574
JM
31952011-03-30 Joseph Myers <joseph@codesourcery.com>
3196
3197 * config/arm/arm.opt (mhard-float, msoft-float): Mark
3198 Undocumented. Remove help text.
3199 * doc/invoke.texi (ARM Options): Don't document -msoft-float and
3200 -mhard-float.
3201
666a21a2
JM
32022011-03-30 Joseph Myers <joseph@codesourcery.com>
3203
3204 * doc/options.texi (NegativeAlias): Document.
3205 (Alias): Mention NegativeAlias.
3206 * opt-functions.awk: Handle NegativeAlias.
e9c18386 3207 * optc-gen.awk: Disallow NegativeAlias with multiple Alias arguments.
666a21a2
JM
3208 * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
3209 * opts.h (CL_NEGATIVE_ALIAS): Define.
3210 * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
3211 (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
3212 OPT_mspe_.
3213 * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
3214 Alias entries.
3215 * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
3216 mno-spe and mno-isel instead of mspe=no and -misel=no.
3217
0fa4e351
MW
32182011-03-29 Mark Wielaard <mjw@redhat.com>
3219
3220 * common.opt (fdebug-types-section): New flag.
3221 * doc/invoke.texi: Document new -fno-debug-types-section flag.
3222 * dwarf2out.c (use_debug_types): New define.
3223 (struct die_struct): Mark die_id with GTY desc use_debug_types.
3224 (print_die): Guard output of type unit signatures using
3225 use_debug_types.
3226 (build_abbrev_table): Replace assert of dwarf_version >= 4
3227 with assert on use_debug_types.
3228 (size_of_die): Likewise.
3229 (unmark_dies): Likewise.
3230 (value_format): Decide AT_ref_external form on use_debug_types.
3231 (output_die): Replace dwarf_version version check guard with
3232 use_debug_types where appropriate.
3233 (modified_type_die): Likewise.
3234 (gen_reference_type_die): Likewise.
3235 (dwarf2out_start_source_file): Likewise.
3236 (dwarf2out_end_source_file): Likewise.
3237 (prune_unused_types_walk_attribs): Likewise.
3238 (dwarf2out_finish): Likewise.
3239
4648deb4
VM
32402011-03-30 Vladimir Makarov <vmakarov@redhat.com>
3241
3242 * ira-color.c (ira_assign_hard_reg): Use only one variable 'mode'.
3243
4f431835
RS
32442011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
3245
3246 PR rtl-optimization/48332
3247 * optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
3248 mode of input operand N and modeN to its actual mode.
3249
f2034d06
JL
32502011-03-30 Jeff Law <law@redhat.com>
3251
3252 * reload.h (reg_equiv_constant): Move into new structure reg_equivs,
3253 define accessor macro.
3254 (reg_equiv_invariant, reg_equiv_memory_loc): Likewise.
3255 (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise.
3256 (reg_equiv_init): Likewise.
3257 (reg_equivs_size): New variable.
3258 (reg_equiv_init_size): Remove.
3259 (allocate_initial_values): Move prototype to here from....
3260 * integrate.h (allocate_initial_values): Remove prototype.
3261 * integrate.c: Include reload.h.
3262 (allocate_initial_values): Corresponding changes.
3263 * ira.c (find_reg_equiv_invariant_cost): Corresponding changes.
3264 (fix_reg_equiv_init, no_equiv): Corresponding changes.
3265 (update_equiv_regs): Corresponding changes.
3266 (ira): Corresponding changes.
3267 * reload.c (push_reg_equiv_alt_mem): Corresponding changes.
3268 (push_secondary_reload): Corresponding changes.
3269 (push_reload, find_reloads, find_reloads_toplev): Corresponding changes.
3270 (make_memloc, find_reloads_address): Corresponding changes.
3271 (subst_reg_equivs, subst_indexed_address): Corresponding changes.
3272 (find_reloads_address_1): Corresponding changes.
3273 (find_reloads_subreg_address, subst_reloads): Corresponding changes.
3274 (refers_to_regno_for_reload_p): Corresponding changes.
3275 (reg_overlap_mentioned_for_reload_p): Corresponding changes.
3276 (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes.
3277 * reload1.c: Include ggc.h.
3278 (grow_reg_equivs): New function.
3279 (replace_pseudos_in, reload): Corresponding changes.
3280 (calculate_needs_all_insns, alter_regs): Corresponding changes.
3281 (eliminate_regs_1, elimination_effects): Corresponding changes.
3282 (emit_input_reload_insns, emit_output_reload_insns): Likewise.
3283 (delete_output_reload): Likewise.
3284 * caller-save.c (mark_referenced_regs): Corresponding changes.
3285 * alpha/alpha.c (resolve_reload_operand): Corresponding changes.
3286 * frv/predicates.md (frv_load_operand): Corresponding changes.
3287 * microblaze/microblaze.c (double_memory_operand): Corresponding
3288 changes.
3289 * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes.
3290 * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes.
e9c18386 3291 * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding changes.
f2034d06
JL
3292 * m68k/m68k.c (emit_move_sequence): Corresponding changes.
3293 * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding
3294 changes.
3295 * pa/pa.c (emit_move_sequence): Corresponding changes.
3296 * vax/vax.c (nonindexed_address_p): Corresponding changes.
3297
159b81b0
RS
32982011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
3299
3300 PR target/47551
3301 * config/arm/arm.c (coproc_secondary_reload_class): Handle
3302 structure modes. Don't check neon_vector_mem_operand for
3303 vector or structure modes.
3304
a6217191
RS
33052011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
3306 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
3307
3308 PR target/43590
3309 * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
3310 operand 1 and reshuffle the operands to match.
3311 (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.
3312
bd837408
CS
33132011-03-30 Christian Schüler <cschueler@gmx.de>
3314
6955d771 3315 PR driver/48208
bd837408 3316 * config/c.opt (F): Added 'Driver' to -F option.
e9c18386 3317
6955d771 3318 PR driver/48260
bd837408
CS
3319 * config/darwin-driver.c (darwin_driver_init): Add '-arch' to
3320 handler function.
3321 * config/darwin.opt: Added '-arch' option.
3322
e9c0470a
NC
33232011-03-30 Nick Clifton <nickc@redhat.com>
3324
3325 * config/rx/rx.md: Add peepholes and patterns to combine
3326 extending loads and simple arithmetic instructions.
3327 * config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
e9c18386
UB
3328 * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
3329 * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
e9c0470a 3330 modes to use pre-decrement and post-increment addressing.
e9c18386 3331 (rx_is_restricted_memory_address): Add range checking of REG+INT
e9c0470a 3332 addresses.
e9c18386
UB
3333 (rx_print_operand): Add support for %Q. Fix handling of %Q.
3334 (rx_memory_move_cost): Adjust cost of stores.
3335 (rx_adjust_insn_length): New function.
e9c0470a 3336
8a87e7ab
JJ
33372011-03-30 Jakub Jelinek <jakub@redhat.com>
3338
3339 PR c/48305
3340 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
3341 arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
3342 matching arg00/arg01 types.
3343
12486e03
EB
33442011-03-30 Eric Botcazou <ebotcazou@adacore.com>
3345
3346 * cfglayout.c (insn_locators_alloc): Initialize curr_location and
3347 last_location to UNKNOWN_LOCATION.
3348
0b99eef6
L
33492011-03-30 H.J. Lu <hongjiu.lu@intel.com>
3350
3351 PR target/48349
3352 * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
3353 FLOAT_SSE_REGS.
3354
023592aa
JM
33552011-03-30 Joseph Myers <joseph@codesourcery.com>
3356 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3357
3358 PR bootstrap/48337
3359 * config/sparc/sparc.opt (sparc_cpu_and_features): Add
3360 Init(PROCESSOR_V7).
3361 (sparc_cpu): Likewise.
3362 * config/sparc/sparc.c (sparc_option_override): Replace 0 by
3363 PROCESSOR_V7.
3364
ad3b266b
VM
33652011-03-29 Vladimir Makarov <vmakarov@redhat.com>
3366
3367 PR target/48336
3368 PR middle-end/48342
3369 PR rtl-optimization/48345
3370 * ira-color.c (setup_conflict_profitable_regs): Exclude prohibited
3371 hard regs for given mode from profitable regs when doing secondary
3372 allocation.
3373
633c9126
JL
33742011-03-29 Jeff Law <law@redhat.com>
3375
3376 PR bootstrap/48327
3377 * tree-ssa-threadupdate.c (struct redirection_data): Remove
3378 do_not_duplicate field.
3379 (lookup_redirection_data): Corresponding changes.
3380 (create_duplicates): Always create a template block.
3381 (redirect_edges): Remove code which reused the original block
3382 when it was going to become unreachable code.
3383 (thread_block): Don't set do_not_duplicate field.
3384
eb50f63a
JM
33852011-03-29 Joseph Myers <joseph@codesourcery.com>
3386
3387 * lto-opts.c (register_user_option_p, lto_register_user_option):
3388 Make type argument unsigned.
3389 * lto-streamer.h (lto_register_user_option): Make type argument
3390 unsigned.
3391 * opth-gen.awk: Make CL_* macros unsigned.
3392 * opts-common.c (find_opt): Make lang_mask argument unsigned.
3393 * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
3394 CL_TARGET, CL_COMMON, CL_SEPARATE_NARGS_MASK, CL_SEPARATE_ALIAS,
3395 CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE, CL_DISABLED,
3396 CL_REPORT, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE,
3397 CL_MISSING_OK, CL_UINTEGER, CL_UNDOCUMENTED): Make unsigned.
3398 (find_opt): Make lang_mask argument unsigned.
3399
76763a6d
VM
34002011-03-29 Vladimir Makarov <vmakarov@redhat.com>
3401
3402 PR rtl-optimization/48331
3403 PR rtl-optimization/48334
3404 * ira-color.c (color_allocnos): Call setup_profitable_hard_regs
3405 for any used algorithm.
3406
5c82436e
VM
34072011-03-29 Vladimir Makarov <vmakarov@redhat.com>
3408
3409 * ira-conflicts.c (build_object_conflicts): Add unused attribute
3410 to parent_max.
3411
7a81008b
UB
34122011-03-29 Uros Bizjak <ubizjak@gmail.com>
3413
3414 * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
3415 (alpha_option_override): Don't set alpha_sr_alias_set.
3416 (emit_frame_store_1): Use gen_frame_mem rather than calling
3417 set_mem_alias_set.
3418 (alpha_expand_epilogue): Ditto.
3419
86c8d1f6
IR
34202011-03-29 Ira Rosen <ira.rosen@linaro.org>
3421
3422 PR tree-optimization/48290
3423 * tree-vect-loop.c (vect_analyze_loop_operations): In outer loop
3424 vectorization, check that relevant phis in the basic block after
3425 the inner loop are really inner loop's exit phis.
3426
0d12220f
RS
34272011-03-29 Richard Sandiford <richard.sandiford@linaro.org>
3428
e8cf17e7 3429 PR debug/48190
0d12220f
RS
3430 * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
3431 (cached_dw_loc_list_def): New structure.
3432 (cached_dw_loc_list): New typedef.
3433 (cached_dw_loc_list_table): New variable.
3434 (cached_dw_loc_list_table_hash): New function.
3435 (cached_dw_loc_list_table_eq): Likewise.
3436 (add_location_or_const_value_attribute): Take a bool cache_p.
3437 Cache the list when the parameter is true.
3438 (gen_formal_parameter_die): Update caller.
3439 (gen_variable_die): Likewise.
3440 (dwarf2out_finish): Likewise.
3441 (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
3442 while generating debug info for the decl.
3443 (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
3444 (dwarf2out_init): Initialize cached_dw_loc_list_table.
3445 (resolve_addr): Cache the result of resolving a chain of
3446 location lists.
3447
1756cb66
VM
34482011-03-28 Vladimir Makarov <vmakarov@redhat.com>
3449
3450 * ira-color.c (update_left_conflict_sizes_p): Don't assume that
3451 conflict object hard regset nodes have intersecting hard reg sets.
7a81008b 3452
1756cb66
VM
3453 * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
3454 after regstat_init_n_sets_and_refs.
3455
3456 * ira.c: Add more comments at the top.
3457 (setup_stack_reg_pressure_class, setup_pressure_classes):
3458 Add comments how we compute the register pressure classes.
3459 (setup_allocno_and_important_classes): Add more comments.
3460 (setup_class_translate_array, reorder_important_classes)
3461 (setup_reg_class_relations): Add comments.
3462
3463 * ira-emit.c: Add 2011 to the Copyright line. Add comments at the
3464 start of the file.
3465
3466 * ira-color.c: Add 2011 to the Copyright line.
3467 (assign_hard_reg): Add more comments.
3468 (improve_allocation): Ditto.
3469
3470 * ira-costs.c: Add 2011 to the Copyright line.
3471 (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
3472 comments.
3473 (setup_regno_cost_classes_by_mode): Ditto.
3474
3475 Initial patches from ira-improv branch:
3476
3477 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
3478
f60c2554 3479 * ira-build.c (ira_create_object): Remove initialization of
1756cb66
VM
3480 OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA.
3481 (ira_create_allocno): Remove initialization of
3482 ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
3483 ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
3484 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
3485 ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
3486 ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
3487 Initialize ALLOCNO_ADD_DATA.
3488 (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
3489 and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
3490 ALLOCNO_REG.
3491 (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of
3492 ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
3493
3494 * ira.c (ira_reallocate): Remove.
3495 (setup_pressure_classes): Call
3496 ira_init_register_move_cost_if_necessary. Use
3497 ira_register_move_cost instead of ira_get_register_move_cost.
3498 (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
3499 (ira): Call ira_initiate_emit_data and ira_finish_emit_data.
3500
3501 * ira-color.c: Use ALLOCNO_COLOR_DATA instead of
3502 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
3503 ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
3504 ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
3505 instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
3506 OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
3507 Fix formatting.
7a81008b 3508 (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h.
1756cb66
VM
3509 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
3510 (struct allocno_color_data): New.
3511 (allocno_color_data_t): New typedef.
3512 (allocno_color_data): New definition.
3513 (ALLOCNO_COLOR_DATA): New macro.
3514 (struct object_color_data): New.
3515 (object_color_data_t): New typedef.
3516 (object_color_data): New definition.
3517 (OBJECT_COLOR_DATA): New macro.
3518 (update_copy_costs, calculate_allocno_spill_cost): Call
3519 ira_init_register_move_cost_if_necessary. Use
3520 ira_register_move_cost instead of ira_get_register_move_cost.
3521 (move_spill_restore, update_curr_costs): Ditto.
3522 (allocno_spill_priority): Make it inline.
7a81008b 3523 (color_pass): Allocate and free allocno_color_dat and object_color_data.
1756cb66
VM
3524 (struct coalesce_data, coalesce_data_t): New.
3525 (allocno_coalesce_data): New definition.
3526 (ALLOCNO_COALESCE_DATA): New macro.
3527 (merge_allocnos, coalesced_allocno_conflict_p): Use
3528 ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
3529 ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
3530 (coalesce_allocnos): Ditto.
3531 (setup_coalesced_allocno_costs_and_nums): Ditto.
3532 (collect_spilled_coalesced_allocnos): Ditto.
3533 (slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
3534 (setup_slot_coalesced_allocno_live_ranges): Ditto.
3535 (coalesce_spill_slots): Ditto.
3536 (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and
3537 free allocno_coalesce_data.
3538
3539 * ira-conflicts.c: Fix formatting.
3540 (process_regs_for_copy): Call
3541 ira_init_register_move_cost_if_necessary. Use
3542 ira_register_move_cost instead of ira_get_register_move_cost.
3543 (build_object_conflicts): Optimize.
3544
3545 * ira-costs.c (record_reg_classes): Optimize. Call
3546 ira_init_register_move_cost_if_necessary. Use
3547 ira_register_move_cost, ira_may_move_in_cost, and
3548 ira_may_move_out_cost instead of ira_get_register_move_cost and
3549 ira_get_may_move_cost.
3550 (record_address_regs): Ditto.
3551 (scan_one_insn): Optimize.
3552 (find_costs_and_classes): Optimize.
3553 (process_bb_node_for_hard_reg_moves): Call
3554 ira_init_register_move_cost_if_necessary. Use
3555 ira_register_move_cost instead of ira_get_register_move_cost.
3556
3557 * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
3558 ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
3559 ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
3560 (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
3561 definitions.
3562 (ira_initiate_emit_data, ira_finish_emit_data)
3563 (create_new_allocno): New functions.
7a81008b 3564 (modify_move_list): Call create_new_alloc instead of ira_create_allocno.
1756cb66
VM
3565 (emit_move_list): Call ira_init_register_move_cost_if_necessary.
3566 Use ira_register_move_cost instead of ira_get_register_move_cost.
3567
3568 * ira-int.h: Fix some comments.
7a81008b
UB
3569 (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c.
3570 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
1756cb66
VM
3571 (struct ira_object): Remove profitable_hard_regs, hard_regs_node,
3572 hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member
3573 add_data.
3574 (struct ira_allocno): Make mode and aclass a bitfield. Move other
3575 bitfield after mode. Make hard_regno a short int. Make
3576 hard_regno short. Remove first_coalesced_allocno and
3577 next_coalesced_allocno. Move mem_optimized_dest_p,
3578 somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
3579 into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p,
3580 available_regs_num, next_bucket_allocno, prev_bucket_allocno,
3581 temp, colorable_p. Add new member add_data.
3582 (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
3583 (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
3584 (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
3585 (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
3586 (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
3587 (ALLOCNO_ADD_DATA): New macro.
3588 (ira_emit_data_t): New typedef.
3589 (struct ira_emit_data): New. Move mem_optimized_dest_p,
3590 somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
3591 from struct ira_allocno.
3592 (ALLOCNO_EMIT_DATA): New macro.
3593 (ira_allocno_emit_data, allocno_emit_reg): New.
3594 (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
7a81008b 3595 (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove.
1756cb66
VM
3596 (OBJECT_ADD_DATA): New macro.
3597 (ira_reallocate): Remove.
3598 (ira_initiate_emit_data, ira_finish_emit_data): New.
3599 (ira_get_register_move_cost, ira_get_may_move_cost): Remove.
3600 (ira_init_register_move_cost_if_necessary): New.
3601 (ira_object_conflict_iter_next): Merge into
3602 ira_object_conflict_iter_cond.
7a81008b 3603 (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
1756cb66 3604
f60c2554 3605 * ira-live.c (process_single_reg_class_operands): Call
1756cb66
VM
3606 ira_init_register_move_cost_if_necessary. Use
3607 ira_register_move_cost instead of ira_get_register_move_cost.
3608
3609 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
3610
3611 * ira-int.h (struct target_ira_int): Remove x_cost_classes.
3612
3613 * ira-costs.c: Fix formatting.
3614 (cost_classes, cost_classes_num): Remove.
3615 (struct cost_classes, cost_classes_t, const_cost_classes_t): New.
3616 (regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
3617 (cost_classes_del, cost_classes_htab): New.
3618 (cost_classes_aclass_cache, cost_classes_mode_cache): New.
3619 (initiate_regno_cost_classes, setup_cost_classes): New.
3620 (setup_regno_cost_classes_by_aclass): New.
7a81008b 3621 (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New.
1756cb66
VM
3622 (record_reg_classes): Use regno_cost_classes instead of
3623 cost_classes. Move checking opposite operand up.
3624 (record_address_regs): Use regno_cost_classes
3625 instead of cost_classes.
3626 (scan_one_insn): Ditto. Use always general register.
3627 (print_allocno_costs): Use regno_cost_classes instead of
3628 cost_classes.
3629 (print_pseudo_costs): Ditto. Use Reg_N_REFS.
3630 (find_costs_and_classes): Set up cost classes for each registers.
3631 Use also their mode for this. Use regno_cost_classes instead of
3632 cost_classes.
3633 (setup_allocno_class_and_costs): Use regno_cost_classes instead of
3634 cost_classes.
3635 (free_ira_costs, ira_init_costs): Don't use cost_classes.
3636 (ira_costs, ira_set_pseudo_classes): Call
3637 initiate_regno_cost_classes and finish_regno_cost_classes.
3638
3639 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
3640
3641 * target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
3642
3643 * target.def (ira_cover_classes): Remove.
3644
7a81008b 3645 * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES.
1756cb66
VM
3646
3647 * doc/tm.texi.in: Ditto.
3648
3649 * ira-conflicts.c: Remove mentioning cover classes from the file.
3650 Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use
7a81008b 3651 ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting.
1756cb66
VM
3652
3653 * targhooks.c (default_ira_cover_classes): Remove.
3654
3655 * targhooks.h (default_ira_cover_classes): Ditto.
3656
3657 * haifa-sched.c: Remove mentioning cover classes from the file.
3658 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
3659 ira_pressure_classes and ira_pressure_classes_num instead of
3660 ira_reg_class_cover_size and ira_reg_class_cover. Use
3661 sched_regno_pressure_class instead of sched_regno_cover_class.
3662 (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
3663 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
3664
3665 * ira-int.h: Add 2010 to Copyright. Remove mentioning cover
3666 classes from the file.
3667 (object_hard_regs_t, object_hard_regs_node_t): New typedefs.
3668 (struct object_hard_regs, struct object_hard_regs_node): New.
3669 (struct ira_object): New members profitable_hard_regs,
3670 hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
3671 (struct ira_allocno): Rename cover_class to aclass. Rename
3672 cover_class_cost and updated_cover_class_cost to class_cost and
3673 updated_class_cost. Remove splay_removed_p and
3674 left_conflict_size. Add new members colorable_p.
3675 (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
3676 (ALLOCNO_COLORABLE_P): New macro.
3677 (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
3678 (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
3679 Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
3680 (OBJECT_...): Rename parameter C to O.
3681 (OBJECT_PROFITABLE_HARD_REGS): New macro.
3682 (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
3683 (OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
3684 (struct target_ira_int): New members x_ira_max_memory_move_cost,
3685 x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
3686 x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
3687 x_ira_reg_pressure_class_p, x_ira_important_class_nums,
3688 x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to
3689 x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to
3690 x_ira_reg_class_subunion.
3691 (ira_max_memory_move_cost, ira_max_register_move_cost)
3692 (ira_max_may_move_in_cost, ira_max_may_move_out_cost)
3693 (ira_reg_allocno_class_p, ira_reg_pressure_class_p)
3694 (ira_important_class_nums, ira_reg_class_superunion): New macros.
7a81008b 3695 (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs.
1756cb66
VM
3696 (ira_reg_class_union): Rename to ira_reg_class_subunion.
3697 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
3698 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
3699 (ira_tune_allocno_costs_and_cover_classes): Rename to
3700 ira_tune_allocno_costs.
3701 (ira_debug_hard_regs_forest): New.
3702 (ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
3703 (ira_object_conflict_iter_next): Fix comments.
7a81008b 3704 (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions.
1756cb66
VM
3705 (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
3706 cover_class to aclass.
3707 (ira_allocate_and_accumulate_costs): Ditto.
3708 (ira_allocate_and_set_or_copy_costs): Ditto.
3709
3710 * opts.c (decode_options): Remove ira_cover_class check.
3711
3712 * ira-color.c: Remove mentioning cover classes from the file. Use
3713 ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
3714 instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
3715 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
3716 (splay-tree.h): Remove include.
3717 (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
3718 before copy_freq_compare_func.
3719 (allocnos_for_spilling, removed_splay_allocno_vec): Remove.
3720 (object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
3721 New definitions.
3722 (hard_regs_roots, hard_regs_node_vec): Ditto.
3723 (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
3724 (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
3725 (finish_object_hard_regs, object_hard_regs_compare): Ditto.
3726 (create_new_object_hard_regs_node): Ditto.
3727 (add_new_object_hard_regs_node_to_forest): Ditto.
7a81008b 3728 (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto.
1756cb66
VM
3729 (setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
3730 Ditto.
3731 (print_hard_reg_set, print_hard_regs_subforest): Ditto.
3732 (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
3733 (remove_unused_object_hard_regs_nodes): Ditto.
3734 (enumerate_object_hard_regs_nodes): Ditto.
3735 (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
3736 (object_hard_regs_subnode_t): Ditto.
3737 (struct object_hard_regs_subnode): Ditto.
3738 (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
3739 (setup_object_hard_regs_subnode_index): Ditto.
3740 (get_object_hard_regs_subnodes_num): Ditto.
3741 (form_object_hard_regs_nodes_forest): Ditto.
3742 (finish_object_hard_regs_nodes_tree): Ditto.
3743 (finish_object_hard_regs_nodes_forest): Ditto.
3744 (allocnos_have_intersected_live_ranges_p): Rename to
7a81008b 3745 allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func.
1756cb66
VM
3746 (pseudos_have_intersected_live_ranges_p): Rename to
3747 conflict_by_live_ranges_p. Move before copy_freq_compare_func.
3748 (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
3749 (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
3750 (update_copy_costs): Remove assert. Skip cost update if the hard
3751 reg does not belong the class.
3752 (assign_hard_reg): Process only profitable hard regs.
3753 (uncolorable_allocnos_num): Make it scalar.
3754 (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
3755 and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
3756 and ira_reg_class_max_nregs.
3757 (bucket_allocno_compare_func): Check frequency first.
3758 (sort_bucket): Add compare function as a parameter.
3759 (add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
3760 (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
3761 (push_allocno_to_stack): Rewrite for checking new allocno
3762 colorability.
7a81008b 3763 (remove_allocno_from_bucket_and_push): Print cost too. Remove assert.
1756cb66
VM
3764 (push_only_colorable): Pass new parameter to sort_bucket.
3765 (push_allocno_to_spill): Remove.
3766 (allocno_spill_priority_compare): Make it inline and rewrite.
3767 (splay_tree_allocate, splay_tree_free): Remove.
3768 (allocno_spill_sort_compare): New function.
3769 (push_allocnos_to_stack): Sort allocnos for spilling once. Don't
3770 build and use splay tree. Choose first allocno in uncolorable
3771 allocno bucket to spill. Remove setting spill cost.
3772 (all_conflicting_hard_regs): Remove.
3773 (setup_allocno_available_regs_num): Check only profitable hard
3774 regs. Print info about hard regs nodes.
3775 (setup_allocno_left_conflicts_size): Remove.
3776 (put_allocno_into_bucket): Don't call
7a81008b 3777 setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p.
1756cb66
VM
3778 (improve_allocation): New.
3779 (color_allocnos): Call setup_profitable_hard_regs,
3780 form_object_hard_regs_nodes_forest, improve_allocation,
3781 finish_object_hard_regs_nodes_forest. Setup spill cost.
3782 (print_loop_title): Use pressure classes.
3783 (color_allocnso): Ditto.
3784 (do_coloring): Remove allocation and freeing splay_tree_node_pool
3785 and allocnos_for_spilling.
3786 (ira_sort_regnos_for_alter_reg): Don't setup members
3787 {first,next}_coalesced_allocno.
3788 (color): Remove allocating and freeing removed_splay_allocno_vec.
3789 (fast_allocation): Use ira_prohibited_class_mode_regs instead of
3790 prohibited_class_mode_regs.
3791
3792 * ira-lives.c: Remove mentioning cover classes from the file. Fix
3793 formatting.
3794 (update_allocno_pressure_excess_length): Use pressure classes.
3795 (inc_register_pressure, dec_register_pressure): Check for pressure
3796 class.
3797 (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
3798 pressure class. Use ira_reg_class_nregs instead of
3799 ira_reg_class_max_nregs.
3800 (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
3801 (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
3802 (single_reg_class): Use ira_reg_class_nregs instead of
3803 ira_reg_class_max_nregs.
3804 (process_bb_node_lives): Use pressure classes.
3805
3806 * ira-emit.c: Remove mentioning cover classes from the file. Use
3807 ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting.
3808 (change_loop): Use pressure classes.
3809 (modify_move_list): Call ira_set_allocno_class instead of
3810 ira_set_allocno_cover_class.
3811
3812 * ira-build.c: Remove mentioning cover classes from the file. Use
3813 ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
3814 ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use
3815 ALLOCNO_UPDATED_CLASS_COST instead of
3816 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
3817 (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
3818 (ira_create_allocno): Remove initialization of
3819 ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize
3820 ALLOCNO_COLORABLE_P.
3821 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
3822 Update conflict regs for the objects.
3823 (create_cap_allocno): Remove assert. Don't propagate
3824 ALLOCNO_AVAILABLE_REGS_NUM.
3825 (ira_free_allocno_costs): New function.
3826 (finish_allocno): Change a part of code into call of
3827 ira_free_allocno_costs.
3828 (low_pressure_loop_node_p): Use pressure classes.
3829 (object_range_compare_func): Don't compare classes.
3830 (setup_min_max_conflict_allocno_ids): Ditto.
3831
3832 * loop-invariant.c: Remove mentioning cover classes from the file.
3833 Use ira_pressure_classes and ira_pressure_classes_num instead of
3834 ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting.
7a81008b
UB
3835 (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs.
3836 Use ira_reg_class_max_nregs instead of ira_reg_class_nregs.
3837 Use reg_allocno_class instead of reg_cover_class.
1756cb66
VM
3838 (get_inv_cost): Use instead ira_stack_reg_pressure_class of
3839 STACK_REG_COVER_CLASS.
3840 (get_regno_cover_class): Rename to get_regno_pressure_class.
3841 (move_loop_invariants): Initialize and finalize regstat.
3842
3843 * ira.c: Remove mentioning cover classes from the file. Add
3844 comments about coloring without cover classes. Use ALLOCNO_CLASS
3845 instead of ALLOCNO_COVER_CLASS. Fix formatting.
3846 (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
3847 setup_class_subset_and_memory_move_costs.
3848 (setup_stack_reg_pressure_class, setup_pressure_classes): New.
3849 (setup_cover_and_important_classes): Rename to
3850 setup_allocno_and_important_classes.
3851 (setup_class_translate_array): New.
3852 (setup_class_translate): Call it for allocno and pressure classes.
3853 (cover_class_order): Rename to allocno_class_order.
3854 (comp_reg_classes_func): Use ira_allocno_class_translate instead
3855 of ira_class_translate.
3856 (reorder_important_classes): Set up ira_important_class_nums.
3857 (setup_reg_class_relations): Set up ira_reg_class_superunion.
3858 (print_class_cover): Rename to print_classes. Add parameter.
3859 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
3860 Print pressure classes too.
3861 (find_reg_class_closure): Rename to find_reg_classes. Don't call
3862 setup_reg_subclasses.
7a81008b 3863 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
3864 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
3865 (setup_prohibited_class_mode_regs): Use
7a81008b 3866 ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs.
1756cb66
VM
3867 (clarify_prohibited_class_mode_regs): New function.
3868 (ira_init_register_move_cost): Set up ira_max_register_move_cost,
3869 ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
3870 (ira_init_once): Initialize them.
3871 (free_register_move_costs): Process them.
3872 (ira_init): Move calls of find_reg_classes and
3873 setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
3874 Call clarify_prohibited_class_mode_regs.
3875 (ira_no_alloc_reg): Remove.
3876 (too_high_register_pressure_p): Use pressure classes.
3877
3878 * sched-deps.c: Remove mentioning cover classes from the file.
3879 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
3880 ira_pressure_classes and ira_pressure_classes_num instead of
3881 ira_reg_class_cover_size and ira_reg_class_cover.
3882 (mark_insn_hard_regno_birth, mark_hard_regno_death): Use
3883 sched_regno_pressure_class instead of sched_regno_cover_class.
3884 (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use
3885 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
3886
3887 * ira.h: Add 2010 to Copyright.
3888 (ira_no_alloc_reg): Remove external.
3889 (struct target_ira): Rename x_ira_hard_regno_cover_class,
3890 x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
3891 x_ira_class_translate to x_ira_hard_regno_allocno_class,
3892 x_ira_allocno_classes_num, x_ira_allocno_classes, and
3893 x_ira_allocno_class_translate. Add x_ira_pressure_classes_num,
3894 x_ira_pressure_classes, x_ira_pressure_class_translate, and
3895 x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to
3896 x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and
3897 x_ira_no_alloc_regs.
7a81008b 3898 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
3899 (ira_reg_class_cover_size, ira_reg_class_cover): Rename to
3900 ira_allocno_classes_num and ira_allocno_classes.
3901 (ira_class_translate): Rename to ira_allocno_class_translate.
3902 (ira_pressure_classes_num, ira_pressure_classes): New definitions.
3903 (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
3904 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
3905 (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
3906 (ira_no_alloc_regs): New.
3907
3908 * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover
3909 classes from the file. Use ALLOCNO_CLASS instead of
3910 ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of
3911 ALLOCNO_COVER_CLASS_COST.
3912 (regno_cover_class): Rename to regno_aclass.
3913 (record_reg_classes): Use ira_reg_class_subunion instead of
3914 ira_reg_class_union.
3915 (record_address_regs): Check overflow.
3916 (scan_one_insn): Ditto.
7a81008b 3917 (print_allocno_costs): Print total mem cost fore regional allocation.
1756cb66
VM
3918 (print_pseudo_costs): Use REG_N_REFS.
3919 (find_costs_and_classes): Use classes intersected with them on the
3920 1st pass. Check overflow. Use ira_reg_class_subunion instead of
3921 ira_reg_class_union. Use ira_allocno_class_translate and
3922 regno_aclass instead of ira_class_translate and regno_cover_class.
3923 Modify code for finding regno_aclass. Setup preferred classes for
3924 the next pass.
3925 (setup_allocno_cover_class_and_costs): Rename to
3926 setup_allocno_class_and_costs. Use regno_aclass instead of
3927 regno_cover_class. Use ira_set_allocno_class instead of
3928 ira_set_allocno_cover_class.
3929 (init_costs, finish_costs): Use regno_aclass instead of
3930 regno_cover_class.
3931 (ira_costs): Use setup_allocno_class_and_costs instead of
3932 setup_allocno_cover_class_and_costs.
3933 (ira_tune_allocno_costs_and_cover_classes): Rename to
3934 ira_tune_allocno_costs. Check overflow. Skip conflict hard regs
3935 by processing objects. Use ira_reg_class_max_nregs instead of
3936 ira_reg_class_nregs.
3937
3938 * rtl.h (reg_cover_class): Rename to reg_allocno_class.
3939
3940 * sched-int.h: Remove mentioning cover classes from the file.
3941 (sched_regno_cover_class): Rename to sched_regno_pressure_class.
3942
3943 * reginfo.c: Add 2010 to Copyright. Remove mentioning cover
3944 classes from the file.
3945 (struct reg_pref): Rename coverclass into allocnoclass.
3946 (reg_cover_class): Rename to reg_allocno_class.
3947
7a81008b 3948 * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies.
1756cb66
VM
3949
3950 * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
3951
3952 * config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
3953
3954 * config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
3955
3956 * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
3957
3958 * config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
3959
3960 * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
3961
3962 * config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
3963
3964 * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
3965
3966 * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
3967
3968 * config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
3969 (i386_ira_cover_classes): Ditto.
3970
3971 * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
3972
3973 * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
3974
3975 * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
3976
3977 * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
3978
3979 * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
3980
3981 * config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
3982
3983 * config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
3984 (mips_ira_cover_classes): Ditto.
3985
3986 * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
3987
3988 * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
3989
3990 * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
3991
3992 * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
3993
3994 * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
3995
3996 * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
3997 (IRA_COVER_CLASSES_VSX): Ditto.
3998
3999 * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
4000 (rs6000_ira_cover_classes): Ditto.
4001
4002 * config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
4003
4004 * config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
4005
4006 * config/score/score.h (IRA_COVER_CLASSES): Ditto.
4007
4008 * config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
4009
4010 * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
4011
4012 * config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
4013
4014 * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
4015
4016 * config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
4017
4018 * config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
4019
4020 * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
4021
2b80199f
JJ
40222011-03-29 Jakub Jelinek <jakub@redhat.com>
4023
71dae1fe
JJ
4024 PR debug/48253
4025 * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
4026 dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
4027 dw_fde_unlikely_section_end_label, cold_in_std_section,
4028 dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
4029 Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
4030 fields.
4031 (output_fde): Use dw_fde_second_{begin,end} if second is
4032 true, otherwise dw_fde_{begin,end}.
4033 (output_call_frame_info): Test dw_fde_second_begin != NULL
4034 instead of dw_fde_switched_sections.
4035 (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
4036 fields, initialize new fields. Initialize in_std_section
4037 unconditionally from the first partition.
4038 (dwarf2out_end_epilogue): Don't override dw_fde_end when
4039 dw_fde_second_begin is non-NULL.
4040 (dwarf2out_switch_text_section): Stop initializing removed
4041 dw_fde_struct fields, initialize new fields, initialize
4042 also dw_fde_end here. Set dw_fde_switch_cfi even when
4043 dwarf2out_do_cfi_asm (). Call var_location_switch_text_section.
4044 (struct var_loc_list_def): Add last_before_switch field.
4045 (arange_table, arange_table_allocated, arange_table_in_use,
4046 ARANGE_TABLE_INCREMENT, add_arange): Removed.
4047 (size_of_aranges): Count !in_std_section and !second_in_std_section
4048 hunks in fdes, instead of looking at arange_table_in_use.
4049 (output_aranges): Add aranges_length argument, don't call
4050 size_of_aranges here. Instead of using aranges_table*
4051 emit ranges for fdes when !in_std_section resp.
4052 !second_in_std_section.
4053 (dw_loc_list): Break ranges crossing section switch.
4054 (convert_cfa_to_fb_loc_list): Likewise. If switched sections,
7a81008b 4055 use dw_fde_second_end instead of dw_fde_end as end of last range.
71dae1fe
JJ
4056 (gen_subprogram_die): Don't call add_arange. Use
4057 dw_fde_{begin,end} for first partition and if switched
4058 section dw_fde_second_{begin,end} for the second.
4059 (var_location_switch_text_section_1,
4060 var_location_switch_text_section): New functions.
4061 (dwarf2out_begin_function): Initialize cold_text_section even
4062 when function_section () isn't text_section.
4063 (prune_unused_types): Don't walk arange_table.
4064 (dwarf2out_finish): Don't needlessly test
4065 flag_reorder_blocks_and_partition when testing cold_text_section_used.
4066 If info_section_emitted, call size_of_aranges and if it indicates
4067 non-empty .debug_aranges, call output_aranges with the computed
4068 size. Stop using removed dw_fde_struct fields, use
4069 dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
4070 for second.
4071
2b80199f
JJ
4072 PR debug/48203
4073 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Only
4074 create ENTRY_VALUE if incoming or address of incoming's MEM
4075 is a hard REG.
4076 * dwarf2out.c (mem_loc_descriptor): Don't emit
4077 DW_OP_GNU_entry_value of DW_OP_fbreg.
4078 * var-tracking.c (vt_add_function_parameter): Ensure cselib_lookup
4079 on ENTRY_VALUE is able to find the canonical parameter VALUE.
4080 * cselib.c (rtx_equal_for_cselib_1) <case ENTRY_VALUE>: Use
4081 rtx_equal_p instead of rtx_equal_for_cselib_1 to compare
4082 ENTRY_VALUE_EXPs.
4083 (cselib_hash_rtx) <case ENTRY_VALUE>: If ENTRY_VALUE_EXP
4084 is a REG_P or MEM_P with REG_P address, compute hash directly
4085 instead of calling cselib_hash_rtx on ENTRY_VALUE_EXP.
4086 (preserve_only_constants): Don't clear VALUES forwaring
4087 ENTRY_VALUE to some other VALUE.
4088
8a445129
RS
40892011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
4090
4091 * builtins.c (expand_builtin_memset_args): Use gen_int_mode
4092 instead of GEN_INT.
4093
c82fee88
EB
40942011-03-28 Eric Botcazou <ebotcazou@adacore.com>
4095
4096 * cfgexpand.c (expand_gimple_cond): Always set the source location and
4097 block before expanding the statement.
4098 (expand_gimple_stmt_1): Likewise. Set them here...
4099 (expand_gimple_stmt): ...and not here. Tidy.
4100 * cfglayout.c (curr_insn_locator): Return 0 if the current location is
4101 unknown.
4102
e45425ec
SB
41032011-03-28 Steven Bosscher <steven@gcc.gnu.org>
4104
4105 * Makefile.in: New rule for cprop.o.
4106 * gcse.c: Move constant/copy propagation to cprop.c.
4107 (compute_local_properties): Only handle expression tables.
4108 (hash_scan_set, compute_hash_table_work, alloc_hash_table,): Likewise.
4109 (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
4110 (hash_set, insert_set_in_table, gcse_constant_p, lookup_set,
4111 next_set, reset_opr_set_tables, oprs_not_set_p, mark_call, mark_set,
7a81008b 4112 mark_clobber, mark_oprs_set, alloc_cprop_mem, free_cprop_mem,
e45425ec
SB
4113 compute_cprop_data, find_used_regs, try_replace_reg,
4114 find_avail_set, cprop_jump, constprop_register, cprop_insn,
4115 local_cprop_find_used_regs, do_local_cprop, local_cprop_pass,
4116 fis_get_condition, implicit_set_cond_p, find_implicit_sets,
4117 find_bypass_set, reg_killed_on_edge, bypass_block,
4118 bypass_conditional_jumps, one_cprop_pass, gate_rtl_cprop,
4119 execute_rtl_cprop, pass_rtl_cprop): Move to...
4120 * cprop.c: ...here. New file, constant/copy propagation for RTL
4121 moved from gcse.c to here with minor cleanups in duplicated code.
4122
c09d5426
L
41232011-03-28 H.J. Lu <hongjiu.lu@intel.com>
4124
4125 * config/i386/i386.c (flag_opts): Fix a typo in
4126 -mavx256-split-unaligned-store.
4127
9eaa7740
AS
41282011-03-28 Anatoly Sokolov <aesok@post.ru>
4129
4130 * config/h8300/h8300.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
4131 LIBCALL_VALUE): Remove macros.
4132 * config/h8300/h8300.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
4133 TARGET_FUNCTION_VALUE_REGNO_P): Define.
4134 (h8300_function_value, h8300_libcall_value,
4135 h8300_function_value_regno_p): New functions.
4136
dcec2be2
AS
41372011-03-28 Anatoly Sokolov <aesok@post.ru>
4138
4139 * config/h8300/h8300.h (ASM_OUTPUT_BSS): Remove macro.
4140
520af9ec
JL
41412011-03-28 Jeff Law <law@redhat.com>
4142
4143 * tree-ssa-threadupdate.c (redirect_edges): Call
4144 create_edge_and_update_destination_phis as needed.
4145 (create_edge_and_update_destination_phis): Accept new BB argument.
4146 All callers updated.
4147 (thread_block): Do not update the profile when threading around
4148 intermediate blocks.
4149 (thread_single_edge): Likewise.
4150 (determine_bb_domination_status): If BB is not a successor of the
4151 loop header, return NONDOMINATING.
4152 (register_jump_thread): Note when we register a jump thread around
4153 an intermediate block.
4154 * tree-ssa-threadedge.c (thread_around_empty_block): New function.
4155 (thread_across_edge): Use it.
4156
7450b54f
TG
41572011-03-28 Tristan Gingold <gingold@adacore.com>
4158
4159 * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
4160 when for_return is 2.
4161
649beb33
JL
41622011-03-28 Jeff Law <law@redhat.com>
4163
4164 * var-tracking.c (canonicalize_values_mark): Delete unused
4165 lhs assignment.
4166 (canonicalize_values_star, set_variable_part): Likewise.
4167 (clobber_variable_part, delete_variable_part): Likewise.
4168
d5b8da97
SB
41692011-03-28 Steven Bosscher <steven@gcc.gnu.org>
4170
4171 * gcse.c (free_gcse_mem): Free reg_set_bitmap.
4172
322dd859
MJ
41732011-03-28 Martin Jambor <mjambor@suse.cz>
4174
4175 * tree-inline.c (expand_call_inline): Do not check that destination
4176 node is analyzed.
4177 (optimize_inline_calls): Assert that destination node is analyzed.
4178 * cgraph.c (cgraph_add_new_function): Call cgraph_analyze_function, do
4179 not call tree_lowering_passes.
4180 * cgraph.h (cgraph_analyze_function): Declare.
4181 * cgraphunit.c (cgraph_analyze_function): Make public.
4182
aa53e58b
JM
41832011-03-28 Joseph Myers <joseph@codesourcery.com>
4184
4185 * config/sparc/sparc-opts.h: New.
4186 * config/sparc/sparc.c (sparc_handle_option, sparc_select,
4187 sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
4188 (sparc_option_override): Store processor_type enumeration rather
4189 than string in cpu_default. Remove name and enumeration from
4190 cpu_table. Directly default -mcpu then default -mtune from -mcpu
4191 without using sparc_select. Use target_flags_explicit instead of
4192 fpu_option_set.
4193 * config/sparc/sparc.h (enum processor_type): Move to
4194 sparc-opts.h.
4195 (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
4196 * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
4197 HeaderInclude entry.
4198 (mcpu=, mtune=): Use Var and Enum.
4199 (sparc_processor_type): New Enum and EnumValue entries.
4200
dd350eba
RO
42012011-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4202 Iain Sandoe <iains@gcc.gnu.org>
4203
4204 PR target/48245
4205 * config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.
4206
1b29f05e
EB
42072011-03-28 Eric Botcazou <ebotcazou@adacore.com>
4208
4209 * tree-vectorizer.h (vect_create_data_ref_ptr): Adjust prototype.
4210 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add GSI parameter.
4211 Insert new statements at it in lieu of STMT.
4212 (vect_setup_realignment): Adjust call to vect_create_data_ref_ptr.
4213 * tree-vect-stmts.c (vectorizable_store): Likewise.
4214 (vectorizable_load): Likewise.
4215
506e6808
UB
42162011-03-28 Uros Bizjak <ubizjak@gmail.com>
4217
4218 * config/alpha/alpha.md (addtf3): Change mode of operands to TFmode.
4219 (divtf3): Ditto.
4220 (multf3): Ditto.
4221 (subtf3): Ditto.
4222
2e939ee9
L
42232011-03-27 H.J. Lu <hongjiu.lu@intel.com>
4224
4225 * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
4226 unaligned 256bit load/store.
4227 (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
4228 (*avx_movdqu<avxmodesuffix>): Likewise.
4229
5e85ab88
JDA
42302011-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4231
4232 PR target/48288
4233 * config/pa/predicates.md (reg_or_ior_operand): New predicate.
4234 * config/pa/pa.md (iordi3): Use new predicate in expander.
4235 (iorsi3): Likewise.
4236
47be3d6d
AS
42372011-03-27 Anatoly Sokolov <aesok@post.ru>
4238
506e6808 4239 * config/mips/mips.h (LIBCALL_VALUE, FUNCTION_VALUE,
47be3d6d 4240 FUNCTION_VALUE_REGNO_P): Remove macros.
506e6808
UB
4241 * config/mips/mips-protos.h (mips_function_value): Remove.
4242 * config/mips/mips.c (mips_function_value): Rename to...
47be3d6d
AS
4243 (mips_function_value_1): ... this. Make static. Handle receiving
4244 the function type in 'fn_decl_or_type' argument.
4245 (mips_function_value, mips_libcall_value,
4246 mips_function_value_regno_p): New function.
4247 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
4248 TARGET_FUNCTION_VALUE_REGNO_P): Define.
4249
d253656a
L
42502011-03-27 H.J. Lu <hongjiu.lu@intel.com>
4251
4252 * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
4253 and -mavx256-split-unaligned-store.
4254 (ix86_option_override_internal): Split 32-byte AVX unaligned
4255 load/store by default.
4256 (ix86_avx256_split_vector_move_misalign): New.
4257 (ix86_expand_vector_move_misalign): Use it.
4258
4259 * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
4260 -mavx256-split-unaligned-store.
4261
4262 * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
4263 256bit load/store. Generate unaligned store on misaligned memory
4264 operand.
4265 (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
4266 256bit load/store.
4267 (*avx_movdqu<avxmodesuffix>): Likewise.
4268
4269 * doc/invoke.texi: Document -mavx256-split-unaligned-load and
4270 -mavx256-split-unaligned-store.
4271
1ea9206a
RS
42722011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
4273
4274 PR target/38598
4275 * config/mips/mips.md (extendsidi2): Add an "l" alternative.
4276 Update commentary.
4277
b99ce2a8
RS
42782011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
4279
4280 * config/mips/mips.c (mips_prepare_builtin_arg): Replace icode and
4281 opno arguments with an expand_operand. Use create_input_operand.
4282 (mips_prepare_builtin_target): Delete.
4283 (mips_expand_builtin_insn, mips_expand_builtin_compare_1): New
4284 functions.
4285 (mips_expand_builtin_direct): Use create_output_operand and
4286 mips_expand_builtin_insn. Update call to mips_prepare_builtin_arg.
4287 (mips_expand_builtin_movtf): Likewise. Use mips_expand_fp_comparison.
4288 (mips_expand_builtin_compare): Use mips_expand_fp_comparison.
4289
69d52339
IR
42902011-03-27 Ira Rosen <ira.rosen@linaro.org>
4291
4292 * config/arm/arm.c (arm_autovectorize_vector_sizes): New
4293 function.
4294 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
4295
ba5e9aca
EB
42962011-03-26 Eric Botcazou <ebotcazou@adacore.com>
4297
4298 * basic-block.h (fixup_abnormal_edges): Adjust prototype.
4299 * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover
4300 basic blocks and call commit_edge_insertions directly.
4301 (fixup_abnormal_edges): Move from here to...
4302 * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions
4303 on the edges and return whether some have actually been inserted.
4304 * reg-stack.c (convert_regs): Fix up abnormal edges before inserting
4305 compensation code.
4306
5d369d58
AB
43072011-03-26 Andrey Belevantsev <abel@ispras.ru>
4308
4309 PR rtl-optimization/48144
4310 * sel-sched-ir.c (merge_history_vect): Factor out from ...
4311 (merge_expr_data): ... here.
4312 (av_set_intersect): Rename to av_set_code_motion_filter.
4313 Update all callers. Call merge_history_vect when an expression
4314 is found in both sets.
4315 * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
4316
f082c000
AM
43172011-03-26 Alan Modra <amodra@gmail.com>
4318
4319 * config/rs6000/predicates.md (word_offset_memref_op): Handle
4320 cmodel medium addresses.
4321 * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
4322 64-bit gpr loads and stores.
4323 (rs6000_secondary_reload_ppc64): New function.
4324 * config/rs6000/rs6000-protos.h: Declare it.
4325 * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
4326
8ac5e12e
AM
43272011-03-26 Alan Modra <amodra@gmail.com>
4328
4329 PR target/47487
4330 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
4331 GNU Go in traceback table.
4332
c2654ded
RH
43332011-03-25 Richard Henderson <rth@redhat.com>
4334
4335 * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
4336 if there are exactly 6 operands.
4337 (set_storage_via_setmem): Similarly.
4338
ba78087b
KT
43392011-03-25 Kai Tietz <ktietz@redhat.com>
4340
4341 * collect2.c (write_c_file_stat): Handle backslash
4342 as right-hand directory separator.
4343 (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
4344 checking just for slash.
4345 * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
4346 instead of checking for trailing slash.
4347 * gcc.c (record_temp_file): Use filename_cmp instead
4348 of strcmp.
4349 (do_spec_1): Likewise.
4350 (replace_outfile_spec_function): Likewise.
4351 (is_directory): Use filename_ncmp instead of strncmp.
4352 (print_multilib_info): Likewise.
4353 * gcov.c (find_source): Use filename_cmp instead
4354 instead of strcmp.
4355 (make_gcov_file_name): Fix order of slash/backslash
4356 checks.
4357 * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
4358 (add_standard_paths): Likewise.
4359 * mips-tfile.c (saber_stop): Handle backslash.
4360 * prefix.c (update_path): Use filename_ncmp instead of
4361 strncmp.
4362 * profile.c (output_location): Use filename_cmp instead
4363 of strcmp.
4364 * read-md.c (handle_toplevel_file): Handle backslash.
4365 * tlink.c (frob_extension): Likewise.
4366 * tree-cfg.c (same_line_p): Use filename_cmp instead of
4367 strcmp.
4368 * tree-dump.c (dequeue_and_dump): Handle backslash.
4369 * tree.c (get_file_function_name): Likewise.
4370 * gengtype.c (read_input_list): Likewise.
4371 (get_file_realbasename): Likewise.
4372 (get_output_file_with_visibility): Use filename_cmp
4373 instead of strcmp.
4374
75f6ec9a
RS
43752011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
4376
4377 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
4378 case to VFPv1.
4379
6c4e2997
NF
43802011-03-25 Nathan Froyd <froydnj@codesourcery.com>
4381
4382 * fold-const.c (expr_location_or): New function.
4383 (fold_truth_not_expr): Call it.
4384
0edf1bb2
JL
43852011-03-25 Jeff Law <law@redhat.com>
4386
4387 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
4388 va_end.
4389 * c-family/c-common.c (def_fn_type): Likewise.
4390 * ada/gcc-interface/utils.c (def_fn_type): Likewise.
4391 * emit-rtl.c (gen_rtvec): Likewise.
4392 * lto/lto-lang.c (def_fn_type): Likewise.
4393
fdc2de95
RG
43942011-03-25 Richard Guenther <rguenther@suse.de>
4395
4396 * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
4397 also generate copies.
4398 (fini_copy_prop): Handle constant values properly.
4399
21385db0
JJ
44002011-03-25 Jakub Jelinek <jakub@redhat.com>
4401
4402 * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
4403 mode size instead of bitsize with DWARF2_ADDR_SIZE.
4404 (hash_loc_operands, compare_loc_operands): Handle
4405 DW_OP_GNU_entry_value.
4406
6510e8bb
KT
44072011-03-25 Kai Tietz <ktietz@redhat.com>
4408
4409 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
4410 (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
4411 * config/i386/i386.c (ix86_conditional_register_usage): Adjust
4412 comment and use macro TARGET_64BIT_MS_ABI instead.
4413 (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
4414 and change default behavior for 32-bit MS_ABI.
4415 (ix86_reg_parm_stack_space): Check additionally for bit-ness.
4416 (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
4417 32-bit, too.
4418 (ix86_cfun_abi): Likewise.
4419 (ix86_maybe_switch_abi): Adjust comment.
4420 (init_cumulative_args): Check for bit-ness in MS_ABI case.
4421 (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
4422 instead of checking for SYSV_ABI.
4423 (ix86_nsaved_sseregs): Likewise.
4424 (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
4425 to 16 bytes.
4426 (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
4427 * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
4428 (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
4429 (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
4430 * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
4431
34019e28
RG
44322011-03-25 Richard Guenther <rguenther@suse.de>
4433
4434 * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
4435 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
4436 (verify_gimple): Remove.
4437 * tree-cfg.c (verify_gimple_call): Merge verification
4438 from verify_stmts.
4439 (verify_gimple_phi): Merge verification from verify_stmts.
4440 (verify_gimple_label): New function.
4441 (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
4442 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
4443 (verify_stmt): Merge into verify_gimple_in_cfg and callees.
4444 (verify_stmts): Rename to verify_gimple_in_cfg.
4445 (verify_gimple_in_cfg): New function.
4446 * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
4447 * tree-ssa.c (verify_ssa): Likewise.
4448 * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
4449
605896f5
RG
44502011-03-25 Richard Guenther <rguenther@suse.de>
4451
4452 * passes.c (init_optimization_passes): Add FRE pass after
4453 early SRA.
4454
7baa7c13
BS
44552011-03-25 Bernd Schmidt <bernds@codesourcery.com>
4456 Andrew Stubbs <ams@codesourcery.com>
4457
4458 * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
4459 for Cortex-A8.
4460 (arm_movdi_vfp_cortexa8): New pattern.
4461 * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
4462 iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
4463 instructions when tuning for Cortex-A8. Set attribute "arch".
4464 * config/arm/arm.md: Move include arm-tune.md up a bit.
4465 (define_attr "arch"): Add "onlya8" and "nota8" values.
4466 (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
4467
45dbce1b
NF
44682011-03-25 Nathan Froyd <froydnj@codesourcery.com>
4469
4ff08abf 4470 PR bootstrap/48282
45dbce1b
NF
4471 Revert:
4472 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
4473
4474 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
4475 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
4476 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
4477 * passes.c (init_optimization_passes): Move
4478 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
4479
ac9a30ae
KT
44802011-03-25 Kai Tietz <ktietz@redhat.com>
4481
4482 * c-typeck.c (comptypes_internal): Replace target
4483 hook call of comp_type_attributes by version in tree.c file.
4484 * gimple.c (gimple_types_compatible_p_1): Likewise.
4485 * tree-ssa.c (useless_type_conversion_p): Likewise.
4486 * tree.c (build_type_attribute_qual_variant): Likewise.
4487 (attribute_value_equal): New static helper function.
4488 (comp_type_attributes): New function.
4489 (merge_attributes): Use attribute_value_equal for comparison.
4490 (attribute_list_contained): Likewise.
4491 * tree.h (comp_type_attributes): New prototype.
4492
afdac116
RG
44932011-03-25 Richard Guenther <rguenther@suse.de>
4494
4495 * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
4496 of complex types at -O0.
4497 (verify_gimple_assign_binary): Likewise.
4498 (verify_gimple_assign_ternary): Likewise.
4499
ec6165f8
MW
45002011-03-24 Mark Wielaard <mjw@redhat.com>
4501
4502 * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
4503 (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
4504
2a5ac39a
MW
45052011-03-24 Mark Wielaard <mjw@redhat.com>
4506
4507 PR debug/48041
4508 * dwarf2out.c (output_abbrev_section): Only write table when
4509 abbrev_die_table_in_use > 1.
4510
e533b2a4
RH
45112011-02-24 Richard Henderson <rth@redhat.com>
4512
4513 * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
4514 (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
4515 (alpha_expand_unaligned_load_words): Use extql.
4516 (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
4517 (emit_insxl): Handle all modes for consistency.
4518
0b2a7367
RH
45192011-02-24 Richard Henderson <rth@redhat.com>
4520
4521 * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
4522 (alpha_expand_unaligned_load): Likewise.
4523 (alpha_expand_unaligned_store): Likewise.
4524 (alpha_expand_unaligned_load_words): Likewise.
4525 (alpha_expand_unaligned_store_words): Likewise.
4526 (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
4527 (alpha_split_lock_test_and_set_12): Likewise.
4528 (print_operand, alpha_fold_builtin_extxx): Likewise.
4529 (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
4530 * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
4531 (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
4532 (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
4533 (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
4534 (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
4535 (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
4536 (unaligned_storeqi_be, unaligned_storehi_be): Remove.
4537 (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
4538 (extwl, extll, extql): Similarly.
4539 (inswh, inslh, insqh): Similarly.
4540 (mskbl, mskwl, mskll, mskql): Similarly.
4541 (mskwh, msklh, mskqh): Similarly.
4542
315b2bef
RH
45432011-02-24 Richard Henderson <rth@redhat.com>
4544
4545 * config/alpha/alpha.md (attribute isa): Add er, ner.
4546 (attribute enabled): Handle them.
4547 (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
4548
67102517
RH
45492011-02-24 Richard Henderson <rth@redhat.com>
4550
4551 * config/alpha/alpha.md (attribute isa): Add vms.
4552 (attribute enabled): Handle it.
4553 (*movsf): Merge *movsf_{nofix,fix,nofp}.
4554 (*movdf): Merge *movdf_{nofix,fix,nofp}.
4555 (*movtf): Rename from *movtf_internal for consistency.
4556 (*movsi): Merge with *movsi_nt_vms.
4557 (*movhi): Merge *movhi_nobwx, *movhi_bwx.
4558 (*movqi): Merge *movqi_nobwx, *movqi_bwx.
4559 (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
4560 * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
4561
6aba5cb4
RH
45622011-02-24 Richard Henderson <rth@redhat.com>
4563
4564 * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
4565 (extendqisi2, extendhisi2): Likewise.
4566 (extendqidi2): Simplify BWX/non-BWX expansions.
4567 (extendhidi2): Similarly.
4568
bdfb351b
RH
45692011-02-24 Richard Henderson <rth@redhat.com>
4570
4571 * config/alpha/alpha.md (attribute isa): New.
4572 (attribute enabled): New.
4573 (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
4574 (zero_extendqisi2, zero_extendqidi2): Similarly.
4575 (zero_extendhisi2, zero_extendhidi2): Similarly.
4576 * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
4577
6abe71eb
RH
45782011-02-24 Richard Henderson <rth@redhat.com>
4579
4580 * config/alpha/predicates.md (input_operand): Revert last change;
4581 update comment to mention 32-bit VMS rather than Windows.
4582
7114321e
NF
45832011-03-24 Nathan Froyd <froydnj@codesourcery.com>
4584
4585 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
4586 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
4587 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
4588 * passes.c (init_optimization_passes): Move
4589 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
4590
c8679567
EB
45912011-03-24 Eric Botcazou <ebotcazou@adacore.com>
4592
4593 * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
4594
27173058
UB
45952011-03-24 Uros Bizjak <ubizjak@gmail.com>
4596
4597 * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
4598 correctly.
4599
6f0c9f06
JJ
46002011-03-24 Jakub Jelinek <jakub@redhat.com>
4601
4602 PR debug/48204
4603 * simplify-rtx.c (simplify_const_unary_operation): Call
4604 real_convert when changing mode class with FLOAT_EXTEND.
4605
662666e5
NC
46062011-03-24 Nick Clifton <nickc@redhat.com>
4607
4608 * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
4609 (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
4610 * config/rx/rx.c (rx_option_override): Set align_jumps,
4611 align_loops and align_labels if not set by the user.
4612 (rx_align_for_label): New function.
4613 (rx_max_skip_for_label): New function.
4614 (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
4615 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
4616 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
4617 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
4618 * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
4619
2b99b2b8
RS
46202011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
4621
4622 PR rtl-optimization/48263
4623 * optabs.c (expand_binop_directly): Reinstate convert_modes code
4624 and original commutative_p handling. Use maybe_gen_insn.
4625
ccecd6ea
AK
46262011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4627
4628 * reload.c (find_reloads_subreg_address): Add address_reloaded
4629 parameter and return true there if the full address has been
4630 reloaded.
4631 (find_reloads_toplev): Pass address_reloaded flag.
4632 (find_reloads_address_1): Don't use address_reloaded parameter.
4633
67295642
JL
46342011-03-24 Jeff Law <law@redhat.com>
4635
4636 * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
4637 unused variable "ann".
4638 (remove_unused_locals): Likewise.
4639
4640 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
4641 statement.
4642
4643 * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
4644 after it is freed.
4645
212aa74f
AK
46462011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4647
4648 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
4649 for invalid symbolic addresses.
4650 (s390_secondary_reload): Don't use s390_check_symref_alignment for
4651 larl operands.
4652
fe784e0d
EB
46532011-03-24 Eric Botcazou <ebotcazou@adacore.com>
4654
4655 * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
4656 the argument in calls to fold_truth_not_expr.
4657
63ee8641
NF
46582011-03-24 Nathan Froyd <froydnj@codesourcery.com>
4659
4660 * tree.c (record_node_allocation_statistics): New function.
4661 (make_node_stat, copy_node_stat, build_string): Call it.
4662 (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
4663 (build1_stat, build_omp_clause): Likewise.
4664
61be2a1c
RS
46652011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
4666
4667 * builtins.c (expand_movstr): Fix endp == 1 adjustment after
4668 last commit.
4669
a881aaa7
RG
46702011-03-24 Richard Guenther <rguenther@suse.de>
4671
4672 PR tree-optimization/48271
4673 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
4674 blocks that still exist.
4675
dbaa912c
RG
46762011-03-24 Richard Guenther <rguenther@suse.de>
4677
4678 PR tree-optimization/48270
4679 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
4680 not free datarefs before ddrs.
4681
1d60cc55
EB
46822011-03-24 Eric Botcazou <ebotcazou@adacore.com>
4683
4684 * tree-sra.c (build_ref_for_offset): Strip useless type conversions
4685 from the address built for a reference with variable offset.
4686
c78dd519
UB
46872011-03-24 Uros Bizjak <ubizjak@gmail.com>
4688
4689 PR target/48237
4690 * config/i386/i386.md (*movdf_internal_rex64): Do not split
4691 alternatives that can be handled with movq or movabsq insn.
4692 (*movdf_internal): Disable for !TARGET_64BIT.
4693 (*movdf_internal_nointeger): Ditto.
4694 * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
4695
b25b9e8f
NF
46962011-03-24 Nathan Froyd <froydnj@codesourcery.com>
4697
4698 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
4699 (FUNCTION_ARG_ADVANCE): Likewise.
4700 * tm.texi.in: Change references to them to hook references.
4701 * tm.texi: Regenerate.
c78dd519 4702 * targhooks.c (default_function_arg): Eliminate check for target macro.
b25b9e8f
NF
4703 (default_function_incoming_arg): Likewise.
4704 (default_function_arg_advance): Likewise.
c78dd519 4705 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
b25b9e8f
NF
4706 (function_arg_advance): Likewise.
4707 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
4708
190b2187
RG
47092011-03-24 Richard Guenther <rguenther@suse.de>
4710
4711 PR middle-end/48269
4712 * tree-object-size.c (addr_object_size): Do not double-account
4713 for MEM_REF offsets.
4714
a183b5c7
DN
47152011-03-24 Diego Novillo <dnovillo@google.com>
4716
4717 * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
c78dd519 4718 * lto-streamer-in.c (input_string_internal): Add clarifying comments.
a183b5c7
DN
4719 (lto_input_data_block): Move from lto-opts.c. Make extern.
4720 Update all users.
4721 (lto_input_string): Rename from input_string. Make extern.
4722 Update all users.
4723 * lto-streamer-out.c (lto_output_string_with_length): Rename from
4724 output_string_with_length.
4725 Output 0 to indicate a non-NULL string. Update all callers to
4726 not emit 0.
4727 (lto_output_string): Rename from output_string. Make extern.
4728 Update all users.
4729 (lto_output_decl_state_streams): Make extern.
4730 (lto_output_decl_state_refs): Make extern.
4731 * lto-streamer.h (lto_input_string): Declare.
4732 (lto_input_data_block): Declare.
4733 (lto_output_string): Declare.
4734 (lto_output_string_with_length): Declare.
4735 (lto_output_decl_state_streams): Declare.
4736 (lto_output_decl_state_refs): Declare.
4737
cfef45c8
RG
47382011-03-24 Richard Guenther <rguenther@suse.de>
4739
4740 PR tree-optimization/46562
4741 * tree.c (build_invariant_address): New function.
4742 * tree.h (build_invariant_address): Declare.
4743 * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
4744 a renamed function moved ...
4745 * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
4746 Take valueization callback parameter.
4747 * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
4748 * gimple-fold.h: New file.
4749 * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
4750 (ccp_fold, fold_const_aggregate_ref,
4751 fold_ctor_reference, fold_nonarray_ctor_reference,
4752 fold_array_ctor_reference, fold_string_cst_ctor_reference,
4753 get_base_constructor): Move ...
4754 * gimple-fold.c: ... here.
4755 (gimple_fold_stmt_to_constant_1): New function
4756 split out from ccp_fold. Take a valueization callback parameter.
4757 Valueize all operands.
4758 (gimple_fold_stmt_to_constant): New wrapper function.
4759 (fold_const_aggregate_ref_1): New function split out from
4760 fold_const_aggregate_ref. Take a valueization callback parameter.
4761 (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
4762 * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
4763 invariant POINTER_PLUS_EXPRs to invariant form.
4764 (vn_valueize): New function.
4765 (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
4766 * tree-vrp.c (vrp_valueize): New function.
4767 (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
4768 to fold statements to constants.
4769 * tree-ssa-pre.c (eliminate): Properly guard propagation of
4770 function declarations.
4771 * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
4772 tree-ssa-ccp.o): Add gimple-fold.h dependencies.
4773
5e0a7e40
RS
47742011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
4775
4776 * config/h8300/predicates.md (jump_address_operand): Fix register
4777 mode check.
4778
bfe068c3
IR
47792011-03-24 Ira Rosen <ira.rosen@linaro.org>
4780
4781 * doc/invoke.texi (max-stores-to-sink): Document.
4782 * params.h (MAX_STORES_TO_SINK): Define.
4783 * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
4784 if either vectorization or if-conversion is disabled.
4785 * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
4786 tree-vect-data-refs.c vect_equal_offsets.
4787 (dr_equal_offsets_p): New function.
4788 (find_data_references_in_bb): Remove static.
4789 * tree-data-ref.h (find_data_references_in_bb): Declare.
4790 (dr_equal_offsets_p): Likewise.
4791 * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
4792 (vect_drs_dependent_in_basic_block): Update calls to
4793 vect_equal_offsets.
4794 (vect_check_interleaving): Likewise.
4795 * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
4796 (cond_if_else_store_replacement): Rename to...
4797 (cond_if_else_store_replacement_1): ... this. Change arguments and
4798 documentation.
4799 (cond_if_else_store_replacement): New function.
4800 * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
4801 * params.def (PARAM_MAX_STORES_TO_SINK): Define.
4802
4908b0bf
CLT
48032011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
4804
4805 PR target/46934
4806 * config/arm/arm.md (casesi): Use the gen_int_mode() function
4807 to subtract lower bound instead of GEN_INT().
4808
2be478a2
JW
48092011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
4810
4811 PR other/48179
4812 PR other/48221
4813 PR other/48234
4814 * doc/extend.texi (Alignment): Move section to match order in TOC.
4815 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
4816 (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
4817
0c617be4
JL
48182011-03-23 Jeff Law <law@redhat.com>
4819
4820 * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
4821 before removing the edge.
4822
4823 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
4824 it may have been freed by redirect_branch_edge or
4825 redirect_edge_succ_nodup.
4826
58da96fe
RG
48272011-03-23 Richard Guenther <rguenther@suse.de>
4828
c78dd519 4829 * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
58da96fe
RG
4830 (check_va_list_escapes): Likewise.
4831 (check_all_va_list_escapes): Likewise.
4832
b8beb4d1
RG
48332011-03-23 Richard Guenther <rguenther@suse.de>
4834
4835 * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
4836 (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
4837 (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
4838 (alias.o): Likewise.
4839 (ipa-type-escape.o): Remove.
4840 (ipa-struct-reorg.o): Likewise.
4841 (GTFILES): Remove ipa-struct-reorg.c.
4842 * alias.c: Do not include ipa-type-escape.h.
4843 * tree-ssa-alias.c: Likewise.
4844 * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
4845 * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
4846 * passes.c (init_optimization_passes): Remove ipa-struct-reorg
4847 and ipa-type-escape passes.
4848 * tree-pass.h (pass_ipa_type_escape): Remove.
4849 (pass_ipa_struct_reorg): Likewise.
4850 * ipa-struct-reorg.h: Remove.
4851 * ipa-struct-reorg.c: Likewise.
4852 * ipa-type-escape.h: Likewise.
4853 * ipa-type-escape.c: Likewise.
4854 * doc/invoke.texi (-fipa-struct-reorg): Remove.
4855 (--param struct-reorg-cold-struct-ratio): Likewise.
4856 * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
4857 * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
4858 * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
4859
f137aa63
AK
48602011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4861
4862 * config/s390/2084.md: Enable all insn reservations also for z9_ec
4863 cpu attribute value.
4864 * config/s390/s390-opts.h (enum s390_arch_option): Remove.
4865 (enum processor_type): Add PROCESSOR_2094_Z9_EC.
4866 * config/s390/s390.c (processor_flags_table): New constant array.
4867 (s390_handle_arch_option): Remove.
4868 (s390_handle_option): Remove s390_handle_arch_option invocations
4869 and OPT_mwarn_framesize_ handling.
4870 (s390_option_override): Remove s390_handle_arch_option invocation.
4871 (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
4872 warnings.
4873 * config/s390/s390.md (cpu attribute): Add z9_ec value.
4874 * config/s390/s390.opt (s390_tune, s390_arch)
4875 (march=): Replace s390_arch_option enum and values with
4876 processor_type. Set variable name to s390_arch. Set
4877 initialization value.
4878 (mtune=): Replace s390_arch_option with processor_type. Set
4879 variable name to s390_tune. Set initialization value.
4880
bf90208f
JB
48812011-03-23 Julian Brown <julian@codesourcery.com>
4882
4883 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
4884 accesses which are not naturally aligned.
4885
3460fdf3
RS
48862011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
4887
4888 PR target/47553
4889 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
4890
a5c7d693
RS
48912011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
4892
4893 * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
4894 parameter from "int" to "enum insn_code".
4895 (expand_operand_type): New enum.
4896 (expand_operand): New structure.
4897 (create_expand_operand): New function.
4898 (create_fixed_operand, create_output_operand): Likewise
4899 (create_input_operand, create_convert_operand_to): Likewise.
4900 (create_convert_operand_from, create_address_operand): Likewise.
4901 (create_integer_operand): Likewise.
4902 (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
4903 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
4904 (expand_insn, expand_jump_insn): Likewise.
4905 * builtins.c (expand_builtin_prefetch): Use the new interfaces.
4906 (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
4907 (expand_movstr, expand_builtin___clear_cache): Likewise.
4908 (expand_builtin_lock_release): Likewise.
4909 * explow.c (allocate_dynamic_stack_space): Likewise.
4910 (probe_stack_range): Likewise. Allow check_stack to FAIL,
4911 and use the default handling in that case.
4912 * expmed.c (check_predicate_volatile_ok): Delete.
4913 (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
4914 (emit_cstore): Likewise.
4915 * expr.c (emit_block_move_via_movmem): Likewise.
4916 (set_storage_via_setmem, expand_assignment): Likewise.
4917 (emit_storent_insn, try_casesi): Likewise.
4918 (emit_single_push_insn): Likewise. Allow the expansion to fail.
4919 * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
4920 (expand_vec_shift_expr, expand_binop_directly): Likewise.
4921 (expand_twoval_unop, expand_twoval_binop): Likewise.
4922 (expand_unop_direct, emit_indirect_jump): Likewise.
4923 (emit_conditional_move, vector_compare_rtx): Likewise.
4924 (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
4925 (expand_sync_operation, expand_sync_fetch_operation): Likewise.
4926 (expand_sync_lock_test_and_set): Likewise.
4927 (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
4928 (emit_unop_insn): Likewise.
4929 (expand_copysign_absneg): Change icode to an insn_code.
4930 (create_convert_operand_from_type): New function.
4931 (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
4932 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
4933 (expand_insn, expand_jump_insn): Likewise.
4934 * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
4935 than const_int_operand for operand 2.
4936
78fadbab
AK
49372011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4938
4939 * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
4940 if possible.
4941
5f02387d
NF
49422011-03-22 Nathan Froyd <froydnj@codesourcery.com>
4943
4944 * emit-rtl.c (emit_pattern_before_noloc): New function.
4945 (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
4946 (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
4947 (emit_pattern_after_noloc): New function.
4948 (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
4949 (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
4950
fdf3e18a
NF
49512011-03-22 Nathan Froyd <froydnj@codesourcery.com>
4952
4953 * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
4954 (__ffsDI2): Likewise.
4955
42d085c1
RH
49562011-03-22 Richard Henderson <rth@redhat.com>
4957
4958 * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
4959 of !TARGET_ABI_OPEN_VMS.
4960 (alpha_trampoline_init, alpha_start_function): Likewise.
4961 (alpha_expand_epilogue, alpha_file_start): Likewise.
4962 * config/alpha/alpha.md (divsi3, modsi3): Likewise.
4963 (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
4964 (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
4965 (*divmodsi_internal, *divmoddi_internal_er): Likewise.
4966 (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
4967
cabbe12a
JM
49682011-03-22 Joseph Myers <joseph@codesourcery.com>
4969
4970 * config/s390/s390-opts.h: New.
4971 * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
4972 s390_arch_flags, s390_warn_framesize, s390_stack_size,
4973 s390_stack_guard): Remove.
4974 (s390_handle_arch_option): Return void. Take enum
4975 s390_arch_option value instead of string and searching array.
4976 (s390_handle_option): Don't assert that global structures are in
4977 use. Access variables via opts pointer. Use error_at. Don't use
4978 sscanf for -mstack-guard= or -mstack-size=. Update call to
4979 s390_handle_arch_option.
4980 (s390_option_override): Update call to s390_handle_arch_option.
4981 (s390_emit_prologue): Use %d format for s390_stack_size in
4982 diagnostic. Use %wd for HOST_WIDE_INT.
4983 * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
4984 (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
4985 * config/s390/s390.opt (config/s390/s390-opts.h): New
4986 HeaderInclude entry.
4987 (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
4988 s390_arch_flags, s390_warn_framesize): New Variable entries.
4989 (s390_arch_option): New Enum and EnumValue entries.
4990 (march=): Use Enum instead of Var.
4991 (mstack-guard=, mstack-size=): Use UInteger and Var.
4992 (mtune=): Use Enum.
4993
05b12036
JM
49942011-03-22 Joseph Myers <joseph@codesourcery.com>
4995
4996 * config/score/score.c (score_handle_option): Don't assert that
4997 global structures are in use. Access target_flags via opts
4998 pointer. Use value of -march= option to determine target_flags
4999 settings.
5000 * config/score/score.opt (march=): Use Enum.
5001 (score_arch): New Enum and EnumValue entries.
5002
dd51e35a
JM
50032011-03-22 Joseph Myers <joseph@codesourcery.com>
5004
5005 * config/mep/mep.c (option_mtiny_specified): Remove.
5006 (mep_option_override): Move register handling for -mivc2 from
5007 mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
5008 instead of option_mtiny_specified.
5009 (mep_handle_option): Access target_flags via opts pointer. Don't
5010 assert that global structures are in use. Defer part of -mivc2
5011 handling and move it to mep_option_override.
5012 * config/mep/mep.opt (IVC2): New Mask entry.
5013 (mivc2): Use Var and Defer instead of Mask.
5014
4a8d3d91
JM
50152011-03-22 Joseph Myers <joseph@codesourcery.com>
5016
5017 * config/v850/v850-opts.h: New.
5018 * config/v850/v850.c (small_memory): Replace with
5019 small_memory_physical_max array. Make that array static const.
5020 (v850_handle_memory_option): Take integer value of argument. Take
5021 gcc_options pointer, option text and location. Return void.
5022 Update for changes to small memory structures.
5023 (v850_handle_option): Access target_flags via opts pointer. Don't
5024 assert that global structures are in use. Update calls to
5025 v850_handle_memory_option.
c78dd519
UB
5026 (v850_encode_data_area): Update references to small memory settings.
5027 * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
4a8d3d91
JM
5028 (enum small_memory_type): Move to v850-opts.h.
5029 * config/v850/v850.opt (config/v850/v850-opts.h): New
5030 HeaderInclude entry.
5031 (small_memory_max): New Variable entry.
5032 (msda): Replace by pair of options msda= and msda-. Use UInteger.
5033 (mtda, mzda): Likewise.
5034
117fdbfa
JM
50352011-03-22 Joseph Myers <joseph@codesourcery.com>
5036
5037 * config/sh/sh.c (sh_handle_option): Access target_flags via opts
5038 pointer. Don't assert that global structures are in use.
5039
d715091c
JM
50402011-03-22 Joseph Myers <joseph@codesourcery.com>
5041
5042 * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
5043 via opts pointer. Don't assert that global structures are in use.
5044
1bb721dc
JM
50452011-03-22 Joseph Myers <joseph@codesourcery.com>
5046
5047 * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
5048 (munix=93): Use Var.
5049 * config/pa/pa-hpux1010.opt (munix=95): Use Var.
5050 * config/pa/pa-hpux1111.opt (munix=98): Use Var.
5051 * config/pa/pa-opts.h: New.
5052 * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
5053 (pa_handle_option): Don't assert that global structures are in
5054 use. Access target_flags via opts pointer. Don't handle
5055 OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
5056 OPT_munix_98 here.
5057 (pa_option_override): Handle deferred OPT_mfixed_range_.
5058
cd8d8754
JM
50592011-03-22 Joseph Myers <joseph@codesourcery.com>
5060
5061 * config/mn10300/mn10300-opts.h: New.
5062 * config/mn10300/mn10300.c (mn10300_processor,
5063 mn10300_tune_string): Remove.
5064 (mn10300_handle_option): Don't assert that global structures are
5065 in use. Access mn10300_processor via opts pointer. Don't handle
5066 OPT_mtune_ here.
5067 * config/mn10300/mn10300.h (enum processor_type): Move to
5068 mn10300-opts.h.
5069 (mn10300_processor): Remove.
5070 * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
5071 HeaderInclude entry.
5072 (mn10300_processor): New Variable entry.
5073 (mtune=): Use Var.
5074
24e6e6b1
JM
50752011-03-22 Joseph Myers <joseph@codesourcery.com>
5076
5077 * config/microblaze/microblaze.c: Don't include opts.h.
5078 (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
5079 * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
5080 (mno-clearbss): Use Var and Warn.
5081
8a784afb
JM
50822011-03-22 Joseph Myers <joseph@codesourcery.com>
5083
5084 * config/m32r/m32r-opts.h: New.
5085 * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
5086 (m32r_handle_option): Don't assert that global structures are in
5087 use. Access target_flags and m32r_cache_flush_func via opts
5088 pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
5089 OPT_mno_flush_trap here.
5090 * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
5091 include of m32r-opts.h.
5092 * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
5093 HeaderInclude entry.
5094 (m32r_model_selected, m32r_sdata_selected): New Variable entries.
5095 (mmodel=): Use Enum and Var.
5096 (m32r_model): New Enum and EnumValue entries.
5097 (mno-flush-trap): Use Var.
5098 (msdata=): Use Enum and Var.
5099 (m32r_sdata): New Enum and EnumValue entries.
5100
bbfc9a8c
JM
51012011-03-22 Joseph Myers <joseph@codesourcery.com>
5102
5103 * config/m32c/m32c.c: Don't include opts.h.
5104 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
5105 m32c_handle_option): Remove.
5106 (m32c_option_override): Check global_options_set.x_target_memregs
5107 instead of target_memregs_set.
5108 * config/m32c/m32c.h (target_memregs): Remove.
5109 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
5110 variable.
5111
e24b8335
JM
51122011-03-22 Joseph Myers <joseph@codesourcery.com>
5113
5114 * config/iq2000/iq2000-opts.h: New.
5115 * config/iq2000/iq2000.c: Don't include opts.h.
5116 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 5117 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
e24b8335
JM
5118 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
5119 HeaderInclude entry.
5120 (iq2000_tune): New Variable entry.
5121 (march=): Add comment. Use Enum.
5122 (iq2000_arch): New Enum and EnumValue entries.
5123 (mcpu=): Use Enum and Var.
5124 (iq2000_tune): New Enum and EnumValue entries.
5125
e6cc0c98
JM
51262011-03-22 Joseph Myers <joseph@codesourcery.com>
5127
5128 * config/ia64/ia64-opts.h: New.
5129 * config/ia64/ia64.c (ia64_tune): Remove.
5130 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
5131 here. Use error_at.
5132 (ia64_option_override): Handle deferred OPT_mfixed_range_.
5133 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
5134 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
5135 HeaderInclude entry.
5136 (ia64_tune): New Variable entry.
5137 (mfixed-range=): Use Defer and Var.
5138 (mtune=): Use Enum and Var.
5139 (ia64_tune): New Enum and EnumValue entries.
5140
db25893c
JM
51412011-03-22 Joseph Myers <joseph@codesourcery.com>
5142
5143 * config/frv/frv-opts.h: New.
5144 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
5145 frv-opts.h.
5146 (frv_cpu_type): Remove.
5147 * config/frv/frv.c: Don't include opts.h.
5148 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 5149 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
db25893c
JM
5150 (frv_cpu_type): New Variable entry.
5151 (frv_cpu): New Enum and EnumValue entries.
5152
6c223f5d
JM
51532011-03-22 Joseph Myers <joseph@codesourcery.com>
5154
5155 * config/cris/cris.c (cris_handle_option): Access target_flags via
5156 opts pointer. Don't assert that global structures are in use.
5157 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
5158 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
5159
bbd399cf
JM
51602011-03-22 Joseph Myers <joseph@codesourcery.com>
5161
5162 * config/bfin/bfin-opts.h: New.
5163 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
5164 bfin_si_revision, bfin_workarounds): Remove.
5165 (bfin_cpus): Make static const.
5166 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
5167 not bfin_lib_id_given.
5168 (bfin_handle_option): Don't set bfin_lib_id_given. Access
5169 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
c78dd519 5170 pointer. Use error_at. Don't assert that global structures are in use.
bbd399cf
JM
5171 * config/bfin/bfin.h: Include bfin-opts.h.
5172 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
5173 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
5174 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
5175 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
5176 entries.
5177
5e1b4d5a
JM
51782011-03-22 Joseph Myers <joseph@codesourcery.com>
5179
5180 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
5181 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
5182 or -msoft-float here.
5183 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
5184 -msoft-float and -mhard-float.
c78dd519 5185 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
5e1b4d5a
JM
5186 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
5187 msoft-float.
5188 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
5189 -msoft-float.
5190 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
5191 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
5192 not mhard-float.
5193 (LIBGCC_SPEC): Don't handle -msoft-float.
5194 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
5195 -mhard-float.
5196 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
5197 msoft-float.
5198 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
5199 -mfloat-abi=*, not -msoft-float and -mhard-float.
5200 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
5201 -msoft-float.
5202 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
5203 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
5204 mhard-float and msoft-float.
5205 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
5206 mfloat-abi=soft in comments, not mhard-float and msoft-float.
5207 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
5208 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
5209 mhard-float.
5210 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
5211 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
5212 msoft-float.
5213 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
5214 not mhard-float.
5215 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
5216 not msoft-float.
5217
800d1de1
RH
52182011-03-22 Richard Henderson <rth@redhat.com>
5219
5220 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
5221 TARGET_ABI_WINDOWS_NT.
5222 (alpha_output_function_end_prologue): Likewise.
5223 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
5224 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5225 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
5226 (trap, *movsi_nt_vms): Likewise.
5227 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
5228 (*tablejump_osf_nt_internal): Remove.
5229 * config/alpha/predicates.md (input_operand): Only test Pmode.
5230
c59ddd2b
JM
52312011-03-22 Joseph Myers <joseph@codesourcery.com>
5232
5233 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
5234 via opts pointer. Use error_at. Don't assert that global
5235 structures are in use.
5236
1333f97f
JM
52372011-03-22 Joseph Myers <joseph@codesourcery.com>
5238
5239 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
5240 (ix86_handle_option): Access ix86_isa_flags and
5241 ix86_isa_flags_explicit via opts pointer. Don't assert that
5242 global structures are in use.
5243 (ix86_function_specific_save, ix86_function_specific_restore):
5244 Update ix86_isa_flags_explicit field name.
c78dd519 5245 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
1333f97f
JM
5246 (ix86_isa_flags_explicit): Rename TargetSave entry to
5247 x_ix86_isa_flags_explicit.
5248
75db85d8
RH
52492011-03-22 Richard Henderson <rth@redhat.com>
5250
5251 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
5252 (alpha_option_override, direct_return): Likewise.
5253 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
5254 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
5255 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
5256 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
5257 (alpha_expand_epilogue, alpha_end_function): Likewise.
5258 (alpha_init_libfuncs): Likewise.
5259 (struct machine_function): Remove unicosmk members.
5260 (print_operand) ['t']: Remove.
5261 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
5262 unicosmk_output_module_name, unicosmk_output_common,
5263 current_section_align, unicosmk_output_text_section_asm_op,
5264 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
5265 unicosmk_section_type_flags, unicosmk_unique_section,
5266 unicosmk_asm_named_section, unicosmk_insert_attributes,
5267 unicosmk_output_align, unicosmk_defer_case_vector,
5268 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
5269 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
5270 unicosmk_output_ssib, unicosmk_add_call_info_word,
5271 unicosmk_extern_head, unicosmk_output_default_externs,
5272 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
5273 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
5274 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
5275 * config/alpha/alpha-protos.h: Update.
5276 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
5277 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
5278 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
5279 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
5280 (*mulsi_se, mulvsi3): Likewise.
5281 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
5282 (*divmodsi_internal, call, call_value, realign): Likewise.
5283 (moddi3, umoddi3): Likewise; remove duplicate expander.
5284 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
5285 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
5286 (*movdi_nofix): Remove r/U alternative.
5287 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
5288 * config/alpha/constraints.md ("U"): Remove.
5289 * config/alpha/predicates.md (call_operand"): Don't test
5290 TARGET_ABI_UNICOSMK.
5291
96e45421
JM
52922011-03-22 Joseph Myers <joseph@codesourcery.com>
5293
5294 * target.def (handle_option): Take gcc_options and
5295 cl_decoded_option pointers and location_t.
5296 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
5297 * doc/tm.texi: Regenerate.
5298 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
5299 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
5300 * lto-opts.c (lto_reissue_options): Generate option structure for
5301 targetm.handle_option call.
5302 * opts.c (target_handle_option): Update call to
5303 targetm.handle_option. Remove assertions about values now passed
5304 down to hook.
5305 * targhooks.c (default_target_handle_option): New.
5306 * targhooks.h (default_target_handle_option): Declare.
5307 * config/alpha/alpha.c: Include opts.h.
5308 (alpha_handle_option): Update to new hook interface.
5309 * config/arm/arm.c: Include opts.h.
5310 (arm_handle_option): Update to new hook interface.
5311 * config/arm/t-arm (arm.o): Update dependencies.
5312 * config/bfin/bfin.c: Include opts.h.
5313 (bfin_handle_option): Update to new hook interface.
5314 * config/cris/cris.c: Include opts.h.
5315 (cris_handle_option): Update to new hook interface.
5316 * config/frv/frv.c: Include opts.h.
5317 (frv_handle_option): Update to new hook interface.
5318 * config/i386/i386.c: Include opts.h.
5319 (ix86_handle_option): Update to new hook interface.
5320 (ix86_valid_target_attribute_inner_p): Generate option structure
5321 for call to ix86_handle_option.
5322 * config/i386/t-i386 (i386.o): Update dependencies.
5323 * config/ia64/ia64.c: Include opts.h.
5324 (ia64_handle_option): Update to new hook interface.
5325 * config/ia64/t-ia64 (ia64.o): Update dependencies.
5326 * config/iq2000/iq2000.c: Include opts.h.
5327 (iq2000_handle_option): Update to new hook interface.
5328 * config/m32c/m32c.c: Include opts.h.
5329 (m32c_handle_option): Update to new hook interface.
5330 * config/m32r/m32r.c: Include opts.h.
5331 (m32r_handle_option): Update to new hook interface.
5332 * config/m68k/m68k.c: Include opts.h.
5333 (m68k_handle_option): Update to new hook interface.
5334 * config/mep/mep.c: Include opts.h.
5335 (mep_handle_option): Update to new hook interface.
5336 * config/microblaze/microblaze.c: Include opts.h.
5337 (microblaze_handle_option): Update to new hook interface.
5338 * config/mips/mips.c: Include opts.h.
5339 (mips_handle_option): Update to new hook interface.
5340 * config/mn10300/mn10300.c: Include opts.h.
5341 (mn10300_handle_option): Update to new hook interface.
5342 * config/pa/pa.c: Include opts.h.
5343 (pa_handle_option): Update to new hook interface.
5344 * config/pdp11/pdp11.c: Include opts.h.
5345 (pdp11_handle_option): Update to new hook interface.
5346 * config/rs6000/rs6000.c: Include opts.h.
5347 (rs6000_handle_option): Update to new hook interface.
5348 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
5349 * config/rx/rx.c: Include opts.h.
5350 (rx_handle_option): Update to new hook interface.
5351 * config/s390/s390.c: Include opts.h.
5352 (s390_handle_option): Update to new hook interface.
5353 * config/score/score.c: Include opts.h.
5354 (score_handle_option): Update to new hook interface.
5355 * config/sh/sh.c: Include opts.h.
5356 (sh_handle_option): Update to new hook interface.
5357 * config/sparc/sparc.c: Include opts.h.
5358 (sparc_handle_option): Update to new hook interface.
5359 * config/v850/v850.c: Include opts.h.
5360 (v850_handle_option): Update to new hook interface.
5361
66017846
JM
53622011-03-22 Joseph Myers <joseph@codesourcery.com>
5363
5364 * gcc.c (driver_unknown_option_callback): Only permit and save
5365 unknown -Wno- options.
5366 (driver_wrong_lang_callback): Save options directly instead of via
5367 driver_unknown_option_callback.
5368
e8b97ccd
EB
53692011-03-22 Eric Botcazou <ebotcazou@adacore.com>
5370
5371 * combine.c (simplify_set): Try harder to find the best CC mode when
5372 simplifying a nested COMPARE on the RHS.
5373
ebb9f8b0
JM
53742011-03-22 Joseph Myers <joseph@codesourcery.com>
5375
5376 * config/alpha/gnu.h: Remove.
5377 * config/arc: Remove directory.
5378 * config/arm/netbsd.h: Remove.
5379 * config/arm/t-pe: Remove.
5380 * config/crx: Remove directory.
5381 * config/i386/netbsd.h: Remove.
5382 * config/m68hc11: Remove directory.
5383 * config/m68k/uclinux-oldabi.h: Remove.
5384 * config/mcore/mcore-pe.h: Remove.
5385 * config/mcore/t-mcore-pe: Remove.
5386 * config/netbsd-aout.h: Remove.
5387 * config/rs6000/gnu.h: Remove.
5388 * config/sh/sh-symbian.h: Remove.
5389 * config/sh/symbian-base.c: Remove.
5390 * config/sh/symbian-c.c: Remove.
5391 * config/sh/symbian-cxx.c: Remove.
5392 * config/sh/symbian-post.h: Remove.
5393 * config/sh/symbian-pre.h: Remove.
5394 * config/sh/t-symbian: Remove.
5395 * config/svr3.h: Remove.
5396 * config/vax/netbsd.h: Remove.
5397 * config.build: Don't handle i[34567]86-*-pe.
5398 * config.gcc: Remove handling of deprecations for most deprecated
5399 targets.
5400 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
5401 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
5402 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
5403 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
5404 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
5405 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
5406 Remove cases.
5407 * config.host: Don't handle i[34567]86-*-pe.
5408 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
5409 (ASM_SPEC32): Don't handle -mcall-gnu.
5410 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
5411 -mcall-gnu.
5412 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
5413 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
5414 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
5415 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
5416 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
5417 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
5418 conditional on SYMBIAN.
5419 * configure.ac: Don't handle powerpc*-*-gnu*.
5420 * configure: Regenerate.
5421 * doc/extend.texi (interrupt attribute): Don't mention CRX.
5422 * doc/install-old.texi (m6811, m6812): Don't mention.
5423 * doc/install.texi (arc-*-elf*): Don't document multilib option.
5424 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
5425 (m68k-uclinuxoldabi): Don't mention.
5426 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
5427 Remove.
5428 (-mcall-gnu): Remove.
5429 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
5430 families): Remove constraint documentation.
5431
999a7d80
MS
54322011-03-22 Marius Strobl <marius@FreeBSD.org>
5433
5434 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
5435 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
5436 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
5437
980a0ff4
GJL
54382011-03-21 Georg-Johann Lay <avr@gjlay.de>
5439
5440 * config/avr/avr-protos.h (expand_epilogue): Change prototype
5441 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
5442 * config/avr/avr.c (init_cumulative_args)
5443 (avr_function_arg_advance): Use it.
5444 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
5445 sibcall epilogues.
5446 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
5447 (avr_function_ok_for_sibcall): ...this new function.
5448 (avr_lookup_function_attribute1): New static Function.
5449 (avr_naked_function_p, interrupt_function_p)
5450 (signal_function_p, avr_OS_task_function_p)
5451 (avr_OS_main_function_p): Use it.
5452 * config/avr/avr.md ("sibcall", "sibcall_value")
5453 ("sibcall_epilogue"): New expander.
5454 ("*call_insn", "*call_value_insn"): New insn.
5455 ("call_insn", "call_value_insn"): Remove
5456 ("call", "call_value", "epilogue"): Change expander to handle
5457 sibling calls.
5458
49168734
NC
54592011-03-21 Nick Clifton <nickc@redhat.com>
5460
5461 * doc/invoke.texi (Overall Options): Move closing brace to end of
5462 options list.
5463 (Optimization Options): Add missing @gol.
5464 (Directory Options): Likewise.
5465 (i386 and x86-64 Options): Likewise.
5466 (RS6000 and PowerPC Options): Likewise.
5467 (i386 and x86-64 Windows Options): Likewise.
5468 (V850 Options): Add text missing from descriptions.
5469
bdfe906f
RH
54702011-03-22 Richard Henderson <rth@redhat.com>
5471
5472 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
5473 (avr_incoming_return_addr_rtx): New.
5474 (emit_push_byte): New.
5475 (expand_prologue): Use it. Remove incorrect dwarf annotation for
5476 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
5477 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
5478 (emit_pop_byte): New.
5479 (expand_epilogue): Use it. Pop frame pointer by bytes.
5480 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
5481 (INCOMING_RETURN_ADDR_RTX): New.
5482 (INCOMING_FRAME_SP_OFFSET): New.
5483 (ARG_POINTER_CFA_OFFSET): New.
5484 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
5485 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
5486 (pophi): Remove.
5487
d090a5aa
RH
5488 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
5489
fdf3e18a
NF
54902011-03-22 Nathan Froyd <froydnj@codesourcery.com>
5491
5492 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
5493 (FUNCTION_ARG_ADVANCE): Likewise.
5494 * tm.texi.in: Change references to them to hook references.
5495 * tm.texi: Regenerate.
5496 * targhooks.c (default_function_arg): Eliminate check for target
5497 macro.
5498 (default_function_incoming_arg): Likewise.
5499 (default_function_arg_advance): Likewise.
c78dd519 5500 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
fdf3e18a
NF
5501 (function_arg_advance): Likewise.
5502 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
5503
009d3fcf
NF
55042011-03-22 Nathan Froyd <froydnj@codesourcery.com>
5505
5506 * tree.c (build_call_1): New function.
5507 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
5508
7bec30e1
RG
55092011-03-22 Richard Guenther <rguenther@suse.de>
5510
5511 PR tree-optimization/48228
5512 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
5513 for single-arg PHIs.
5514
0b7e851b
AB
55152011-03-22 Andrey Belevantsev <abel@ispras.ru>
5516
5517 PR rtl-optimization/48143
5518 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
5519 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
5520 sse2_cvtps2pd): Likewise.
5521
d89afca5
AK
55222011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5523
5524 * recog.c (canonicalize_change_group): Use validate_unshare_change.
5525
f471fe72
RG
55262011-03-22 Richard Guenther <rguenther@suse.de>
5527
5528 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
5529 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
5530 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
5531 and REALIGN_LOAD_EXPR.
5532 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
5533 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
5534 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
5535 DOT_PROD_EXPR case ...
5536 (expand_expr_real_2): ... here.
5537 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
5538 and REALIGN_LOAD_EXPR.
5539 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
5540 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
5541 (vect_create_epilog_for_reduction): Likewise.
5542 (vectorizable_reduction): Likewise.
5543 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
5544 * tree-vect-stmts.c (vectorizable_load): Likewise.
5545
f2f81d57
EB
55462011-03-22 Eric Botcazou <ebotcazou@adacore.com>
5547
5548 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
5549
ab081dd6
AK
55502011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5551
5552 * config/s390/s390.c (s390_delegitimize_address): Fix offset
5553 handling for PLTOFF/GOTOFF.
5554
6fd5332b
NC
55552011-03-22 Nick Clifton <nickc@redhat.com>
5556
5557 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
5558 trailing backslash from the end of the macro definition.
5559
01841ac0
AK
55602011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5561
5562 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
5563 and PLT unspecs.
5564
2ef6ce06
RS
55652011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
5566
5567 * expr.h (prepare_operand): Move to...
5568 * optabs.h (prepare_operand): ...here and change the insn code
5569 parameter from "int" to "enum insn_code".
5570 (insn_operand_matches): Declare.
5571 * expr.c (init_expr_target): Use insn_operand_matches.
5572 (compress_float_constant): Likewise.
5573 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
5574 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
5575 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
c78dd519
UB
5576 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
5577 Likewise.
2ef6ce06
RS
5578 (gen_cond_trap): Likewise.
5579 (prepare_operand): Likewise. Change icode to an insn_code.
5580 (insn_operand_matches): New function.
5581 * reload.c (find_reloads_address_1): Use insn_operand_matches.
5582 * reload1.c (gen_reload): Likewise.
5583 * targhooks.c (default_secondary_reload): Likewise.
5584
9e43ad68
UB
55852011-03-21 Uros Bizjak <ubizjak@gmail.com>
5586
9a96da32
UB
5587 * config/alpha/alpha.md (unspec): New define_c_enum.
5588 (unspecv): Ditto.
5589
55902011-03-21 Uros Bizjak <ubizjak@gmail.com>
5591
5592 PR debug/48214
9e43ad68
UB
5593 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
5594 between a call and its CALL_ARG_LOCATION note.
5595
31408f60
EB
55962011-03-21 Eric Botcazou <ebotcazou@adacore.com>
5597
5598 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
5599
56002011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
5601
5602 PR c/42544
5603 PR c/48197
5604 * c-common.c (shorten_compare): If primopN is first sign-extended
5605 to opN and then zero-extended to result type, set primopN to opN.
5606
9dfd55f5
DJ
56072011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
5608
5609 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
5610 for barrier handlers.
5611
f3c33d9d
MM
56122011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
5613
5614 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
5615 UNSPEC constants to be in the unspec enumeration, and redefine
5616 all UNSPECV constants to be in the unspecv enumeration, so that
5617 dumps print which unspec/unspec_volatile this is.
5618 * config/rs6000/vector.md (UNSPEC_*): Ditto.
5619 * config/rs6000/paired.md (UNSPEC_*): Ditto.
5620 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
5621 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
5622 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
5623
5624 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
5625 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
5626 UNSPECV_LWSYNC, since these are used as unspec_volatile.
5627 * config/rs6000/sync.md (isync, lwsync): Ditto.
5628
ac43f774
RG
56292011-03-21 Richard Guenther <rguenther@suse.de>
5630
5631 * params.def (lto-min-partition): Fix typo.
5632
411cdbd8
RG
56332011-03-21 Richard Guenther <rguenther@suse.de>
5634
5635 PR c/47939
5636 * c-decl.c (grokdeclarator): Drop to the main variant only
5637 for array types. Drop flag_gen_aux_info check.
5638
1cd9e416
RG
56392011-03-21 Richard Guenther <rguenther@suse.de>
5640
5641 PR translation/47911
5642 * params.def (lto-partitions): Fix typo.
5643 (lto-min-partition): Fix wording.
5644
ada5ad67
AT
56452011-03-21 Andreas Tobler <andreast@fgznet.ch>
5646
5647 * config/rs6000/t-freebsd: Remove duplication from file.
5648
f9613c9a
RG
56492011-03-21 Richard Guenther <rguenther@suse.de>
5650
5651 PR middle-end/47661
5652 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
5653
9bfbc1eb
RG
56542011-03-21 Richard Guenther <rguenther@suse.de>
5655
5656 PR lto/48210
5657 * params.def (lto-partitions): Require at least 1 partition.
5658
a2268084
RO
56592011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5660
5661 * gthr-solaris.h: Remove.
5662 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
5663 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
5664 (LIB_SPEC): Likewise.
5665 * config/sol2.opt (threads): Remove.
9e43ad68 5666 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
5667 (sparc*-*-solaris2*): Likewise.
5668 * configure.ac (enable_threads): Enable solaris support.
5669 * configure: Regenerate.
9e43ad68 5670 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
5671 * doc/install.texi (Configuration, --enable-threads=lib): Remove
5672 solaris.
5673
c43d9a1b
RO
56742011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5675
5676 * config.gcc: Obsolete *-*-solaris2.8*.
5677 * doc/install.texi (Specific, *-*-solaris2*): Document it.
5678
084239f4
RO
56792011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5680
5681 PR bootstrap/48135
5682 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
5683 reference. Solaris 8 perl works.
5684
64cadbe7
RO
56852011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5686
5687 PR bootstrap/48135
5688 * doc/install.texi (Prerequisites): Move jar etc. up.
5689 Explain support library version requirements.
5690
eb975109
RO
56912011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5692
5693 PR bootstrap/48135
5694 * doc/install.texi (Prerequisites): Move Perl to build
5695 requirements. Always necessary on Solaris 2 with Sun ld.
5696
8a509ffd
RO
56972011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5698
5699 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
5700 binutils 2.21.
5701 (Specific, i?86-*-solaris2.[89]): Likewise.
5702 (Specific, i?86-*-solaris2.10): Likewise.
5703 (Specific, mips-sgi-irix6): Likewise.
5704 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
5705 Update for binutils 2.21.
5706
8fbc58a1
RO
57072011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5708
5709 * configure.ac (gcc_cv_lto_plugin): Fix typo.
5710 Allow -fuse-linker-plugin for non-default plugin linker.
5711 * configure: Regenerate.
5712
7e84ad0b
NP
57132011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
5714
5715 PR bootstrap/48167
5716 * gengtype.c (files_rules): Added rule for cp/parser.h.
5717
2f36e14b
JJ
57182011-03-21 Jakub Jelinek <jakub@redhat.com>
5719
5720 PR target/48213
5721 * config/s390/s390.c (s390_delegitimize_address): Don't call
5722 lowpart_subreg if orig_x has BLKmode.
5723
62d784f7
KT
57242011-03-21 Kai Tietz <ktietz@redhat.com>
5725
5726 PR target/12171
9e43ad68
UB
5727 * doc/plugins.texi: Adjust documentation for plugin register_callback.
5728 * tree.h (attribute_spec): Add new member affects_type_identity.
5729 * attribs.c (empty_attribute_table): Adjust attribute_spec
5730 initializers.
62d784f7
KT
5731 * config/alpha/alpha.c: Likewise.
5732 * config/arc/arc.c: Likewise.
5733 * config/arm/arm.c: Likewise.
5734 * config/avr/avr.c: Likewise.
5735 * config/bfin/bfin.c: Likewise.
5736 * config/crx/crx.c: Likewise.
5737 * config/darwin.h: Likewise.
5738 * config/h8300/h8300.c: Likewise.
5739 * config/i386/cygming.h: Likewise.
5740 * config/i386/i386.c: Likewise.
5741 * config/ia64/ia64.c: Likewise.
5742 * config/m32c/m32c.c: Likewise.
5743 * config/m32r/m32r.c: Likewise.
5744 * config/m68hc11/m68hc11.c: Likewise.
5745 * config/m68k/m68k.c: Likewise.
5746 * config/mcore/mcore.c: Likewise.
5747 * config/mep/mep.c: Likewise.
5748 * config/microblaze/microblaze.c: Likewise.
5749 * config/mips/mips.c: Likewise.
5750 * config/rs6000/rs6000.c: Likewise.
5751 * config/rx/rx.c: Likewise.
5752 * config/sh/sh.c: Likewise.
5753 * config/sol2.h: Likewise.
5754 * config/sparc/sparc.c: Likewise.
5755 * config/spu/spu.c: Likewise.
5756 * config/stormy16/stormy16.c: Likewise.
5757 * config/v850/v850.c: Likewise.
5758
54833ec0
CLT
57592011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
5760
5761 * simplify-rtx.c (simplify_binary_operation_1): Handle
5762 (xor (and A B) C) case when B and C are both constants.
5763
14a41392
MX
57642011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
5765
5766 * tree-dfa.c (add_referenced_var): Fix typo in comment.
5767
806c3492
EB
57682011-03-20 Eric Botcazou <ebotcazou@adacore.com>
5769
5770 PR bootstrap/48168
5771 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
5772
65e0a0f3
JJ
57732011-03-20 Jakub Jelinek <jakub@redhat.com>
5774
5775 PR rtl-optimization/48156
5776 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
5777 assume df and df_lr are not NULL.
5778
b6a75dda
RR
57792011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
5780
5781 PR debug/48023
5782 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
5783 between a call and its CALL_ARG_LOCATION note.
5784
5969b52d
KK
57852011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
5786
5787 PR debug/48178
5788 * config/sh/sh.c (find_barrier): Don't emit a constant pool
5789 between a call and its corresponding CALL_ARG_LOCATION note.
5790
f773c2bd
AS
57912011-03-19 Anatoly Sokolov <aesok@post.ru>
5792
5793 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
5794 instead of loop. Use HARD_REGISTER_NUM_P predicate.
5795 * haifa-sched.c (setup_ref_regs): Ditto.
5796 * caller-save.c (add_used_regs_1): Ditto.
5797 * dse.c (look_for_hardregs): Ditto.
5798 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
5799 * sched-rgn.c (check_live_1): Ditto.
5800
8bf872f9
JM
58012011-03-18 Joseph Myers <joseph@codesourcery.com>
5802
5803 * c-decl.c (diagnose_mismatched_decls): Give an error for
5804 redefining a typedef with variably modified type.
5805
ff8e2159
JM
58062011-03-18 Joseph Myers <joseph@codesourcery.com>
5807
5808 * c-decl.c (grokfield): Don't allow typedefs for structures or
5809 unions with no tag by default.
5810 * doc/extend.texi (Unnamed Fields): Update.
5811
16cc4440
UB
58122011-03-18 Uros Bizjak <ubizjak@gmail.com>
5813
5814 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
5815 Rewrite using indirect functions.
5816 (lwp_slwpcb): Ditto.
5817 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
5818 (avx_vinsertf128<mode>): Ditto.
5819
e101e12e
AK
58202011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5821
5822 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
5823 unspecs.
5824
4627c7fb
AK
58252011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5826
5827 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 5828 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 5829
2d36b47f
MK
58302011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
5831
5832 PR rtl-optimization/48170
5833 * gcse.c (hoist_code): Remove bogus asserts.
5834
2a3d7659
JL
58352011-03-18 Georg-Johann Lay <avr@gjlay.de>
5836
5837 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
5838 computation for prologue/epilogue.
5839
34c3ef05
RO
58402011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5841
5842 * Makefile.in (check-consistency): Remove.
5843
81f2b976
JJ
58442011-03-18 Jakub Jelinek <jakub@redhat.com>
5845
5846 PR debug/48176
5847 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
5848 arange_table_in_use is 0, but either text_section_used or
5849 cold_text_section_used is true. Don't call it if
5850 !info_section_emitted.
5851
68fd7765
AS
58522011-03-18 Anatoly Sokolov <aesok@post.ru>
5853
5854 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
5855 FUNCTION_VALUE_REGNO_P): Remove.
5856 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
5857 Remove.
5858 * config/avr/avr.c (avr_ret_register): Make static inline.
5859 (avr_function_value_regno_p): New function.
5860 (avr_libcall_value): Make static. Add 'func' argument.
5861 (avr_function_value): Make static. Rename 'func' argument to
5862 'fn_decl_or_type', forward it to avr_libcall_value. Call
5863 avr_ret_register function instead of RET_REGISTER macro.
5864 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
5865
b4ef8aac
JM
58662011-03-18 Jason Merrill <jason@redhat.com>
5867
5868 PR c++/23372
5869 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
5870
09a52fc3
RG
58712011-03-18 Richard Guenther <rguenther@suse.de>
5872
5873 * doc/install.texi (--enable-gold): Remove.
5874 (--with-plugin-ld): Document.
5875 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
5876
2a3d7659 58772011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
5878
5879 PR middle-end/47790
5880 * expr.c (optimize_bitfield_assignment_op): Revamp to work
5881 again after expansion changes.
5882
2abbb0fe
CLT
58832011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
5884
5885 * combine.c (try_combine): Do simplification only call of
5886 subst() on i2 even when i1 is present. Update comments.
5887
2efd0aa6
KK
58882011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
5889
5890 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
5891 and UNSPEC_PCREL_SYMOFF.
5892
30a49b23
AK
58932011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5894
5895 * config/s390/s390.md: Use define_c_enum for the unspec constant
5896 definitions.
5897
419e1853
JJ
58982011-03-18 Richard Henderson <rth@redhat.com>
5899 Jakub Jelinek <jakub@redhat.com>
5900
5901 PR bootstrap/48161
5902 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
5903 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
5904
37875856
L
59052011-03-17 H.J. Lu <hongjiu.lu@intel.com>
5906
5907 PR middle-end/47725
5908 * combine.c (cant_combine_insn_p): Don't check zero/sign
5909 extended hard registers.
5910
76069764
L
59112011-03-17 H.J. Lu <hongjiu.lu@intel.com>
5912
5913 PR middle-end/47725
5914 * combine.c (cant_combine_insn_p): Check zero/sign extended
5915 hard registers.
5916
24da2019
AS
59172011-03-17 Anatoly Sokolov <aesok@post.ru>
5918
5919 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
5920 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
5921 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
5922 Change return type to bool.
5923 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
5924
a82ff31f
JJ
59252011-03-17 Jakub Jelinek <jakub@redhat.com>
5926
8b29c87a
JJ
5927 PR debug/48163
5928 * var-tracking.c (prepare_call_arguments): If CALL target
5929 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
5930 pc instead of looking it up using cselib_lookup and use
5931 Pmode for it if x has VOIDmode.
5932 * dwarf2out.c (gen_subprogram_die): If also both first and
5933 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
5934
a82ff31f
JJ
5935 PR debug/48163
5936 * function.c (assign_parms): For data.passed_pointer parms
5937 use MEM of data.entry_parm instead of data.entry_parm itself
5938 as DECL_INCOMING_RTL.
5939 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
5940 also when passed and declared mode is the same, DECL_RTL
5941 is a MEM with pseudo as address and DECL_INCOMING_RTL is
5942 a MEM too.
5943
82ce305c
JL
59442011-03-16 Jeff Law <law@redhat.com>
5945
5946 PR rtl-optimization/37273
5947 * ira-costs.c (scan_one_insn): Detect constants living in memory and
5948 handle them like argument loads from stack slots. Do not double
5949 count memory for memory constants and argument loads from stack slots.
5950
fe58e02b
L
59512011-03-17 H.J. Lu <hongjiu.lu@intel.com>
5952
5953 PR debug/48160
5954 * var-tracking.c (prepare_call_arguments): Check SUBREG.
5955
6fc4dbc7
L
59562011-03-17 H.J. Lu <hongjiu.lu@intel.com>
5957
5958 PR target/48171
5959 * config/i386/i386.opt: Add Save to -mavx and -mfma.
5960
db3ed0b3
JJ
59612011-03-17 Jakub Jelinek <jakub@redhat.com>
5962
8054a389
JJ
5963 PR bootstrap/48153
5964 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
5965 if dwarf_strict.
5966 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
5967 Clear call_arg_locations and call_arg_loc_last always.
5968
db3ed0b3
JJ
5969 PR middle-end/48152
5970 * var-tracking.c (prepare_call_arguments): If argument needs to be
5971 passed by reference, adjust argtype and mode.
5972
1bce4ff3
RG
59732011-03-17 Richard Guenther <rguenther@suse.de>
5974
5975 PR middle-end/48134
5976 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
5977 a value make sure to fold the statement.
5978
7c71147d
CLT
59792011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
5980
5981 PR target/43872
5982 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
5983 return condition with !cfun->calls_alloca.
5984
0e1ee172
RG
59852011-03-17 Richard Guenther <rguenther@suse.de>
5986
5987 PR bootstrap/48148
5988 * lto-cgraph.c (input_overwrite_node): Clear the abstract
5989 origin for decls in other ltrans units.
5990 (input_varpool_node): Likewise.
5991
f8bce518
RG
59922011-03-17 Richard Guenther <rguenther@suse.de>
5993
5994 PR middle-end/48165
5995 * tree-object-size.c (compute_object_offset): Properly return
5996 the offset operand of MEM_REFs as sizetype.
5997
1b6fa860
JJ
59982011-03-17 Jakub Jelinek <jakub@redhat.com>
5999
dabd47e7
JJ
6000 PR rtl-optimization/48141
6001 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
6002 * dse.c: Include params.h.
6003 (active_local_stores_len): New variable.
6004 (add_wild_read, dse_step1): Clear it when setting active_local_stores
6005 to NULL.
6006 (record_store, check_mem_read_rtx): Decrease it when removing
6007 from the chain.
6008 (scan_insn): Likewise. Increase it when adding to chain, if it
6009 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
6010 set active_local_stores to NULL before the addition.
6011 * Makefile.in (dse.o): Depend on $(PARAMS_H).
6012
1b6fa860
JJ
6013 PR rtl-optimization/48141
6014 * dse.c (record_store): If no positions are needed in an insn
6015 that cannot be deleted, at least unchain it from active_local_stores.
6016
7b5cb7d6
DS
60172011-03-16 Dodji Seketeli <dodji@redhat.com>
6018
6019 PR debug/47510
6020 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
6021 (lookup_type_die_strip_naming_typedef): ... here.
6022 (get_context_die): Use it.
6023 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
6024 the anonymous struct named by the naming typedef.
6025
585e9d9d
L
60262011-03-16 H.J. Lu <hongjiu.lu@intel.com>
6027
6028 PR target/48154
6029 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
6030 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
6031
6261ab0e
JL
60322011-03-16 Jeff Law <law@redhat.com>
6033
6034 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 6035 check for operands of conditional. Allow type to be a pointer.
6261ab0e 6036
0b0081ec
RG
60372011-03-16 Richard Guenther <rguenther@suse.de>
6038
6039 PR tree-optimization/48149
6040 * fold-const.c (fold_binary_loc): Fold
6041 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
6042
64a3d647
RG
60432011-03-16 Richard Guenther <rguenther@suse.de>
6044
6045 PR tree-optimization/26134
6046 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
6047 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
6048 (non_rewritable_mem_ref_base): Handle complex type component
6049 accesses, constrain offsets for vector and complex extracts
6050 more properly.
6051
ef13324e
RG
60522011-03-16 Richard Guenther <rguenther@suse.de>
6053
6054 PR tree-optimization/48146
6055 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
6056 operands avoiding the need for renaming.
6057
f0eddb90
RG
60582011-03-16 Richard Guenther <rguenther@suse.de>
6059
6060 * gimple-fold.c (maybe_fold_reference): Open-code relevant
6061 constant folding. Move MEM_REF canonicalization first.
6062 Rely on fold_const_aggregate_ref for initializer folding.
6063 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
6064
e42348b8
JJ
60652011-03-16 Jakub Jelinek <jakub@redhat.com>
6066
29f10e71
JJ
6067 PR middle-end/48136
6068 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
6069 arg0/arg1 or their arguments are always fold converted to matching
6070 types.
6071
e42348b8
JJ
6072 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
6073 to nargs.
6074
55b46574
RO
60752011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6076
6077 PR lto/46944
6078 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
6079 Handle in-tree gold.
6080 (ld_vers): Extract binutils version for gold.
6081 (gcc_cv_ld_hidden): Handle gold here.
6082 (gcc_cv_lto_plugin): Determine level of linker plugin support.
6083 * configure: Regenerate.
6084 * config.in: Regenerate.
6085 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
6086 -fuse-linker-plugin otherwise.
6087 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
6088 (LINK_COMMAND_SPEC): Use it.
6089 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
6090
2b1c5433
JJ
60912011-03-16 Jakub Jelinek <jakub@redhat.com>
6092
c2969d8e
JJ
6093 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
6094 * calls.c: Remove debug.h include.
6095 (emit_call_1): Don't call virtual_call_token debug hook.
6096 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
6097 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
6098 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
6099 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
6100 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
6101 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
6102 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
6103 dwarf2out_virtual_call): Remove.
6104 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
6105 copy_call_info and virtual_call hooks.
6106 (dwarf2out_init): Don't initialize vcall_insn_table,
6107 debug_dcall_section and debug_vcall_section.
6108 (prune_unused_types): Don't mark nodes from dcall_table.
6109 (dwarf2out_finish): Don't output dcall or vcall tables.
6110 * final.c (final_scan_insn): Don't call direct_call or
6111 virtual_call debug hooks.
6112 * debug.h (struct gcc_debug_hooks): Remove direct_call,
6113 virtual_call_token, copy_call_info and virtual_call hooks.
6114 (debug_nothing_uid): Remove prototype.
6115 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
6116 copy_call_info and virtual_call hooks.
6117 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
6118 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
6119 * debug.c (do_nothing_debug_hooks): Likewise.
6120 (debug_nothing_uid): Remove.
6121 * doc/invoke.texi (-fenable-icf-debug): Remove.
6122 * common.opt (-fenable-icf-debug): Likewise.
6123
325f5379
JJ
6124 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
6125 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
6126 call's MEM. Handle functions returning aggregate through a hidden
6127 first pointer. For virtual calls add clobbered pc to call arguments
6128 chain.
6129 * dwarf2out.c (gen_subprogram_die): Emit
6130 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
6131 can't be emitted.
6132
a58a8e4b
JJ
6133 PR debug/45882
6134 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
6135 * rtl.h (ENTRY_VALUE_EXP): Define.
6136 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
6137 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
6138 * print-rtl.c (print_rtx): Likewise.
6139 * gengtype.c (adjust_field_rtx_def): Likewise.
6140 * var-tracking.c (vt_add_function_parameter): Adjust
6141 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
6142 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
6143 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
6144 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
6145 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
6146
2b1c5433
JJ
6147 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
6148 Call var_location debug hook even on CALL_INSNs.
6149 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
6150 * rtl.def (ENTRY_VALUE): New.
6151 * dwarf2out.c: Include cfglayout.h.
6152 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
6153 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
6154 (struct call_arg_loc_node): New type.
6155 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
6156 tail_call_site_count): New variables.
6157 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
6158 DW_TAG_GNU_call_site_parameter.
6159 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
6160 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
6161 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
6162 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
6163 and DW_AT_GNU_all_source_call_sites.
6164 (mem_loc_descriptor): Handle ENTRY_VALUE.
6165 (add_src_coords_attributes): Don't add enything if
6166 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
6167 (dwarf2out_abstract_function): Save and clear call_arg_location,
6168 call_site_count and tail_call_site_count around dwarf2out_decl call.
6169 (gen_call_site_die): New function.
6170 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
6171 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
6172 (dwarf2out_function_decl): Clear call_arg_locations,
6173 call_arg_loc_last, set call_site_count and tail_call_site_count
6174 to -1 and free block_map.
6175 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
6176 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
6177 followed by any real instructions.
6178 (dwarf2out_begin_function): Set call_site_count and
6179 tail_call_site_count to 0.
6180 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
6181 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
6182 attempt to force a DIE for it and worst case remove the attribute.
6183 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
6184 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
6185 the decl itself.
6186 * var-tracking.c: Include tm_p.h.
6187 (vt_stack_adjustments): For calls call note_register_arguments.
6188 (argument_reg_set): New variable.
6189 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
6190 ensure the VALUE is resolved.
6191 (call_arguments): New variable.
6192 (prepare_call_arguments): New function.
6193 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
6194 (struct expand_loc_callback_data): Add ignore_cur_loc field.
6195 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
6196 always use the best expression.
6197 (vt_expand_loc): Add ignore_cur_loc argument.
6198 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
6199 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
6200 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
6201 note for all calls.
6202 (vt_add_function_parameter): Use cselib_lookup_from_insn.
6203 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
6204 argument. Don't call cselib_preserve_only_values and
6205 cselib_reset_table.
6206 (note_register_arguments): New function.
6207 (vt_initialize): Compute argument_reg_set. Call
6208 vt_add_function_parameters before processing basic blocks instead of
6209 afterwards. For calls call prepare_call_arguments before calling
6210 cselib_process_insn.
6211 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
6212 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
6213 (var-tracking.o): Depend on $(TM_P_H).
6214 * cfglayout.h (insn_scope): New prototype.
6215 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
6216 * cfglayout.c (insn_scope): No longer static.
6217 * insn-notes.def (CALL_ARG_LOCATION): New.
6218 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
6219 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
6220 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
6221 nothing for DECL_EXTERNAL BLOCK_VARS.
6222
9ef13bd0
AM
62232011-03-16 Alan Modra <amodra@gmail.com>
6224
6225 PR target/45844
6226 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
6227 create invalid offset address for vsx splat insn.
6228 * config/rs6000/predicates.md (splat_input_operand): New.
6229 * config/rs6000/vsx.md (vsx_splat_*): Use it.
6230
56b67510
XDL
62312011-03-15 Xinliang David Li <davidxl@google.com>
6232
6233 PR c/47837
6234 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
6235 (normalize_preds): New function.
6236 (is_use_properly_guarded): Normalize def predicates.
6237
80fffdef
RR
62382011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
6239
732f37c6 6240 PR target/46788
80fffdef
RR
6241 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
6242 in the output template.
6243
930672ad
RG
62442011-03-15 Richard Guenther <rguenther@suse.de>
6245
6246 PR middle-end/47650
6247 * tree-pretty-print.c (dump_function_declaration): Properly
6248 dump unprototyped and varargs function types.
6249
c7ee7b45
RG
62502011-03-15 Richard Guenther <rguenther@suse.de>
6251
6252 PR tree-optimization/13954
6253 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
6254 and friends.
6255
b2ad5e37
RG
62562011-03-15 Richard Guenther <rguenther@suse.de>
6257
6258 PR tree-optimization/48037
6259 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
6260 selects into BIT_FIELD_REFs.
6261 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
6262 vector select.
6263
7ee93d4e
JJ
62642011-03-15 Jakub Jelinek <jakub@redhat.com>
6265
6266 PR tree-optimization/48129
6267 * builtins.c (fold_builtin_snprintf): Convert to type of
6268 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
6269 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
6270
e106efc7
RG
62712011-03-15 Richard Guenther <rguenther@suse.de>
6272
6273 PR tree-optimization/41490
6274 * tree-ssa-dce.c (propagate_necessity): Handle returns without
6275 value but with VUSE.
6276 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
6277 return statements.
6278 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
6279 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
6280 * tree-tailcall.c (find_tail_calls): Ignore returns.
6281
17dea42f
RG
62822011-03-15 Richard Guenther <rguenther@suse.de>
6283
6284 PR middle-end/48031
6285 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
6286 or variable-indexed array accesses when in gimple form.
6287
01c77a60
RG
62882011-03-15 Richard Guenther <rguenther@suse.de>
6289
16cc4440 6290 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 6291
77b0791e
AM
62922011-03-15 Alan Modra <amodra@gmail.com>
6293
6294 PR target/48032
6295 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
6296 presume symbol_refs without a symbol_ref_decl are suitably
6297 aligned, nor other trees we may see here. Handle anchor symbols.
6298 (legitimate_constant_pool_address_p): Comment. Add mode param.
6299 Check cmodel=medium addresses. Adjust all calls.
6300 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
6301 creating cmodel=medium optimized access to locals.
6302 * config/rs6000/constraints.md (R): Pass QImode to
6303 legitimate_constant_pool_address_p.
6304 * config/rs6000/predicates.md (input_operand): Pass mode to
6305 legitimate_constant_pool_address_p.
6306 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
6307 Update prototype.
6308
35f61ba4
MM
63092011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
6310
6311 PR target/48053
6312 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
6313 64-bit constants being loaded into registers other than GPRs such
6314 as loading 0 into a VSX register.
6315
07332e6d
RO
63162011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6317
16cc4440 6318 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 6319
de888d90
JJ
63202011-03-14 Jakub Jelinek <jakub@redhat.com>
6321
ba3ceb2d
JJ
6322 PR middle-end/47917
6323 * builtins.c (fold_builtin_snprintf): New function.
6324 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
6325 (fold_builtin_4): Likewise.
6326
2e64f8b8
JJ
6327 PR middle-end/38878
6328 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
6329 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
6330 and C - X == X also strip nops from +/-/p+ operand.
6331 When optimizing -X == C, fold C to arg0's type.
6332
de888d90
JJ
6333 PR debug/47946
6334 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
6335 emit it as add_AT_int instead of add_AT_unsigned.
6336
63372011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
6338
6339 * unwind-dw2.c: Include sys/sdt.h if it exists.
6340 (_Unwind_DebugHook): Use STAP_PROBE2.
6341 * config.in, configure: Rebuild.
6342 * configure.ac: Check for sys/sdt.h.
6343
d34abfd2
UB
63442011-03-14 Uros Bizjak <ubizjak@gmail.com>
6345
6346 * config/i386/i386.md (ROUND_FLOOR): New constant.
6347 (ROUND_CEIL): Ditto.
6348 (ROUND_TRUNC): Ditto.
6349 (ROUND_MXCSR): Ditto.
6350 (ROUND_NO_EXC): Ditto.
6351 (rint<mode>2): Use new defines instead of numerical constants.
6352 (floor<mode>2): Ditto.
6353 (ceil<mode>2): Ditto.
6354 (btrunc<mode>2): Ditto.
6355 * config/i386/i386-builtin-types.def: Define ROUND function type
6356 aliases.
6357 * config/i386/i386.c (enum ix86_builtins): Add
6358 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
6359 (struct builtin_description): Add
6360 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
6361 (ix86_expand_sse_round): New static function.
6362 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
6363 function types.
6364 (ix86_builtin_vectorized_function): Handle
6365 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
6366
87f9e23d
TT
63672011-03-14 Tom Tromey <tromey@redhat.com>
6368
6369 * c-parser.c (c_parser_asm_string_literal): Clear
6370 warn_overlength_strings.
6371
b3ab9ea2
TT
63722011-03-14 Tom Tromey <tromey@redhat.com>
6373
6374 * c-parser.c (disable_extension_diagnostics): Save
6375 warn_overlength_strings.
6376 (restore_extension_diagnostics): Restore warn_overlength_strings.
6377
6bd73dd8
JJ
63782011-03-14 Jakub Jelinek <jakub@redhat.com>
6379
6380 * BASE-VER: Change to 4.7.0.
6381
7f4d6e1b
RG
63822011-03-14 Richard Guenther <rguenther@suse.de>
6383
6384 PR middle-end/48098
6385 * tree.c (build_vector_from_val): Adjust assert to requirements
6386 and reality.
6387
c6104ef1
JJ
63882011-03-14 Jakub Jelinek <jakub@redhat.com>
6389
6390 PR bootstrap/48102
d34abfd2 6391 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 6392
dfa95e19
AT
63932011-03-14 Andreas Tobler <andreast@fgznet.ch>
6394
f60c2554 6395 * config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP): Define in
dfa95e19
AT
6396 terms of target_flags_explicit. Adjust copyright year.
6397
6398 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
6399 * config/rs6000/t-freebsd: New file. Add override for
6400 LIB2FUNCS_EXTRA.
6401
bb322018
CD
64022011-03-13 Chris Demetriou <cgd@google.com>
6403
6404 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
6405 (-fno-diagnostics-show-option): this, to reflect current default.
6406 (-Werror=): Update text about -fno-diagnostics-show-option.
6407
12b1c80b
PB
64082011-03-12 Peter Bergner <bergner@vnet.ibm.com>
6409
6410 PR target/48053
6411 * config/rs6000/predicates.md (easy_vector_constant_add_self,
6412 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
6413 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
6414 mode is not V2DImode or V2DFmode.
6415 (vspltis_constant): Do not handle V2DImode and V2DFmode.
6416 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
6417 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
6418 registers to 0.
6419 (movdi_internal64): Likewise.
6420
57d598f7
SP
64212011-03-12 Sebastian Pop <sebastian.pop@amd.com>
6422
6423 PR tree-optimization/47127
6424 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
6425 parameter.
6426 (set_cloog_options): Same.
6427 (scop_to_clast): Same.
6428 (print_clast_stmt): Do not call cloog_state_malloc and
6429 cloog_state_free.
6430 (print_generated_program): Same.
6431 (gloog): Same.
6432 * graphite-clast-to-gimple.h (cloog_state): Declared.
6433 (scop_to_clast): Adjust declaration.
6434 * graphite.c (cloog_state): Defined here.
6435 (graphite_initialize): Call cloog_state_malloc.
6436 (graphite_finalize): Call cloog_state_free.
6437
f231b5ff
JM
64382011-03-11 Jason Merrill <jason@redhat.com>
6439
6440 * attribs.c (lookup_attribute_spec): Take const_tree.
6441 * tree.h: Adjust.
6442
6a4e2bd5
JM
64432011-03-11 Joseph Myers <joseph@codesourcery.com>
6444
6445 * config/sparc/sparc.c (sparc_option_override): Use
6446 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
6447
a758fd67
RG
64482011-03-11 Richard Guenther <rguenther@suse.de>
6449
6450 PR tree-optimization/48067
6451 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
6452 multiplication result will be only used once on the target
6453 stmt.
6454
03dfda54
RG
64552011-03-11 Richard Guenther <rguenther@suse.de>
6456
6457 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
6458
5f11a50a
RG
64592011-03-11 Richard Guenther <rguenther@suse.de>
6460
6461 PR lto/48073
6462 * tree.c (find_decls_types_r): Do not walk types only reachable
6463 from IDENTIFIER_NODEs.
6464
4074f163
JJ
64652011-03-11 Jakub Jelinek <jakub@redhat.com>
6466
6467 PR middle-end/48044
6468 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
6469 all vnode->force_output nodes as needed.
6470
30f7cdcd
JM
64712011-03-11 Jason Merrill <jason@redhat.com>
6472
6473 PR c++/48069
6474 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
6475 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
6476
62ecfeb8
MJ
64772011-03-11 Martin Jambor <mjambor@suse.cz>
6478
6479 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
6480 cgraph_node.
6481
e89e03ab
JJ
64822011-03-11 Jakub Jelinek <jakub@redhat.com>
6483
6484 PR tree-optimization/48063
6485 * ipa-inline.c (cgraph_decide_inlining): Don't try to
6486 inline functions called once if !tree_can_inline_p (node->callers).
6487
efbe978b 64882011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 6489
efbe978b
EB
6490 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
6491 extra_objs.
9d6193a7
CL
6492 * config/score/score3.c: Delete.
6493 * config/score/score3.h: Delete.
6494 * config/score/mul-div.S: Delete.
6495 * config/score/sfp-machine.h: Add new file.
6496 * config/score/constraints.md: Add new file.
6497 * config/score/t-score-softfp: Add new file.
efbe978b 6498 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
6499 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
6500 (score7_extra_constraint): Delete.
efbe978b 6501 (score7_option_override): Remove unused code.
9d6193a7
CL
6502 * config/score/score.c: Remove score3 and score5 define and code.
6503 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 6504 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
6505 * config/score/score.opt: Remove score3 and score5 options.
6506
5de27cca
JDA
65072011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6508
6509 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
6510 when _HPUX_SOURCE is defined.
6511 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
6512
18d92053
JM
65132011-03-10 Jason Merrill <jason@redhat.com>
6514
6515 PR c++/48029
6516 * stor-layout.c (layout_type): Don't set structural equality
6517 on arrays of incomplete type.
6518 * tree.c (type_hash_eq): Handle comparing them properly.
6519
67a2f76d
JJ
65202011-03-10 Jakub Jelinek <jakub@redhat.com>
6521
6522 PR debug/48043
18d92053 6523 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
6524 result mode matches original rtl mode.
6525
d845b2f9
NC
65262011-03-10 Nick Clifton <nickc@redhat.com>
6527
6528 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 6529 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 6530
db7ec035
JJ
65312011-03-09 Jakub Jelinek <jakub@redhat.com>
6532
6533 PR rtl-optimization/47866
6534 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
6535 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
6536 if target wasn't scalar.
6537 * function.c (assign_stack_temp_for_type): Assert that neither
6538 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
6539 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
6540 macro.
6541 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
6542
5d304e47
AK
65432011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6544
6545 * config/s390/s390-protos.h (s390_label_align): New prototype.
6546 * config/s390/s390.c (s390_label_align): New function.
6547 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
6548
93b826f0
MM
65492011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
6550
6551 PR target/47755
6552 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
6553 V2DI/V2DF constants. Only all 0's or all 1's are easy.
6554 (output_vec_const_move): Ditto.
6555
ef78aed6
AS
65562011-03-08 Anatoly Sokolov <aesok@post.ru>
6557
6558 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
6559 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
6560 * config/mips/mips.c (mips_preferred_reload_class): Make static.
6561 Change 'rclass' argument and result type to reg_class_t.
6562 (TARGET_PREFERRED_RELOAD_CLASS): Define.
6563
5f892aa0
GJL
65642011-03-08 Georg-Johann Lay <avr@gjlay.de>
6565
9e43ad68
UB
6566 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
6567 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
6568 (TARGET_MEMORY_MOVE_COST): Define.
6569 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 6570
32bd2409
JJ
65712011-03-08 Jakub Jelinek <jakub@redhat.com>
6572
530a4800
JJ
6573 PR debug/47881
6574 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
6575 removed anything.
6576
32bd2409
JJ
6577 PR tree-optimization/48022
6578 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
6579 for EQ/NE_EXPR.
6580
c7148991
JJ
65812011-03-07 Jakub Jelinek <jakub@redhat.com>
6582
6583 PR debug/47991
6584 * var-tracking.c (find_use_val): Return NULL for
6585 cui->sets && cui->store_p BLKmode MEMs.
6586
43070a6e
AS
65872011-03-07 Anatoly Sokolov <aesok@post.ru>
6588
6589 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
6590 Remove.
6591 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
6592 xstormy16_print_operand_address): Remove.
6593 * config/stormy16/stormy16.c (xstormy16_print_operand,
6594 xstormy16_print_operand_address): Make static.
6595 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
6596
efbe978b 65972011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
6598
6599 PR target/47862
6600 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
6601 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
6602 before definition.
6603
cec8ac0b
ZD
66042011-03-07 Zdenek Dvorak <ook@ucw.cz>
6605
6606 PR bootstrap/48000
6607 * cfgloopmanip.c (fix_bb_placements): Return immediately
6608 if FROM is BASE_LOOP's header.
6609
59527282
PW
66102011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
6611
6612 * gimplify.c (gimplify_function_tree): Fix building calls
6613 to __builtin_return_address.
6614
617718f7
AM
66152011-03-07 Alan Modra <amodra@gmail.com>
6616
6617 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
6618 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
6619 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
6620 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
6621 return_mode args.
6622 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
6623 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
6624 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
6625 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
6626 * config/rs6000/rs6000.c
6627 (rs6000_elf_end_indicate_exec_stack): Rename to..
6628 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
6629 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
6630 (rs6000_file_start): ..here.
6631 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
6632 file scope variables.
6633 (call_ABI_of_interest): New function.
6634 (init_cumulative_args): Set above vars when function return value
6635 is a float, vector, or small struct.
6636 (rs6000_function_arg_advance_1): Likewise for function args.
6637 (rs6000_va_start): Set rs6000_passes_float if variable arg function
6638 references float args.
6639
38528d50
MX
66402011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
6641
6642 * doc/cfg.texi: Remove "See" before @ref.
6643 * doc/invoke.texi: Likewise.
6644
f42cf4f4
JM
66452011-03-05 Jason Merrill <jason@redhat.com>
6646
6647 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
6648
804a304d
AG
66492011-03-05 Anthony Green <green@moxielogic.com>
6650
6651 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
6652
634ee309
ZD
66532011-03-05 Zdenek Dvorak <ook@ucw.cz>
6654
6655 PR rtl-optimization/47899
6656 * cfgloopmanip.c (fix_bb_placements): Fix first argument
6657 to flow_loop_nested_p when moving the loop upward.
6658
6fe471c8
RE
66592011-03-05 Richard Earnshaw <rearnsha@arm.com>
6660
6661 PR target/47719
6662 * arm.md (movhi_insn_arch4): Accept any immediate constant.
6663
cc58ceee
JJ
66642011-03-05 Jakub Jelinek <jakub@redhat.com>
6665
6666 PR tree-optimization/47967
6667 * ipa-cp.c (build_const_val): Return NULL instead of creating
6668 VIEW_CONVERT_EXPR for mismatching sizes.
6669 (ipcp_create_replace_map): Return NULL if build_const_val failed.
6670 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
6671 give up on versioning.
6672
ea868305
AM
66732011-03-05 Alan Modra <amodra@gmail.com>
6674
6675 PR target/47986
6676 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
6677 full cmodel medium/large lo_sum + high addresses.
6678
bc6ce334
AK
66792011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6680
6681 * config/s390/s390.c (s390_decompose_address): Reject non-literal
6682 pool references in UNSPEC_LTREL_OFFSET.
6683
87e7b310
JH
66842011-03-04 Jan Hubicka <jh@suse.cz>
6685
6686 PR lto/47497
6687 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
6688 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
6689 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
6690 Add node pointers.
87e7b310
JH
6691 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
6692 cgraph_add_thunk): Add node pointers.
6693 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
6694 associated to right node.
6695 (input_node): Update use of cgraph_same_body_alias
6696 and cgraph_add_thunk.
6697
d9c64246
CF
66982011-03-04 Changpeng Fang <changpeng.fang@amd.com>
6699
6700 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
6701 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
6702 modes when the flag -mprefer-avx128 is on.
d9c64246 6703
08707076
RS
67042011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
6705
6706 * dwarf2out.c (compare_loc_operands): Fix address handling.
6707
52517c81
AM
67082011-03-04 Alan Modra <amodra@gmail.com>
6709
6710 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
6711
b147c5b9
RG
67122011-03-04 Richard Guenther <rguenther@suse.de>
6713
6714 PR middle-end/47968
6715 * expmed.c (extract_bit_field_1): Prefer vector modes that
6716 vec_extract patterns can handle.
6717
8750672f
RG
67182011-03-04 Richard Guenther <rguenther@suse.de>
6719
6720 PR middle-end/47975
6721 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
6722
9eac0f2a
RH
67232011-03-04 Richard Henderson <rth@redhat.com>
6724
6725 * explow.c (emit_stack_save): Remove 'after' parameter.
6726 (emit_stack_restore): Likewise.
6727 * expr.h: Update to match.
6728 * builtins.c, calls.c, stmt.c: Likewise.
6729 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
6730 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
6731 * function.c (expand_function_end): Insert the emit_stack_save
6732 sequence before parm_birth_insn instead of after.
6733
dfee1406
UB
67342011-03-03 Uros Bizjak <ubizjak@gmail.com>
6735
6736 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
6737 (ssse3_pmaddubsw128): Ditto.
6738 (ssse3_pmaddubsw): Ditto.
6739
f1d4c3de
SE
67402011-03-03 Steve Ellcey <sje@cup.hp.com>
6741
6742 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
6743
71f3a3f5
JJ
67442011-03-03 Jakub Jelinek <jakub@redhat.com>
6745
423ed416
JJ
6746 PR c/47963
6747 * gimplify.c (omp_add_variable): Only call omp_notice_variable
6748 on TYPE_SIZE_UNIT if it is a DECL.
6749
71f3a3f5
JJ
6750 PR debug/47283
6751 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
6752 first operand is not is_gimple_mem_ref_addr, try to fold it.
6753 If the operand still isn't is_gimple_mem_ref_addr, clear
6754 MEM_EXPR on op0.
6755
4b1a5c0d
RG
67562011-03-03 Richard Guenther <rguenther@suse.de>
6757
6758 PR middle-end/47283
6759 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
6760 match comment.
6761 (refs_may_alias_p_1): For release branches return true if
6762 we are confused by our input.
6763
b46616fd
AK
67642011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6765
6766 * config/s390/s390.c (s390_function_value): Rename to ...
6767 (s390_function_and_libcall_value): ... this.
6768 (s390_function_value): New function.
6769 (s390_libcall_value): New function.
dfee1406 6770 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
6771 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
6772 target macro definitions.
6773 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
6774
46d8fabb
JM
67752011-03-02 Joseph Myers <joseph@codesourcery.com>
6776
6777 * config/i386/freebsd64.h (CC1_SPEC): Define.
6778 * config/i386/linux64.h (CC1_SPEC): Define.
6779 * config/i386/x86-64.h (CC1_SPEC): Don't define.
6780
6b1ce545
AS
67812011-03-02 Anatoly Sokolov <aesok@post.ru>
6782
6783 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
6784 Remove.
6785 * config/stormy16/stormy16.c: Include reload.h.
6786 (xstormy16_memory_move_cost): New function.
6787 (TARGET_MEMORY_MOVE_COST): Define.
6788
34161e98
RS
67892011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
6790
6791 PR rtl-optimization/47925
6792 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
6793 with side effects. Remove the more-specific check for volatile asms.
6794
f60a97cf
AM
67952011-03-02 Alan Modra <amodra@gmail.com>
6796
6797 PR target/47935
6798 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
6799 toc relative addresses for valid offsets.
6800
f2ca11ca
RG
68012011-03-01 Richard Guenther <rguenther@suse.de>
6802
6803 PR tree-optimization/47890
6804 * tree-vect-loop.c (get_initial_def_for_induction): Set
6805 related stmt properly.
6806
7a00d9ea
RG
68072011-03-01 Richard Guenther <rguenther@suse.de>
6808
6809 PR lto/47924
6810 * lto-streamer.c (lto_record_common_node): Also register
6811 the canonical type.
6812
06c7edcc
RG
68132011-03-01 Richard Guenther <rguenther@suse.de>
6814
6815 PR lto/46911
6816 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
6817 Do not stream DECL_ABSTRACT_ORIGIN.
6818 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
6819 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
6820 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
6821 Do not stream DECL_ABSTRACT_ORIGIN.
6822 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
6823 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
6824
998871e9
AS
68252011-02-28 Anatoly Sokolov <aesok@post.ru>
6826
6827 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
6828 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 6829 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
6830 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
6831 Add 'outgoing' argument.
6832 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
6833 function.
6834 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
6835 TARGET_FUNCTION_VALUE_REGNO_P): Define.
6836
94369251
KT
68372011-02-28 Kai Tietz <kai.tietz@onevision.com>
6838
6839 PR debug/28047
6840 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
6841 (lookup_filename): Likewise.
b2e2ea67 6842 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 6843
80a832cd
JJ
68442011-02-28 Bernd Schmidt <bernds@codesourcery.com>
6845 Jakub Jelinek <jakub@redhat.com>
6846
6847 PR middle-end/47893
6848 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
6849 (assign_stack_local_1): Change last argument type to int.
6850 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
6851 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 6852 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
6853 (assign_stack_local): Adjust caller.
6854 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
6855 of assign_stack_local, pass 0 as last argument.
6856 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
6857 callers.
6858
1b500976
JJ
68592011-02-28 Jakub Jelinek <jakub@redhat.com>
6860
f61c6f34
JJ
6861 PR debug/47283
6862 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
6863 Use target address_mode and pointer_mode hooks instead of hardcoded
6864 Pmode and ptr_mode. Handle some simple cases of extending if
6865 POINTERS_EXTEND_UNSIGNED < 0.
6866 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
6867 Call convert_debug_memory_address.
6868 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
6869 convert_debug_memory_address.
6870
1b500976
JJ
6871 PR middle-end/46790
6872 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
6873 * configure: Regenerated.
6874 * config.in: Regenerated.
6875 * varasm.c (default_function_section): Return NULL
b2e2ea67 6876 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 6877
2f2935b6
MJ
68782011-02-28 Martin Jambor <mjambor@suse.cz>
6879
6880 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
6881 the description to match the printed values.
6882
474086eb
RG
68832011-02-28 Richard Guenther <rguenther@suse.de>
6884
6885 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
6886 of the copied scope tree.
6887
15bf6f3a
RW
68882011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6889
6890 * doc/extend.texi (Function Attributes): Avoid deeply (and
6891 wrongly) nested tables.
6892
f6b439c9
JJ
68932011-02-27 Jakub Jelinek <jakub@redhat.com>
6894
6895 PR middle-end/47903
6896 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
6897 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
6898 r isn't op0 nor op1.
6899
1d8ca2c7
GJL
69002011-02-23 Georg-Johann Lay <avr@gjlay.de>
6901
6902 * config/avr/avr.md: Remove magic comment for emacs.
6903
593fca4b
GJL
69042011-02-23 Georg-Johann Lay <avr@gjlay.de>
6905
6906 PR target/45261
6907 * config/avr/avr.c (avr_option_override): Use error on bad options.
6908 (avr_help): New function.
6909 (TARGET_HELP): Define.
6910
6609216e
GJL
69112011-02-22 Georg-Johann Lay <avr@gjlay.de>
6912
6913 PR target/42240
6914 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
6915 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
6916
03d458af
GP
69172011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
6918
6919 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
6920 (ARM Options): Ditto.
6921 (i386 and x86-64 Options): Ditto.
6922 (RX Options): Ditto.
6923 (SPARC Options): Ditto.
6924
1c379b78
TC
69252011-02-26 Tijl Coosemans <tijl@coosemans.org>
6926
6927 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
6928 FreeBSD 6 and later. Generally use cpu generic.
6929
d5ed058c 69302011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 6931
d5ed058c
GP
6932 * doc/cpp.texi: Update copyright years.
6933
509d65dd 69342011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 6935
509d65dd 6936 PR target/46898
308d39cd
SB
6937 * config/lm32/lm32.md (ashrsi3): Added needed variable.
6938
509d65dd 69392011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 6940
509d65dd 6941 PR target/46898
308d39cd
SB
6942 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
6943 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
6944 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
6945 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 6946 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
6947 (gen_int_relational): Move declarations to start of function.
6948
822ba6d7
EB
69492011-02-25 Eric Botcazou <ebotcazou@adacore.com>
6950
6951 PR tree-optimization/45470
6952 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
6953 can throw internally only.
6954 * tree-vect-stmts.c (vectorizable_call): Likewise.
6955
ef795fc2
AS
69562011-02-24 Anatoly Sokolov <aesok@post.ru>
6957
6958 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
6959 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
6960 * config/stormy16/stormy16-protos.h
6961 (xstormy16_preferred_reload_class): Remove.
6962 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
6963 static. Change 'rclass' argument and return type to reg_class_t.
6964 (TARGET_PREFERRED_RELOAD_CLASS,
6965 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
6966
1c3277ee
RG
69672011-02-24 Richard Guenther <rguenther@suse.de>
6968
6969 * lto-streamer-in.c (input_bb): Do not find referenced vars
6970 in debug statements.
6971
67e18edb
JM
69722011-02-23 Jason Merrill <jason@redhat.com>
6973
6974 * common.opt (fabi-version): Document v5 and v6.
6975
b14fad9d
RG
69762011-02-23 Richard Guenther <rguenther@suse.de>
6977
6978 PR tree-optimization/47849
6979 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
6980
7fcf46f5
JZ
69812011-02-23 Jie Zhang <jie@codesourcery.com>
6982
6983 * opts-common.c (decode_cmdline_option): Print empty string
6984 argument as "" in decoded->orig_option_with_args_text.
6985 * gcc.c (execute): Print empty string argument as ""
6986 in the verbose output.
6987 (do_spec_1): Keep empty string argument.
6988
f85b70fd
NF
69892011-02-23 Nathan Froyd <froydnj@codesourcery.com>
6990
6991 * config.gcc: Declare score-* and crx-* obsolete.
6992
b152a615
JZ
69932011-02-23 Jie Zhang <jie@codesourcery.com>
6994
6995 PR rtl-optimization/47763
6996 * web.c (web_main): Ignore naked clobber when replacing register.
6997
bb6e77bc
AS
69982011-02-22 Anatoly Sokolov <aesok@post.ru>
6999
7000 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
7001 Remove.
7002
68bf6491
SP
70032011-02-22 Sebastian Pop <sebastian.pop@amd.com>
7004
7005 PR doc/47848
7006 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
7007
88ee1fc7
MS
70082011-02-22 Mike Stump <mikestump@comcast.net>
7009
7010 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
7011 assembler.
7012 * configure: Regenerate.
7013
6042d1dd
CLT
70142011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
7015
7016 PR rtl-optimization/46002
7017 * ira-color.c (update_copy_costs): Change class intersection
7018 test to reg_class_contents[] test of 'hard_regno'.
7019
7de97f9e
JM
70202011-02-21 Joseph Myers <joseph@codesourcery.com>
7021
7022 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
7023 than Driver option.
7024 * config/hpux11.opt (mt): Likewise.
7025 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
7026 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
7027 * config/vax/elf.opt (mno-asm-pic): Likewise.
7028 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
7029
d1d46f9f
MS
70302011-02-21 Mike Stump <mikestump@comcast.net>
7031
7032 PR target/47822
7033 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
7034 tree so we can get save the type.
7035 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
7036 for CFString instead of trying to use past the end of the builtins.
7037 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
7038 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
7039 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
7040 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
7041 Rename to darwin_builtin_cfstring.
7042 (darwin_init_cfstring_builtins): Return the built type.
7043
23e0d930
UB
70442011-02-21 Uros Bizjak <ubizjak@gmail.com>
7045
7046 PR target/47840
7047 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
7048 (_mm256_insert_epi64): Use _mm_insert_epi64.
7049
192997cf
AS
70502011-02-21 Anatoly Sokolov <aesok@post.ru>
7051
7052 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
7053 * config/stormy16/stormy16-protos.h
7054 (xstormy16_mode_dependent_address_p): Remove.
7055 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
7056 Make static. Change return type to bool. Change argument type to
7057 const_rtx. Remove dead code.
7058 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
7059
e292d003
RG
70602011-02-21 Richard Guenther <rguenther@suse.de>
7061
7062 PR lto/47820
7063 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
7064 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
7065 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
7066 TUs context.
23e0d930 7067 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
7068 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
7069
77f846e9
RG
70702011-02-20 Richard Guenther <rguenther@suse.de>
7071
7072 PR lto/47822
7073 * tree.c (free_lang_data_in_decl): Clean builtins from
7074 the TU decl BLOCK_VARS.
23e0d930 7075
b2cddfc8
AO
70762011-02-19 Alexandre Oliva <aoliva@redhat.com>
7077
7078 PR debug/47620
7079 PR debug/47630
7080 * haifa-sched.c (fix_tick_ready): Skip tick computation
7081 for debug insns.
7082
becf4c11
RG
70832011-02-19 Richard Guenther <rguenther@suse.de>
7084
7085 PR lto/47647
7086 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
7087 Remove lazy BLOCK_VARS streaming.
7088 (lto_input_ts_block_tree_pointers): Likewise.
7089 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
7090
27f98305
JM
70912011-02-19 Joseph Myers <joseph@codesourcery.com>
7092
7093 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
7094
064bf3f4
JM
70952011-02-19 Joseph Myers <joseph@codesourcery.com>
7096
7097 * config/i386/biarch32.h, config/i386/mach.h,
7098 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
7099
9215ddc3
JJ
71002011-02-19 Jakub Jelinek <jakub@redhat.com>
7101
7102 PR target/47800
7103 * config/i386/i386.md (peephole2 for shift and plus): Use
7104 operands[1] original mode in the first insn.
7105
8b021004
MS
71062011-02-18 Mike Stump <mikestump@comcast.net>
7107
65ded153 7108 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 7109
f84ae14c
JH
71102011-02-18 Jan Hubicka <jh@suse.cz>
7111
7112 PR middle-end/47788
65ded153
EB
7113 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
7114 to zero when the function is not inlinable at all.
f84ae14c 7115
eddabc80
JDA
71162011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7117
7118 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
7119 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
7120 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
7121 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
7122 * config/pa/t-pa64: Likewise.
7123 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7124
ca3da783
JJ
71252011-02-18 Jakub Jelinek <jakub@redhat.com>
7126
7127 PR driver/47787
7128 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
7129
430aa868
JDA
71302011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7131
7132 PR target/47792
7133 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
7134
4bf7ff7e
AS
71352011-02-18 Anatoly Sokolov <aesok@post.ru>
7136
7137 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
7138 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
7139 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
7140 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
7141 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
7142 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
7143 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
7144 m32r_load_postinc_p, m32r_store_preinc_predec_p,
7145 m32r_legitimate_address_p): New functions.
7146 * config/m32r/constraints.md (constraint "S"): Don't use
7147 STORE_PREINC_PREDEC_P.
7148 (constraint "U"): Don't use LOAD_POSTINC_P.
7149
7efcf910
CLT
71502011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
7151
7152 PR rtl-optimization/46178
7153 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
7154 compute ira_hard_regno_cover_class[].
7155
237d6259
RG
71562011-02-18 Richard Guenther <rguenther@suse.de>
7157
7158 PR lto/47798
7159 * lto-streamer.h (lto_global_var_decls): Declare.
7160 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
7161 statics for global var processing.
7162
12d80acc
RG
71632011-02-18 Richard Guenther <rguenther@suse.de>
7164
7165 PR tree-optimization/47737
7166 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
7167 edge dominance check.
7168
abfea58d
JJ
71692011-02-18 Jakub Jelinek <jakub@redhat.com>
7170
7171 PR debug/47780
7172 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
7173 avoid invalid rtx sharing.
7174
f73c8882
GP
71752011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
7176
7177 * doc/cpp.texi (Obsolete Features): Add background on the
7178 origin of assertions.
7179
d764a8e6
IS
71802011-02-17 Iain Sandoe <iains@gcc.gnu.org>
7181
7182 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 7183 objc_abi == 2.
d764a8e6
IS
7184 * config/darwin.c (output_objc_section_asm_op): Added support for
7185 ABI v1 and v2.
7186 (is_objc_metadata): New.
7187 (darwin_objc2_section): New.
7188 (darwin_objc1_section): New.
7189 (machopic_select_section): Added support for ABI v1 and v2.
7190 (darwin_emit_objc_zeroed): New.
7191 (darwin_output_aligned_bss): Detect objc metadata and treat it
7192 appropriately.
7193 (darwin_asm_output_aligned_decl_common): Same.
7194 (darwin_asm_output_aligned_decl_local): Same.
7195 * config/darwin-sections.def: Updated for ABI v1 and v2.
7196 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
7197 compiling Objective-C code for the NeXT runtime, default to using
7198 ABI version 0 for 32-bit, and version 2 for 64-bit.
7199
0a8134ca
JM
72002011-02-17 Joseph Myers <joseph@codesourcery.com>
7201
7202 * common.opt (optimize_fast): New Variable.
7203 * opts.c (default_options_optimization): Use opts->x_optimize_fast
7204 instead of local variable ofast.
7205
0a256240
NP
72062011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
7207
7208 * doc/invoke.texi (fobjc-abi-version): Documented.
7209 (fobjc-nilcheck): Documented.
7210 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
7211 version.
7212
fa381cb2
JM
72132011-02-17 Joseph Myers <joseph@codesourcery.com>
7214
7215 PR driver/47390
7216 * common.opt (export-dynamic): New Driver option.
7217 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
7218
5437eaa6
JM
72192011-02-17 Joseph Myers <joseph@codesourcery.com>
7220
7221 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
7222
bb7e6d55
AO
72232011-02-17 Alexandre Oliva <aoliva@redhat.com>
7224 Jan Hubicka <jh@suse.cz>
7225
7226 PR debug/47106
7227 PR debug/47402
7228 * cfgexpand.c (account_used_vars_for_block): Remove.
7229 (estimated_stack_frame_size): Use referenced vars.
7230 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
7231 that were referenced in the original function. Test src_fn
7232 rather than cfun. Drop redundant get_var_ann.
7233 (setup_one_parameter): Drop redundant get_var_ann.
7234 (declare_return_variable): Likewise.
7235 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
7236 (copy_arguments_for_versioning): Drop redundant get_var_ann.
7237 * ipa-inline.c (compute_inline_parameters): Do not compute
7238 disregard_inline_limits here.
bb7e6d55
AO
7239 (compute_inlinable_for_current, pass_inlinable): New.
7240 (pass_inline_parameters): Require PROP_referenced_vars.
7241 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 7242 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
7243 (cgraph_analyze_function): Set .disregard_inline_limits.
7244 * tree-sra.c (convert_callers): Compute inliner parameters
7245 only for functions already in SSA form.
7246
f181a8a7
JM
72472011-02-17 Joseph Myers <joseph@codesourcery.com>
7248
7249 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
7250 -mlittle-endian-data.
7251
c6869789
JM
72522011-02-17 Joseph Myers <joseph@codesourcery.com>
7253
7254 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
7255 -mno-fpu, not -fpu and -no-fpu.
7256 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
7257 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
7258
fbf4bfd3
UB
72592011-02-17 Uros Bizjak <ubizjak@gmail.com>
7260
7261 PR target/43653
7262 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
7263 input reload with PLUS RTX.
7264
70be5dc7
JM
72652011-02-16 Joseph Myers <joseph@codesourcery.com>
7266
7267 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
7268 of InverseVar(MDMX).
7269
30b1646e
JM
72702011-02-16 Joseph Myers <joseph@codesourcery.com>
7271
7272 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
7273 --m4-340.
7274
ab7b71e9
JM
72752011-02-16 Joseph Myers <joseph@codesourcery.com>
7276
7277 * config/mn10300/mn10300.opt (mno-crt0): New.
7278
466f3f08
JM
72792011-02-16 Joseph Myers <joseph@codesourcery.com>
7280
7281 * config/m68k/uclinux.opt (static-libc): New Driver option.
7282
8226cd7b
JM
72832011-02-16 Joseph Myers <joseph@codesourcery.com>
7284
7285 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
7286
45cab1d7
JM
72872011-02-16 Joseph Myers <joseph@codesourcery.com>
7288
7289 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
7290 %{muser-extend-enabled}.
7291
65aab64f
RG
72922011-02-16 Richard Guenther <rguenther@suse.de>
7293
7294 PR tree-optimization/47738
7295 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
7296 the TODO from tree_predictive_commoning.
7297
fc2fa4fb
JL
72982011-02-15 Jeff Law <law@redhat.com>
7299
7300 Revert
7301 2011-01-25 Jeff Law <law@redhat.com>
7302
7303 PR rtl-optimization/37273
7304 * ira-costs.c (scan_one_insn): Detect constants living in memory and
7305 handle them like argument loads from stack slots. Do not double
7306 count memory for memory constants and argument loads from stack slots.
7307
4e380b8e
L
73082011-02-15 H.J. Lu <hongjiu.lu@intel.com>
7309
7310 PR middle-end/47725
7311 * combine.c (cant_combine_insn_p): Revert the last change.
7312
e3a69bb4
MM
73132011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
7314
7315 PR target/47755
7316 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
7317 mode for vector constants. Remove code that checks for TImode.
7318
de650422
AO
73192011-02-15 Alexandre Oliva <aoliva@redhat.com>
7320
7321 PR debug/47106
7322 PR debug/47402
7323 * cgraph.h (compute_inline_parameters): Return void.
7324 * ipa-inline.c (compute_inline_parameters): Adjust.
7325
30925d94
AO
73262011-02-15 Alexandre Oliva <aoliva@redhat.com>
7327
7328 PR debug/47106
7329 PR debug/47402
7330 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
7331 rather than decl.
7332 * cfgexpand.c (estimated_stack_frame_size): Likewise.
7333 * ipa-inline.c (compute_inline_parameters): Adjust.
7334
1b9a784a
AO
73352011-02-15 Alexandre Oliva <aoliva@redhat.com>
7336
7337 PR debug/47106
7338 PR debug/47402
7339 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
7340 Adjust all users. Pass FN to...
7341 * tree-flow-inline.h (first_referenced_var): ... this. Add
7342 fn argument.
7343 * ipa-struct-reorg.c: Adjust.
7344 * tree-dfa.c: Adjust.
7345 * tree-into-ssa.c: Adjust.
7346 * tree-sra.c: Adjust.
7347 * tree-ssa-alias.c: Adjust.
7348 * tree-ssa-live.c: Adjust.
7349 * tree-ssa.c: Adjust.
7350 * tree-ssanames.c: Adjust.
7351 * tree-tailcall.c: Adjust.
7352
27c6b086
AO
73532011-02-15 Alexandre Oliva <aoliva@redhat.com>
7354
7355 PR debug/47106
7356 PR debug/47402
7357 * tree-flow.h (referenced_var_lookup): Add fn parameter.
7358 Adjust all callers.
7359 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
7360 * tree-flow-inline.h: Adjust.
7361 * gimple-pretty-print.c: Adjust.
7362 * tree-into-ssa.c: Adjust.
7363 * tree-ssa.c: Adjust.
7364 * cfgexpand.c: Adjust.
7365
679e8183
NF
73662011-02-15 Nathan Froyd <froydnj@codesourcery.com>
7367
fbf4bfd3
UB
7368 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
7369 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
7370 (EXTRA_CONSTRAINT): Delete.
7371 * config/iq2000/constraints.md: New file.
7372 * config/iq2000/iq2000.md: Include it.
679e8183
NF
7373 (define_insn ""): Delete.
7374 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
7375 unsupported constraint letters from patterns.
7376 (call_value, call_value_internal1): Likewise.
7377 (call_value_multiple_internal1): Likewise.
7378
a45d420a
NC
73792011-02-15 Nick Clifton <nickc@redhat.com>
7380
7381 * config/mn10300/mn10300.c: Include tm-constrs.h.
7382 (struct liw_data): New data structure describing an LIW candidate
7383 instruction.
7384 (extract_bundle): Use struct liw_data. Allow small integer
7385 operands for some instructions.
7386 (check_liw_constraints): Use struct liw_data. Remove swapped
7387 parameter. Add comments describing the checks. Fix bug when
7388 assigning the source of liw1 to the source of liw2.
7389 (liw_candidate): Delete. Code moved into extract_bundle.
7390 (mn10300_bundle_liw): Use struct liw_data. Check constraints
7391 before swapping.
7392 * config/mn10300/predicates.md (liw_operand): New predicate.
7393 Allows registers and small integer constants.
7394 * config/mn10300/constraints.md (O): New constraint. Accetps
7395 integers in the range -8 to +7 inclusive.
7396 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
7397 for moving a small integer into a register. Give this alternative
7398 LIW attributes.
7399 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
7400 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
7401 using the J,K,L and M constraints,
7402 (liw): Remove SI mode on second operands to allow for HI and QI
7403 mode values.
7404 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
7405 instruction.
7406
8a73faf1
L
74072011-02-15 H.J. Lu <hongjiu.lu@intel.com>
7408
7409 PR middle-end/47725
7410 * combine.c (cant_combine_insn_p): Check zero/sign extended
7411 hard registers.
7412
48feba28
RG
74132011-02-15 Richard Guenther <rguenther@suse.de>
7414
7415 PR tree-optimization/47743
7416 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
7417 for a non-type-compatible VN lookup bail out.
7418
ad1c1eeb
NF
74192011-02-15 Nathan Froyd <froydnj@codesourcery.com>
7420
7421 * config/fr30/constraints.md: New file.
7422 * config/fr30/fr30.md: Include it.
7423 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
7424 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
7425 (EXTRA_CONSTRAINT): Delete.
7426
49ac143d
NF
74272011-02-15 Nathan Froyd <froydnj@codesourcery.com>
7428
7429 * config/frv/constraints.md: New file.
7430 * config/frv/predicates.md: Include it.
7431 * config/frv/frv.c (reg_class_from_letter): Delete.
7432 (frv_option_override): Don't initialize it.
7433 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
7434 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
7435 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
7436 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
7437 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
7438 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
7439 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
7440 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
7441 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
7442 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
7443 (REG_CLASS_FROM_CONSTRAINT): Delete.
7444
c95f9494
JJ
74452011-02-15 Jakub Jelinek <jakub@redhat.com>
7446
7447 PR middle-end/47581
7448 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
7449 if frame size is 0 in a leaf function.
7450
13aed611
RO
74512011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7452
7453 PR pch/14940
7454 * config/alpha/host-osf.c: New file.
7455 * config/alpha/x-osf: New file.
7456 * config.host (alpha*-dec-osf*): Use it.
7457
b09c3081
AS
74582011-02-14 Anatoly Sokolov <aesok@post.ru>
7459
7460 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
7461 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
7462 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
7463 (rx_mode_dependent_address_p): ...this. Make static. Change argument
7464 type to const_rtx.
7465 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
7466
d634083b
NF
74672011-02-14 Nathan Froyd <froydnj@codesourcery.com>
7468
7469 * config/stormy16/constraints.md: New file.
7470 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
7471 Use satisfies_constraint_Q and satisfies_constraint_R.
7472 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
7473 Delete.
7474 (xstormy16_legitiamte_address_p): Declare.
7475 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
7476 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
7477 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 7478 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
7479 Un-staticize.
7480 (xstormy16_extra_constraint_p): Delete.
7481
c7dd803e
EB
74822011-02-14 Eric Botcazou <ebotcazou@adacore.com>
7483
7484 PR tree-optimization/46494
7485 * loop-unroll.c (split_edge_and_insert): Adjust comment.
7486 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
7487 (pass_rtl_loop_done): Add TODO_verify_flow.
7488 * fwprop.c (pass_rtl_fwprop): Likewise.
7489 * modulo-sched.c (pass_sms): Likewise.
7490 * tree-ssa-dom.c (pass_dominator): Likewise.
7491 * tree-ssa-loop-ch.c (pass_ch): Likewise.
7492 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
7493 (pass_tree_loop_done): Likewise.
7494 * tree-ssa-pre.c (execute_pre): Likewise.
7495 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
7496 * tree-ssa-sink.c (pass_sink_code): Likewise.
7497 * tree-vrp.c (pass_vrp): Likewise.
7498
c6150df6
NF
74992011-02-14 Nathan Froyd <froydnj@codesourcery.com>
7500
c7dd803e
EB
7501 * config/v850/constraints.md: New file.
7502 * config/v850/v850.md: Include it.
7503 * config/v850/predicates.md (reg_or_0_operand): Use
7504 satisfies_constraint_G.
7505 (special_symbolref_operand): Use satisfies_constraint_K.
7506 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
7507 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
7508 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
7509 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
7510 (EXTRA_CONSTRAINT): Delete.
7511 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
7512 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
7513 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 7514
30dd1ea3
AS
75152011-02-14 Anatoly Sokolov <aesok@post.ru>
7516
7517 PR target/47696
7518 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
7519 description.
7520
944f4bb3
NF
75212011-02-14 Nathan Froyd <froydnj@codesourcery.com>
7522
7523 * config/mcore/constraints.md: New file.
7524 * config/mcore/mcore.md: Include it.
7525 * config/mcore/mcore.c (reg_class_from_letter): Delete.
7526 * config/mcore/mcore.h (reg_class_from_letter): Delete.
7527 (REG_CLASS_FROM_LETTER): Delete.
7528 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
7529 insn_const_int_ok_for_constraint.
7530 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
7531 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
7532 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
7533 (EXTRA_CONSTRAINT): Delete.
7534
ad56a54c
RO
75352011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7536
7537 PR ada/41929
7538 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
7539 (IS_SIGHANDLER): Define.
7540 (sparc64_is_sighandler): New function, split off from
7541 sparc64_fallback_frame_state.
7542 (sparc_is_sighandler): New function, split off from
7543 sparc_fallback_frame_state.
7544 (sparc64_fallback_frame_state): Merge with ...
7545 (sparc_fallback_frame_state): ... this into ...
7546 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
7547 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
7548 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
7549 stack instead of hardcoded offsets.
ad56a54c 7550
fbf4bfd3 75512011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
7552
7553 PR target/45808
7554 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
7555
029c8f3e
RW
75562011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7557
7558 * configure: Regenerate.
7559
a016dc83
JM
75602011-02-12 Joseph Myers <joseph@codesourcery.com>
7561
7562 PR driver/45731
7563 * gcc.c (asm_options): Correct spec matching --target-help.
7564
8957a0ec
MJ
75652011-02-12 Martin Jambor <mjambor@suse.cz>
7566
7567 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
7568 to gimple call error.
7569
6ef828bc
MS
75702011-02-12 Mike Stump <mikestump@comcast.net>
7571
7572 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
7573 comments in backslash regions.
7574
a4015be5
MS
75752011-02-12 Mike Stump <mikestump@comcast.net>
7576 Jakub Jelinek <jakub@redhat.com>
7577 Iain Sandoe <iains@gcc.gnu.org>
7578
7579 PR target/47324
7580 * dwarf2out.c (output_cfa_loc): When required, apply the
7581 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
7582 (output_loc_sequence): Likewise.
7583 (output_loc_operands_raw): Likewise.
7584 (output_loc_sequence_raw): Likewise.
7585 (output_cfa_loc): Likewise.
7586 (output_loc_list): Suppress register number adjustment when
7587 calling output_loc_sequence()
7588 (output_die): Likewise.
7589
5378dda2
AS
75902011-02-12 Anatoly Sokolov <aesok@post.ru>
7591
7592 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
7593 Remove macros.
7594 * config/xtensa/xtensa.c (xtensa_register_move_cost,
7595 xtensa_memory_move_cost): New functions.
7596 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
7597
f3d533d3
AO
75982011-02-12 Alexandre Oliva <aoliva@redhat.com>
7599
7600 PR lto/47225
7601 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
7602 in the current directory.
7603 * configure: Rebuilt.
7604
9d53403c
IS
76052011-02-12 Iain Sandoe <iains@gcc.gnu.org>
7606
7607 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 7608 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
7609 correct indents of the preceding block.
7610
a350a6c8
IS
76112011-02-12 Iain Sandoe <iains@gcc.gnu.org>
7612
7613 * gcc.c (driver_handle_option): Concatenate the argument to -F with
7614 the switch.
7615
bab79a40
JM
76162011-02-11 Joseph Myers <joseph@codesourcery.com>
7617
7618 * common.opt (nostartfiles): New Driver option.
7619
1bbc6693
XDL
76202011-02-11 Xinliang David Li <davidxl@google.com>
7621
7622 PR tree-optimization/47707
7623 * tree-chrec.c (convert_affine_scev): Keep type precision.
7624
1da7d8c0
EB
76252011-02-11 Eric Botcazou <ebotcazou@adacore.com>
7626
7627 PR tree-optimization/47420
7628 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
7629
76302011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
7631
7632 PR rtl-optimization/47614
7633 * rtl.h (check_for_inc_dec): Declare.
7634 * dse.c (check_for_inc_dec): Externalize...
7635 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
7636 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
7637
4df47bca
JM
76382011-02-11 Joseph Myers <joseph@codesourcery.com>
7639
7640 PR driver/47678
7641 * gcc.c (main): Do not compile inputs if there were errors in
7642 option handling.
7643 * opts-common.c (read_cmdline_option): Check for wrong language
7644 after other error checks.
7645
61502ca8
NF
76462011-02-11 Nathan Froyd <froydnj@codesourcery.com>
7647
7648 * cgraph.c: Fix comment typos.
7649 * cgraph.h: Likewise.
7650 * cgraphunit.c: Likewise.
7651 * ipa-cp.c: Likewise.
7652 * ipa-inline.c: Likewise.
7653 * ipa-prop.c: Likewise.
7654 * ipa-pure-const.c: Likewise.
7655 * ipa-ref.c: Likewise.
7656 * ipa-reference.c: Likewise.
7657
b63f974e
JJ
76582011-02-11 Jakub Jelinek <jakub@redhat.com>
7659
d50c5e0c
JJ
7660 PR debug/47684
7661 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 7662
6dd2a13c
RO
76632011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7664
7665 PR testsuite/47400
7666 * doc/sourcebuild.texi (Require Support): Document
7667 dg-require-ascii-locale.
7668
4a087ccf
MX
76692011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
7670
7671 * doc/lto.texi (Write summary): Fix missing parentheses.
7672
a4403164
DD
76732011-02-10 DJ Delorie <dj@redhat.com>
7674
7675 * config/m32c/m32c.c (m32c_option_override): Disable
7676 -fcombine-stack-adjustments until flag value tracking and compare
7677 optimization can be rewritten.
7678
4fac45bd
PB
76792011-02-10 Peter Bergner <bergner@vnet.ibm.com>
7680
7681 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
7682 PROCESSOR_POWER7.
7683 (PROCESSOR_DEFAULT64): Likewise.
7684
72602cd1
RH
76852011-02-10 Richard Henderson <rth@redhat.com>
7686
7687 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
7688 change from 2011-02-03.
7689 * config/rx/rx.c (flags_from_code): Likewise.
7690 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
7691 is valid, n/pz otherwise.
7692 (rx_select_cc_mode): Return CCmode if Y is not zero.
7693
ea57f573
RG
76942011-02-10 Richard Guenther <rguenther@suse.de>
7695
ea4c3e65 7696 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 7697
92b1d23b
RG
76982011-02-10 Richard Guenther <rguenther@suse.de>
7699
7700 PR tree-optimization/47677
7701 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
7702
525a2d06
JJ
77032011-02-10 Jakub Jelinek <jakub@redhat.com>
7704
7705 PR target/47665
7706 * combine.c (make_compound_operation): Only change shifts into
7707 multiplication for SCALAR_INT_MODE_P.
7708
06c969bd
JZ
77092011-02-10 Jie Zhang <jie@codesourcery.com>
7710
7711 PR testsuite/47622
7712 Revert
7713 2011-02-05 Jie Zhang <jie@codesourcery.com>
7714 PR debug/42631
7715 * web.c (entry_register): Don't clobber the number of the
7716 first uninitialized reference in used[].
7717
282ec48e
RG
77182011-02-09 Richard Guenther <rguenther@suse.de>
7719
7720 PR tree-optimization/47664
7721 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
7722 all edges again.
7723
df98c3e8
DE
77242011-02-09 David Edelsohn <dje.gcc@gmail.com>
7725
d0f21cd6
DE
7726 PR target/46481
7727 PR target/47032
df98c3e8
DE
7728 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
7729 PROCESSOR_POWER7.
7730 (PROCESSOR_DEFAULT64): Same.
7731 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
7732
67b6839f
RO
77332011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7734
7735 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
7736
4fd73214
MJ
77372011-02-09 Martin Jambor <mjambor@suse.cz>
7738
7739 PR middle-end/45505
7740 * tree-sra.c (struct access): New flags grp_scalar_read and
7741 grp_scalar_write. Changed description of assignment read and write
7742 flags.
7743 (dump_access): Dump new flags, reorder all of them.
7744 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
7745 to detect multiple scalar reads.
7746 (analyze_access_subtree): Use the new scalar read write flags instead
7747 of the old flags. Adjusted comments.
7748
91140cd3
DD
77492011-02-08 DJ Delorie <dj@redhat.com>
7750
7751 PR target/47548
7752 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
7753 patterns.
7754
4254bbfe
JM
77552011-02-08 Joseph Myers <joseph@codesourcery.com>
7756
7757 * config/m68k/uclinux.opt: New.
7758 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
7759
f1fda84e
JM
77602011-02-08 Joseph Myers <joseph@codesourcery.com>
7761
7762 * config/cris/elf.opt (sim): New Driver option.
7763
4933ae74
JM
77642011-02-08 Joseph Myers <joseph@codesourcery.com>
7765
7766 * config/xtensa/elf.opt: New.
7767 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
7768
4ad70280
JM
77692011-02-08 Joseph Myers <joseph@codesourcery.com>
7770
7771 * config/vax/elf.opt: New.
7772 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
7773
20893707
JM
77742011-02-08 Joseph Myers <joseph@codesourcery.com>
7775
7776 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
7777
b8e7038e
JM
77782011-02-08 Joseph Myers <joseph@codesourcery.com>
7779
7780 * config/gnu-user.opt: New.
7781 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
7782 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
7783 *-*-uclinux*): Use gnu-user.opt.
7784
e1c5225a
TS
77852011-02-08 Thomas Schwinge <thomas@schwinge.name>
7786
7787 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
7788 * config/i386/gnu.h (CPP_SPEC): Likewise.
7789
5e46b0c6
ILT
77902011-02-08 Ian Lance Taylor <iant@google.com>
7791
7792 * common.opt (fcx-limited-range): Add SetByCombined flag.
7793 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
7794 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
7795 (fassociative-math, freciprocal-math): Likewise.
7796 (funsafe-math-optimizations): Likewise.
7797 * opth-gen.awk: Handle SetByCombined.
7798 * optc-gen.awk: Likewise.
ea4c3e65 7799 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
7800 (set_unsafe_math_optimizations_flags): Likewise.
7801 * doc/options.texi (Option properties): Document SetByCombined.
7802
32243d46
JM
78032011-02-08 Joseph Myers <joseph@codesourcery.com>
7804
7805 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
7806 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
7807 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
7808 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
7809 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
7810
479c1fb3
SP
78112011-02-08 Sebastian Pop <sebastian.pop@amd.com>
7812
7813 PR tree-optimization/46834
7814 PR tree-optimization/46994
7815 PR tree-optimization/46995
7816 * graphite-sese-to-poly.c (used_outside_reduction): New.
7817 (detect_commutative_reduction): Call used_outside_reduction.
7818 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
7819 translate_scalar_reduction_to_array only when at least one
7820 loop-phi/close-phi tuple has been detected.
7821
3865a06f
RG
78222011-02-08 Richard Guenther <rguenther@suse.de>
7823
7824 PR middle-end/47639
7825 * tree-vect-generic.c (expand_vector_operations_1): Update
7826 stmts here ...
7827 (expand_vector_operations): ... not here. Cleanup EH info
7828 and the CFG if required.
7829
62902f3f
RG
78302011-02-08 Richard Guenther <rguenther@suse.de>
7831
7832 PR tree-optimization/47641
7833 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
7834 require type compatibility.
7835
0efb9d64
AK
78362011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7837
7838 * gimple-low.c (lower_function_body): Don't remove the location of
7839 the return statement here.
7840 (lower_gimple_return): Do it here instead but only if the return
7841 statement is actually used twice.
7842
034b8ae4
RG
78432011-02-08 Richard Guenther <rguenther@suse.de>
7844
7845 PR tree-optimization/47632
7846 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
7847 unused up_to_stmt parameter, return whether cfg-cleanup is
7848 necessary, remove EH info properly.
7849 (forward_propagate_into_gimple_cond): Adjust caller.
7850 (forward_propagate_into_cond): Likewise.
7851 (forward_propagate_comparison): Likewise.
7852 (tree_ssa_forward_propagate_single_use_vars): Make
7853 forward_propagate_comparison case similar to the two others.
7854
298362c8
NC
78552011-02-08 Nick Clifton <nickc@redhat.com>
7856
7857 * config/mn10300/mn10300.opt (mliw): New command line option.
7858 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
7859 (liw_bundling): New automaton.
7860 (liw): New attribute.
7861 (liw_op): New attribute.
7862 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
7863 (movsi_internal): Add LIW attributes.
7864 (andsi3): Likewise.
7865 (iorsi3): Likewise.
7866 (xorsi3): Likewise.
7867 (addsi3): Separate register and immediate alternatives.
7868 Add LIW attributes.
7869 (subsi3): Likewise.
7870 (cmpsi): Likewise.
7871 (aslsi3): Likewise.
7872 (lshrsi3): Likewise.
7873 (ashrsi3): Likewise.
7874 (liw): New pattern.
7875 * config/mn10300/mn10300.c (liw_op_names): New
7876 (mn10300_print_operand): Handle 'W' operand descriptor.
7877 (extract_bundle): New function.
7878 (check_liw_constraints): New function.
7879 (liw_candidate): New function.
7880 (mn10300_bundle_liw): New function.
7881 (mn10300_reorg): New function.
7882 (TARGET_MACHINE_DEPENDENT_REORG): Define.
7883 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
7884 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
7885 __LIW__ or __NO_LIW__.
7886 * doc/invoke.texi: Describe the -mliw command line option.
7887
90488014
JDA
78882011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7889
7890 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
7891 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
7892 pthread_mutex_unlock): Remove.
7893 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
7894 * config/pa/t-pa64: Likewise.
7895 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
7896 shared libc if not linking against libpthread.
7897 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
7898
689ff841
IS
78992011-02-07 Iain Sandoe <iains@gcc.gnu.org>
7900
7901 PR target/47558
7902 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
7903 on 10.6 and later to ensure that we always use the unwinder from
7904 the system. Only add -no_compact_unwind when tarteting darwin
7905 10.6 or later.
7906
821014aa
SE
79072011-02-07 Steve Ellcey <sje@cup.hp.com>
7908
7909 PR target/46997
7910 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
7911 (vec_interleave_lowv2sf): Ditto.
7912 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
7913 (vec_extract_oddv2sf): Ditto.
7914
41cf94fb
MS
79152011-02-07 Mike Stump <mikestump@comcast.net>
7916
62dea57d 7917 PR target/42333
41cf94fb
MS
7918 Add __ieee_divdc3 entry point.
7919 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
7920 entry point.
7921 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
7922 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
7923 * config/darwin.c (darwin_rename_builtins): Add.
7924 * config/darwin-protos.h (darwin_rename_builtins): Add.
7925
ee09a3dd
MM
79262011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
7927
7928 PR target/47636
7929 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
7930 for the condition.
7931
83296cd0
MS
79322011-02-07 Mike Stump <mikestump@comcast.net>
7933
ea4c3e65 7934 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 7935
0f4e946f
DC
79362011-02-07 Denis Chertykov <chertykov@gmail.com>
7937
7938 PR target/47534
7939 * config/avr/libgcc.S (exit): Move .endfunc
7940
1ec87690
RG
79412011-02-07 Richard Guenther <rguenther@suse.de>
7942
7943 PR tree-optimization/47615
7944 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
7945 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
7946 (run_scc_vn): Initialize it.
7947 (visit_reference_op_load): Use it.
7948 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
7949
b46ae6da
UW
79502011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7951
7952 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
7953 DImode trapping arithmetic libfuncs.
7954
c0aae19c
RG
79552011-02-07 Richard Guenther <rguenther@suse.de>
7956
7957 PR tree-optimization/47621
7958 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
7959 two duplicates ...
7960 (execute_update_addresses_taken): ... here. Make it more
7961 conservative in what we accept.
7962
295d926b
JM
79632011-02-06 Joseph Myers <joseph@codesourcery.com>
7964
7965 * config/sparc/freebsd.h (ASM_SPEC): Define.
7966 * config/sparc/vxworks.h (ASM_SPEC): Define.
7967
bdeb2471
JM
79682011-02-06 Joseph Myers <joseph@codesourcery.com>
7969
7970 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
7971
d5d3781a
SB
79722011-02-06 Steven Bosscher <steven@gcc.gnu.org>
7973
7974 * doc/invoke.texi: Remove reference to compiler internals from
7975 user documentation.
7976
7977 * reg-notes.def: Remove REG_VALUE_PROFILE.
7978 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
7979
c42c09fc
JJ
79802011-02-05 Jakub Jelinek <jakub@redhat.com>
7981
7982 PR middle-end/47610
7983 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 7984 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 7985
beea2755
JZ
79862011-02-05 Jie Zhang <jie@codesourcery.com>
7987
7988 PR debug/42631
7989 * web.c (entry_register): Don't clobber the number of the
7990 first uninitialized reference in used[].
7991
a130584a
SP
79922011-02-04 Sebastian Pop <sebastian.pop@amd.com>
7993
7994 PR tree-optimization/46194
7995 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
7996 (build_classic_dist_vector_1): Do not represent classic distance
7997 vectors when the access functions are variating in different loops.
7998
962101ac
JM
79992011-02-04 Joseph Myers <joseph@codesourcery.com>
8000
8001 * config/mips/iris6.opt: New.
8002 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
8003
55eaaa5b
RH
80042011-02-04 Richard Henderson <rth@redhat.com>
8005 Steve Ellcey <sje@cup.hp.com>
8006
8007 PR target/46997
8008 * config/ia64/predicates.md (mux1_brcst_element): New.
8009 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
8010 * config/ia64/ia64.c (ia64_unpack_assemble): New.
8011 (ia64_unpack_sign): New.
8012 (ia64_expand_unpack): Rewrite using new routines.
8013 (ia64_expand_widen_sum): Ditto.
8014 (ia64_expand_dot_prod_v8qi): Ditto.
8015 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
8016 routines, add endian check.
8017 (pmpy2_even): Rename from pmpy2_r, add endian check.
8018 (pmpy2_odd): Rename from pmpy2_l, add endian check.
8019 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
8020 (vec_widen_smult_hi_v4hi): Ditto.
8021 (vec_widen_umult_lo_v4hi): Ditto.
8022 (vec_widen_umult_hi_v4hi): Ditto.
8023 (mulv2si3): Change endian checks.
8024 (sdot_prodv4hi): Rewrite with new calls.
8025 (udot_prodv4hi): New.
8026 (vec_pack_ssat_v4hi): Add endian check.
8027 (vec_pack_usat_v4hi): Ditto.
8028 (vec_pack_ssat_v2si): Ditto.
8029 (max1_even): Rename from max1_r, add endian check.
8030 (max1_odd): Rename from max1_l, add endian check.
8031 (*mux1_rev): Format change.
8032 (*mux1_mix): Ditto.
8033 (*mux1_shuf): Ditto.
8034 (*mux1_alt): Ditto.
8035 (*mux1_brcst_v8qi): Use new predicate.
8036 (vec_extract_evenv8qi): Remove endian check.
8037 (vec_extract_oddv8qi): Ditto.
8038 (vec_interleave_lowv4hi): Format change.
8039 (vec_interleave_highv4hi): Ditto.
8040 (mix2_even): Rename from mix2_r, add endian check.
8041 (mix2_odd): Rename from mux2_l, add endian check.
8042 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
8043 (vec_extract_evenodd_helper): Format change.
8044 (vec_extract_evenv4hi): Remove endian check.
8045 (vec_extract_oddv4hi): Remove endian check.
8046 (vec_interleave_lowv2si): Format change.
8047 (vec_interleave_highv2si): Format change.
8048 (vec_initv2si): Remove endian check.
8049 (vecinit_v2si): Add endian check.
8050 (reduc_splus_v2sf): Add endian check.
8051 (reduc_smax_v2sf): Ditto.
8052 (reduc_smin_v2sf): Ditto.
8053 (vec_initv2sf): Remove endian check.
8054 (fpack): Add endian check.
8055 (fswap): Add endian check.
8056 (vec_interleave_highv2sf): Add endian check.
8057 (vec_interleave_lowv2sf): Add endian check.
8058 (fmix_lr): Add endian check.
8059 (vec_setv2sf): Format change.
8060 (*vec_extractv2sf_0_be): Use shift to extract operand.
8061 (*vec_extractv2sf_1_be): New.
8062 (vec_pack_trunc_v4hi): Add endian check.
8063 (vec_pack_trunc_v2si): Format change.
8064
dcde5957
JJ
80652011-02-04 Jakub Jelinek <jakub@redhat.com>
8066
8067 PR inline-asm/23200
8068 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 8069 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
8070 (stmt_is_replaceable_p): New function.
8071 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
8072 callers.
8073 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
8074 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
8075 SSA_NAME_DEF_STMT.
8076 * tree-flow.h (stmt_is_replaceable_p): New prototype.
8077
a64a8e5a
JM
80782011-02-04 Joseph Myers <joseph@codesourcery.com>
8079
8080 * config/rs6000/xilinx.opt: New.
8081 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
8082
4da2ed2f
JM
80832011-02-04 Joseph Myers <joseph@codesourcery.com>
8084
8085 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
8086
a6e508f9
AS
80872011-02-03 Anatoly Sokolov <aesok@post.ru>
8088
8089 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
8090 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
8091 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
8092 secondary_reload_info, xtensa_secondary_reload): Remove.
8093 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
8094 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
8095 (xtensa_preferred_reload_class): Make static. Change return and
8096 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
8097 Use CONST_DOUBLE_P predicate.
8098 (xtensa_preferred_output_reload_class): New function.
8099 (xtensa_secondary_reload): Make static.
8100
82dc0de3
JM
81012011-02-03 Joseph Myers <joseph@codesourcery.com>
8102
8103 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
8104 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
8105 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
8106
7fece979
JJ
81072011-02-03 Jakub Jelinek <jakub@redhat.com>
8108
8109 PR middle-end/31490
8110 * output.h (SECTION_RELRO): Define.
8111 (SECTION_MACH_DEP): Adjust.
8112 (get_variable_section): New prototype.
8113 * varpool.c (varpool_finalize_named_section_flags): New function.
8114 (varpool_assemble_pending_decls): Call it.
8115 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
8116 * cgraphunit.c (cgraph_output_in_order): Call
8117 varpool_finalize_named_section_flags.
8118 * varasm.c (get_section): Allow section flags conflicts between
8119 relro and read-only sections if the section hasn't been declared yet.
8120 Set SECTION_OVERRIDE after diagnosing section type conflict.
8121 (get_variable_section): No longer static.
8122 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
8123 readonly sections that need relocations.
8124 (decl_readonly_section_1): New function.
8125 (decl_readonly_section): Use it.
8126
8127 Revert:
509d65dd 8128 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
8129 Steve Ellcey <sje@cup.hp.com>
8130
8131 PR middle-end/31490
8132 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
8133 if section attribute used.
8134
d18d5478
JJ
81352011-02-03 Jakub Jelinek <jakub@redhat.com>
8136
8137 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
8138 * config/darwin.c (SECTION_NO_ANCHOR): Define.
8139 (darwin_init_sections): Remove assertion.
8140
6479ed4b
NC
81412011-02-03 Nick Clifton <nickc@redhat.com>
8142
8143 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
8144 lt and ge.
38be4072 8145 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
8146 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
8147 instead of "n" and "pz".
8148 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
8149 CC_FLAG_S.
8150
89843f5d
JJ
81512011-02-03 Jakub Jelinek <jakub@redhat.com>
8152
65450d64
JJ
8153 PR target/47312
8154 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
8155 fma, expand FMA_EXPR as fma{,f,l} call.
8156
7d58701c
JJ
8157 PR lto/47274
8158 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
8159 copy them into a unsigned char variable and pass address of it to
8160 lto_output_data_stream.
8161
89843f5d
JJ
8162 PR target/47564
8163 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
8164 around backend_init_target and lang_dependent_init_target calls.
8165 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
8166 (verify_cgraph_node): Don't call set_cfun here. Use
8167 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
8168 Set error_found for incorrectly represented calls to thunks.
8169
4deef538
AO
81702011-02-03 Alexandre Oliva <aoliva@redhat.com>
8171
8172 PR debug/43092
8173 PR rtl-optimization/43494
8174 * rtl.h (for_each_inc_dec_fn): New type.
8175 (for_each_inc_dec): Declare.
8176 * rtlanal.c (struct for_each_inc_dec_ops): New type.
8177 (for_each_inc_dec_find_inc_dec): New fn.
8178 (for_each_inc_dec_find_mem): New fn.
8179 (for_each_inc_dec): New fn.
8180 * dse.c (struct insn_size): Remove.
8181 (replace_inc_dec, replace_inc_dec_mem): Remove.
8182 (emit_inc_dec_insn_before): New fn.
8183 (check_for_inc_dec): Use it, along with for_each_inc_dec.
8184 (canon_address): Pass mem modes to cselib_lookup.
8185 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
8186 (cselib_lookup_from_insn): Likewise.
8187 (cselib_subst_to_values): Likewise.
8188 * cselib.c (find_slot_memmode): New var.
8189 (cselib_find_slot): New fn. Use it instead of
8190 htab_find_slot_with_hash everywhere.
8191 (entry_and_rtx_equal_p): Use find_slot_memmode.
8192 (autoinc_split): New fn.
8193 (rtx_equal_for_cselib_p): Rename and implement in terms of...
8194 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
8195 Deal with autoinc. Special-case recursion into MEMs.
8196 (cselib_hash_rtx): Likewise.
8197 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
8198 address and MEM modes.
8199 (cselib_subst_to_values): Add memmode, pass it on.
8200 Deal with autoinc.
8201 (cselib_lookup): Add memmode argument, pass it on.
8202 (cselib_lookup_from_insn): Add memmode.
8203 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
8204 (struct cselib_record_autoinc_data): New.
8205 (cselib_record_autoinc_cb): New fn.
8206 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
8207 mode to cselib_lookup. Reset autoinced REGs here instead of...
8208 (cselib_process_insn): ... here.
8209 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
8210 to cselib_lookup.
8211 (add_uses): Likewise, also to cselib_subst_to_values.
8212 (add_stores): Likewise.
8213 * sched-deps.c (add_insn_mem_dependence): Pass mode to
8214 cselib_subst_to_values.
8215 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
8216 * gcse.c (do_local_cprop): Adjusted.
8217 * postreload.c (reload_cse_simplify_set): Adjusted.
8218 (reload_cse_simplify_operands): Adjusted.
8219 * sel-sched-dump (debug_mem_addr_value): Pass mode.
8220
1551d44a
AO
82212011-02-03 Alexandre Oliva <aoliva@redhat.com>
8222
8223 PR tree-optimization/45122
8224 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
8225 unsafe assumptions when there's more than one loop exit.
8226
c9485473
MM
82272011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
8228
8229 PR target/47272
8230 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
8231 Document using vector double with the load/store builtins, and
8232 that the load/store builtins always use Altivec instructions.
8233
8234 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
8235 to use altivec memory instructions, even on VSX.
8236 (vector_altivec_store_<mode>): Ditto.
8237
8238 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
8239 function.
8240
8241 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
8242 V2DF, V2DI support to load/store overloaded builtins.
8243
8244 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
8245 altivec load/store builtins for V2DF/V2DI types.
8246
8247 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
8248 set avoid indexed addresses on power6 if -maltivec.
8249 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
8250 vector_altivec_load/vector_altivec_store builtins.
8251 (altivec_expand_st_builtin): Ditto.
8252 (altivec_expand_builtin): Add VSX memory builtins.
8253 (rs6000_init_builtins): Add V2DI types to internal types.
8254 (altivec_init_builtins): Add support for V2DF/V2DI altivec
8255 load/store builtins.
8256 (rs6000_address_for_altivec): Insure memory address is appropriate
8257 for Altivec.
8258
8259 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
8260 vec_vsx_ld and vec_vsx_st.
8261 (vsx_store_<mode>): Ditto.
8262
8263 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
8264 variables to hold long long types for VSX vector memory builtins.
8265 (RS6000_BTI_unsigned_long_long): Ditto.
8266 (long_long_integer_type_internal_node): Ditti.
8267 (long_long_unsigned_type_internal_node): Ditti.
8268
8269 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
8270 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
8271 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
8272
8273 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
8274 short cuts.
8275 (vec_vsx_st): Ditto.
8276
b24d1acf
JM
82772011-02-02 Joseph Myers <joseph@codesourcery.com>
8278
8279 * config/pa/pa-hpux10.opt: New.
8280 * config/hpux11.opt (pthread): New Driver option.
8281 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
8282 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
8283
aa18dd0f
JM
82842011-02-02 Joseph Myers <joseph@codesourcery.com>
8285
8286 * config/ia64/vms.opt: New.
8287 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
8288
28fc3eee
MM
82892011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
8290
8291 PR target/47580
8292 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
8293 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
8294 generator functions.
8295 (vsx_floatuns<VSi><mode>2): Ditto.
8296 (vsx_fix_trunc<mode><VSi>2): Ditto.
8297 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
8298
b5838b1f
JM
82992011-02-02 Joseph Myers <joseph@codesourcery.com>
8300
8301 * config/i386/djgpp.opt (posix): New Driver option.
8302
0db8fa89
GP
83032011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
8304
8305 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
8306 Move to the unsupported targets list.
8307
9cd4f22a
PB
83082011-02-02 Peter Bergner <bergner@vnet.ibm.com>
8309
8310 PR rtl-optimization/47525
8311 * df-scan.c: Update copyright years.
8312 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
8313 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
8314
9ed8059c
RO
83152011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8316
8317 * config/i386/sysv4.h (TARGET_VERSION): Remove.
8318 (SUBTARGET_RETURN_IN_MEMORY): Remove.
8319 (ASM_OUTPUT_ASCII): Remove.
8320 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
8321
2a737389
JL
83222011-02-02 Jeff Law <law@redhat.com>
8323
8324 PR middle-end/47543
8325 * reload.c (find_reloads_address): Handle reg+d address where both
8326 components are invalid by reloading the entire address.
8327
9dac82c4
SP
83282011-02-02 Sebastian Pop <sebastian.pop@amd.com>
8329 Richard Guenther <rguenther@suse.de>
8330
8331 PR tree-optimization/40979
8332 PR bootstrap/47044
8333 * passes.c (init_optimization_passes): After LIM call copy_prop
8334 and DCE to clean up.
8335 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
8336
14dd9aab
SP
83372011-02-02 Sebastian Pop <sebastian.pop@amd.com>
8338
8339 PR tree-optimization/47576
8340 PR tree-optimization/47555
8341 * doc/invoke.texi (scev-max-expr-complexity): Documented.
8342 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
8343 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
8344 * tree-scalar-evolution.c (follow_ssa_edge): Use
8345 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
8346
5cbf5c20
RG
83472011-02-02 Richard Guenther <rguenther@suse.de>
8348
8349 PR tree-optimization/47566
8350 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
8351
83d70792
AO
83522011-02-02 Alexandre Oliva <aoliva@redhat.com>
8353
e829c321
AO
8354 PR debug/47106
8355 PR debug/47402
8356 * tree-inline.c (declare_return_variable): Remove unused caller
8357 variable.
8358
83d70792
AO
8359 PR debug/47106
8360 PR debug/47402
8361 * tree-flow-inline.h (clear_is_used, is_used_p): New.
8362 * cfgexpand.c (account_used_vars_for_block): Use them.
8363 * tree-nrv.c (tree_nrv): Likewise.
8364 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
8365 (dump_scope_block): Likewise.
8366 (remove_unused_locals): Likewise.
8367
aaa2ac93
AO
8368 PR debug/47106
8369 PR debug/47402
8370 * tree-inline.c (declare_return_variable): Add result decl to
8371 local decls only once.
8372 * gimple-low.c (record_vars_into): Mark newly-created variables
8373 as referenced.
8374
a59d15cf
AO
83752011-02-02 Alexandre Oliva <aoliva@redhat.com>
8376
8377 PR debug/47498
8378 PR debug/47501
8379 PR debug/45136
8380 PR debug/45130
8381 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
8382 debug insns.
8383 (no_real_insns_p, schedule_block, set_priorities): Drop special
8384 treatment of boundary debug insns.
38be4072 8385 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
8386 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
8387 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
8388 (BOUNDARY_DEBUG_INSN_P): Likewise.
8389 (SCHEDULE_DEBUG_INSN_P): Likewise.
8390 * sched-rgn.c (init_ready_list): Drop special treatment of
8391 boundary debug insns.
8392 * final.c (rest_of_clean_state): Clear notes' BB.
8393
6fc2f091
JM
83942011-02-01 Joseph Myers <joseph@codesourcery.com>
8395
8396 * config/openbsd.opt (assert=): New Driver option.
8397
fc523387
JM
83982011-02-01 Joseph Myers <joseph@codesourcery.com>
8399
8400 * config/i386/nto.opt: New.
8401 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
8402
6d9821e5
JM
84032011-02-01 Joseph Myers <joseph@codesourcery.com>
8404
8405 * config/i386/netware.opt: New.
8406 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
8407
cef932d4
JM
84082011-02-01 Joseph Myers <joseph@codesourcery.com>
8409
8410 * config/interix.opt (posix): New Driver option.
8411
22843acd
DD
84122011-02-01 DJ Delorie <dj@redhat.com>
8413
56490b74
DD
8414 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
8415
22843acd
DD
8416 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
8417 class for A0/A1.
8418
199c8f2f
SP
84192011-02-01 Sebastian Pop <sebastian.pop@amd.com>
8420
8421 PR tree-optimization/47561
8422 * toplev.c (process_options): Print the Graphite flags. Add
8423 flag_loop_flatten to the list of options requiring Graphite.
8424
926bcf22
JM
84252011-02-01 Joseph Myers <joseph@codesourcery.com>
8426
8427 * config/i386/cygming.opt (posix): New Driver option.
8428
59793c51
JM
84292011-02-01 Joseph Myers <joseph@codesourcery.com>
8430
8431 * config/arm/vxworks.opt: New.
8432 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
8433
183c38a4
JM
84342011-02-01 Joseph Myers <joseph@codesourcery.com>
8435
8436 * config/alpha/elf.opt: New.
8437 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
8438 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
8439
9939e416
RG
84402011-02-01 Richard Guenther <rguenther@suse.de>
8441
8442 PR tree-optimization/47559
8443 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
8444 store-motion on references that can throw.
8445
4a3c9687
BS
84462011-02-01 Bernd Schmidt <bernds@codesourcery.com>
8447
8448 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
8449 * tree-pass.h (TDF_CSELIB): New macro.
8450 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
8451 cselib_lookup): Check for it rather than for TDF_DETAILS.
8452
dd3b31fb
L
84532011-02-01 H.J. Lu <hongjiu.lu@intel.com>
8454
8455 PR driver/47547
8456 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
8457 is HOST_BIT_BUCKET.
8458
8459 * opts.c (finish_options): Don't add x_aux_base_name if it is
8460 HOST_BIT_BUCKET.
8461
34c1de79
RG
84622011-02-01 Richard Guenther <rguenther@suse.de>
8463
8464 PR tree-optimization/47555
8465 Revert
8466 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
8467
8468 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
8469
dd2804d2
SB
84702011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
8471
8472 PR gcc/46692
8473 * config/lm32/t-lm32: Add multilib for all CPU options.
8474
3fd3b156
RG
84752011-02-01 Richard Guenther <rguenther@suse.de>
8476
8477 PR tree-optimization/47541
8478 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
8479 sure to have a field at offset zero.
8480
f16072b6
JM
84812011-01-31 Joseph Myers <joseph@codesourcery.com>
8482
8483 * config/arc/arc.opt (EB, EL): New Driver options.
8484
6456cf2e
JM
84852011-01-31 Joseph Myers <joseph@codesourcery.com>
8486
8487 * config/alpha/osf5.opt: New.
8488 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
8489
cdde6ab4
JM
84902011-01-31 Joseph Myers <joseph@codesourcery.com>
8491
8492 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
8493
7633415c
SP
84942011-01-31 Sebastian Pop <sebastian.pop@amd.com>
8495
8496 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
8497 -floop-interchange.
8498 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
8499 is an alias of -floop-interchange and that it requires the
8500 Graphite infrastructure.
8501 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
8502 flag_loop_interchange based on the value of flag_tree_loop_linear.
8503
0425d6f5
JJ
85042011-01-31 Jakub Jelinek <jakub@redhat.com>
8505 Richard Guenther <rguenther@suse.de>
8506
8507 PR tree-optimization/47538
8508 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
8509 type instead of r1type, except for comparisons. For right
8510 shifts and comparisons punt if there are mismatches in
8511 sizetype vs. non-sizetype types.
8512
500b16c3
RO
85132011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8514
8515 * doc/sourcebuild.texi (Effective-Target Keywords): Document
8516 avx_runtime.
8517
e279edb0
RO
85182011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8519
8520 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
8521 version number.
8522 * configure: Regenerate.
8523
c6092243
RO
85242011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8525
8526 * configure.ac (gcc_cv_ld_static_option): Define.
8527 (gcc_cv_ld_dynamic_option): Define.
8528 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
8529 instead.
8530 (HAVE_LD_STATIC_DYNAMIC): Update message.
8531 (LD_STATIC_OPTION): Define.
8532 (LD_DYNAMIC_OPTION): Define.
8533 * configure: Regenerate.
8534 * config.in: Regenerate.
8535 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
8536 HAVE_LD_STATIC_DYNAMIC]: Use them.
8537
d7862be3
NC
85382011-01-31 Nick Clifton <nickc@redhat.com>
8539
8540 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
8541 registers inside interrupt handlers if the handler is not a leaf
8542 function.
8543
ba4ec0e0
NC
85442011-01-31 Nick Clifton <nickc@redhat.com>
8545
8546 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
8547 reg_renumber returning an INVALID_REGNUM.
8548
29a63921
AO
85492011-01-31 Alexandre Oliva <aoliva@redhat.com>
8550
8551 PR libgcj/44341
8552 * doc/install.texi: Document host options discarded when cross
8553 configuring target libraries.
8554
ef591d3f
AO
85552011-01-31 Alexandre Oliva <aoliva@redhat.com>
8556
8557 Reverted:
8558 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
8559 PR debug/45136
8560 PR debug/45130
8561 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
8562 debug insns.
8563 (no_real_insns_p, schedule_block, set_priorities): Drop special
8564 treatment of boundary debug insns.
38be4072 8565 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
8566 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
8567 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
8568 (BOUNDARY_DEBUG_INSN_P): Likewise.
8569 (SCHEDULE_DEBUG_INSN_P): Likewise.
8570 * sched-rgn.c (init_ready_list): Drop special treatment of
8571 boundary debug insns.
8572 * final.c (rest_of_clean-state): Clear notes' BB.
8573
61052244
AM
85742011-01-31 Alan Modra <amodra@gmail.com>
8575
8576 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
8577 toc relative expressions as we do in print_operand_address.
8578
c4c8962b
KH
85792011-01-30 Kazu Hirata <kazu@codesourcery.com>
8580
8581 * doc/extend.texi: Follow spelling conventions.
8582 * doc/invoke.texi: Fix a typo.
8583
e543b94c
JM
85842011-01-30 Joseph Myers <joseph@codesourcery.com>
8585
8586 * config/hpux11.opt: New.
8587 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
8588 ia64*-*-hpux*): Use hpux11.opt.
8589
509d65dd 85902011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
8591
8592 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
8593 to tmake_file.
8594
7be03a0e
GP
85952011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
8596
8597 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
8598 support sites.
8599
419d1d37
GP
86002011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
8601
b596ed64
GP
8602 * doc/install.texi (Binaries): Remove outdated reference for
8603 Motorola 68HC11/68HC12 downloads.
8604
86052011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 8606
419d1d37
GP
8607 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
8608 Drepper's paper.
8609
4406d0e9
JW
86102011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
8611
8612 PR bootstrap/47147
8613 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
8614 used by NetBSD.
8615
38be4072 86162011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
8617
8618 * value-prof.c (check_counter): Corrected error message.
8619
0cd98787
JZ
86202011-01-29 Jie Zhang <jie@codesourcery.com>
8621
8622 * config/arm/arm.c (arm_legitimize_reload_address): New.
8623 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
8624 arm_legitimize_reload_address.
38be4072 8625 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 8626
9b798ac5
ILT
86272011-01-28 Ian Lance Taylor <iant@google.com>
8628
8629 * godump.c (go_define): Ignore macros whose definitions include
8630 two adjacent operands.
8631
591e29d9
JJ
86322011-01-28 Jakub Jelinek <jakub@redhat.com>
8633
8634 PR target/42894
8635 * varasm.c (force_const_mem): Store copy of x in desc->constant
8636 instead of x itself.
8637 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
8638 itself into REG_EQUAL note.
8639
62dcc44a
JM
86402011-01-28 Joseph Myers <joseph@codesourcery.com>
8641
8642 * config/freebsd.opt (posix, rdynamic): New Driver options.
8643
c9f58b9a
RO
86442011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8645
8646 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
8647 -Bstatic/-Bdynamic.
8648 * configure: Regenerate.
8649
5f02b9db
JM
86502011-01-27 Joseph Myers <joseph@codesourcery.com>
8651
8652 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
8653 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
8654
5df97412
AS
86552011-01-27 Anatoly Sokolov <aesok@post.ru>
8656
8657 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
8658 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
8659 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
8660 (s390_preferred_reload_class): Make static. Change return and
8661 'rclass' argument type to reg_class_t.
8662
779d4b91
JH
86632011-01-27 Jan Hubicka <jh@suse.cz>
8664
8665 PR middle-end/46949
8666 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
8667 (process_function_and_variable_attributes): Check defined weakrefs.
8668
e80b21ed
MJ
86692011-01-27 Martin Jambor <mjambor@suse.cz>
8670
8671 PR tree-optimization/47228
8672 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
8673 build_ref_for_offset.
8674
6dcc4f31
UW
86752011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8676
8677 * config/spu/spu-elf.h (ASM_SPEC): Remove.
8678
509d65dd 86792011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
8680
8681 PR rtl-optimization/46856
8682 * postreload.c (reload_combine_recognize_const_pattern): Do not
8683 separate cc0 setter and user on cc0 targets.
8684
04af8788
NP
86852011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
8686
8687 PR c/43082
8688 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
8689 passed a VOID_TYPE expression, immediately emit an error and
8690 return error_mark_node.
8691
f7a60085
JL
86922011-01-26 Jeff Law <law@redhat.com>
8693
8694 PR rtl-optimization/47464
8695 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
8696 rather than may_trap_p as needed.
8697
5c2917ec
DD
86982011-01-26 DJ Delorie <dj@redhat.com>
8699
8700 PR rtl-optimization/46878
8701 * combine.c (insn_a_feeds_b): Check for the implicit cc0
8702 setter/user dependency as well.
8703
bef16e87
EB
87042011-01-26 Eric Botcazou <ebotcazou@adacore.com>
8705
8706 PR rtl-optimization/44469
8707 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
8708 after removing trivially dead basic blocks.
8709
c75d884b
JM
87102011-01-26 Joseph Myers <joseph@codesourcery.com>
8711
8712 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
8713 * config/frv/frv.h (LINK_SPEC): Likewise.
8714 * config/i386/netware.h (LINK_SPEC): Likewise.
8715 * config/m68k/linux.h (ASM_SPEC): Likewise.
8716 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
8717 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
8718 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
8719 * config/sparc/linux.h (ASM_SPEC): Likewise.
8720 * config/sparc/linux64.h (ASM_SPEC): Likewise.
8721 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
8722
d3153553
JM
87232011-01-26 Joseph Myers <joseph@codesourcery.com>
8724
8725 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
8726 * config/frv/frv.h (ASM_SPEC): Likewise.
8727 * config/m68k/linux.h (ASM_SPEC): Likewise.
8728 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
8729 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
8730 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
8731 * config/sparc/linux.h (ASM_SPEC): Likewise.
8732 * config/sparc/linux64.h (ASM_SPEC): Likewise.
8733 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
8734
b89b1e9d
JM
87352011-01-26 Joseph Myers <joseph@codesourcery.com>
8736
8737 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
8738 * config/frv/frv.h (LINK_SPEC): Likewise.
8739 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
8740
12eb1a9c
JM
87412011-01-26 Joseph Myers <joseph@codesourcery.com>
8742
8743 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
8744 * config/frv/frv.h (ASM_SPEC): Likewise.
8745 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
8746 * config/m68k/linux.h (ASM_SPEC): Likewise.
8747 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
8748 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
8749 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
8750 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
8751 * config/sparc/linux.h (ASM_SPEC): Likewise.
8752 * config/sparc/linux64.h (ASM_SPEC): Likewise.
8753 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
8754 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
8755
e435f098
SE
87562011-01-26 Steve Ellcey <sje@cup.hp.com>
8757
8758 PR target/46997
8759 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
8760 (*mux2): Ditto.
8761 (vec_extract_evenodd_help): Ditto.
8762 (vec_extract_evenv4hi): Ditto.
8763 (vec_extract_oddv4hi): Ditto.
8764 (vec_interleave_lowv2si): Ditto.
8765 (vec_interleave_highv2si): Ditto.
8766 (vec_extract_evenv2si): Ditto.
8767 (vec_extract_oddv2si: Ditto.
8768 (vec_pack_trunc_v2si): Ditto.
8769
34f0eee0
JH
87702011-01-22 Jan Hubicka <jh@suse.cz>
8771
8772 PR target/47237
8773 * cgraph.h (cgraph_local_info): New field can_change_signature.
8774 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
8775 signature can change.
8776 (ipcp_estimate_growth): Call sequence simplify only if calle signature
8777 can change.
8778 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
8779 (cgraph_function_versioning): We can not change signature of functions
8780 that don't allow that.
8781 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
8782 (lto_input_node): Likewise.
38be4072
UB
8783 * ipa-inline.c (compute_inline_parameters): Compute
8784 local.can_change_signature.
34f0eee0 8785 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
8786 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
8787 functions that can not change signature.
34f0eee0 8788 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
8789 init_cumulative_args): Do not use local calling conventions
8790 for functions that can not change signature.
34f0eee0 8791
980ca891
JH
87922011-01-22 Jan Hubicka <jh@suse.cz>
8793
8794 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
8795
768e3c60
RG
87962011-01-26 Richard Guenther <rguenther@suse.de>
8797
8798 PR tree-optimization/47190
61052244
AM
8799 * cgraphunit.c (process_common_attributes): New function.
8800 (process_function_and_variable_attributes): Use it.
768e3c60 8801
21d6a1c7
RG
88022011-01-26 Richard Guenther <rguenther@suse.de>
8803
8804 PR lto/47423
8805 * cgraphbuild.c (record_eh_tables): Record reference to personality
8806 function.
8807
48bb58b1
AO
88082011-01-26 Alexandre Oliva <aoliva@redhat.com>
8809
8810 PR debug/45454
8811 * sel-sched.c (moveup_expr): Don't let debug insns prevent
8812 non-debug insns from moving up.
8813
58c741a6
DK
88142011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
8815
8816 PR target/40125
8817 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
8818 t-dlldir{,-x} fragment for build and add it to tmake_file.
8819 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
8820 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
8821 * config/i386/t-dlldir: New file.
8822 (SHLIB_DLLDIR): Define.
8823 * config/i386/t-dlldir-x: New file.
8824 (SHLIB_DLLDIR): Define.
8825 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
8826 (SHLIB_INSTALL): Use it.
8827
bff99262
CLT
88282011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
8829
8830 PR target/47246
8831 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
8832 lower bound of the allowed Thumb-2 coprocessor load/store
8833 index range to -256. Add explaining comment.
8834
82c03907
ILT
88352011-01-25 Ian Lance Taylor <iant@google.com>
8836
8837 * godump.c (go_define): Improve lexing of macro expansion to only
8838 accept expressions which match Go spec.
8839
47ea1edf
DK
88402011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
8841
d4dba752 8842 PR c++/43601
47ea1edf
DK
8843 * tree.c (handle_dll_attribute): Handle it.
8844 * doc/extend.texi (@item dllexport): Mention it.
8845 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
8846
744f0946
ILT
88472011-01-25 Ian Lance Taylor <iant@google.com>
8848
8849 PR tree-optimization/26854
8850 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
8851 (decl_jump_unsafe): Move higher in file, with no other change.
8852 (bind): Set has_jump_unsafe_decl if appropriate.
8853 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
8854 (check_earlier_gotos): Likewise.
8855 (c_check_switch_jump_warnings): Likewise.
8856
5734f2b3
JW
88572011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
8858
8859 * doc/invoke.texi (Warning Options): Add missing hyphen.
8860 (-fprofile-dir): Minor grammatical fixes.
8861 (-fbranch-probabilities): Likewise.
8862
9bdbdcef
AO
88632011-01-25 Alexandre Oliva <aoliva@redhat.com>
8864
8865 PR debug/45136
8866 PR debug/45130
8867 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
8868 debug insns.
8869 (no_real_insns_p, schedule_block, set_priorities): Drop special
8870 treatment of boundary debug insns.
38be4072 8871 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
8872 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
8873 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
8874 (BOUNDARY_DEBUG_INSN_P): Likewise.
8875 (SCHEDULE_DEBUG_INSN_P): Likewise.
8876 * sched-rgn.c (init_ready_list): Drop special treatment of
8877 boundary debug insns.
8878 * final.c (rest_of_clean-state): Clear notes' BB.
8879
b305e3da
SP
88802011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8881
8882 * Makefile.in (LAMBDA_H): Removed.
8883 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
8884 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
8885 lambda-trans.o, and tree-loop-linear.o.
8886 (lto-symtab.o): Remove dependence on LAMBDA_H.
8887 (tree-loop-linear.o): Remove rule.
8888 (lambda-mat.o): Same.
8889 (lambda-trans.o): Same.
8890 (lambda-code.o): Same.
8891 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
8892 (tree-vect-slp.o): Same.
8893 * hwint.h (gcd): Moved here.
8894 (least_common_multiple): Same.
8895 * lambda-code.c: Removed.
8896 * lambda-mat.c: Removed.
8897 * lambda-trans.c: Removed.
8898 * lambda.h: Removed.
8899 * tree-loop-linear.c: Removed.
8900 * lto-symtab.c: Do not include lambda.h.
8901 * omega.c (gcd): Removed.
8902 * passes.c (init_optimization_passes): Remove pass_linear_transform.
8903 * tree-data-ref.c (print_lambda_vector): Moved here.
8904 (lambda_vector_copy): Same.
8905 (lambda_matrix_copy): Same.
8906 (lambda_matrix_id): Same.
8907 (lambda_vector_first_nz): Same.
8908 (lambda_matrix_row_add): Same.
8909 (lambda_matrix_row_exchange): Same.
8910 (lambda_vector_mult_const): Same.
8911 (lambda_vector_negate): Same.
8912 (lambda_matrix_row_negate): Same.
8913 (lambda_vector_equal): Same.
8914 (lambda_matrix_right_hermite): Same.
8915 * tree-data-ref.h: Do not include lambda.h.
8916 (lambda_vector): Moved here.
8917 (lambda_matrix): Same.
8918 (dependence_level): Same.
8919 (lambda_transform_legal_p): Removed declaration.
8920 (lambda_collect_parameters): Same.
8921 (lambda_compute_access_matrices): Same.
8922 (lambda_vector_gcd): Same.
8923 (lambda_vector_new): Same.
8924 (lambda_vector_clear): Same.
8925 (lambda_vector_lexico_pos): Same.
8926 (lambda_vector_zerop): Same.
8927 (lambda_matrix_new): Same.
8928 * tree-flow.h (least_common_multiple): Removed declaration.
8929 * tree-parloops.c (lambda_trans_matrix): Moved here.
8930 (LTM_MATRIX): Same.
8931 (LTM_ROWSIZE): Same.
8932 (LTM_COLSIZE): Same.
8933 (LTM_DENOMINATOR): Same.
8934 (lambda_trans_matrix_new): Same.
8935 (lambda_matrix_vector_mult): Same.
8936 (lambda_transform_legal_p): Same.
8937 * tree-pass.h (pass_linear_transform): Removed declaration.
8938 * tree-ssa-loop.c (tree_linear_transform): Removed.
8939 (gate_tree_linear_transform): Removed.
8940 (pass_linear_transform): Removed.
8941 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
8942 flag_loop_interchange.
8943
6bdfdb96
JJ
89442011-01-25 Jakub Jelinek <jakub@redhat.com>
8945
8946 PR tree-optimization/47265
8947 PR tree-optimization/47443
8948 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
8949 if name still has some uses.
8950
e4cba915
MJ
89512011-01-25 Martin Jambor <mjambor@suse.cz>
8952
8953 PR tree-optimization/47382
8954 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
8955 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
8956
509d65dd 89572011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
8958
8959 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
8960 sjlj_except_unwind_info.
8961
194313e2
RG
89622011-01-25 Richard Guenther <rguenther@suse.de>
8963
8964 PR tree-optimization/47426
8965 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
8966 visible functions results escape.
8967
147a0bcf
JJ
89682011-01-25 Jakub Jelinek <jakub@redhat.com>
8969
8970 PR target/45701
8971 * config/arm/arm.c (any_sibcall_uses_r3): New function.
8972 (arm_get_frame_offsets): Use it.
8973
db963b52
SP
89742011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8975 Jakub Jelinek <jakub@redhat.com>
8976
8977 PR tree-optimization/47271
8978 * tree-if-conv.c (bb_postdominates_preds): New.
8979 (if_convertible_bb_p): Call bb_postdominates_preds.
8980 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
8981 (predicate_scalar_phi): Call bb_postdominates_preds.
8982
bcddd3b9
NC
89832011-01-25 Nick Clifton <nickc@redhat.com>
8984
8985 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
8986 * config/rx/rx.c (rx_function_value): Likewise.
8987 (rx_promote_function_mode): Likewise.
8988 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
8989 in order to make it legitimate.
38be4072
UB
8990 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
8991 make sure that the first operand is the same as the result register.
bcddd3b9
NC
8992 (addsi3_unspec): Delete.
8993 (subdi3): Do not accept immediate operands.
8994 (subdi3_internal): Likewise.
8995
7e6cb022
JL
89962011-01-25 Jeff Law <law@redhat.com>
8997
8998 PR rtl-optimization/37273
8999 * ira-costs.c (scan_one_insn): Detect constants living in memory and
9000 handle them like argument loads from stack slots. Do not double
9001 count memory for memory constants and argument loads from stack slots.
9002
9ffa621e
JJ
90032011-01-25 Jakub Jelinek <jakub@redhat.com>
9004
9005 PR tree-optimization/47427
9006 PR tree-optimization/47428
9007 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
9008 coalesce if the new root var would be TREE_READONLY.
9009
5bd6e652
RG
90102011-01-25 Richard Guenther <rguenther@suse.de>
9011
9012 PR middle-end/47414
9013 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
9014 correct type for TBAA.
9015
7c48ea69
SP
90162011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9017
9018 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
9019 (close_phi_written_to_memory): Call for_each_index with
9020 dr_indices_valid_in_loop.
9021
38013f25
SP
90222011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9023
9024 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
9025 when it is initialized.
9026
5c640e29
SP
90272011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9028
9029 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
9030 call to graphite_find_data_references_in_stmt.
9031 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
9032 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
9033 call to graphite_find_data_references_in_stmt.
9034 (analyze_drs_in_stmts): Same.
9035 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
9036 in which the scalar analysis of indices is performed.
9037 (create_data_ref): Same. Update call to dr_analyze_indices.
9038 (find_data_references_in_stmt): Update call to create_data_ref.
9039 (graphite_find_data_references_in_stmt): Same.
9040 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
9041 declaration.
9042 (create_data_ref): Same.
9043 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
9044 call to create_data_ref.
9045
ac53c069
SP
90462011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9047
9048 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 9049 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 9050
3d17df15
SP
90512011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9052
9053 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
9054 VAR_DECL, PARM_DECL, and RESULT_DECL.
9055
c513da01
SP
90562011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9057
9058 * graphite-dependences.c (reduction_dr_1): Allow several reductions
9059 in a reduction PBB.
9060 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
9061 that have already been marked as PBB_IS_REDUCTION.
9062
3a292d59
SP
90632011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9064
9065 * graphite-scop-detection.c (same_close_phi_node): New.
9066 (remove_duplicate_close_phi): New.
9067 (make_close_phi_nodes_unique): New.
9068 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
9069
ba858447
SP
90702011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9071
9072 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
9073 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
9074 of both data references to be the same.
9075
8d865c56
SP
90762011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9077
38be4072
UB
9078 * graphite-dependences.c (build_lexicographical_constraint): Remove
9079 the gdim parameter.
9080 (build_lexicographical_constraint): Adjust call to
9081 ppl_powerset_is_empty.
8d865c56
SP
9082 (dependence_polyhedron): Same.
9083 (graphite_legal_transform_dr): Same.
9084 (graphite_carried_dependence_level_k): Same.
38be4072
UB
9085 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
9086 parameter.
8d865c56
SP
9087 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
9088
50034a36
SP
90892011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9090
9091 * graphite-sese-to-poly.c
9092 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
9093 (close_phi_written_to_memory): New.
9094 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
9095 and unshare_expr.
9096
0deada9e
SP
90972011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9098
9099 * doc/install.texi: Update the expected version number of PPL to 0.11.
9100 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
9101 #if PPL_VERSION_MINOR < 11.
9102
d7d3d6af
SP
91032011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9104
9105 * graphite-dependences.c: Include graphite-cloog-util.h.
9106 (new_poly_ddr): Inlined into dependence_polyhedron.
9107 (free_poly_ddr): Moved close by new_poly_ddr.
9108 (dependence_polyhedron_1): Renamed dependence_polyhedron.
9109 Early return NULL when ppl_powerset_is_empty returns true.
9110 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
9111 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
9112 (graphite_legal_transform_dr): Call new_poly_ddr.
9113 (graphite_carried_dependence_level_k): Same.
9114 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
9115 (dot_transformed_deps_stmt_1): Removed.
9116 (dot_deps_stmt_1): Call dot_deps_stmt_2.
9117 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
9118 (dot_deps_1): Call dot_deps_2.
9119 * Makefile.in (graphite-dependences.o): Add missing dependence on
9120 graphite-cloog-util.h.
9121
28c5db57
SP
91222011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9123
9124 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
9125 (build_lexicographical_constraint): Same.
9126 (dependence_polyhedron_1): Same.
9127 (graphite_legal_transform_dr): Same.
9128 (graphite_carried_dependence_level_k): Same.
9129 * graphite-ppl.c (ppl_powerset_is_empty): New.
9130 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
9131 * tree-data-ref.c (dump_data_reference): Print the basic block index.
9132
5168d98f
SP
91332011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9134
9135 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
9136 the "a followed by b" relation and document it.
9137
4a40293a
SP
91382011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9139
9140 * graphite-dependences.c (build_lexicographical_constraint): Stop the
9141 iteration when the bag of constraints is empty.
9142
271fb6fa
SP
91432011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9144
9145 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
9146
92d23680
SP
91472011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9148
9149 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
9150 nest and two loop depths as parameters.
9151 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
9152 lst_perfect_nestify.
9153
2f51deff
SP
91542011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9155
9156 * graphite-dependences.c (print_pddr): Call
9157 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
9158
07f3593c
SP
91592011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9160
9161 * graphite-ppl.c (debug_gmp_value): New.
9162 * graphite-ppl.h (debug_gmp_value): Declared.
9163
3fae6099
TG
91642011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
9165
9166 * doc/install.texi: Document availability of cloog-0.16.
9167
1c3ba85b
SP
91682011-01-25 Vladimir Kargov <kargov@gmail.com>
9169
9170 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
9171 invalid postdominance info.
9172
e8ba94fc
JH
91732011-01-24 Jan Hubicka <jh@suse.cz>
9174
9175 PR c/21659
9176 * doc/extend.texi (weak pragma): Drop claim that it must
9177 appear before definition.
9178 * varasm.c (merge_weak, declare_weak): Only sanity check
9179 that DECL is not output at a time it is declared weak.
9180
2b6e2d13
KZ
91812011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
9182
9183 * machmode.def: Fixed comments.
1c3ba85b 9184
9841210f
KT
91852011-01-24 Kai Tietz <kai.tietz@onevision.com>
9186
9187 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
9188
91892011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
9190
9191 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 9192 WORDS_BIG_ENDIAN.
e046112d 9193
a6c5070a
L
91942011-01-24 H.J. Lu <hongjiu.lu@intel.com>
9195
9196 PR target/46519
9197 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
9198 (block_info): Add scanned and prev.
9199 (move_or_delete_vzeroupper_2): Return if the basic block
9200 has been scanned and the upper 128bit state is unchanged
9201 from the last scan.
9202 (move_or_delete_vzeroupper_1): Return true if the exit
9203 state is changed.
9204 (move_or_delete_vzeroupper): Visit basic blocks using the
9205 work-list based algorithm based on vt_find_locations in
9206 var-tracking.c.
9207
9208 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
9209
a40d79d7
NC
92102011-01-24 Nick Clifton <nickc@redhat.com>
9211
9212 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
9213 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
9214 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
9215 then define __v850e1__.
9216 * doc/invoke.texi: Document -mv850es.
9217
440eb8de
RH
92182011-01-24 Richard Henderson <rth@redhat.com>
9219
9220 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
9221 compound unordered comparisons.
9222 * config/rx/rx.c (rx_split_fp_compare): Remove.
9223 * config/rx/rx-protos.h: Update.
9224 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
9225 (cbranchsf4): Don't call rx_split_fp_compare.
9226 (*cbranchsf4): Use rx_split_cbranch.
9227 (*cmpsf): Don't accept "i" constraint.
9228 (*conditional_branch): Only valid after reload.
9229 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
9230
3ff79f99
MM
92312011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
9232
9233 PR target/47385
9234 * config/rs6000/altivec.md (vector constant splitters): Add
9235 support for creating vector single precision constants if -mvsx is
9236 used and we would create the constant using Altivec primitives.
9237
ff3d9d08
BS
92382011-01-23 Bernd Schmidt <bernds@codesourcery.com>
9239 Richard Sandiford <rdsandiford@googlemail.com>
9240
9241 PR rtl-optimization/47166
9242 * reload1.c (emit_reload_insns): Disable the spill_reg_store
9243 mechanism for PRE_MODIFY and POST_MODIFY.
9244 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
9245 reloadreg.
9246
7fcaf152
AS
92472011-01-23 Andreas Schwab <schwab@linux-m68k.org>
9248
8788adb6 9249 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 9250
d09b58c4
JH
92512011-01-22 Jan Hubicka <jh@suse.cz>
9252
9253 PR lto/47333
9254 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
9255
e8ff8c5a
JH
92562011-01-22 Jan Hubicka <jh@suse.cz>
9257
9258 PR tree-optimization/43884
9259 PR lto/44334
8788adb6 9260 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
9261 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
9262
ccaed3ba
AS
92632011-01-22 Anatoly Sokolov <aesok@post.ru>
9264
9265 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
9266 * config/s390/s390.c (s390_register_move_cost,
9267 s390_memory_move_cost): New.
9268 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
9269
0cecee06
UW
92702011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9271
9272 PR middle-end/47401
9273 * except.c (sjlj_assign_call_site_values): Move setting the
9274 crtl->uses_eh_lsda flag to ...
9275 (sjlj_mark_call_sites): ... here.
9276 (sjlj_emit_function_enter): Support NULL dispatch label.
9277 (sjlj_build_landing_pads): In a function with no landing pads
9278 that still has must-not-throw regions, generate code to register
9279 a personality function with empty LSDA.
9280
e692f276
RH
92812011-01-21 Richard Henderson <rth@redhat.com>
9282
1b7ae0b7
RH
9283 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
9284
3843787f
RH
9285 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
9286
e692f276
RH
9287 * compare-elim.c: New file.
9288 * Makefile.in (OBJS-common): Add it.
9289 (compare-elim.o): New.
9290 * common.opt (fcompare-elim): New.
9291 * opts.c (default_options_table): Add OPT_fcompare_elim.
9292 * tree-pass.h (pass_compare_elim_after_reload): New.
9293 * passes.c (init_optimization_passes): Add it.
9294 * recog.h: Protect against re-inclusion.
9295 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
9296 * doc/invoke.texi (-fcompare-elim): Document it.
9297 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
9298 * doc/tm.texi: Rebuild.
9299
9a7c2050
NC
93002011-01-22 Nick Clifton <nickc@redhat.com>
9301
9302 * config/rx/rx.md (cstoresf4): Pass comparison operator to
9303 rx_split_fp_compare.
9304
15ba5696
NC
93052011-01-22 Nick Clifton <nickc@redhat.com>
9306
9307 * config/rx/rx.md (UNSPEC_CONST): New.
9308 (deallocate_and_return): Wrap the amount popped off the stack in
9309 an UNSPEC_CONST in order to stop it being rejected by
9310 -mmax-constant-size.
9311 (pop_and_return): Add a "(return)" rtx.
9312 (call): Drop the immediate operand.
9313 (call_internal): Likewise.
9314 (call_value): Likewise.
9315 (call_value_internal): Likewise.
9316 (sibcall_internal): Likewise.
9317 (sibcall_value_internal): Likewise.
9318 (sibcall): Likewise. Generate an explicit call using
9319 sibcall_internal.
9320 (sibcall_value): Likewise.
9321 (mov<>): FAIL if a constant operand is not legitimate.
9322 (addsi3_unpsec): New pattern.
9a7c2050 9323
38be4072 9324 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
9325 (ok_for_max_constant): New function.
9326 (gen_safe_add): New function.
9327 (rx_expand_prologue): Use gen_safe_add.
9328 (rx_expand_epilogue): Likewise.
9329 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
9330 UNSPEC CONSTs.
9331
caaf13d3
JL
93322011-01-21 Jeff Law <law@redhat.com>
9333
9334 PR tree-optimization/47053
9335 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
9336 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
9337 statements are deleted.
9338 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
9339 is nonempty, then purge dead edges and cleanup the CFG.
9340
12c30f2f
AO
93412011-01-21 Alexandre Oliva <aoliva@redhat.com>
9342
9343 PR debug/47402
9344 Temporarily revert:
9345 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
9346 PR debug/47106
9347 * tree-dfa.c (create_var_ann): Mark variable as used.
9348
7360d2ac
JJ
93492011-01-21 Jakub Jelinek <jakub@redhat.com>
9350
aaa52a96
JJ
9351 PR middle-end/45566
9352 * except.c (convert_to_eh_region_ranges): Emit queued no-region
9353 notes from other section in hot/cold partitioning even if
9354 last_action is -3. Increment call_site_base.
9355
7360d2ac
JJ
9356 PR rtl-optimization/47366
9357 * fwprop.c (forward_propagate_into): Return bool. If
9358 any changes are made, -fnon-call-exceptions is used and
9359 REG_EH_REGION note is present, call purge_dead_edges
9360 and return true if it purged anything.
9361 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
9362 any EH edges were purged.
9363
e90b336f
JL
93642011-01-21 Jeff Law <law@redhat.com>
9365
9366 PR rtl-optimization/41619
9367 * caller-save.c (setup_save_areas): Break out code to determine
9368 which hard regs are live across calls by examining the reload chains
9369 so that it is always used.
9370 Eliminate code which checked REG_N_CALLS_CROSSED.
9371
3ffe07e1
JJ
93722011-01-21 Jakub Jelinek <jakub@redhat.com>
9373
9374 PR tree-optimization/47355
9375 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
9376 NOP has non-debug uses beyond PHIs in new_bb.
9377
1c7d0b34
AO
93782011-01-21 Alexandre Oliva <aoliva@redhat.com>
9379
9380 PR debug/47106
9381 * cfgexpand.c (account_used_vars_for_block): Only account vars
9382 that are annotated as used.
9383 (estimated_stack_frame_size): Don't set TREE_USED.
9384 * tree-dfa.c (create_var_ann): Mark variable as used.
9385
f99cc488
RG
93862011-01-21 Richard Guenther <rguenther@suse.de>
9387
9388 PR middle-end/47395
9389 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
9390
3bc27de7
RG
93912011-01-21 Richard Guenther <rguenther@suse.de>
9392
9393 PR tree-optimization/47365
9394 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
9395 (vn_reference_lookup_pieces): Adjust.
9396 (vn_reference_lookup): Likewise.
9397 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
9398 (vn_reference_lookup_3): Only look through kills if in
9399 VN_WALKREWRITE mode.
9400 (vn_reference_lookup_pieces): Adjust.
9401 (vn_reference_lookup): Likewise.
9402 (visit_reference_op_load): Likewise.
9403 (visit_reference_op_store): Likewise.
9404 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
9405 (compute_avail): Likewise.
9406 (eliminate): Likewise.
9407
d8debb1d
JJ
94082011-01-21 Jakub Jelinek <jakub@redhat.com>
9409
9410 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
9411 DECL_IGNORED_P non-reg vars if they are used.
9412
3a2df831
JJ
9413 PR tree-optimization/47391
9414 * varpool.c (const_value_known_p): Return false if
9415 decl is volatile.
9416
1dd584a2
KT
94172011-01-21 Kai Tietz <kai.tietz@onevision.com>
9418
9419 PR bootstrap/47215
9420 * config/i386/i386.c (ix86_local_alignment): Handle
9421 case for va_list_type_node is nil.
9422 (ix86_canonical_va_list_type): Likewise.
9423
7f9f095e
AM
94242011-01-21 Alan Modra <amodra@gmail.com>
9425
9426 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
9427 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
9428
837b01f6
RR
94292011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9430
9431 * config/arm/arm.md (define_attr type): Rename f_load
9432 and f_store to f_fpa_load and f_fpa_store. Update.
9433 (write_conflict): Deal with rename fallout.
9434 (*push_fp_multi): Likewise.
9435 * config/arm/fpa.md (f_load): Use f_fpa_load.
9436 (f_store): Use f_fpa_store.
9437 (*movsf_fpa): Likewise.
9438 (*movdf_fpa): Likewise.
9439 (*movxf_fpa): Likewise.
9440 (*thumb2_movsf_fpa): Likewise.
9441 (*thumb2_movdf_fpa): Likewise.
9442 (*thumb2_movxf_fpa): Likewise.
9443 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
9444 f_loadd and f_stored.
9445 (*thumb2_movdi_vfp): Likewise.
9446 (*thumb2_movsf_vfp): Fix attribute to f_loads.
9447 (*thumb2_movsi_vfp): Likewise.
9448 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
9449 Use f_loads instead of f_load.
9450 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
9451
a1a79768
AS
94522011-01-20 Anatoly Sokolov <aesok@post.ru>
9453
9454 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
9455 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
9456 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
9457 (xtensa_mode_dependent_address_p): New function.
9458 (constantpool_address_p): Make static. Change return type to bool.
9459 Change argument type to const_rtx. Use CONST_INT_P predicate.
9460
427f6cec
AO
94612011-01-20 Alexandre Oliva <aoliva@redhat.com>
9462
9463 PR debug/46583
9464 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
9465
583ac69c
JJ
94662011-01-20 Jakub Jelinek <jakub@redhat.com>
9467
9468 PR debug/47283
9469 * cfgexpand.c (expand_debug_expr): Instead of generating
9470 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
9471 etc. handling.
9472
93e452ed
RG
94732011-01-20 Richard Guenther <rguenther@suse.de>
9474
9475 PR middle-end/47370
9476 * tree-inline.c (remap_gimple_op_r): Recurse manually for
9477 the pointer operand of MEM_REFs.
9478
28fc44f3
JJ
94792011-01-20 Jakub Jelinek <jakub@redhat.com>
9480
9481 PR tree-optimization/46130
9482 * ipa-split.c (consider_split): If return_bb contains non-virtual
9483 PHIs other than for retval or if split_function would not adjust it,
9484 refuse to split.
9485
ddd268f2
RG
94862011-01-20 Richard Guenther <rguenther@suse.de>
9487
9488 PR tree-optimization/47167
9489 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
9490 Revert previous change, only avoid enumeral type changes.
9491
882020aa
MS
94922011-01-19 Mike Stump <mikestump@comcast.net>
9493
9494 * doc/tm.texi.in (BRANCH_COST): Englishify.
9495 * doc/tm.texi (BRANCH_COST): Likewise.
9496
7edb6247
DS
94972011-01-19 Dodji Seketeli <dodji@redhat.com>
9498
9499 PR c++/47291
9500 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
9501 (gen_scheduled_generic_parms_dies): New functions.
9502 (gen_struct_or_union_type_die): Schedule template parameters DIEs
9503 generation for the end of CU compilation.
9504 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 9505
23d5ed5d
AO
95062011-01-19 Alexandre Oliva <aoliva@redhat.com>
9507
9508 PR debug/46240
9509 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
9510 debug bind stmt on merge edges.
9511
37d6a488
AO
95122011-01-19 Alexandre Oliva <aoliva@redhat.com>
9513
9514 PR debug/47079
9515 PR debug/46724
9516 * function.c (instantiate_expr): Instantiate incoming rtl of
9517 implicit arguments, and recurse on VALUE_EXPRs.
9518 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
9519 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
9520
689f2c82
AO
95212011-01-19 Alexandre Oliva <aoliva@redhat.com>
9522
9523 * c-parser.c (c_parser_for_statement): Initialize
9524 collection_expression.
9525
03029de4
JM
95262011-01-19 Joseph Myers <joseph@codesourcery.com>
9527
9528 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
9529
3e03217e
JM
95302011-01-19 Joseph Myers <joseph@codesourcery.com>
9531
9532 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
9533 (LINK_SHLIB_SPEC): Don't use %(link_path).
9534 (SUBTARGET_EXTRA_SPECS): Remove link_path.
9535
5bbe9b3f
JM
95362011-01-19 Joseph Myers <joseph@codesourcery.com>
9537
9538 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
9539 (NO_SHARED_LIB_SUPPORT): Remove.
9540 (LINK_SHLIB_SPEC): Remove one conditional definition.
9541
368e0b39
JM
95422011-01-19 Joseph Myers <joseph@codesourcery.com>
9543
9544 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
9545 %{call_shared}.
9546 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
9547 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
9548 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
9549 %{call_shared} and conditionals on these options not being passed.
9550 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
9551 %{call_shared}.
9552
ed7656f6
JJ
95532011-01-19 Jakub Jelinek <jakub@redhat.com>
9554
68457901
JJ
9555 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
9556 simplify.
9557
ed7656f6
JJ
9558 * ipa-split.c: Spelling fixes.
9559
e0d1958f
RH
95602011-01-19 Richard Henderson <rth@redhat.com>
9561
9562 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
9563 (*mulsi3): Likewise.
9564
27098b6b
RH
9565 * longlong.h [__mn10300__] (count_leading_zeros): New.
9566 [__mn10300__] (umul_ppmm, smul_ppmm): New.
9567 [__mn10300__] (add_ssaaaa, subddmmss): New.
9568 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
9569 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
9570
d6be7c36
UW
95712011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9572
9573 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
9574
b1efde2a
RH
95752011-01-19 Richard Henderson <rth@redhat.com>
9576
44217823
RH
9577 * config/mn10300/mn10300.md (addsi3_flags): New.
9578 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
9579 (subsi3_flags, subc_internal, subdi3): New.
9580 (subdi3_internal, *subdi3_degenerate): New.
9581 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
9582
37a185d7
RH
9583 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
9584 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
9585 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
9586 * config/mn10300/mn10300-protos.h: Update.
9587 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
9588 (return_ret): Likewise. Rename from return_internal_regs.
9589 (return_internal): Remove.
9590
040c5757
RH
9591 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
9592 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
9593 (mn10300_legitimate_constant_p): Likewise.
9594 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
9595 (mn10300_frame_size): New.
9596 (mn10300_expand_prologue): Use it.
9597 (mn10300_expand_epilogue): Likewise.
9598 (mn10300_initial_offset): Likewise.
9599 * config/mn10300/mn10300-protos.h: Update.
9600 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
9601 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
9602 (prologue, epilogue, return_internal): Tidy output code.
9603 (mn10300_store_multiple_operation, return): Likewise.
9604 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
9605 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
9606 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
9607 (load_pic, am33_load_pic): New.
9608 (mn10300_load_pic0, mn10300_load_pic1): New.
9609
bad41521
RH
9610 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
9611 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
9612 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
9613 (cc_flags_for_mode, cc_flags_for_code): New.
9614 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
9615 overflow flag is not valid. Validate that the flags we need
9616 for the comparison are valid.
9617 (mn10300_output_cmp): Remove.
9618 (mn10300_output_add): New.
9619 (mn10300_select_cc_mode): Use cc_flags_for_code.
9620 (mn10300_split_cbranch): New.
9621 (mn10300_match_ccmode): New.
9622 (mn10300_split_and_operand_count): New.
9623 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
9624 to the function.
9625 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
9626 (addsi3): ... here. Use mn10300_output_add.
9627 (*addsi3_flags): New.
9628 (*am33_subsi3, *mn10300_subsi3): Merge...
9629 (subsi3): ... here. Use attribute isa.
9630 (*subsi3_flags): New.
9631 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
9632 when possible.
9633 (*am33_andsi3, *mn10300_andsi3): Merge...
9634 (andsi3): ... here.
9635 (*andsi3_flags): New.
9636 (andsi3 splitters): New.
9637 (*am33_iorsi3, *mn10300_iorsi3): Merge...
9638 (iorsi3): ... here.
9639 (*iorsi3_flags): New.
9640 (*am33_xorsi3, *mn10300_xorsi3): Merge...
9641 (xorsi3): ... here.
9642 (*xorsi3_flags): New.
9643 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
9644 (one_cmplsi2): ... here.
9645 (*one_cmplsi2_flags): New.
9646 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
9647 instead of "dax" in constraints. Use mn10300_split_cbranch.
9648 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
9649 use matching constraints to eliminate a self-comparison.
9650 (*integer_conditional_branch): Rename from integer_conditional_branch.
9651 Use int_mode_flags to match CC_REG.
9652 (*cbranchsi4_btst, *btstsi): New.
9653 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
9654 mn10300_split_cbranch.
9655 (*am33_cmpsf): Rename from am33_cmpsf.
9656 (*float_conditional_branch): Rename from float_conditional_branch.
9657 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
9658 (zero_extendqisi2): ... here.
9659 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
9660 (zero_extendhisi2): ... here.
9661 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
9662 (extendqisi2): ... here.
9663 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
9664 (extendhisi2): ... here.
9665 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
9666 (ashlsi3): ... here.
9667 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
9668 (lshrsi3): ... here.
9669 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
9670 (ashrsi3): ... here.
9671 (consecutive add peephole): Remove.
9672 * config/mn10300/predicates.md (label_ref_operand): New.
9673 (int_mode_flags): New.
9674 (CCZN_comparison_operator): New.
9675
9efb4993
RH
9676 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
9677 (throughput_42_latency_43): New reservation.
9678 (mulsidi3, umulsidi3): New expanders.
9679 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
9680 the MDR register to allocation; separately allocate the low and
9681 high parts of the DImode result.
9682 (umulsidi3_internal): Similarly.
9683 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
9684 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
9685 (udivsi3, umodsi3): Remove.
9686 (udivmodsi4, divmodsi4): New expanders.
9687 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
9688 (*divmodsi4): Simiarly.
9689 (ext_internal): New.
9690
c25a21f5
RH
9691 * config/mn10300/constraints.md ("z"): New constraint.
9692 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
9693 (FIXED_REGISTERS): Don't fix MDR.
9694 (CALL_USED_REGSITERS): Reformat nicely.
9695 (REG_ALLOC_ORDER): Add MDR.
9696 (enum regclass): Add MDR_REGS.
9697 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
9698 (IRA_COVER_CLASSES): Add MDR_REGS.
9699 (REGNO_REG_CLASS): Handle MDR_REG.
9700 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
9701 (mn10300_register_move_cost): Likewise.
9702 * config/mn10300/mn10300.md (MDR_REG): New.
9703 (*movsi_internal): Handle moves to/from MDR_REGS.
9704
36846b26
RH
9705 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
9706 POST_MODIFY.
9707 (mn10300_secondary_reload): Tidy combination reload classes.
9708 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
9709 addresses for AM33. Allow symbolic offsets for reg+imm.
9710 (mn10300_regno_in_class_p): New.
9711 (mn10300_legitimize_reload_address): New.
9712 * config/mn10300/mn10300.h (enum reg_class): Remove
9713 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
9714 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
9715 SP_OR_GENERAL_REGS.
9716 (REG_CLASS_NAMES): Update to match.
9717 (REG_CLASS_CONTENTS): Likewise.
9718 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
9719 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
9720 (REGNO_IN_RANGE_P): Remove.
9721 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
9722 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
9723 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
9724 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
9725 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
9726 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
9727 (REGNO_GENERAL_P): New.
9728 (HAVE_POST_MODIFY_DISP): New.
9729 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
9730 (LEGITIMIZE_RELOAD_ADDRESS): New.
9731 * config/mn10300/mn10300-protos.h: Update.
9732
8b119bb6
RH
9733 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
9734 DATA_REGS for AM33 stack-pointer destination.
9735 (mn10300_preferred_output_reload_class): Likewise.
9736 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
9737 into a form appropriate for ...
9738 (TARGET_SECONDARY_RELOAD): New.
9739 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
9740 * config/mn10300/mn10300-protos.h: Update.
9741 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
9742 reload_insi; use the "A" constraint for the scratch; handle AM33
9743 moves of sp to non-address registers.
9744
b1efde2a
RH
9745 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
9746 (*movqi_internal): ... here.
9747 (*am33_movhi, *mn10300_movhi): Merge into...
9748 (*movhi_internal): ... here.
9749 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
9750 as the source/destination of moves from/to SP.
9751 (movsf): Only allow for AM33-2.
1c3ba85b 9752 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
9753 any integer constant constraint. Only allow for AM33-2. Tidy
9754 all of the alternative outputs.
9755 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
9756 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
9757 for MN103.
9758 (udivsi3, umodsi3): New patterns for MN103 only.
9759
b899fd78
JR
97602011-01-19 Joern Rennecke <amylaar@spamcop.net>
9761
9762 * doc/tm.texi.in: Spell out that a lack of register class unions
9763 can lead to ICEs.
9764 * doc/tm.texi: Regenerate.
9765
afaaa67d
JJ
97662011-01-19 Jakub Jelinek <jakub@redhat.com>
9767
2e0642cd
JJ
9768 PR rtl-optimization/47337
9769 * dce.c (check_argument_store): New function.
9770 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
9771
afaaa67d
JJ
9772 PR tree-optimization/47290
9773 * tree-eh.c (infinite_empty_loop_p): New function.
9774 (cleanup_empty_eh): Use it.
9775
d2cd871f
SE
97762011-01-18 Steve Ellcey <sje@cup.hp.com>
9777
9778 PR target/46997
9779 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
9780 (a64_expand_widen_sum): Ditto.
9781 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
9782 (vec_extract_evenodd_help): Ditto.
9783 (vec_extract_evenv4hi): Ditto.
9784 (vec_extract_oddv4hi): Ditto.
9785 (vec_extract_evenv2si): Ditto.
9786 (vec_extract_oddv2si): Ditto.
9787 (vec_extract_evenv2sf): Ditto.
9788 (vec_extract_oddv2sf): Ditto.
9789 (vec_pack_trunc_v4hi: Ditto.
9790 (vec_pack_trunc_v2si): Ditto.
9791 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
9792 (vec_interleave_highv8qi): Ditto.
9793 (mix1_r): Ditto.
9794 (vec_extract_oddv8qi): Ditto.
9795 (vec_interleave_lowv4hi): Ditto.
9796 (vec_interleave_highv4hi): Ditto.
9797 (vec_interleave_lowv2si): Ditto.
9798 (vec_interleave_highv2si): Ditto.
9799
41a1208a
JDA
98002011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9801
9802 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
9803 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
9804 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
9805 (pa_c_mode_for_suffix): New.
9806 (TARGET_EXPAND_BUILTIN): Define.
9807 (TARGET_C_MODE_FOR_SUFFIX): Define.
9808 (pa_builtins): Define.
9809 (pa_init_builtins): Register __float128 type and init new support
9810 builtins.
9811 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
9812 * config/pa/quadlib.c (_U_Qfcopysign): New.
9813
1ecad98e
EB
98142011-01-18 Eric Botcazou <ebotcazou@adacore.com>
9815
9816 PR middle-end/46894
9817 * explow.c (allocate_dynamic_stack_space): Do not assume more than
9818 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
9819 are defined.
9820
d4f2460a
UW
98212011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9822
9823 PR tree-optimization/47179
9824 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
9825 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
9826
4994da65
RG
98272011-01-18 Richard Guenther <rguenther@suse.de>
9828
9829 PR rtl-optimization/47216
9830 * emit-rtl.c: Include tree-flow.h.
9831 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
9832 of replicating it with different semantics.
9833 * Makefile.in (emit-rtl.o): Adjust.
9834
1eb458d1
RR
98352011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9836
38be4072 9837 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 9838 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 9839
e7ef91dc
JJ
98402011-01-18 Jakub Jelinek <jakub@redhat.com>
9841
9842 PR rtl-optimization/47299
9843 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 9844 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
9845 * expmed.c (expand_widening_mult): Don't try to optimize constant
9846 multiplication if op0 has VOIDmode. Convert op1 constant to mode
9847 before using it.
9848
535b7874
RW
98492011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9850
9851 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
9852 spacing after 'e.g.', typos, comma, hyphenation.
9853
27bf36f3
RH
98542011-01-17 Richard Henderson <rth@redhat.com>
9855
8a5b5449
RH
9856 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
9857 (rx_restricted_mem_operand): New.
9858 (rx_shift_operand): Use register_operand.
9859 (rx_source_operand, rx_compare_operand): Likewise.
9860 * config/rx/rx.md (addsi3_flags): New expander.
9861 (adddi3): Rewrite as expander.
9862 (adc_internal, *adc_flags, adddi3_internal): New patterns.
9863 (subsi3_flags): New expander.
9864 (subdi3): Rewrite as expander.
9865 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
9866
784f69be
RH
9867 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
9868 (rx_init_builtins): Remove sat builtin.
9869 (rx_expand_builtin): Likewise.
9870 * config/rx/rx.md (ssaddsi3): New.
9871 (*sat): Rename from sat. Represent the CC_REG input.
9872
f033541c
RH
9873 * config/rx/predicates.md (rshift_operator): New.
9874 * config/rx/rx.c (rx_expand_insv): Remove.
9875 * config/rx/rx-protos.h: Update.
9876 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
9877 operand to the canonical position.
9878 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
9879 (*bitclr, *bitclr_in_memory): Similarly.
9880 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
9881 (insv): Retain the zero_extract in the expansion.
9882
34fee389
RH
9883 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
9884 (bswaphi2, bitinvert, revw): Likewise.
9885
265c835f
RH
9886 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
9887 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
9888 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
9889 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
9890 (bitset, bitset_in_memory): Likewise.
9891 (bitinvert, bitinvert_in_memory): Likewise.
9892 (bitclr, bitclr_in_memory): Likewise.
9893 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
9894 (rx_strend, rx_cmpstrn): Likewise.
9895 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
9896 (bitop peep2 patterns): Remove.
9897
b4d83be3
RH
9898 * config/rx/rx.c (rx_match_ccmode): New.
9899 * config/rx/rx-protos.h: Update.
9900 * config/rx/rx.md (abssi2): Clobber, don't set flags.
9901 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
9902 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
9903 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
9904 (fix_truncsfsi2, floatsisf2): Likewise.
9905 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
9906 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
9907 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
9908 (*subsi3_flags, *xorsi3_flags): New.
9909
d0acb939
RH
9910 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
9911
c06fc3d9
RH
9912 * config/rx/rx.c (rx_print_operand): Remove workaround for
9913 unsplit comparison operations.
9914
2882702b
RH
9915 * config/rx/rx.md (movsicc): Split after reload.
9916 (*movsicc): Merge *movsieq and *movsine via match_operator.
9917 (*stcc): New pattern.
9918
6f7310f2
RH
9919 * config/rx/rx.c (rx_float_compare_mode): Remove.
9920 * config/rx/rx.h (rx_float_compare_mode): Remove.
9921 * config/rx/rx.md (cstoresi4): Split after reload.
9922 (*sccc): New pattern.
9923
e963cb1a
RH
9924 * config/rx/predicates.md (label_ref_operand): New.
9925 (rx_z_comparison_operator): New.
9926 (rx_zs_comparison_operator): New.
9927 (rx_fp_comparison_operator): New.
9928 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
9929 Validate that the flags are set properly for the comparison.
9930 (rx_gen_cond_branch_template): Remove.
9931 (rx_cc_modes_compatible): Remove.
9932 (mode_from_flags): New.
9933 (flags_from_code): Rename from flags_needed_for_conditional.
9934 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
9935 (rx_select_cc_mode): Likewise.
9936 (rx_split_fp_compare): New.
9937 (rx_split_cbranch): New.
9938 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
9939 (*cbranchsi4): Use match_operator and rx_split_cbranch.
9940 (*cbranchsf4): Similarly.
9941 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
9942 match_operator and rx_split_cbranch.
9943 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
9944 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
9945 (*cmpsi): Rename from cmpsi.
9946 (*tstsi): Rename from tstsi.
9947 (*cmpsf): Rename from cmpsf; use CC_Fmode.
9948 (*conditional_branch): Rename from conditional_branch.
9949 (*reveresed_conditional_branch): Remove.
9950 (b<code>): Remove expander.
9951 * config/rx/rx-protos.h: Update.
9952
af530bb4
RH
9953 * config/rx/rx.c (rx_compare_redundant): Remove.
9954 * config/rx/rx.md (cmpsi): Don't use it.
9955 * config/rx/rx-protos.h: Update.
9956
27bf36f3
RH
9957 * config/rx/rx-modes.def (CC_F): New mode.
9958 * config/rx/rx.c (rx_select_cc_mode): New.
9959 * config/rx/rx.h (SELECT_CC_MODE): Use it.
9960 * config/rx/rx-protos.h: Update.
9961
d7fde127
RH
99622011-01-17 Richard Henderson <rth@redhat.com>
9963
9964 * except.c (dump_eh_tree): Fix stray ; after for statement.
9965
6ff38230
RG
99662011-01-17 Richard Guenther <rguenther@suse.de>
9967
9968 PR tree-optimization/47313
9969 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
9970 handling before copying the body. Properly deal with
9971 by-reference result in SSA form.
9972
114ce554
ILT
99732011-01-17 Ian Lance Taylor <iant@google.com>
9974
bf5cd92b 9975 PR target/47219
114ce554
ILT
9976 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
9977 (struct_value_alias_set): Don't define.
9978 (sparc_option_override): Don't set sparc_sr_alias_set and
9979 struct_value_alias_set.
9980 (save_or_restore_regs): Use gen_frame_mem rather than calling
9981 set_mem_alias_set.
9982 (sparc_struct_value_rtx): Likewise.
9983
98c6d93c
L
99842011-01-17 H.J. Lu <hongjiu.lu@intel.com>
9985
9986 PR target/47318
7a81008b 9987 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i.
98c6d93c
L
9988 (_mm_maskstore_pd): Likewise.
9989 (_mm_maskload_ps): Likewise.
9990 (_mm_maskstore_ps): Likewise.
9991 (_mm256_maskload_pd): Change mask to __m256i.
9992 (_mm256_maskstore_pd): Likewise.
9993 (_mm256_maskload_ps): Likewise.
9994 (_mm256_maskstore_ps): Likewise.
9995
9996 * config/i386/i386-builtin-types.def: Updated.
9997 (ix86_expand_special_args_builtin): Likewise.
9998
9999 * config/i386/i386.c (bdesc_special_args): Update
10000 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
10001 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
10002 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
10003 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
10004
10005 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
10006 Use <avxpermvecmode> on mask register.
10007 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
10008
b9361af2 100092011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
10010 Michael Haubenwallner <michael.haubenwallner@salomon.at>
10011 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
10012
10013 PR target/46655
10014 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
10015 if <= USHRT_MAX in 32-bit mode.
10016
b7ae9eb5
RW
100172011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10018
10019 * doc/install.texi (Configuration, Specific): Wrap long
10020 lines in examples. Allow line wrapping in long options
10021 and URLs where beneficial for PDF output.
10022
4377fad9
RS
100232011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
10024
10025 * config/mips/mips.c (mips_classify_symbol): Don't return
10026 SYMBOL_PC_RELATIVE for nonlocal labels.
10027
55959ffa 100282011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 10029
55959ffa
EB
10030 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
10031
100322011-01-15 Jan Hubicka <jh@suse.cz>
10033
10034 PR tree-optimization/47276
be46831f
JH
10035 * ipa.c (function_and_variable_visibility): Do not try to mark alias
10036 declarations as needed.
10037
05842ff5
MJ
100382011-01-15 Martin Jambor <mjambor@suse.cz>
10039
10040 * common.opt (fdevirtualize): New flag.
10041 * doc/invoke.texi (Option Summary): Document it.
10042 * opts.c (default_options_table): Add devirtualize flag.
10043 * ipa-prop.c (detect_type_change): Return immediately if
10044 devirtualize flag is not set.
10045 (detect_type_change_ssa): Likewise.
10046 (compute_known_type_jump_func): Likewise.
10047 (ipa_analyze_virtual_call_uses): Likewise.
10048
f65cf2b7
MJ
100492011-01-14 Martin Jambor <mjambor@suse.cz>
10050
10051 PR tree-optimization/45934
10052 PR tree-optimization/46302
10053 * ipa-prop.c (type_change_info): New type.
10054 (stmt_may_be_vtbl_ptr_store): New function.
10055 (check_stmt_for_type_change): Likewise.
10056 (detect_type_change): Likewise.
10057 (detect_type_change_ssa): Likewise.
10058 (compute_complex_assign_jump_func): Check for dynamic type change.
10059 (compute_complex_ancestor_jump_func): Likewise.
10060 (compute_known_type_jump_func): Likewise.
10061 (compute_scalar_jump_functions): Likewise.
10062 (ipa_analyze_virtual_call_uses): Likewise.
10063 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
10064
eb5bb0fd
JM
100652011-01-14 Joseph Myers <joseph@codesourcery.com>
10066
10067 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
10068 * config/i386/i386.opt (msse5): New Alias.
10069
f2060fbe
JM
100702011-01-14 Joseph Myers <joseph@codesourcery.com>
10071
10072 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
10073 * config/sparc/linux64.h (CC1_SPEC): Likewise.
10074 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
10075 * config/sparc/sparc.h (CC1_SPEC): Likewise.
10076
3a7b4385
JM
100772011-01-14 Joseph Myers <joseph@codesourcery.com>
10078
10079 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
10080 -mcpu options.
10081 * config/sparc/linux64.h (CC1_SPEC): Likewise.
10082 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
10083 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
10084 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
10085 Likewise.
10086 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
10087
a7b778f8
JM
100882011-01-14 Joseph Myers <joseph@codesourcery.com>
10089
38be4072 10090 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 10091
a7edae0a
MS
100922011-01-14 Mike Stump <mikestump@comcast.net>
10093
10094 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
10095 * config/fr30/fr30.md: Likweise
10096 (movsi_push): Likewise.
10097 (movsi_pop): Likewise.
10098 (enter_func): Likewise.
10099 * config/moxie/moxie.md (movsi_push): Likewise.
10100 (movsi_pop): Likewise.
10101
cbabf03f
JM
101022011-01-14 Joseph Myers <joseph@codesourcery.com>
10103
10104 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
10105 %{no_archive} %{exact_version}.
10106 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
10107 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
10108 %{no_archive} %{exact_version}.
10109 * config/mips/openbsd.h (LINK_SPEC): Likewise.
10110 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
10111 * config/mips/vxworks.h: Likewise.
10112
438da41a
JM
101132011-01-14 Joseph Myers <joseph@codesourcery.com>
10114
38be4072 10115 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 10116
da290a42
JM
101172011-01-14 Joseph Myers <joseph@codesourcery.com>
10118
10119 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
10120 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
10121
8989d00e
JM
101222011-01-14 Joseph Myers <joseph@codesourcery.com>
10123
10124 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
10125 -nodefaultlib.
10126
a3010a69
JM
101272011-01-14 Joseph Myers <joseph@codesourcery.com>
10128
10129 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
10130 for mcpu not cpu.
10131 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
10132 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
10133 not cpu.
10134 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
10135 Don't handle -shlib.
10136
e7f2f537
JM
101372011-01-14 Joseph Myers <joseph@codesourcery.com>
10138
10139 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
10140 (CC1_SPEC): Don't handle -profile.
10141
34830bfd
JM
101422011-01-14 Joseph Myers <joseph@codesourcery.com>
10143
10144 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
10145 * config/mips/mips.h (CC1_SPEC): Likewise.
10146
b2d36e74
JM
101472011-01-14 Joseph Myers <joseph@codesourcery.com>
10148
10149 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
10150 * config/mips/mips.h (CC1_SPEC): Likewise.
10151
dabadc52
JM
101522011-01-14 Joseph Myers <joseph@codesourcery.com>
10153
10154 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
10155 * config/m32r/linux.h (LINK_SPEC): Likewise.
10156 * config/mips/linux.h (LINK_SPEC): Likewise.
10157 * config/mips/linux64.h (LINK_SPEC): Likewise.
10158 * config/sparc/linux.h (LINK_SPEC): Likewise.
10159 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
10160 LINK_SPEC): Likewise.
10161 * config/xtensa/linux.h (LINK_SPEC): Likewise.
10162
43ee6785
JM
101632011-01-14 Joseph Myers <joseph@codesourcery.com>
10164
10165 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
10166 %{version:-v}.
10167 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
10168
45e79dfd
JM
101692011-01-14 Joseph Myers <joseph@codesourcery.com>
10170
10171 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
10172 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
10173
37e9e71d
JM
101742011-01-14 Joseph Myers <joseph@codesourcery.com>
10175
10176 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
10177
bb127cd8
RO
101782011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10179
10180 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
10181 supports -Bstatic/-Bdynamic.
10182 * configure: Regenerate.
10183
89a012ea 101842011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 10185 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
10186
10187 PR target/46037
10188 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
10189 when checking debug_info_level. Test write_symbols instead of
10190 debug_hooks->var_location when setting flag_var_tracking_uninit.
10191
7352c013
RG
101922011-01-14 Richard Guenther <rguenther@suse.de>
10193
10194 PR tree-optimization/47179
10195 * target.def (ref_may_alias_errno): New target hook.
10196 * targhooks.h (default_ref_may_alias_errno): Declare.
10197 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
10198 (default_ref_may_alias_errno): New function.
10199 * target.h (struct ao_ref_s): Declare.
10200 * tree-ssa-alias.c: Include target.h.
10201 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
10202 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
10203 (targhooks.o): Likewise.
10204 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
10205 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
10206
9a6c9288
RG
102072011-01-14 Richard Guenther <rguenther@suse.de>
10208
10209 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
10210
0fdb0d27
RG
102112011-01-14 Richard Guenther <rguenther@suse.de>
10212
10213 PR tree-optimization/47280
10214 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
10215 return CFG changes.
10216 (tree_ssa_forward_propagate_single_use_vars): Deal with
10217 CFG changes from associate_plusminus.
10218
8f66db3b
RG
102192011-01-14 Richard Guenther <rguenther@suse.de>
10220
10221 PR middle-end/47281
10222 Revert
10223 2011-01-11 Richard Guenther <rguenther@suse.de>
10224
280d9630
EB
10225 PR tree-optimization/46076
10226 * tree-ssa.c (useless_type_conversion_p): Conversions from
10227 unprototyped to empty argument list function types are useless.
8f66db3b 10228
6c0c92e6
RG
102292011-01-14 Richard Guenther <rguenther@suse.de>
10230
10231 PR tree-optimization/47286
280d9630 10232 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 10233
db09f943
MJ
102342011-01-14 Martin Jambor <mjambor@suse.cz>
10235
10236 PR middle-end/46823
10237 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
10238
dde8a3a4
AS
102392011-01-13 Anatoly Sokolov <aesok@post.ru>
10240
10241 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
10242 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
10243 * config/xtensa/xtensa.c (xtensa_libcall_value,
10244 xtensa_function_value_regno_p): New functions.
10245 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
10246
a2b63a20
KT
102472011-01-13 Kai Tietz <kai.tietz@onevision.com>
10248
10249 PR c++/47213
10250 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
10251 PE specific hook.
10252 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
10253 New function prototype.
10254 * config/i386/winnt.c (i386_pe_assemble_visibility):
10255 Warn only if attribute was specified by user.
10256
b41f0b34
MM
102572011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
10258
10259 PR target/47251
10260 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
10261 floating point.
10262 (floatunsdidf2_fcfidu): Ditto.
10263
3f3c098d
AK
102642011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10265
10266 * config/s390/s390.c (print_operand_address): Replace 'error' with
10267 'output_operand_lossage'.
10268 (print_operand): Likewise.
10269
29fa95ed
JL
102702011-01-13 Jeff Law <law@redhat.com>
10271
280d9630 10272 PR rtl-optimization/39077
29fa95ed
JL
10273 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
10274 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
10275 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
10276 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
10277 * gcse.c (prune_insertions_deletions): New function.
10278 (compute_pre_data): Use it.
10279
71d12276
DS
102802011-01-13 Dodji Seketeli <dodji@redhat.com>
10281
10282 PR debug/PR46973
10283 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
10284 static function.
61052244 10285 (prune_unused_types_mark): Use it.
71d12276 10286
9b0f04e7
AB
102872011-01-13 Andrey Belevantsev <abel@ispras.ru>
10288
10289 PR rtl-optimization/45352
1c3ba85b 10290 * sel-sched.c: Update copyright years.
9b0f04e7 10291 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 10292 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 10293
d6a3e264
RH
102942011-01-12 Richard Henderson <rth@redhat.com>
10295
a49b692a
RH
10296 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
10297 (TARGET_MD_ASM_CLOBBERS): New.
10298
126b1483
RH
10299 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
10300 (TARGET_DELEGITIMIZE_ADDRESS): New.
10301
f3d9d2e0
RH
10302 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
10303 (clzsi2, *bsch): New patterns.
10304
d84760c9
RH
10305 * config/mn10300/mn10300.md (INT): New mode iterator.
10306 (*mov<INT>_clr): New pattern, and peep2 to generate it.
10307
ec815d65
RH
10308 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
10309 flag_split_wide_types.
10310
d6a3e264
RH
10311 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
10312 (mn10300_trampoline_init): Rewrite without a template, an immediate
10313 load and a direct branch.
10314 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
10315
0f8ab434
AS
103162011-01-12 Anatoly Sokolov <aesok@post.ru>
10317
10318 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
10319 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
10320 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
10321 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
10322
d8a24b65
KT
103232011-01-12 Kai Tietz <kai.tietz@onevision.com>
10324
10325 PR debug/47209
10326 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
10327 of type.
10328
56e22cab
JH
103292011-01-12 Jan Hubicka <jh@suse.cz>
10330
10331 PR driver/47244
10332 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
10333 (PLUGIN_COND_CLOSE): New macro.
10334 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
10335
4b18b3c2
RG
103362011-01-12 Richard Guenther <rguenther@suse.de>
10337
10338 PR lto/47259
10339 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
10340 register variables in a MEM_REF.
10341
8e38461c
JM
103422011-01-12 Joseph Myers <joseph@codesourcery.com>
10343
10344 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
10345 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
10346 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
10347 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
10348 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
10349 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
10350 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
10351 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
10352 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
10353 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
10354 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
10355 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
10356 * config/gnu-user.h: New. Copied from linux.h.
10357 (LINUX_TARGET_STARTFILE_SPEC): Rename to
10358 GNU_USER_TARGET_STARTFILE_SPEC.
10359 (LINUX_TARGET_ENDFILE_SPEC): Rename to
10360 GNU_USER_TARGET_ENDFILE_SPEC.
10361 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
10362 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
10363 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
10364 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
10365 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
10366 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
10367 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
10368 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
10369 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
10370 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
10371 * config/arm/linux-eabi.h (CC1_SPEC): Use
10372 GNU_USER_TARGET_CC1_SPEC.
10373 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
10374 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
10375 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
10376 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
10377 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
10378 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
10379 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
10380 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
10381
a570fc16
RG
103822011-01-12 Richard Guenther <rguenther@suse.de>
10383
10384 PR other/46946
10385 * doc/invoke.texi (ffast-math): Document it is turned on
10386 with -Ofast.
10387
b0223c3e
JH
103882011-01-12 Jan Hubicka <jh@suse.cz>
10389
10390 PR tree-optimization/47233
ca1e00b3
EB
10391 * opts.c (common_handle_option): Disable ipa-reference with profile
10392 feedback.
b0223c3e 10393
1c3ba85b 103942011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
10395
10396 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
10397 error message.
10398
d853ee42
NP
103992011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
10400
10401 * c-parser.c (c_lex_one_token): Updated and reindented some
10402 comments. No changes in code.
10403
4053a5a0
ILT
104042011-01-11 Ian Lance Taylor <iant@google.com>
10405
10406 * godump.c (go_output_var): Don't output the variable if there is
10407 already a type with the same name.
10408
fa3e04d2
ILT
104092011-01-11 Ian Lance Taylor <iant@google.com>
10410
10411 * godump.c (go_format_type): Don't generate float80.
10412
885fe07c
RH
104132011-01-11 Richard Henderson <rth@redhat.com>
10414
72d6e3c5
RH
10415 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
10416 declaration. Rewrite for both speed and size.
10417 (mn10300_address_cost_1): Remove.
10418 (mn10300_register_move_cost): New.
10419 (mn10300_memory_move_cost): New.
10420 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
10421 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
10422 extensions, shifts, BSWAP, CLZ.
10423 (mn10300_wide_const_load_uses_clr): Remove.
10424 (TARGET_REGISTER_MOVE_COST): New.
10425 (TARGET_MEMORY_MOVE_COST): New.
10426 * config/mn10300/mn10300-protos.h: Update.
10427 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
10428
df37c023
RH
10429 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
10430 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
10431 * config/mn10300/mn10300-protos.h: Update.
10432 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
10433 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
10434 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
10435 (*test_int_bitfield, *test_byte_bitfield): Remove.
10436 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 10437 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 10438
85a337b5
RH
10439 * config/mn10300/constraints.md ("c"): Rename from "A".
10440 ("A", "D"): New constraint letters.
10441 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
10442 (fmssf4, fnmasf4, fnmssf4): Likewise.
10443
a5c727e3
RH
10444 * config/mn10300/mn10300.md (isa): New attribute.
10445 (enabled): New attribute.
10446
0d9e23f4
RH
10447 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
10448 (abssf2, negsf2): Define only for hardware fp.
10449 (sqrtsf2): Reformat.
10450 (addsf3, subsf3, mulsf3): Merge expander and insn.
10451
c157b3f0
RH
10452 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
10453 (DEBUGGER_AUTO_OFFSET): Remove.
10454 (DEBUGGER_ARG_OFFSET): Remove.
10455
cc909bba
RH
10456 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
10457 Emit register stores with the same offsets as the hardware.
10458 (mn10300_store_multiple_operation): Don't check that the register
10459 save offsets are monotonic.
10460 * config/mn10300/mn10300-protos.h: Update.
10461
e3b5c2f3
RH
10462 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
10463
885fe07c
RH
10464 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
10465 in terms of the value on the stack, not the MDR register.
10466
6e701822
JH
104672011-01-11 Jan Hubicka <jh@suse.cz>
10468
10469 PR lto/45721
10470 PR lto/45375
10471 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
10472 (symbol_alias_set_destroy, symbol_alias_set_contains,
10473 propagate_aliases_backward): Declare.
10474 * lto-streamer-out.c (struct sets): New sturcture.
10475 (trivally_defined_alias): New function.
10476 (output_alias_pair_p): Rewrite.
10477 (output_unreferenced_globals): Fix output of alias pairs.
10478 (produce_symtab): Likewise.
10479 * ipa.c (function_and_variable_visibility): Set weak alias destination
10480 as needed in lto.
10481 * varasm.c (symbol_alias_set_t): Remove.
10482 (symbol_alias_set_destroy): Export.
10483 (propagate_aliases_forward, propagate_aliases_backward): New functions
10484 based on ...
10485 (compute_visible_aliases): ... this one; remove.
10486 (trivially_visible_alias): New
10487 (trivially_defined_alias): New.
10488 (remove_unreachable_alias_pairs): Rewrite.
10489 (finish_aliases_1): Reorganize code checking if alias is defined.
10490 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
10491 in LTO mode.
10492
1b248907
RG
104932011-01-11 Richard Guenther <rguenther@suse.de>
10494
10495 PR tree-optimization/46076
10496 * tree-ssa.c (useless_type_conversion_p): Conversions from
10497 unprototyped to empty argument list function types are useless.
10498
b1923f0a
RG
104992011-01-11 Richard Guenther <rguenther@suse.de>
10500
10501 PR middle-end/45235
10502 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
10503 volatile MEMs as MEM_READONLY_P.
10504
e98965af
RG
105052011-01-11 Richard Guenther <rguenther@suse.de>
10506
10507 PR tree-optimization/47239
10508 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
10509
9f9ca914
JL
105102011-01-11 Jeff Law <law@redhat.com>
10511
1ee3ea05 10512 PR tree-optimization/47086
9f9ca914
JL
10513 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
10514 IVs from statements that might throw.
10515
345fdcb7
JH
105162011-01-10 Jan Hubicka <jh@suse.cz>
10517
10518 PR lto/45375
10519 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
10520
c459c97b
JH
105212011-01-10 Jan Hubicka <jh@suse.cz>
10522
10523 PR lto/45375
10524 * profile.c (read_profile_edge_counts): Ignore profile inconistency
10525 when correcting profile.
10526
06c9eb51
JH
105272011-01-10 Jan Hubicka <jh@suse.cz>
10528
10529 PR lto/46083
10530 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
10531 DECL_FINI_PRIORITY.
10532 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
10533 Restore DECL_FINI_PRIORITY.
10534
ae9fd815
RW
105352011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10536
10537 * doc/gimple.texi: Fix quoting of multi-word return values in
10538 @deftypefn statements. Ensure presence of return value. Wrap
10539 overlong @deftypefn lines.
10540 (is_gimple_operand, is_gimple_min_invariant_address): Remove
10541 descriptions of removed functions.
10542 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
10543 of multi-word return value in @deftypefn statement.
10544
0ecb4a7c
RW
105452011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10546
10547 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
10548 (Conditional Expressions, Logical Operators)
10549 (Statement and operand traversals): Do not indent smallexample
10550 code. Fix duplicate function argument in example.
10551
2e5e346d
JL
105522011-01-10 Jeff Law <law@redhat.com>
10553
1ee3ea05 10554 PR tree-optimization/47141
2e5e346d
JL
10555 * ipa-split.c (split_function): Handle case where we are
10556 returning a value and the return block has a virtual operand phi.
10557
cf9712cc
JH
105582011-01-10 Jan Hubicka <jh@suse.cz>
10559
1c3ba85b 10560 PR tree-optimization/47234
cf9712cc
JH
10561 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
10562 (pass_feedback_split_functions): Declare.
10563 * passes.c (init_optimization_passes): Add ipa-split as subpass of
10564 tree-profile.
10565 * ipa-split.c (gate_split_functions): Update comments; disable
10566 split-functions for profile_arc_flag and branch_probabilities.
10567 (gate_feedback_split_functions): New function.
10568 (execute_feedback_split_functions): New function.
10569 (pass_feedback_split_functions): New global var.
10570
94cd932c
L
105712011-01-10 H.J. Lu <hongjiu.lu@intel.com>
10572
10573 PR lto/46760
10574 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
10575 calling gimple_call_set_cannot_inline.
10576
fbbfcaf1
IS
105772011-01-10 Iain Sandoe <iains@gcc.gnu.org>
10578
10579 * config/darwin-sections.def: Remove unused section.
10580
d06865bf
DK
105812011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
10582
10583 PR c++/47218
10584 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
10585
96bbfbac
NP
105862011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
10587
10588 PR objc/47232
10589 * c-parser.c (c_parser_declaration_or_fndef): Improved
10590 error message.
10591
1ba6516f
KT
105922011-01-09 Kai Tietz <kai.tietz@onevision.com>
10593
10594 * config/i386/winnt.c (i386_pe_start_function): Make sure
10595 to switch back to function's section.
10596
0c5d770e
IS
105972011-01-09 Iain Sandoe <iains@gcc.gnu.org>
10598
10599 PR gcc/46902
10600 PR testsuite/46912
10601 * plugin.c: Move include of dlfcn.h from here...
10602 * system.h: ... to here.
10603
106042011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
10605
10606 * doc/cpp.texi (C++ Named Operators): Fix markup for header
10607 file name.
10608 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
10609 two extra empty pages in PDF output.
10610
046608a3
NP
106112011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
10612
10613 PR objc/47078
10614 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
10615 for error recovery purposes behave as if it was not specified so
10616 that the default type is usd.
10617
8cb114b9
JH
106182011-01-07 Jan Hubicka <jh@suse.cz>
10619
10620 PR tree-optmization/46469
10621 * ipa.c (function_and_variable_visibility): Clear needed flags on
10622 nodes with external decls; handle weakrefs merging correctly.
10623
b294a75e
JM
106242011-01-07 Joseph Myers <joseph@codesourcery.com>
10625
10626 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
10627 not false.
10628
96bdf9b4
JH
106292011-01-07 Jan Hubicka <jh@suse.cz>
10630
f60c2554 10631 * doc/invoke.texi (-flto, -fuse-linker-plugin): Update defaults
96bdf9b4
JH
10632 and no longer claim that gold is required for linker plugin.
10633 * configure: Regenerate.
10634 * gcc.c (PLUGIN_COND): New macro.
10635 (LINK_COMMAND_SPEC): Use it.
10636 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
10637 * config.in (HAVE_LTO_PLUGIN): New.
10638 * configure.ac (--with-lto-plugin): New parameter; autodetect
10639 HAVE_LTO_PLUGIN.
10640
17afc0fe
JH
106412011-01-07 Jan Hubicka <jh@suse.cz>
10642
10643 PR tree-optimization/46367
10644 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
10645 when we can update original.
10646 (cgraph_mark_inline_edge): Sanity check.
10647 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
10648
d4c48c0f
UW
106492011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10650
10651 * config/spu/spu.h (ASM_COMMENT_START): Define.
10652
96f5b137
L
106532011-01-07 H.J. Lu <hongjiu.lu@intel.com>
10654
10655 PR driver/42445
10656 * gcc.c (%>S): New.
10657 (SWITCH_KEEP_FOR_GCC): Likewise.
10658 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
10659 (do_spec_1): Handle "%>".
10660
10661 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
10662
c6a8f6de
JJ
106632011-01-07 Jakub Jelinek <jakub@redhat.com>
10664
c21bbd7a
JJ
10665 PR target/47201
10666 * config/i386/i386.c (ix86_delegitimize_address): If
10667 simplify_gen_subreg fails, return orig_x.
10668
c6a8f6de
JJ
10669 PR bootstrap/47187
10670 * value-prof.c (gimple_stringop_fixed_value): Handle
10671 lhs of the call properly.
10672
fe95fbf9
JH
106732011-01-07 Jan Hubicka <jh@suse.cz>
10674
10675 PR lto/45375
10676 * lto-opt.c (lto_reissue_options): Set flag_shlib.
10677
14d11d40
IS
106782011-01-07 Iain Sandoe <iains@gcc.gnu.org>
10679
72e961c8
EB
10680 * target.def (function_switched_text_sections): New hook.
10681 * doc/tm.texi: Regenerated.
10682 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 10683 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
10684 (final_scan_insn): Call function_switched_text_sections when a
10685 mid-function section change occurs.
14d11d40 10686 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
10687 * config/darwin-protos.h (darwin_function_switched_text_sections):
10688 Likewise.
14d11d40 10689 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 10690 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 10691
0b764288
IS
106922011-01-07 Iain Sandoe <iains@gcc.gnu.org>
10693
10694 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
10695 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
10696 the secondary code fragment when outputting for DWARF == 2.
10697
2ac6bb04
AS
106982011-01-07 Anatoly Sokolov <aesok@post.ru>
10699
10700 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
10701 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
10702 Remove.
10703 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
10704 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
10705
9f82de11
EB
107062011-01-06 Eric Botcazou <ebotcazou@adacore.com>
10707
10708 PR debug/46704
280d9630
EB
10709 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
10710 when it is not empty.
9f82de11
EB
10711
107122011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 10713
1ed72abf 10714 Bobcat Enablement
14b52538 10715 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 10716 (case ${target}): Add btver1.
14b52538 10717 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 10718 -march=native recognize btver1 processors.
14b52538 10719 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 10720 btver1 def_and_undef
14b52538 10721 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
10722 btver1 cost table.
10723 (m_BTVER1): New definition.
10724 (m_AMD_MULTIPLE): Includes m_BTVER1.
10725 (initial_ix86_tune_features): Add btver1 tune.
10726 (processor_target_table): Add btver1 entry.
10727 (static const char *const cpu_names): Add btver1 entry.
10728 (software_prefetching_beneficial_p): Add btver1.
10729 (ix86_option_override_internal): Add btver1 instruction sets.
10730 (ix86_issue_rate): Add btver1.
10731 (ix86_adjust_cost): Add btver1.
14b52538 10732 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
10733 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
10734 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
10735 * config/i386/i386.md (define_attr "cpu"): Add btver1.
10736
e1a973d8
RO
107372011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10738
10739 PR target/43309
10740 * config/i386/i386.c (legitimize_tls_address)
10741 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
10742 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
10743 (tls_initial_exec_64_sun): New pattern.
10744
c73f67c5
GP
107452011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
10746
10747 * doc/invoke.texi (Overall Options): Improve wording and markup
10748 of the description of -wrapper.
10749
bc4c6f9c
JM
107502011-01-06 Joseph Myers <joseph@codesourcery.com>
10751
10752 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
10753 rdynamic, threads): New Driver options.
10754
adb75db0
RO
107552011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10756
10757 PR target/38118
10758 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
10759 if coming from .tdata.
10760 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
10761
402c1cb4
JH
107622011-01-06 Jan Hubicka <jh@suse.cz>
10763
10764 PR lto/47188
10765 * collect2.c (main): Do not enable LTOmode when plugin is active.
10766
a4da6485
RO
107672011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10768
10769 PR other/45915
10770 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
10771 --version output if supported.
10772 * configure: Regenerate.
10773
028dbdf4
JM
107742011-01-06 Joseph Myers <joseph@codesourcery.com>
10775
10776 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
10777 Driver options.
10778
dfe776dd
JJ
107792011-01-06 Jakub Jelinek <jakub@redhat.com>
10780
10781 PR c/47150
10782 * c-convert.c (convert): When converting a complex expression
10783 other than COMPLEX_EXPR to a different complex type, ensure
10784 c_save_expr is called instead of save_expr, unless in_late_binary_op.
10785 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
10786 when converting COMPLEX_TYPE.
10787
210dedfe
IR
107882011-01-06 Ira Rosen <irar@il.ibm.com>
10789
10790 PR tree-optimization/47139
10791 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
10792 only the last reduction value is used outside the loop. Update
10793 documentation.
10794
cd33a412
JM
107952011-01-05 Joseph Myers <joseph@codesourcery.com>
10796
10797 * config/rtems.opt: New.
10798 * config.gcc (*-*-rtems*): Use rtems.opt.
10799
819edd94
CF
108002011-01-05 Changpeng Fang <changpeng.fang@amd.com>
10801
10802 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
10803 processors do not support 3DNow instructions.
10804
dc242c4a
UW
108052011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10806
10807 * config/spu/spu.c (spu_option_override): Set parameter
10808 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
10809
be286227
JH
108102011-01-05 Jan Hubicka <jh@suse.cz>
10811
10812 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
10813 at the command line.
10814
644e637f
MJ
108152011-01-05 Martin Jambor <mjambor@suse.cz>
10816
10817 PR lto/47162
10818 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
10819 deltas on streamed outgoing edges.
10820 (output_node_opt_summary): Output info for outgoing edges only when
10821 the node is in new parameter set.
10822 (output_cgraph_opt_summary): New parameter set, passed to the two
10823 aforementioned functions. Update its forward declaration and its
10824 callee too.
10825
7bd11157
TT
108262011-01-05 Tom Tromey <tromey@redhat.com>
10827
10828 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
10829 operator to c_finish_omp_atomic.
10830 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
10831 (build_unary_op): Update.
10832 (build_modify_expr): Update.
10833 (build_asm_expr): Update.
10834
f626b979
UW
108352011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10836
10837 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
10838 newly inserted insns.
10839 (pad_bb): Likewise.
10840 (spu_emit_branch_hint): Likewise.
10841 (insert_hbrp_for_ilb_runout): Likewise.
10842 (spu_machine_dependent_reorg): Call df_finish_pass after
10843 schedule_insns returns.
10844
4c825c02
UW
108452011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10846
10847 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
10848
5e9fba51
EB
108492011-01-05 Eric Botcazou <ebotcazou@adacore.com>
10850
10851 PR tree-optimization/47005
10852 * tree-sra.c (struct access): Add 'non_addressable' bit.
10853 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
10854 (decide_one_param_reduction): Return 0 if the parameter is passed by
10855 reference and one of the accesses in the group is non_addressable.
10856
3ebb5ca6
EB
108572011-01-04 Eric Botcazou <ebotcazou@adacore.com>
10858
10859 PR tree-optimization/47056
10860 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
10861 (mark_load): Likewise. Handle FUNCTION_DECL specially.
10862 (mark_store): Likewise. Pass STMT to ipa_record_reference.
10863
d5d4d14e
EB
108642011-01-04 Eric Botcazou <ebotcazou@adacore.com>
10865
10866 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
10867 initializer. Skip view conversions from aggregate types.
10868
d996ef70
KT
108692011-01-04 Kai Tietz <kai.tietz@onevision.com>
10870
10871 PR bootstrap/47055
10872 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
10873
509d65dd 108742011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
10875
10876 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
10877 obvious typo.
10878
55c623b5
UW
108792011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10880
10881 * function.c (thread_prologue_and_epilogue_insns): Do not crash
10882 on empty epilogue sequences.
10883
b98d6b35
JM
108842011-01-04 Joseph Myers <joseph@codesourcery.com>
10885
10886 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
10887 non-static): New Driver options.
10888
a0d43bac
JZ
108892011-01-04 Jie Zhang <jie@codesourcery.com>
10890
10891 PR driver/47137
10892 * gcc.c (default_compilers[]): Set combinable field to 0
10893 for all assembly languages.
10894
2b18eb32
MX
108952011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
10896
10897 * config/mips/loongson3a.md: New file.
10898 * config/mips/mips.md: Include loongson3a.md.
10899 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
10900 TUNE_LOONGSON_3A.
10901
42a48c4f
EB
109022011-01-03 Eric Botcazou <ebotcazou@adacore.com>
10903
10904 PR middle-end/47017
10905 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
10906 instead of convert_memory_address_addr_space on the base expression.
10907
9c1732c4
UW
109082011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10909
10910 * config/spu/spu.c (spu_option_override): Update error text
10911 for bad -march= / -mtune= values.
10912
aa474365
UW
109132011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10914
10915 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
10916 if branch-hint optimization will be performed.
10917
9766135b
JJ
109182011-01-03 Jakub Jelinek <jakub@redhat.com>
10919
371556ee
JJ
10920 PR tree-optimization/47148
10921 * ipa-split.c (split_function): Convert arguments to
10922 DECL_ARG_TYPE if possible.
10923
1ac12fa2
JJ
10924 PR tree-optimization/47155
10925 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
10926 when computing uns.
10927
9766135b
JJ
10928 PR rtl-optimization/47157
10929 * combine.c (try_combine): If undobuf.other_insn becomes
10930 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
10931 and set *new_direct_jump_p too.
10932
f4a2e571
SP
109332011-01-03 Sebastian Pop <sebastian.pop@amd.com>
10934
10935 PR tree-optimization/47021
10936 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
10937
9f8e43c0
JJ
109382011-01-03 Jakub Jelinek <jakub@redhat.com>
10939
10940 * gcc.c (process_command): Update copyright notice dates.
10941 * gcov.c (print_version): Likewise.
10942 * gcov-dump.c (print_version): Likewise.
10943 * mips-tfile.c (main): Likewise.
10944 * mips-tdump.c (main): Likewise.
10945
1a2e38f3
MJ
109462011-01-03 Martin Jambor <mjambor@suse.cz>
10947
10948 PR tree-optimization/46801
10949 * tree-sra.c (type_internals_preclude_sra_p): Check whether
10950 aggregate fields start at byte boundary instead of the bit-field flag.
10951
56b721c5
L
109522011-01-03 H.J. Lu <hongjiu.lu@intel.com>
10953
10954 PR driver/47137
10955 * gcc.c (main): Revert revision 168407.
10956
839d549b
MJ
109572011-01-03 Martin Jambor <mjambor@suse.cz>
10958
10959 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
10960
4ce99a20 109612011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
10962
10963 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
10964 vector optab to expand vector/scalar shift, update gimple to vector.
10965
76df0ae6
MJ
109662011-01-03 Martin Jambor <mjambor@suse.cz>
10967
10968 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
10969 a thunk.
10970
ce47fda3
MJ
109712011-01-03 Martin Jambor <mjambor@suse.cz>
10972
10973 PR tree-optimization/46984
10974 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
10975 HOST_WIDE_INT.
10976 (cgraph_create_indirect_edge): Fixed line length.
10977 (cgraph_indirect_call_info): Declare.
10978 (cgraph_make_edge_direct) Update declaration.
10979 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
10980 (cgraph_create_indirect_edge): Use it.
10981 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
10982 callees.
10983 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
10984 the new thunk_delta representation.
10985 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
10986 HOST_WIDE_INT.
10987 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
10988 (ipa_read_indirect_edge_info): Likewise.
10989 * lto-cgraph.c (output_edge_opt_summary): New function.
10990 (output_node_opt_summary): Call it on all outgoing edges.
10991 (input_edge_opt_summary): New function.
10992 (input_node_opt_summary): Call it on all outgoing edges.
10993
1e67fa1f
L
109942011-01-02 H.J. Lu <hongjiu.lu@intel.com>
10995
10996 PR driver/47137
10997 * gcc.c (main): Don't check have_o when settting combine_inputs.
10998
6656b2ac
EB
109992011-01-02 Eric Botcazou <ebotcazou@adacore.com>
11000
11001 * regrename.c: Add general comment describing the pass.
11002 (struct du_head): Remove 'length' field.
11003 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
11004 (regrename_optimize): Do not sort chains. Rework comments, add others.
11005 Force renaming to the preferred class (if any) in the first pass and do
11006 not consider registers that belong to it in the second pass.
11007 (create_new_chain): Do not set 'length' field.
11008 (scan_rtx_reg): Likewise.
11009
bc470c24
JJ
110102011-01-02 Jakub Jelinek <jakub@redhat.com>
11011
4e996296
JJ
11012 PR tree-optimization/47140
11013 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
11014 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
11015 to bit_value_binop.
11016
bc470c24 11017 PR rtl-optimization/47028
6656b2ac
EB
11018 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
11019 parm_birth_insn instead of at the beginning of first bb.
bc470c24 11020
5af62fcd 110212011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
11022
11023 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
11024 Remove the word "see" before "@pxref".
11025 * doc/rtl.texi: Remove the word "see" before "@pxref".
11026
0e20c89f
JH
110272011-01-01 Jan Hubicka <jh@suse.cz>
11028
6656b2ac
EB
11029 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
11030 memory.
0e20c89f 11031
220e83ca
KT
110322011-01-01 Kai Tietz <kai.tietz@onevision.com>
11033
11034 PR target/38662
6656b2ac 11035 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 11036
ad41bd84 11037\f
797103eb 11038Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
11039
11040Copying and distribution of this file, with or without modification,
11041are permitted in any medium without royalty provided the copyright
11042notice and this notice are preserved.
This page took 3.803733 seconds and 5 git commands to generate.