]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
ChangeLog gcc/
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
583722ee
KT
12011-04-20 Kai Tietz <ktietz@redhat.com>
2
3 * fold-const.c (fold_binary_loc): Add handling for
4 (X & ~Y) | (~X & Y) and (X && !Y) | (!X && Y) optimization
5 to (X ^ Y).
6
422c0989
AS
72011-04-20 Andrew Stubbs <ams@codesourcery.com>
8
9 * config/arm/arm.c (arm_gen_constant): Remove redundant can_invert.
10
d7978bff
RG
112011-04-20 Richard Guenther <rguenther@suse.de>
12
13 PR tree-optimization/47892
14 * tree-if-conv.c (if_convertible_stmt_p): Const builtins
15 are if-convertible.
16
818412ba
EB
172011-04-20 Eric Botcazou <ebotcazou@adacore.com>
18
19 * config/alpha/vms.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not redefine.
20
b501ce4e
TG
212011-04-20 Tristan Gingold <gingold@adacore.com>
22
23 * config/alpha/vms.h (LINK_SPEC): Do not use vms-dwarf2.o for gnu-ld.
24
516edfdd
GJL
252011-04-20 Georg-Johann Lay <avr@gjlay.de>
26
27 PR target/18145
28
29 * config/avr/avr.h (TARGET_ASM_INIT_SECTIONS): Delete.
30 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
31 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
32 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
33 (TARGET_ASM_NAMED_SECTION): Change to avr_asm_named_section.
34
35 * config/avr/avr-protos.h (avr_asm_output_aligned_common):
36 New prototype.
37
38 * config/avr/avr.c (TARGET_ASM_INIT_SECTIONS): Define.
39 (avr_asm_named_section, avr_asm_output_aligned_common,
40 avr_output_data_section_asm_op, avr_output_bss_section_asm_op):
41 New functions to update...
42 (avr_need_clear_bss_p, avr_need_copy_data_p): ...these new variables.
43 (avr_asm_init_sections): Overwrite section callbacks for
44 data_section, bss_section.
45 (avr_file_start): Move output of __do_copy_data, __do_clear_bss
46 from here to...
47 (avr_file_end): ...here.
48
dafc9511
RG
492011-04-20 Richard Guenther <rguenther@suse.de>
50
51 PR middle-end/48695
52 * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
53 objects and types here. Adjust for their offset before
54 comparing.
55
1da0876c
RS
562011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
57
58 * tree-vect-stmts.c (vectorizable_store): Only chain one related
59 statement per copy.
60
25583c4f
RS
612011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
62
63 * Makefile.in (INTERNAL_FN_DEF, INTERNAL_FN_H): Define.
64 (GIMPLE_H): Include $(INTERNAL_FN_H).
65 (OBJS-common): Add internal-fn.o.
66 (internal-fn.o): New rule.
67 * internal-fn.def: New file.
68 * internal-fn.h: Likewise.
69 * internal-fn.c: Likewise.
70 * gimple.h: Include internal-fn.h.
71 (GF_CALL_INTERNAL): New gf_mask.
72 (gimple_statement_call): Put fntype into a union with a new
73 internal_fn field.
74 (gimple_build_call_internal): Declare.
75 (gimple_build_call_internal_vec): Likewise.
76 (gimple_call_same_target_p): Likewise.
77 (gimple_call_internal_p): New function.
78 (gimple_call_internal_fn): Likewise.
79 (gimple_call_fntype): Return null for internal calls.
80 (gimple_call_set_fntype): Assert that the function is not internal.
81 (gimple_call_set_fn): Likewise.
82 (gimple_call_set_fndecl): Likewise.
83 (gimple_call_set_internal_fn): New function.
84 (gimple_call_addr_fndecl): Handle null functions.
85 (gimple_call_return_type): Likewise null types.
86 * gimple.c (gimple_build_call_internal_1): New function.
87 (gimple_build_call_internal): Likewise.
88 (gimple_build_call_internal_vec): Likewise.
89 (gimple_call_same_target_p): Likewise.
90 (gimple_call_flags): Handle calls to internal functions.
91 (gimple_call_fnspec): New function.
92 (gimple_call_arg_flags, gimple_call_return_flags): Use it.
93 (gimple_has_side_effects): Handle null functions.
94 (gimple_rhs_has_side_effects): Likewise.
95 (gimple_call_copy_skip_args): Handle calls to internal functions.
96 * cfgexpand.c (expand_call_stmt): Likewise.
97 * expr.c (expand_expr_real_1): Assert that the call isn't internal.
98 * gimple-fold.c (gimple_fold_call): Handle null functions.
99 (gimple_fold_stmt_to_constant_1): Don't fold
100 calls to internal functions.
101 * gimple-low.c (gimple_check_call_args): Handle calls to internal
102 functions.
103 * gimple-pretty-print.c (dump_gimple_call): Likewise.
104 * ipa-prop.c (ipa_analyze_call_uses): Handle null functions.
105 * tree-cfg.c (verify_gimple_call): Handle calls to internal functions.
106 (do_warn_unused_result): Likewise.
107 * tree-eh.c (same_handler_p): Use gimple_call_same_target_p.
108 * tree-ssa-ccp.c (ccp_fold_stmt): Handle calls to internal functions.
109 * tree-ssa-dom.c (hashable_expr): Use the gimple statement to record
110 the target of a call.
111 (initialize_hash_element): Update accordingly.
112 (hashable_expr_equal_p): Use gimple_call_same_target_p.
113 (iterative_hash_hashable_expr): Handle calls to internal functions.
114 (print_expr_hash_elt): Likewise.
115 * tree-ssa-pre.c (can_value_number_call): Likewise.
116 (eliminate): Handle null functions.
117 * tree-ssa-sccvn.c (visit_use): Handle calls to internal functions.
118 * tree-ssa-structalias.c (get_fi_for_callee): Likewise.
119 (find_func_aliases): Likewise.
120 * value-prof.c (gimple_ic_transform): Likewise.
121 (gimple_indirect_call_to_profile): Likewise.
122 * lto-streamer-in.c (input_gimple_stmt): Likewise.
123 * lto-streamer-out.c (output_gimple_stmt): Likewise.
124
1a3118e9
JH
1252011-04-19 Jan Hubicka <jh@suse.cz>
126
127 * ipa-inline-transform.c (save_inline_function_body): Add comments.
9d12f71a
EB
128 * ipa-inline.c (inline_small_functions): Compute summaries first,
129 populate heap later.
1a3118e9 130
fee8b6da
JH
1312011-04-19 Jan Hubicka <jh@suse.cz>
132
133 * cgraph.h (save_inline_function_body): Remove.
134 * ipa-inline-transform.c: New file, broke out of...
135 * ipa-inline.c: ... this one; Update toplevel comment.
136 (ncalls_inlined, nfunctions_inlined): Move to ipa-inline-transform.c;
137 make global.
138 (update_noncloned_frequencies): Move to ipa-inline-transform.c
139 (cgraph_mark_inline_edge): Rename to inline_call; move to
140 ipa-inline-transform.c.
141 (cgraph_clone_inlined_nodes): Rename to clone_inlined_nodes;
142 move to ipa-inline-transform.c
143 (recursive_inlining, inline_small_functions, flatten_function,
144 ipa_inline, inline_always_inline_functions,
145 early_inline_small_functions): Update.
146 (inline_transform): Move to ipa-inline-transform.c.
147 * ipa-inline.h (inline_call, inline_transform, clone_inlined_nodes):
148 Declare.
149 * Makefile.in (ipa-inline-transform.o): New file.
150 * cgraphunit.c (save_inline_function_body): Move to
151 ipa-inline-transform.c
152
f0679612
DD
1532011-04-19 DJ Delorie <dj@redhat.com>
154
155 * config/m32c/m32c.c (m32c_emit_epilogue): Don't try to push
156 registers if we already know there aren't any.
157 (m32c_emit_epilogue): Don't emit a barrier here.
158 (m32c_emit_eh_epilogue): Likewise.
159 * config/m32c/blkmov.md (movstr): Don't fail on wrong-type
160 operands at expand time.
161 * config/m32c/m32c.h (WCHAR_TYPE_SIZE): Change to 4 to match "long
162 int" wchar type.
163 (REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): Remove
164 duplicates. Provide aliases instead.
165 * config/m32c/prologue.md (eh_return): Emit a barrier here.
166 (eh_epilogue): Add a "(return)" here as a hint to other parts of
167 the compiler.
168
32257ddc
AS
1692011-04-19 Anatoly Sokolov <aesok@post.ru>
170
171 * config/sparc/sparc.h (GENERAL_OR_I64, REGISTER_MOVE_COST): Remove.
172 * config/sparc/sparc.c (TARGET_REGISTER_MOVE_COST): Define.
173 (general_or_i64_p, sparc_register_move_cost): New function.
174
60bea929
RO
1752011-04-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
176
177 * doc/install.texi (Configuration, --enable-threads): Remove mach.
178 Add lynx, mipssde.
179 Sort table.
180
444b3995
XDL
1812011-04-19 Xinliang David Li <davidxl@google.com>
182
9d12f71a
EB
183 * ipa-cp.c (ipcp_update_profiling): Assert that scale_completement is
184 not negative.
444b3995 185
d708ce50
JJ
1862011-04-19 Jakub Jelinek <jakub@redhat.com>
187
188 PR target/48678
189 * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
190 is a SUBREG with non-MODE_INT mode inside of it.
191
49c471e3
MJ
1922011-04-19 Martin Jambor <mjambor@suse.cz>
193
194 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize
195 also according to actual contants.
196 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): New function.
197 (gimple_fold_call): Use it.
198 * gimple.h (gimple_extract_devirt_binfo_from_cst): Declare.
199
0004f992
MJ
2002011-04-19 Martin Jambor <mjambor@suse.cz>
201
202 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar
203 non-pointer assignments.
204
40591473
MJ
2052011-04-19 Martin Jambor <mjambor@suse.cz>
206
207 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into
208 account anc_offset and otr_type from the indirect edge info.
209 * ipa-prop.c (get_ancestor_addr_info): New function.
210 (compute_complex_ancestor_jump_func): Assignment analysis moved to
211 get_ancestor_addr_info, call it.
212 (ipa_note_param_call): Do not initialize information about polymorphic
213 calls, return the indirect call graph edge. Remove the last
214 parameter, adjust all callers.
215 (ipa_analyze_virtual_call_uses): Process also calls to ancestors of
216 parameters. Initialize polymorphic information in the indirect edge.
217
abe36b81
EB
2182011-04-19 Eric Botcazou <ebotcazou@adacore.com>
219
220 PR lto/48148
221 * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
222 the types if they have different enumeration identifiers.
223
e6416b30
JH
2242011-04-19 Jan Hubicka <jh@suse.cz>
225
226 * cgraph.h (cgraph_optimize_for_size_p): Declare.
227 * ipa-cp.c (ipcp_insert_stage): Use cgraph_optimize_for_size_p.
228 * predict.c (cgraph_optimize_for_size_p): Break out from ...
229 (optimize_function_for_size_p) ... here.
230
d39132ea
RG
2312011-04-19 Richard Guenther <rguenther@suse.de>
232
233 PR lto/48207
234 * tree.c (free_lang_data): Do not reset the decl-assembler-name
235 langhook.
236
ff7037dc
EB
2372011-04-19 Eric Botcazou <ebotcazou@adacore.com>
238
239 * tree-inline.c (expand_call_inline): Do not issue a -Winline warning
240 if DECL_NO_INLINE_WARNING_P is set on the function.
241
c1ee2892
BS
2422011-04-19 Bernd Schmidt <bernds@codesourcery.com>
243
244 PR fortran/47976
245 * reload1.c (inc_for_reload): Return void. All callers changed.
246 (emit_input_reload_insns): Don't try to delete previous output
247 reloads to a register, or record spill_reg_store for autoincs.
fbb20b29
BS
248
2492011-04-19 Basile Starynkevitch <basile@starynkevitch.net>
250
251 * gengtype.h: Updated copyright year.
252 (struct input_file_st): Add inpisplugin field.
253 (type_fileloc): New function.
254 * gengtype.c
255 (write_typed_struct_alloc_def): Add gcc_assert.
256 (write_typed_alloc_defns): Ditto. Don't output for plugin files.
257 (write_typed_alloc_defns): Don't output for plugin files.
258 (input_file_by_name): Clear inpisplugin field.
259 (main): Set inpisplugin field for plugin files.
260
897e0a89
NP
2612011-04-19 Nicola Pero <nicola.pero@meta-innovation.com>
262
263 * gengtype-state.c (string_eq): New.
264 (read_state): Use string_eq instead of strcmp when creating the
265 state_ident_tab.
266
363ee90e
WG
2672011-04-19 Wei Guozhi <carrot@google.com>
268
269 PR target/47855
270 * config/arm/arm-protos.h (thumb1_legitimate_address_p): New prototype.
271 * config/arm/arm.c (thumb1_legitimate_address_p): Remove the static
272 linkage.
273 * config/arm/constraints.md (Uu): New constraint.
274 * config/arm/arm.md (*arm_movqi_insn): Compute attr "length".
275
18a24fed
TG
2762011-04-19 Tristan Gingold <gingold@adacore.com>
277
278 * config.gcc (-*-*-*vms): Added.
279 (alpha64-dec-*vms*,alpha*-dec-*vms*, ia64-hp-*vms*): Common
280 definitions moved.
281 * config/vms/vms-ld.c: New file.
282 * config/vms/vms-ar.c: New file.
283 * config/vms/t-vmsnative: New file.
284
1c13f168
XDL
2852011-04-18 Xinliang David Li <davidxl@google.com>
286
287 * final.c (dump_basic_block_info): Use ASM_COMMENT_START.
288
84825707
JJ
2892011-04-18 Jakub Jelinek <jakub@redhat.com>
290
291 PR middle-end/48661
292 * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
293 if TREE_TYPE (v) is non-NULL.
294
295 * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
296 gimple_get_virt_mehtod_for_binfo.
297 * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
298 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
299 callers.
300 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
301
7d4f8d02 3022011-04-18 Michael Matz <matz@suse.de>
7254cb57
MM
303 Steve Ellcey <sje@cup.hp.com>
304
7d4f8d02
EB
305 * expr.c (expand_expr_real_2) <CASE_CONVERT>: If OP0 is a constant,
306 use its mode as source mode if it isn't VOIDmode.
7254cb57 307
474e8e70
DCR
3082011-04-18 Dennis, CHENG Renquan <crquan@fedoraproject.org>
309
310 * doc/passes.texi: Fill crossref nodes.
311
cff41484
JM
3122011-04-18 Jim Meyering <meyering@redhat.com>
313
7d4f8d02 314 Fix doubled-word typos in comments and strings
cff41484
JM
315 * config/alpha/vms-unwind.h: s/for for/for/
316 * config/arm/unwind-arm.h: Likewise.
317 * config/microblaze/microblaze.c: Likewise.
318 * config/sh/constraints.md: s/in in/in/
319 * tree-cfg.c (verify_types_in_gimple_reference): Likewise.
320
f60c2554
UB
3212011-04-18 Uros Bizjak <ubizjak@gmail.com>
322
323 * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): Remove.
324 (AVX_FLOAT_MODE_P): Ditto.
325 (AVX128_VEC_FLOAT_MODE_P): Ditto.
326 (AVX256_VEC_FLOAT_MODE_P): Ditto.
327 (AVX_VEC_FLOAT_MODE_P): Ditto.
328 * config/i386/i386.md (UNSPEC_MASKLOAD): Remove.
329 (UNSPEC_MASKSTORE): Ditto.
330 * config/i386/sse.md (<sse>_movmsk<ssemodesuffix><avxmodesuffix>):
331 Merge from <sse>_movmsk<ssemodesuffix> and
332 avx_movmsk<ssemodesuffix>256. Use VF mode iterator.
333 (*sse2_maskmovdqu): Merge with *sse2_maskmovdqu_rex64. Use P mode
334 iterator.
335 (avx_maskload<ssemodesuffix><avxmodesuffix>): New expander.
336 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Ditto.
337 (*avx_maskmov<ssemodesuffix><avxmodesuffix>): New insn.
338
09a2806f
JH
3392011-04-18 Jan Hubicka <jh@suse.cz>
340
8a8dccb2
JH
341 * ipa-inline.c (inline_small_functions): Fix pasto in previous patch.
342
09a2806f
JH
343 * ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
344 (want_inline_function_called_once_p): Break out the logic from
345 ipa_inline.
346 (edge_badness): Ensure that profile is not misupdated.
347 (lookup_recursive_calls): Prioritize by call frequencies.
348 (inline_small_functions): Move program size estimates here;
349 actually process whole queue even when unit growth has been
350 met. (to properly compute inline_failed reasons and for the
f60c2554 351 case unit size decrease.) Revisit comments on recursive inlining.
09a2806f
JH
352 (ipa_inline): Remove unit summary code; first inline hot calls
353 of functions called once, cold calls next.
354 (order, nnodes): Remove unused variables.
355 * Makefile.in (ipa-inline.o): No longer depent on ggc files.
356 (GTFILES): Remove ipa-inline.c
357 * sel-sched.c (fill_insns): Silence uninitialized var warning.
358
3eea52ef
EB
3592011-04-18 Eric Botcazou <ebotcazou@adacore.com>
360
361 * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
362
229a1c59 3632011-04-18 Jie Zhang <jie@codesourcery.com>
3eea52ef 364 Richard Earnshaw <rearnsha@arm.com>
229a1c59
JZ
365
366 * arm.c (neon_builtin_type_bits): Remove.
367 (typedef enum neon_builtin_mode): New.
368 (T_MAX): Don't define.
369 (typedef enum neon_builtin_datum): Remove bits, codes[],
370 num_vars and base_fcode. Add mode, code and fcode.
371 (VAR1, VAR2, VAR3, VAR4, VAR5, VAR6, VAR7, VAR8, VAR9
372 VAR10): Change accordingly.
373 (neon_builtin_data[]): Change accordingly
374 (arm_init_neon_builtins): Change accordingly.
375 (neon_builtin_compare): Remove.
376 (locate_neon_builtin_icode): Remove.
377 (arm_expand_neon_builtin): Change accordingly.
378
379 * arm.h (enum arm_builtins): Move to ...
380 * arm.c (enum arm_builtins): ... here; and rearrange builtin code.
381
382 * arm.c (arm_builtin_decl): Declare.
383 (TARGET_BUILTIN_DECL): Define.
384 (enum arm_builtins): Correct ARM_BUILTIN_MAX.
385 (arm_builtin_decls[]): New.
386 (arm_init_neon_builtins): Store builtin declarations in
387 arm_builtin_decls[].
388 (arm_init_tls_builtins): Likewise.
389 (arm_init_iwmmxt_builtins): Likewise. Refactor initialization code.
390 (arm_builtin_decl): New.
391
75e802cc
RG
3922011-04-18 Richard Guenther <rguenther@suse.de>
393
394 * tree.c (upper_bound_in_type): Build properly canonicalized
395 INTEGER_CSTs.
396 (lower_bound_in_type): Likewise.
397
3b45a007
RG
3982011-04-18 Richard Guenther <rguenther@suse.de>
399
400 * gimple.h (gimple_call_addr_fndecl): New function.
401 (gimple_call_fndecl): Use it.
402 * gimple-fold.c (gimple_fold_call): Fold away OBJ_TYPE_REFs
403 for direct calls.
404 * tree-ssa-ccp.c (ccp_fold_stmt): Remove OBJ_TYPE_REF folding.
405 * tree-ssa-pre.c (eliminate): Also simplify indirect OBJ_TYPE_REFs.
406
d25a79ea
RG
4072011-04-18 Richard Guenther <rguenther@suse.de>
408
409 PR middle-end/48650
410 * tree.c (build_string): STRING_CST is now derived from tree_typed.
411
7d5fc814
EB
4122011-04-18 Eric Botcazou <ebotcazou@adacore.com>
413
414 PR lto/48492
415 * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
416 DECL_IN_CONSTANT_POOL without RTL.
417
7e7cfcf6
UW
4182011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org>
419 Ira Rosen <ira.rosen@linaro.org>
420
421 PR target/48252
422 * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
423 to match neon_vzip/vuzp/vtrn_internal.
424 * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
425 outputs explicitly dependent on both inputs.
426 (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
427
49eab32e
JJ
4282011-04-18 Jakub Jelinek <jakub@redhat.com>
429
430 PR tree-optimization/48616
431 * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
432 whether the shift is by scalar or vector based on whether all SLP
433 scalar stmts have the same rhs.
434
e54170f4
CLT
4352011-04-17 Chung-Lin Tang <cltang@codesourcery.com>
436
437 * config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
438 memory operands.
439
b14ee6c9
RS
4402011-04-17 Richard Sandiford <rdsandiford@googlemail.com>
441
442 * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
443 registers.
444
10158cd3
JH
4452011-04-17 Jan Hubicka <jh@suse.cz>
446
447 * cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
7d5fc814
EB
448 * cgrpahunit.c (cgraph_finalize_function): Do not set
449 finalized_by_frontend.
10158cd3
JH
450 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
451 finalized_by_frontend.
452
2e9bb6ba
JH
4532011-04-17 Jan Hubicka <jh@suse.cz>
454
455 * cgraph.c (cgraph_clone_node): Do not handle vtable_method
456 * cgraph.h (struct cgraph_local_info): Drop vtable_method.
457 * cgraphunit.c (cgraph_copy_node_for_versioning): Drop vtable_method.
7d5fc814
EB
458 * lto-cgraph.c (lto_output_node, input_overwrite_node): Drop vtable
459 method.
2e9bb6ba
JH
460 * gimple-fold.c (can_refer_decl_in_current_unit_p): Mention PR20991 in
461 gimple-fold.c
462 * varasm.c (mark_decl_referenced): Drop vtable_method handling code.
463
beb628e1
EB
4642011-04-17 Eric Botcazou <ebotcazou@adacore.com>
465
466 PR lto/48538
467 * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
468 is non-null before accessing it.
469 (input_cgraph): Remove trailing spaces.
470
3e2fdd24
RE
4712011-04-17 Revital Eres <revital.eres@linaro.org>
472
473 * params.def (sms-min-sc): New param flag.
474 * modulo-sched.c (sms_schedule): Use it.
475 * doc/invoke.texi (sms-min-sc): Document it.
476
4c0f7679
JH
4772011-04-17 Jan Hubicka <jh@suse.cz>
478
479 * lto-symtab.c (lto_cgraph_replace_node): When call statement is
480 present, also set gimple_call_set_cannot_inline.
481 * ipa-inline.c: Update toplevel comment.
482 (MAX_TIME): Remove.
483 (cgraph_clone_inlined_nodes): Fix linebreaks.
484 (cgraph_check_inline_limits): Restructure to ...
485 (caller_growth_limits): ... this one; be more tolerant
486 on growth in nested inline chains; add explanatory comment;
487 fix stack accounting thinko introduced by previous patch.
488 (cgraph_default_inline_p): Remove.
489 (report_inline_failed_reason): New function.
490 (can_inline_edge_p): New function.
491 (can_early_inline_edge_p): New function.
492 (leaf_node_p): Move upwards in file.
493 (want_early_inline_function_p): New function.
494 (want_inline_small_function_p): New function.
495 (want_inline_self_recursive_call_p): New function.
496 (cgraph_edge_badness): Rename to ...
497 (edge_badness) ... this one; fix linebreaks.
498 (update_edge_key): Update call of edge_baddness; add
499 detailed dump about queue updates.
500 (update_caller_keys): Use can_inline_edge_p and
501 want_inline_small_function_p.
502 (cgraph_decide_recursive_inlining): Rename to...
503 (recursive_inlining): Use can_inline_edge_p and
f60c2554
UB
504 want_inline_self_recursive_call_p; simplify and remove no longer
505 valid FIXME.
4c0f7679
JH
506 (cgraph_set_inline_failed): Remove.
507 (add_new_edges_to_heap): Use can_inline_edge_p and
508 want_inline_small_function_p.
509 (cgraph_decide_inlining_of_small_functions): Rename to ...
510 (inline_small_functions): ... this one; cleanup; use
f60c2554
UB
511 can/want predicates; cleanup debug ouput; work edges till fibheap
512 is exhausted and do not stop once unit growth is reached; remove
513 later loop processing remaining edges.
4c0f7679
JH
514 (cgraph_flatten): Rename to ...
515 (flatten_function): ... this one; use can_inline_edge_p
516 and can_early_inline_edge_p predicates.
517 (cgraph_decide_inlining): Rename to ...
518 (ipa_inline): ... this one; remove unreachable nodes before
519 inlining functions called once; simplify the pass.
520 (cgraph_perform_always_inlining): Rename to ...
521 (inline_always_inline_functions): ... this one; use
f60c2554 522 DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p predicate.
4c0f7679
JH
523 (cgraph_decide_inlining_incrementally): Rename to ...
524 (early_inline_small_functions): ... this one; simplify
525 using new predicates; cleanup; make dumps prettier.
526 (cgraph_early_inlining): Rename to ...
527 (early_inliner): newer inline regular functions into always-inlines;
528 fix updating of call stmt summaries.
529 (pass_early_inline): Update for new names.
530 (inline_transform): Fix formating.
531 (gate_cgraph_decide_inlining): Rename to ...
532 (pass_ipa_inline): ... this one.
533 * ipa-inline.h (inline_summary): Remove disregard_inline_limits.
534 * ipa-inline-analysis.c (dump_inline_summary): Update.
535 (compute_inline_parameters): Do not compute disregard_inline_limits;
536 look for mismatching arguments.
537 (estimate_growth): Fix handlig of non-trivial self recursion.
538 (inline_read_summary): Do not read info->disregard_inline_limits.
539 (inline_write_summary): Do not write info->disregard_inline_limits.
beb628e1
EB
540 * tree-inline.c (inline_forbidden_into_p, tree_can_inline_p): Remove
541 and move all checks into can_inline_edge_p predicate; re-enable code
542 comparing optimization levels.
4c0f7679
JH
543 (expand_call_inline): Do not test inline_forbidden_into_p.
544 * Makefile.in (ipa-inline.o): Update arguments.
545
54333b7c
RE
5462011-04-17 Revital Eres <revital.eres@linaro.org>
547
548 * ddg.c (free_ddg_all_sccs): Free sccs field in struct ddg_all_sccs.
549
42c2bf92
RE
5502011-04-17 Revital Eres <revital.eres@linaro.org>
551
552 * modulo-sched.c (sms_schedule): Avoid unfreed memory when SMS fails.
553
b183e9e0
MM
5542011-04-17 Michael Matz <matz@suse.de>
555
556 PR tree-optimization/48622
557 PR lto/48645
558 * ipa-inline-analysis.c (inline_read_summary): Read size/time
559 in same order as they're written.
560
b8a17fa2
JDA
5612011-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
562
563 * config/pa/predicates.md: Reorganize and simplify predicates.
564 Eliminate duplicate code checks.
565 (arith_operand): Rename to arith14_operand
566 (reg_or_ior_operand): Rename to reg_or_cint_ior_operand.
567 * config/pa/pa.md: Use renamed operands.
568 * config/pa/pa-protos.h (symbolic_operand): Delete declaration.
569 (tls_symbolic_operand, function_label_operand, lhs_lshift_cint_operand,
570 arith11_operand, adddi3_operand, indexed_memory_operand,
571 symbolic_memory_operand, int11_operand, reg_or_cint_move_operand,
572 arith5_operand, uint5_operand, pic_label_operand, plus_xor_ior_operator,
573 borx_reg_operand, shadd_operand, arith_operand, read_only_operand,
574 move_dest_operand, move_src_operand, prefetch_cc_operand,
575 prefetch_nocc_operand, and_operand, ior_operand, arith32_operand,
576 uint32_operand, reg_before_reload_operand, reg_or_0_operand,
577 reg_or_0_or_nonsymb_mem_operand, pre_cint_operand, post_cint_operand,
578 div_operand, int5_operand, movb_comparison_operator,
579 ireg_or_int5_operand, call_operand_address, ior_operand, fp_reg_operand,
580 arith_double_operand, ireg_operand, lhs_lshift_operand,
581 pc_or_label_operand, non_hard_reg_operand, eq_neq_comparison_operator,
582 integer_store_memory_operand): Likewise.
583 * config/pa/pa.c (adddi3_operand): Move to predicates.md.
584 (integer_store_memory_operand, read_only_operand,
585 function_label_operand, borx_reg_operand,
586 non_hard_reg_operand): Likewise.
587 (eq_neq_comparison_operator): Delete unused operator.
588 (legitimize_pic_address): Use VOIDmode for mode argument in calls to
589 function_label_operand.
590 (emit_move_sequence): Likewise.
591
8dfb9f16
UB
5922011-04-16 Uros Bizjak <ubizjak@gmail.com>
593
594 * config/i386/sse.md (sseunpackmode): New mode attribute.
595 (ssepackmode): Ditto.
596 (vec_pack_trunc_<mode>): Macroize expander from
597 vec_pack_trunc_{v8hi,v4si,v2di} using VI248_128 mode iterator.
598 (vec_unpacks_lo_<mode>): Macroize expander from
599 vec_unpacks_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
600 (vec_unpacks_hi_<mode>): Macroize expander from
601 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
602 (vec_unpacku_lo_<mode>): Macroize expander from
603 vec_unpacku_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
604 (vec_unpacku_hi_<mode>): Macroize expander from
605 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
606 * config/i386/i386.c (ix86_expand_sse_unpack): Merge with
607 ix86_expand_sse4_unpack.
608 * config/i386/i386-protos.h (ix86_expand_sse4_unpack): Remove.
609
e7f23018
JH
6102011-04-16 Jan Hubicka <jh@suse.cz>
611
612 * cgraphbuild.c: Include ipa-inline.h.
613 (reset_inline_failed): Use initialize_inline_failed.
614 * cgraph.c: Include ipa-inline.h.
615 (cgraph_create_node_1): Do not initialize estimated_growth.
616 (initialize_inline_failed): More to ipa-inline-analysis.c
617 (dump_cgraph_node): Do not dump inline flags.
618 * cgraph.h (cgraph_local_info): Remove inlineable, versionable
619 and disregard_inline_limits flags.
620 (cgrpah_global_info): Remove estimated_stack_size, stack_frame_offset,
621 time, size, estimated_growth.
8dfb9f16
UB
622 * ipa-cp.c (ipcp_versionable_function_p, ipcp_generate_summary):
623 Update.
e7f23018
JH
624 * cgraphunit.c (cgraph_decide_is_function_needed): Use
625 DECL_DISREGARD_INLINE_LIMITS.
626 (cgraph_analyze_function): Do not initialize
627 node->local.disregard_inline_limits.
628 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
629 inlinable, versionable and disregard_inline_limits.
630 * ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
8dfb9f16
UB
631 cgraph_check_inline_limits, cgraph_default_inline_p,
632 cgraph_edge_badness, update_caller_keys, update_callee_keys,
633 add_new_edges_to_heap): Update.
634 (cgraph_decide_inlining_of_small_function): Update; set
635 CIF_FUNCTION_NOT_INLINABLE for uninlinable functions.
e7f23018
JH
636 (cgraph_decide_inlining, cgraph_edge_early_inlinable_p,
637 cgraph_decide_inlining_incrementally): Update.
8dfb9f16
UB
638 * ipa-inline.h (inline_summary): Add inlinable, versionable,
639 disregard_inline_limits, estimated_stack_size, stack_frame_offset,
640 time, size and estimated_growth parameters.
e7f23018
JH
641 (estimate_edge_growth): Update.
642 (initialize_inline_failed): Declare.
643 * ipa-split.c: Include ipa-inline.h
644 (execute_split_functions): Update.
645 * ipa.c (cgraph_postorder): Use DECL_DISREGARD_INLINE_LIMITS.
646 (cgraph_remove_unreachable_nodes): Do not clear inlinable flag.
647 (record_cdtor_fn): Use DECL_DISREGARD_INLINE_LIMITS.
648 * ipa-inline-analysis.c (inline_node_removal_hook): Update; set
649 estimated_growth to INT_MIN.
650 (inline_node_duplication_hook): Likewise.
651 (dump_inline_summary): Dump new fields.
652 (compute_inline_parameters): Update.
653 (estimate_edge_time, estimate_time_after_inlining,
654 estimate_size_after_inlining, estimate_growth, inline_read_summary,
655 inline_write_summary):
656 (initialize_inline_failed): Move here from cgraph.c.
657 * tree-sra.c: Include ipa-inline.h.
658 (ipa_sra_preliminary_function_checks): Update.
f60c2554
UB
659 * Makefile.in (cgraph.o, cgraphbuild.o): Add dependency on
660 ipa-inline.h.
e7f23018 661
e81b8564
UB
6622011-04-16 Uros Bizjak <ubizjak@gmail.com>
663
664 * config/i386/sse.md (V16): New mode iterator.
665 (VI1, VI8): Ditto.
666 (AVXMODEQI, AVXMODEDI): Remove.
667 (sse2, sse3): New mode attribute.
668 (mov<mode>): Use V16 mode iterator.
669 (*mov<mode>_internal): Merge with *avx_mov<mode>_internal.
670 (push<mode>1): Use V16 mode iterator.
671 (movmisalign<mode>): Ditto.
672 (<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
673 <sse>_movu<ssemodesuffix> and avx_movu<ssemodesuffix><avxmodesuffix>.
674 (*<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
675 *<sse>_movu<ssemodesuffix> and *avx_movu<ssemodesuffix><avxmodesuffix>.
676 (<sse2>_movdqu<avxmodesuffix>): Merge from sse2_movdqu and
677 avx_movdqu<avxmodesuffix>.
678 (*<sse2>_movdqu<avxmodesuffix>): Merge from *sse2_movdqu and
679 *avx_movdqu<avxmodesuffix>.
680 (<sse3>_lddqu<avxmodesuffix>) Merge from sse3_lddqu and
681 avx_lddqu<avxmodesuffix>.
682 (<sse>_movnt<mode>): Merge with avx_movnt<AVXMODEF2P:mode>.
683 (<sse2>_movnt<mode>): Merge from sse2_movntv2di and
684 avx_movnt<AVXMODEDI:mode>.
685 * config/i386/i386.c (ix86_expand_vector_move_misalign): Update for
686 renamed sse_movups, sse2_movupd and sse2_movdqu patterns.
687
4743d438
BS
6882011-04-16 Bernd Schmidt <bernds@codesourcery.com>
689
690 PR target/48629
691 * haifa-sched.c (prune_ready_list, schedule_block): Use
692 sched_pressure_p rather than flag_sched_pressure.
693
eb229cf4
PH
6942011-04-15 Pat Haugen <pthaugen@us.ibm.com>
695
696 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
697 cgraph_get_node instead of cgraph_get_create_node.
698
2ba172e0
JJ
6992011-04-15 Jakub Jelinek <jakub@redhat.com>
700
701 * cfgexpand.c (expand_debug_expr): Use
702 simplify_gen_{unary,binary,ternary} instead of gen_rtx_*.
703
63d2a353
MM
7042011-04-15 Michael Matz <matz@suse.de>
705
706 * tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
707 * builtins.c (expand_builtin): Use CALL_ALLOCA_FOR_VAR_P.
708 * function.c (gimplify_parameters): Ditto.
709 * gimplify.c (gimplify_vla_decl): Ditto.
710
711 * gimple.h (enum gf_mask): Add GF_CALL_ALLOCA_FOR_VAR.
712 (gimple_call_set_alloca_for_var): New inline function.
713 (gimple_call_alloca_for_var_p): Ditto.
e81b8564
UB
714 * gimple.c (gimple_build_call_from_tree): Remember
715 CALL_ALLOCA_FOR_VAR_P state.
63d2a353
MM
716 * cfgexpand.c (expand_call_stmt): Restore CALL_ALLOCA_FOR_VAR_P state.
717
718 * tree-inline.c (inline_forbidden_p_stmt): Don't reject alloca
719 calls if they were for VLA objects.
720
dee74c34
MJ
7212011-04-15 Martin Jambor <mjambor@suse.cz>
722
723 * ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling
724 of ADR_EXPRs.
725
8e5837bc
MJ
7262011-04-15 Martin Jambor <mjambor@suse.cz>
727
728 PR middle-end/48601
729 * tree-emutls.c (lower_emutls_function_body): Call
730 cgraph_get_create_node instead of cgraph_get_node. Do not assert the
731 result is non-NULL.
732
0dc33c3c
NP
7332011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
734
735 * c-decl.c (detect_field_duplicates): Call
736 objc_detect_field_duplicates instead of objc_get_interface_ivars.
737
edcdea5b
NF
7382011-04-15 Nathan Froyd <froydnj@codesourcery.com>
739
740 * gimple.h (gimple_asm_clobbers_memory_p): Declare.
741 * gimple.c (gimple_asm_clobbers_memory_p): Define.
742 * ipa-pure-const.c (check_stmt): Call it.
743 * tree-ssa-operands.c (get_asm_expr_operands): Likewise.
744
8456558d
RG
7452011-04-15 Richard Guenther <rguenther@suse.de>
746
747 PR tree-optimization/48290
748 * tree-ssa-copy.c (copy_prop_visit_phi_node): Propagate constants.
749 Properly decide inhibiting propagation based on the valueized
750 operand. Do loop-closed SSA form preserving here ...
751 (init_copy_prop): ... not here.
752
266446be
L
7532011-04-15 H.J. Lu <hongjiu.lu@intel.com>
754
755 PR target/48612
756 * config/i386/sse.md (*ieee_smin<mode>3): Switch mnemonics.
757 (*ieee_smax<mode>3): Likewise.
758
17465c6e
AK
7592011-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
760
761 * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
762 Replace match_operand with match_dup for the third operand in
763 these expanders.
764
bce204e5
MK
7652011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
766
767 * combine.c (subst, combine_simlify_rtx): Add new argument, use it
768 to track processing of conditionals. Update all callers.
769 (try_combine, simplify_if_then_else): Update.
770
3162fdf4
MK
7712011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
772
773 * config/m68k/m68k.c (m68k_sched_variable_issue): Handle
774 -fsched-pressure.
775
79002a57 7762011-04-15 Georg-Johann Lay <avr@gjlay.de>
e81b8564 777
79002a57
GJL
778 * config/avr/avr.md ("rotl<mode>3",mode=HIDI): Use match_dup
779 instead of match_operand for operand 3.
780
4fd3a105
RS
7812011-04-15 Richard Sandiford <richard.sandiford@linaro.org>
782
783 * recog.h (insn_operand_data): Add an "allows_mem" field.
784 * genoutput.c (output_operand_data): Initialize it.
785 * optabs.c (maybe_legitimize_operand_same_code): New function.
786 (maybe_legitimize_operand): Use it when matching the original
787 op->value.
788
ad19c4be
EB
7892011-04-15 Eric Botcazou <ebotcazou@adacore.com>
790
791 * gimplify.c: Fix issues in comments throughout.
792 (voidify_wrapper_expr): Fix long line.
793 (build_stack_save_restore): Likewise.
794 (gimplify_loop_expr): Likewise.
795 (gimplify_compound_lval): Likewise.
796 (gimplify_init_ctor_eval): Likewise.
797 (gimplify_modify_expr_rhs): Likewise.
798 (omp_notice_threadprivate_variable): Likewise.
799
b25aa0e8 8002011-04-15 Eric Botcazou <ebotcazou@adacore.com>
e7925582 801
b25aa0e8
EB
802 * cfgexpand.c (expand_call_stmt): Convert the function type to the
803 original one if this is not a builtin function.
e7925582 804
09db7afe
JJ
8052011-04-14 Jakub Jelinek <jakub@redhat.com>
806
807 PR target/48605
808 * config/i386/sse.md (sse4_1_insertps): If operands[2] is a MEM,
809 offset it as needed based on top 2 bits in operands[3], change
810 MEM mode to SFmode and mask those 2 bits away from operands[3].
811
c59633d9
NP
8122011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
813
814 * c-parser.c (c_parser_objc_protocol_definition): Updated for
815 change from objc_declare_protocols() to objc_declare_protocol().
816
5e60198b
UB
8172011-04-14 Uros Bizjak <ubizjak@gmail.com>
818
819 * config/i386/sse.md (sse4_1): New mode attribute.
820 (<sse4_1>_blend<ssemodesuffix><avxmodesuffix>): Macroize from
821 avx_blend<ssemodesuffix><avxmodesuffix> and
822 sse4_1_blend<ssemodesuffix> using VF mode iterator.
823 (<sse4_1>_blendv<ssemodesuffix><avxmodesuffix>): Macroize from
824 avx_blendv<ssemodesuffix><avxmodesuffix> and
825 sse4_1_blendv<ssemodesuffix> using VF mode iterator.
826 (<sse4_1>_dp<ssemodesuffix><avxmodesuffix>): Macroize from
827 avx_dp<ssemodesuffix><avxmodesuffix> and
828 sse4_1_dp<ssemodesuffix> using VF mode iterator.
829 (sse4_1_mpsadbw): Merge with *avx_mpsadbw.
830 (sse4_1_packusdw): Merge with *avx_packusdw.
831 (sse4_1_pblendvb): Merge with *avx_pblendvb.
832 (sse4_1_pblendw): Merge with *avx_pblendw.
833 (avx_vtest<ssemodesuffix><avxmodesuffix>): Use VF mode iterator.
834 (<sse4_1>_round<ssemodesuffix><avxmodesuffix>): Macroize from
835 avx_round<ssemodesuffix>256 and sse4_1_round<ssemodesuffix> using
836 VF mode iterator.
837 (sse4_1_round<ssescalarmodesuffix>): Merge with
838 *avx_round<ssescalarmodesuffix>.
839 (aesenc): Merge with *avx_aesenc.
840 (aesenclast): Merge with *avx_aesenclast.
841 (aesdec): Merge with *avx_aesdec.
842 (aesdeclast): Merge with *avx_aesdeclast.
843 (pclmulqdq): Merge with *pclmulqdq.
844 * config/i386/predicates.md (reg_not_xmm0_operand_maybe_avx):
845 New predicate.
846 (nonimm_not_xmm0_operand_maybe_avx): Ditto.
847
6f197850
L
8482011-04-14 H.J. Lu <hongjiu.lu@intel.com>
849
850 PR middle-end/48608
851 * cfgexpand.c (get_decl_align_unit): Renamed to ...
852 (align_local_variable): This. Update DECL_ALIGN.
853 (add_stack_var): Updated.
854 (expand_one_stack_var): Likewise.
855
4a5ba3ed
RG
8562011-04-14 Richard Guenther <rguenther@suse.de>
857
858 * tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
859 Remove.
860 (dse_initialize_block_local_data, dse_leave_block,
861 record_voperand_set, get_stmt_uid): Likewise.
862 (dse_possible_dead_store_p): Allow any kind of killing stmt.
863 (dse_optimize_stmt): Remove voperand set handling code.
864 Simplify and improve to handle any kind of killing stmt.
865 (dse_record_phi): Remove.
866 (dse_enter_block): Simplify.
867 (tree_ssa_dse): Likewise.
868 * tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.
869
10a5dd5d
JH
8702011-04-14 Jan Hubicka <jh@suse.cz>
871
872 * cgraph.c (dump_cgraph_node): Do not dump inline summaries.
873 * cgraph.h (struct inline_summary): Move to ipa-inline.h
874 (cgraph_local_info): Remove inline_summary.
875 * ipa-cp.c: Include ipa-inline.h.
876 (ipcp_cloning_candidate_p, ipcp_estimate_growth,
877 ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
878 accesor.
879 * lto-cgraph.c (lto_output_node): Do not stream inline summary.
880 (input_overwrite_node): Do not set inline summary.
881 (input_node): Do not stream inline summary.
882 * ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
883 (cgraph_decide_inlining_incrementally): Do not try to estimate overall
884 growth; we do not have inline parameters computed for that anyway.
885 (cgraph_early_inlining): After inlining compute call_stmt_sizes.
886 * ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
887 (inline_summary_t): New type and VECtor.
888 (debug_inline_summary, dump_inline_summaries): Declare.
889 (inline_summary): Use VOCtor.
890 (estimate_edge_growth): Kill hack computing call stmt size directly.
891 * lto-section-in.c (lto_section_name): Add inline section.
892 * ipa-inline-analysis.c: Include lto-streamer.h
893 (node_removal_hook_holder, node_duplication_hook_holder): New holders
894 (inline_node_removal_hook, inline_node_duplication_hook): New functions.
895 (inline_summary_vec): Define.
896 (inline_summary_alloc, dump_inline_summary, debug_inline_summary,
897 dump_inline_summaries): New functions.
5e60198b
UB
898 (estimate_function_body_sizes): Properly compute size/time of outgoing
899 calls.
900 (compute_inline_parameters): Alloc inline_summary; do not compute
901 size/time of incomming calls.
10a5dd5d
JH
902 (estimate_edge_time): Avoid missing time summary hack.
903 (inline_read_summary): Read inline summary info.
904 (inline_write_summary): Write inline summary info.
905 (inline_free_summary): Free all hooks and inline summary vector.
906 * lto-streamer.h: Add LTO_section_inline_summary section.
907 * Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
908 * ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.
909
b602d918
RS
9102011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
911
912 * tree-vectorizer.h (vect_strided_store_supported): Add a
913 HOST_WIDE_INT argument.
914 (vect_strided_load_supported): Likewise.
915 (vect_permute_store_chain): Return void.
916 (vect_transform_strided_load): Likewise.
917 (vect_permute_load_chain): Delete.
918 * tree-vect-data-refs.c (vect_strided_store_supported): Take a
919 count argument. Check that the count is a power of two.
920 (vect_strided_load_supported): Likewise.
921 (vect_permute_store_chain): Return void. Update after above changes.
922 Assert that the access is supported.
923 (vect_permute_load_chain): Likewise.
924 (vect_transform_strided_load): Return void.
925 * tree-vect-stmts.c (vectorizable_store): Update calls after
926 above interface changes.
927 (vectorizable_load): Likewise.
928 (vect_analyze_stmt): Don't check for strided powers of two here.
929
ab4472fa
RG
9302011-04-14 Richard Guenther <rguenther@suse.de>
931
932 PR tree-optimization/48590
933 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
934 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
935 (call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
936 BUILT_IN_STACK_SAVE.
937 * tree-ssa-dce.c (propagate_necessity): Handle
938 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
939
32dabdaf
NP
9402011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
941
942 * c-parser.c (c_parser_objc_class_declaration): Updated call to
943 objc_declare_class.
944
daade206
RG
9452011-04-14 Richard Guenther <rguenther@suse.de>
946
947 * tree.h (get_object_alignment_1): Declare.
948 * builtins.c (get_object_alignment_1): Split out worker from ...
949 (get_object_alignment): ... here.
950 * fold-const.c (get_pointer_modulus_and_residue): Use
951 get_object_alignment_1.
952
920e8172
RS
9532011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
954
955 * tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
956 type parameter.
957 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
958 parameter. Generalise code to handle arrays as well as vectors.
959 (vect_setup_realignment): Update accordingly.
960 * tree-vect-stmts.c (vectorizable_store): Likewise.
961 (vectorizable_load): Likewise.
962
5ce1ee7f
RS
9632011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
964
965 * tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain
966 within the per-copy loop.
967
6438fe33 9682011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
0ea25ecd
RS
969
970 * tree-vect-stmts.c (vectorizable_load): Print the number of copies
971 in the dump file.
972
6438fe33 9732011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
77b10485
RS
974
975 * doc/options.texi (Negative): Explicitly mention that the
976 Negative chain must be circular.
977
61e46a7d
NF
9782011-04-14 Nathan Froyd <froydnj@codesourcery.com>
979
980 * function.h (block_chainon): Declare.
981 * function.c (block_chainon): Define.
982
43ea6502 9832011-04-14 Anatoly Sokolov <aesok@post.ru>
5e60198b
UB
984 Eric Weddington <eric.weddington@atmel.com>
985 Georg-Johann Lay <avr@gjlay.de>
986
f60c2554 987 * config/avr/avr.c ("insn-codes.h", "optabs.h", "langhooks.h"):
43ea6502
AS
988 New Includes
989 (avr_init_builtins, avr_expand_builtin,
990 avr_expand_delay_cycles, avr_expand_unop_builtin,
991 avr_expand_binop_builtin ): New functions.
992 (avr_builtin_id): New enum
993 (struct avr_builtin_description): New struct
994 (bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins.
995 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
5e60198b 996
43ea6502 997 * config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU,
5e60198b 998 UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR,
43ea6502
AS
999 UNSPECV_DELAY_CYCLES): new enumeration values
1000 (UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values
1001 ("enable_interrupt"): Use UNSPECV_ENABLE_IRQS
1002 ("disable_interrupt"): Use UNSPECV_ENABLE_IRQS
1003 ("*rotlqi3_4"): rename insn to "rotlqi3_4"
1004 ("delay_cycles_1", "delay_cycles_2", "delay_cycles_3",
1005 "delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls",
1006 "fmulsu"): New insns
5e60198b 1007
43ea6502
AS
1008 * config/avr/avr-c.c: fix line endings
1009 (avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP,
1010 __BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR,
1011 __BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP,
1012 __BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL,
1013 __BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU.
5e60198b 1014
43ea6502
AS
1015 * doc/extend.texi (AVR Built-in Functions): New node
1016 (Target Builtins): Add documentation of AVR
1017 built-in functions.
1018
8a9b55f3
GJL
10192011-04-14 Georg-Johann Lay <avr@gjlay.de>
1020
1021 PR target/44643
1022 * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
1023 alone. Error if non-const data has attribute progmem.
1024
94bd1825
NF
10252011-04-13 Nathan Froyd <froydnj@codesourcery.com>
1026
1027 * tree.h (struct tree_constructor): Include tree_typed instead of
1028 tree_common.
1029 * tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as
1030 TS_TYPED instead of TS_COMMON.
1031
5e60198b 10322011-04-13 Uros Bizjak <ubizjak@gmail.com>
81b1e7eb
UB
1033
1034 * config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
1035 (*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3.
1036 (sse2_psadbw): Merge with *avx_psadbw.
1037 (ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3.
1038 (ssse3_phadddv4si3): Merge with *avx_phadddv4si3.
1039 (ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3.
1040 (ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3.
1041 (ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3.
1042 (ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3.
1043 (ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128.
1044 (*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3.
1045 (ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3.
1046 (ssse3_psign<mode>3): Merge with *avx_psign<mode>3.
1047 (ssse3_palignrti): Merge with *avx_palignrti.
1048
4b1a4694
NF
10492011-04-13 Nathan Froyd <froydnj@codesourcery.com>
1050
1051 * tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
1052 * tree-ssanames.c (fini_ssanames): VEC_free it.
1053 (make_ssa_name_fn): Update for VECness of free_ssanames.
1054 (release_ssa_name, release_dead_ssa_names): Likewise.
1055 * tree.h (struct tree_ssa_name): Include tree_typed instead of
1056 tree_common.
1057 * tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
1058 TS_TYPED instead of TS_COMMON.
1059
4da3b811
NF
10602011-04-13 Nathan Froyd <froydnj@codesourcery.com>
1061
1062 * postreload-gcse.c (gcse_after_reload_main): Add calls to
1063 statistics_counter_event.
1064 * tree-ssa-copyrename.c (stats): Define.
1065 (rename_ssa_copies): Count coalesced SSA_NAMEs. Add call to
1066 statistics_counter_event.
1067 * tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
1068 (bswap_stats, widen_mul_stats): Define.
1069 (insert_reciprocals): Increment rdivs_inserted.
1070 (execute_cse_reciprocals): Zeroize reciprocal_stats. Increment
1071 rfuncs_inserted. Add calls to statistics_counter_event.
1072 (execute_cse_sincos_1): Increment inserted.
1073 (execute_cse_sincos): Zeroize sincos_stats. Add call to
1074 statistics_counter_event.
1075 (execute_optimize_bswap): Zeroize bswap_stats. Increment fields
1076 of bswap_stats. Add calls to statistics_counter_event.
1077 (convert_mult_to_widen): Increment widen_mults_inserted.
1078 (convert_plusminus_to_widen): Increment maccs_inserted.
1079 (convert_mult_to_fma): Increment fmas_inserted.
1080 (execute_optimize_widening_mul): Zeroize widen_mul_stats. Add
1081 calls to statistics_counter_event.
1082
89fa552a
VM
10832011-04-13 Vladimir Makarov <vmakarov@redhat.com>
1084
1085 PR rtl-optimization/48455
1086 * ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
1087 `temp_costs->mem_cost'.
1088
03dfc36d
JH
10892011-04-13 Jan Hubicka <jh@suse.cz>
1090
1091 * ipa-inline.h: New file.
1092 * ipa-inline-analysis.c: New file. Broken out of ...
1093 * ipa-inline.c: ... this file; update toplevel comment;
1094 include ipa-inline.h
1095 (inline_summary): Move to ipa-inline.h
1096 (cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
1097 ipa-inline-analysis.c.
7d4f8d02
EB
1098 (cgraph_estimate_time_after_inlining): Rename to
1099 estiamte_time_after_inlining; move to ipa-inline-analysis.c
03dfc36d
JH
1100 (cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
1101 to estimate_edge_growth.
1102 (cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
1103 rename to estimate_size_after_inlining.
1104 (cgraph_mark_inline_edge): Update for new naming convention.
1105 (cgraph_check_inline_limits): Likewise.
1106 (cgraph_edge_badness): Likewise.
1107 (cgraph_decide_recursive_inlining): Likewise.
1108 (cgraph_decide_inlining_of_small_functions): Likewise.
1109 (cgraph_decide_inlining_incrementally): Likewise.
7d4f8d02
EB
1110 (cgraph_estimate_growth): Rename to estimate_growth; move to
1111 ipa-inline-analysis.c.
03dfc36d
JH
1112 (eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
1113 (estimate_function_body_sizes): Move to ipa-inline-analysis.c.
1114 (compute_inline_parameters): Likewise.
1115 (compute_inline_parameters_for_current): Likewise.
1116 (pass_inline_parameters): Likewise.
1117 (inline_indirect_intraprocedural_analysis): Likewise.
1118 (analyze_function): Rename to inline_analyze_function; likewise.
1119 (add_new_function): Move to ipa-inline-analysis.c.
1120 (inline_generate_summary): Likewise.
1121 (inline_read_summary): Likewise.
1122 (inline_write_summary): Likewise.
1123 * Makefile.in (ipa-inline-analysis.c): New file.
1124
7673c962
RO
11252011-04-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1126
1127 * configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
1128 * configure: Regenerate.
1129
9698252f
NF
11302011-04-13 Nathan Froyd <froydnj@codesourcery.com>
1131
1132 * tree.h (struct tree_int_cst, struct real_value): Include tree_typed
1133 instead of tree_common.
1134 (struct tree_fixed_cst, struct tree_string, struct tree_complex):
1135 Likewise.
1136 * tree.c (initialize_tree_contains_struct): Mark such nodes as being
1137 TS_TYPED rather than TS_COMMON.
1138 * print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.
1139
3a7bfdd5
GJL
11402011-04-01 Georg-Johann Lay <avr@gjlay.de>
1141
1142 PR target/45263
86d83530
GJL
1143 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Don't use
1144 r20 around calls of __tablejump_elpm__
3a7bfdd5 1145
20790697
JJ
11462011-04-13 Jakub Jelinek <jakub@redhat.com>
1147
1148 PR middle-end/48591
1149 * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
1150 NULL.
1151 (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
1152
094d7661
BS
11532011-04-13 Bernd Schmidt <bernds@codesourcery.com>
1154
1155 * dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
1156 (dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
1157 (cfi_vec): New typedef.
1158 (struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
1159 dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
1160 (cie_cfi_vec): New static variable.
1161 (cie_cfi_head): Delete.
1162 (add_cfi): Accept a cfi_vec * as first argument. All callers and
1163 declaration changed. Use vector rather than list operations.
1164 (new_cfi): Don't initialize the dw_cfi_next field.
1165 (add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
1166 rather than list operations.
1167 (lookup_cfa): Use vector rather than list operations.
1168 (output_cfis): New argument upto. Accept a cfi_vec rather than
1169 a dw_cfi_ref list head as argument. All callers changed.
1170 Iterate over the vector using upto as a maximum index.
1171 (output_all_cfis): New static function.
1172 (output_fde): Use vector rather than list operations. Use the
1173 new upto argument for output_cfis rather than manipulating a
1174 list.
1175 (dwarf2out_begin_prologue): Change initializations to match
1176 new struct members.
1177 (dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
1178 from the vector length rather than searching for the end of a list.
1179 Use output_all_cfis.
1180 (convert_cfa_to_fb_loc_list): Use vector rather than list operations.
1181
673a5740
NC
11822011-04-13 Nick Clifton <nickc@redhat.com>
1183
1184 * config/rx/rx.md (movmemsi): Do not use this pattern when
1185 volatile pointers are involved.
1186
1ee8b298
UB
11872011-04-13 Uros Bizjak <ubizjak@gmail.com>
1188
1189 * config/i386/sse.md (pinsrbits): Remove.
1190 (sse2_packsswb): Merge with *avx_packsswb.
1191 (sse2_packssdw): Merge with *avx_packssdw.
1192 (sse2_packuswb): Merge with *avx_packuswb.
1193 (vec_interleave_highv16qi): Merge with *avx_interleave_highv16qi.
1194 (vec_interleave_lowv16qi): Merge with *avx_interleave_lowv16qi.
1195 (vec_interleave_highv8hi): Merge with *avx_interleave_highv8hi.
1196 (vec_interleave_lowv8hi): Merge with *avx_interleave_lowv8hi.
1197 (vec_interleave_highv4si): Merge with *avx_interleave_highv4si.
1198 (vec_interleave_lowv4si): Merge with *avx_interleave_lowv4si.
1199 (*sse4_1_pinsrb): Merge with *avx_pinsr<ssevecsize>.
1200 (*sse2_pinsrw): Merge with *avx_pinsr<ssevecsize>.
1201 (*sse4_1_pinsrd): Merge with *avx_pinsr<ssevecsize>.
1202 (*sse4_1_pinsrq): Merge with *avx_pinsrq.
1203 (sse2_loadld): Merge with *avx_loadld.
1204 (*vec_extractv2di_1_rex64): Merge with *vec_extractv2di_1_rex64_avx.
1205 (*vec_extractv2di_1_sse2): Merge with *vec_extractv2di_1_avx.
1206 (*vec_concatv2si_sse4_1): Merge with *vec_concatv2si_avx.
1207 (*vec_concatv2di_rex64_sse4_1): Merge with *vec_concatv2di_rex64_avx.
1208 (vec_concatv2di): Merge with *vec_concatv2di_avx.
1209
81f653d6
NF
12102011-04-12 Nathan Froyd <froydnj@codesourcery.com>
1211
1212 * c-decl.c (union lang_tree_node): Check for TS_COMMON before
1213 calling TREE_CHAIN.
1214 * print-tree.c (print_node): Likewise.
1215 * tree-inline.c (copy_tree_r): Likewise.
1216 * c-lang.c (LANG_HOOKS_INIT_TS): Define.
1217 * lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
1218 instead of TS_COMMON.
1219 * lto-streamer-out.c (lto_output_tree_pointers): Likewise.
1220 * tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
1221 (copy_node_stat): Zero TREE_CHAIN only if necessary.
1222 (MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
1223 (MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
1224 ...and these...
1225 (MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
1226 * tree.h: ...here.
1227 (TREE_CHAIN): Check for a TS_COMMON structure.
1228 (TREE_TYPE): Check for a TS_TYPED structure.
1229
ed940a4a
PH
12302011-04-12 Pat Haugen <pthaugen@us.ibm.com>
1231
1232 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
1233 cgraph_get_create_node instead of cgraph_node.
1234
eb345401
NP
12352011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
1236
1237 * c-parser.c (c_parser_initelt): Updated call to
1238 objc_build_message_expr.
1239 (c_parser_postfix_expression): Likewise.
1240
a6c46762
KT
12412011-04-12 Kai Tietz <ktietz@redhat.com>
1242
1243 * config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add
1244 MASK_MS_BITFIELD_LAYOUT bit.
1245
b4ccfed9
JJ
12462011-04-12 Jakub Jelinek <jakub@redhat.com>
1247
1248 * combine.c (update_cfg_for_uncondjump): Instead of testing at_end
1249 assert it is always true.
1250 (try_combine): Don't call update_cfg_for_uncondjump for noop non-jump
1251 moves.
1252
0d8a2528
NP
12532011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
1254
1255 * c-parser.c (c_lex_one_token): Rewritten conditional used when
1256 compiling Objective-C to be more efficient.
1257
06bd234a
AF
12582011-04-12 Axel Freyn <axel-freyn@gmx.de>
1259
1260 * opts-common.c (decode_cmdline_options_to_array): Remove variable
1261 argv_copied.
1262
28569ac3
RS
12632011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
1264
1265 * recog.h, genoutput.c, optabs.c: Revert last patch.
1266
ae59e00d
RR
12672011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
1268
81b1e7eb
UB
1269 PR target/48090
1270 * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
ae59e00d 1271
cff1b7e0
RS
12722011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
1273
1274 * recog.h (insn_operand_data): Add an "allows_mem" field.
1275 * genoutput.c (output_operand_data): Initialize it.
1276 * optabs.c (maybe_legitimize_operand_same_code): New function.
1277 (maybe_legitimize_operand): Use it when matching the original
1278 op->value.
1279
77059241
RS
12802011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
1281
1282 * genpreds.c (process_define_predicate): Move most processing
1283 to gensupport.c. Continue to validate the expression.
1284 * genrecog.c (did_you_mean_codes, compute_predicate_codes)
1285 (process_define_predicate): Move processing to gensupport.c.
1286 (main): Remove DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE cases.
1287 * gensupport.c (did_you_mean_codes): Moved from genrecog.c.
1288 (compute_predicate_codes): Moved from genrecog.c. Add lineno
1289 argument.
1290 (valid_predicate_name_p): New function, split out from old
1291 genpreds.c:process_define_predicate.
1292 (process_define_predicate): New function, combining code from
1293 old genpreds.c and genrecog.c functions.
1294 (process_rtx): Call it for DEFINE_PREDICATE and
1295 DEFINE_SPECIAL_PREDICATE.
1296
6308e208
RS
12972011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
1298
1299 * config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
1300 size of a '%A' memory reference.
1301 (T_DREG, T_QREG): New neon_builtin_type_bits.
1302 (arm_init_neon_builtins): Assert that the load and store operands
1303 are neon_struct_operands.
1304 (locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
1305 (NEON_ARG_MEMORY): New builtin_arg.
1306 (neon_dereference_pointer): New function.
1307 (arm_expand_neon_args): Add a neon_builtin_type_bits argument.
1308 Handle NEON_ARG_MEMORY.
1309 (arm_expand_neon_builtin): Update after above interface changes.
1310 Use NEON_ARG_MEMORY for loads and stores.
1311 * config/arm/predicates.md (neon_struct_operand): New predicate.
1312 * config/arm/iterators.md (V_two_elem): Tweak formatting.
1313 (V_three_elem): Use BLKmode for accesses that have no associated mode.
1314 (V_four_elem): Tweak formatting.
1315 * config/arm/neon.md (neon_vld1<mode>, neon_vld1_dup<mode>)
1316 (neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
1317 (neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
1318 (neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
1319 (neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
1320 (neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
1321 (neon_vst4<mode>): Replace pointer operand with a memory operand.
1322 Use %A in the output template.
1323 (neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
1324 (neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
1325 (neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
1326 the width of the memory access. Remove post-increment.
1327 * config/arm/neon-testgen.ml: Allow addresses to have an alignment.
1328
e5db8f2f
NC
13292011-04-12 Nick Clifton <nickc@redhat.com>
1330
1331 * config/v850/v850.c (expand_prologue): Do not use the CALLT
1332 instruction for interrupt handlers if the target is the basic V850
1333 architecture.
1334 (expand_epilogue): Likewise.
1335
74f091d6
JJ
13362011-04-12 Jakub Jelinek <jakub@redhat.com>
1337
1338 PR rtl-optimization/48549
1339 * combine.c (propagate_for_debug): Also stop after BB_END of
1340 this_basic_block. Process LAST and just stop processing after it.
1341 (combine_instructions): If last_combined_insn has been deleted,
1342 set last_combined_insn to its PREV_INSN.
1343
f20ca725
RG
13442011-04-12 Richard Guenther <rguenther@suse.de>
1345
1346 PR tree-optimization/46076
1347 * gimple.h (struct gimple_statement_call): Add fntype field.
1348 (gimple_call_fntype): Adjust.
1349 (gimple_call_set_fntype): New function.
1350 * gimple.c (gimple_build_call_1): Set the call function type.
1351 * gimplify.c (gimplify_call_expr): Preserve the function
1352 type the frontend used for the call.
1353 (gimplify_modify_expr): Likewise.
1354 * lto-streamer-in.c (input_gimple_stmt): Input the call stmts
1355 function type.
1356 * lto-streamer-out.c (output_gimple_stmt): Output the call stmts
1357 function type.
1358 * tree-ssa.c (useless_type_conversion_p): Function pointer
1359 conversions are useless.
1360
a358e188
MJ
13612011-04-12 Martin Jambor <mjambor@suse.cz>
1362
1363 * cgraph.h (cgraph_node): Remove function declaration.
1364 (cgraph_create_node): Declare.
1365 (cgraph_get_create_node): Likewise.
1366 * cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1.
1367 Updated all callers.
1368 (cgraph_node): Renamed to cgraph_create_node, assert that a node for
1369 the decl does not already exist. Call cgraph_get_create_node instead
1370 of cgraph_node.
1371 (cgraph_get_create_node): New function.
1372 (cgraph_same_body_alias): Update comment.
1373 (cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node,
1374 assert it does not return NULL.
1375 (cgraph_update_edges_for_call_stmt): Likewise.
1376 (cgraph_clone_edge): Likewise.
1377 (cgraph_create_virtual_clone): Likewise.
1378 (cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node
1379 instead of cgraph_node.
1380 (cgraph_add_new_function): Call cgraph_create_node or
1381 cgraph_get_create_node instead of cgraph_node.
1382 * cgraphbuild.c (record_reference): Call cgraph_get_create_node
1383 instead of cgraph_node.
1384 (record_eh_tables): Likewise.
1385 (mark_address): Likewise.
1386 (mark_load): Likewise.
1387 (build_cgraph_edges): Call cgraph_get_create_node instead
1388 of cgraph_node.
1389 (rebuild_cgraph_edges): Likewise.
1390 * cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node
1391 instead of cgraph_node.
1392 (cgraph_copy_node_for_versioning): Call cgraph_create_node instead of
1393 cgraph_node.
1394 * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call
1395 cgraph_create_node instead of cgraph_node.
1396 * c-decl.c (finish_function): Call cgraph_get_create_node instead
1397 of cgraph_node.
1398 * lto-cgraph.c (input_node): Likewise.
1399 * lto-streamer-in.c (input_function): Likewise.
1400 * varasm.c (mark_decl_referenced): Likewise.
1401 (assemble_alias): Likewise.
1402
fe660d7b
MJ
14032011-04-12 Martin Jambor <mjambor@suse.cz>
1404
1405 * tree-inline.c (tree_function_versioning): Call cgraph_get_node
1406 instead of cgraph_node and assert it does not return NULL.
1407 * lto-streamer-in.c (lto_read_body): Likewise.
1408 * omp-low.c (new_omp_context): Likewise.
1409 (create_task_copyfn): Likewise.
1410 * tree-emutls.c (lower_emutls_function_body): Likewise.
1411 * matrix-reorg.c (transform_allocation_sites): Likewise.
1412
bae5cddf
JJ
14132011-04-12 Jakub Jelinek <jakub@redhat.com>
1414
1415 PR c/48552
1416 * c-typeck.c (build_asm_expr): Error out on attempts to use
1417 void type outputs or inputs for constraints that allow reg or
1418 don't allow memory.
1419
06eb52ca
CLT
14202011-04-11 Chung-Lin Tang <cltang@codesourcery.com>
1421 Richard Earnshaw <rearnsha@arm.com>
1422
1423 PR target/48250
1424 * config/arm/arm.c (arm_legitimize_reload_address): Update cases
1425 to use sign-magnitude offsets. Reject unsupported unaligned
1426 cases. Add detailed description in comments.
1427 * config/arm/arm.md (reload_outdf): Disable for ARM mode; change
1428 condition from TARGET_32BIT to TARGET_ARM.
1429
648a616b
NF
14302011-04-11 Nathan Froyd <froydnj@codesourcery.com>
1431
1432 * tree.h (struct typed_tree): New.
1433 (struct tree_common): Include it instead of tree_base.
1434 (TREE_TYPE): Update for new location of type field.
1435 (TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly.
1436 (DECL_USER_ALIGN, DECL_PACKED): Likewise.
1437 (union tree_node): Add typed field.
1438 * treestruct.def (TS_TYPED): New.
1439 * lto-streamer.c (check_handled_ts_structures): Handle it.
1440 * tree.c (MARK_TS_TYPED): New macro.
1441 (MARK_TS_COMMON): Call it instead of MARK_TS_BASE.
1442
1e6d1da0
EB
14432011-04-11 Eric Botcazou <ebotcazou@adacore.com>
1444
1445 * cfghooks.c (redirect_edge_and_branch_force): Localize variable.
1446 (force_nonfallthru): Do not alter the loop nest if no basic block
1447 was created.
1448
14492011-04-11 Uros Bizjak <ubizjak@gmail.com>
d8700b1c
UB
1450
1451 * config/i386/sse.md (VI): New mode iterator.
1452 (SSEMODEI): Remove.
1453 (AVX256MODEI): Ditto.
1454 (AVXMODEF4P): Ditto.
1455 (avxvecpsmode): Ditto.
1456 (one_cmpl<mode>2): Enable for TARGET_SSE. Use VI mode iterator.
1457 (sse2_andnot<mode>3): New expander.
1458 (*andnot<mode>3): Merge with *sse2_andnot<mode>3 and
1459 *avx_andnot<mode>3. Enable for TARGET_SSE. Use VI mode iterator.
1460 (<any_logic:code><mode>3): Use VI mode iterator.
1461 (*<any_logic:code><mode>3): Merge with *sse2_<any_logic:code><mode>3
1462 and *avx_<any_logic:code><mode>3. Use VI mode iterator.
1463 (*andnottf3): Handle AVX three-operand constraints.
1464 (*<any_logic:code>tf3): Handle AVX three-operand constraints.
1465
b1372d5d 14662011-04-11 Joseph Myers <joseph@codesourcery.com>
d8700b1c 1467 Robert Millan <rmh@gnu.org>
b1372d5d
JM
1468
1469 * config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
1470 * config/i386/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER32,
1471 GNU_USER_DYNAMIC_LINKER64): Define.
1472 (REG_NAME): Don't undefine.
1473 (MD_UNWIND_SUPPORT): Undefine.
1474 * config/i386/knetbsd-gnu.h (GNU_USER_LINK_EMULATION): Define.
1475 (REG_NAME): Don't undefine.
1476 (MD_UNWIND_SUPPORT): Undefine.
d8700b1c 1477 * config/i386/kopensolaris-gnu.h (GNU_USER_LINK_EMULATION): Define.
b1372d5d 1478
761c0c6e
JM
14792011-04-11 Joseph Myers <joseph@codesourcery.com>
1480
1481 * config/i386/gnu.h (GNU_USER_LINK_EMULATION): Define.
1482 (CPP_SPEC, CC1_SPEC, ENDFILE_SPEC): Remove.
1483
26e0228f
XDL
14842011-04-11 Xinliang David Li <davidxl@google.com>
1485
1486 * value-profile.c (check_ic_target): New function.
1487 (gimple_ic_transform): Sanity check indirect call target.
1488 * gimple-low.c (gimple_check_call_args): Interface change.
1489 (gimple_check_call_matching_types): New function.
1490 * tree-inline.c (tree_can_inline_p): Call new function.
6075765d
BS
1491
14922011-04-11 Basile Starynkevitch <basile@starynkevitch.net>
1493
1494 * Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h
1495 tree-pretty-print.h & realmpfr.h.
1496
a58dfa49
VM
14972011-04-11 Vladimir Makarov <vmakarov@redhat.com>
1498
1499 PR middle-end/48464
1500 * ira.c (setup_pressure_classes): Fix typo in loop condition.
1501 (setup_allocno_and_important_classes): Ditto.
1502
107fd1c1
JM
15032011-04-11 Joseph Myers <joseph@codesourcery.com>
1504
1505 * config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
1506 GNU_USER_DYNAMIC_LINKER.
1507 * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
1508 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1509 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
1510 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
1511 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
1512 GNU_USER_TARGET_OS_CPP_BUILTINS.
1513 * config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
1514 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1515 * config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
1516 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1517 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
1518 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
1519 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
1520 GNU_USER_TARGET_OS_CPP_BUILTINS.
1521 * config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1522 GNU_USER_DYNAMIC_LINKER.
1523 * config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
1524 GNU_USER_TARGET_OS_CPP_BUILTINS.
1525 * config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
1526 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1527 * config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
1528 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1529 * config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
1530 * config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
1531 GNU_USER_DYNAMIC_LINKER64): Remove.
1532 * config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
1533 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1534 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1535 GNU_USER_DYNAMIC_LINKER.
1536 * config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
1537 GNU_USER_TARGET_OS_CPP_BUILTINS.
1538 * config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
1539 GNU_USER_TARGET_OS_CPP_BUILTINS.
1540 * config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
1541 to GNU_USER_TARGET_OS_CPP_BUILTINS.
1542 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
1543 GNU_USER_TARGET_OS_CPP_BUILTINS.
1544 (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
1545 (LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
1546 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
1547 * config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
1548 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1549 * config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1550 GNU_USER_DYNAMIC_LINKER.
1551 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
1552 GNU_USER_TARGET_OS_CPP_BUILTINS.
1553 * config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
1554 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1555 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1556 GNU_USER_DYNAMIC_LINKER.
1557 * config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
1558 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1559 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
1560 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1561 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1562 GNU_USER_DYNAMIC_LINKER.
1563 * config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
1564 GNU_USER_DYNAMIC_LINKERN32.
1565 (LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
1566 GNU_USER_DYNAMIC_LINKERN32. Change LINUX_DYNAMIC_LINKER64 to
1567 GNU_USER_DYNAMIC_LINKER64. Change LINUX_DYNAMIC_LINKER32 to
1568 GNU_USER_DYNAMIC_LINKER32.
1569 * config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change
1570 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1571 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1572 GNU_USER_DYNAMIC_LINKER.
1573 * config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
1574 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1575 * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
1576 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 1577 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1
JM
1578 * config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
1579 GNU_USER_DYNAMIC_LINKER32.
1580 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
1581 * config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
1582 GNU_USER_DYNAMIC_LINKER.
1583 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
1584 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1585 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
1586 GNU_USER_DYNAMIC_LINKER32. Change LINUX_DYNAMIC_LINKER64 to
1587 GNU_USER_DYNAMIC_LINKER64.
1588 * config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
1589 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1590 (SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1591 GNU_USER_DYNAMIC_LINKER.
1592 * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
1593 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1594 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
1595 GNU_USER_DYNAMIC_LINKER.
1596 * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
1597 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1598 (LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
1599 GNU_USER_DYNAMIC_LINKER32.
1600 (LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
1601 GNU_USER_DYNAMIC_LINKER64.
1602 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
1603 GNU_USER_DYNAMIC_LINKER64.
1604 * config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
1605 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
1606 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
1607 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 1608 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1 1609
e24609cf
JM
16102011-04-11 Joseph Myers <joseph@codesourcery.com>
1611
1612 * config/i386/gnu-user.h: Copy from linux.h. Update comments.
1613 (LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
1614 (SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
1615 GNU_USER_DYNAMIC_LINKER.
1616 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
1617 * config/i386/gnu-user64.h: Copy from linux64.h. Update comments.
1618 (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
1619 (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
1620 GNU_USER_DYNAMIC_LINKER64.
1621 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
1622 * config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
1623 GNU_USER_LINK_EMULATION.
1624 * config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
1625 DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
1626 ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
1627 MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
1628 PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
1629 CPP_SPEC, CC1_SPEC): Remove.
1630 (LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
1631 (GNU_USER_DYNAMIC_LINKER): Define.
1632 (ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
1633 ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
1634 ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
1635 LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
1636 TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
1637 STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
1638 TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
1639 * config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
1640 CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
1641 TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
1642 LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
1643 LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
1644 (GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
1645 (STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
1646 TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
1647 TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
1648 * config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
1649 GNU_USER_DYNAMIC_LINKER.
1650 * config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
1651 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
1652 * config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
1653 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
1654 * config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
1655 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
1656 * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
1657 i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
1658 i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
d8700b1c 1659 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new headers.
e24609cf 1660
b8ce4e94
KT
16612011-04-11 Kai Tietz <ktietz@redhat.com>
1662
1663 PR target/9601
1664 PR target/11772
1665 * config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
1666 * config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
1667 comment.
1668 (ix86_is_msabi_thiscall): Removed.
1669 (ix86_is_type_thiscall): Likewise.
1670 (ix86_get_callcvt): New function.
1671 (ix86_comp_type_attributes): Simplify check.
1672 (ix86_function_regparm): Use ix86_get_callcvt for calling
1673 convention attribute checks.
1674 (ix86_return_pops_args): Likewise.
1675 (ix86_static_chain): Likewise.
1676 (x86_this_parameter): Likewise.
1677 (x86_output_mi_thunk): Likewise.
1678 (ix86_function_type_abi): Optimize check for types without attributes.
1679 * config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
1680 IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
1681 IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
1682 by flag-values.
1683 (IX86_BASE_CALLCVT): Helper macro.
1684 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
1685 Use ix86_get_callcvt for calling convention attribute checks and avoid
1686 symbol-decoration for stdcall in TARGET_RTD case.
1687 * config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
1688 Likewise.
1689 (gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
1690 for declaration.
1691
798dd0ba
UB
16922011-04-11 Uros Bizjak <ubizjak@gmail.com>
1693
1694 * config/i386/sse.md (VI_128): New mode iterator.
1695 (VI12_128): Rename from SSEMODE12.
1696 (VI14_128): Rename from SSEMODE14.
1697 (VI124_128): New mode iterator.
1698 (VI24_128): Rename from SSEMODE248.
1699 (VI248_128): Rename from SSEMODE248.
1700 (SSEMODE124C8): Remove.
1701 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
1702 (*sse2_<plusminus_insn><mode>3): Merge with
1703 *avx_<plusminus_insn><mode>3.
1704 (*mulv8hi3): Merge with *avx_mulv8hi3.
1705 (*<s>mulv8hi3_highpart): Merge with *avx_<s>mulv8hi3_highpart.
1706 (*sse2_umulv2siv2di3): Merge with *avx_umulv2siv2di3.
1707 (*sse2_pmaddwd): Merge with *avx_pmaddwd.
1708 (*sse4_1_mulv4si3): Merge with *avx_mulv4si3.
1709 (ashr<mode>3): Merge with *avx_ashr<mode>3.
1710 (lshr<mode>3): Merge with *avx_lshr<mode>3.
1711 (ashl<mode>3): Merge with *avx_ashl<mode>3.
1712 (sse2_ashlv1ti3): Merge with *avx_ashlv1ti3.
1713 (sse2_lshrv1ti3): Merge with *avx_lshrv1ti3.
1714 (*sse4_1_<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
1715 (*<smaxmin:code>v8hi3): Ditto.
1716 (*sse4_1_<umaxmin:code><mode>3): Merge with *avx_<umaxmin:code><mode>3.
1717 (*<smaxmin:code>v16qi3): Ditto.
1718 (*sse4_1_eqv2di3): Merge with *avx_eq<mode>3.
1719 (*sse2_eq<mode>3): Ditto.
1720 (*sse4_2_eqv2di3): Merge with *avx_gt<mode>3.
1721 (*sse2_gt<mode>3): Ditto.
1722 (vcondv2di): Split out of vcond<mode>.
1723 (vconduv2di): Split out of vcondu<mode>.
1724
956011be
RG
17252011-04-11 Richard Guenther <rguenther@suse.de>
1726
1727 * gimplify.c (gimple_fold_indirect_ref): Check host_integerp
1728 before calling tree_low_cst.
1729
e6313a78
RG
17302011-04-11 Richard Guenther <rguenther@suse.de>
1731
1732 * stor-layout.c (layout_type): Compute all array index size operations
1733 in the original type.
1734 (initialize_sizetypes): Add comment.
1735 (set_sizetype): Do not set TREE_TYPE of a TREE_VEC.
1736
e69d7376
JM
17372011-04-11 Joseph Myers <joseph@codesourcery.com>
1738
1739 * common.opt (Tbss=, Tdata=, Ttext=): New options.
1740
9f9ebcdf
MJ
17412011-04-11 Martin Jambor <mjambor@suse.cz>
1742
1743 * cgraph.c (cgraph_local_info): Call cgraph_get_node instead
1744 of cgraph_node, handle NULL return value.
1745 (cgraph_global_info): Likewise.
1746 (cgraph_rtl_info): Likewise.
1747 * tree-inline.c (estimate_num_insns): Likewise.
1748 * gimplify.c (unshare_body): Likewise.
1749 (unvisit_body): Likewise.
1750 (gimplify_body): Likewise.
1751 * predict.c (optimize_function_for_size_p): Likewise.
1752 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
1753 (call_may_clobber_ref_p_1): Likewise.
1754 * varasm.c (function_section_1): Likewise.
1755 (assemble_start_function): Likewise.
1756
581985d7
MJ
17572011-04-11 Martin Jambor <mjambor@suse.cz>
1758
1759 * except.c (set_nothrow_function_flags): Call cgraph_get_node instead
1760 of cgraph_node.
1761 * final.c (rest_of_clean_state): Likewise.
1762 * gimple-iterator.c (update_call_edge_frequencies): Likewise.
1763 * passes.c (pass_init_dump_file): Likewise.
1764 (execute_all_ipa_transforms): Likewise.
1765 (function_called_by_processed_nodes_p): Likewise.
1766 * predict.c (maybe_hot_frequency_p): Likewise.
1767 (probably_never_executed_bb_p): Likewise.
1768 (compute_function_frequency): Likewise.
1769 * tree-nested.c (check_for_nested_with_variably_modified): Likewise.
1770 (unnest_nesting_tree_1): Likewise.
1771 (lower_nested_functions): Likewise.
1772 * tree-optimize.c (execute_fixup_cfg): Likewise.
1773 (tree_rest_of_compilation): Likewise.
1774 * tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
1775 * tree-sra.c (ipa_early_sra): Likewise.
1776 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
1777 * config/i386/i386.c (ix86_compute_frame_layout): Likewise.
1778 * ipa.c (record_cdtor_fn): Likewise.
1779 * ipa-inline.c (cgraph_early_inlining): Likewise.
1780 (compute_inline_parameters_for_current): Likewise.
1781 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
1782 * ipa-pure-const.c (local_pure_const): Likewise.
1783 * ipa-split.c (split_function): Likewise.
1784 (execute_split_functions): Likewise.
1785 * cgraphbuild.c (build_cgraph_edges): Likewise.
1786 (rebuild_cgraph_edges): Likewise.
1787 (cgraph_rebuild_references): Likewise.
1788 (remove_cgraph_callee_edges): Likewise.
1789 * cgraphunit.c (cgraph_mark_if_needed): Likewise.
1790 (verify_cgraph_node): Likewise.
1791 (cgraph_analyze_functions): Likewise.
1792 (cgraph_preserve_function_body_p): Likewise.
1793 (save_inline_function_body): Likewise.
1794 (save_inline_function_body): Likewise.
1795 * tree-inline.c (copy_bb): Likewise.
1796 (optimize_inline_calls): Likewise.
1797
57dbdc5a
MJ
17982011-04-11 Martin Jambor <mjambor@suse.cz>
1799
1800 PR tree-optimization/48195
1801 * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
1802 ipa_check_create_edge_args.
1803 (ipcp_generate_summary): Do not call ipa_check_create_node_params and
1804 ipa_check_create_edge_args.
1805 * ipa-inline.c (inline_generate_summary): Do not call
1806 ipa_check_create_node_params and ipa_check_create_edge_args.
1807 * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
1808 ipa_check_create_edge_args.
1809
d108e679
AS
18102011-04-09 Anatoly Sokolov <aesok@post.ru>
1811
1812 * expr.c (expand_expr_real_1): Use add_to_hard_reg_set function
1813 instead of loop.
1814 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
1815 * function.c (record_hard_reg_sets): Likewise.
1816 * ira.c (compute_regs_asm_clobbered): Likewise.
1817 * sched-deps.c (sched_analyze_1): Likewise.
1818 * reload1.c (mark_reload_reg_in_use, choose_reload_regs): Likewise.
1819
3411bc59
XDL
18202011-04-09 Xinliang David Li <davidxl@google.com>
1821
1822 PR tree-optimization/PR48484
1823 * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): Set
1824 has_valid_pred lazily
1825
b365495a
DS
18262011-04-09 Duncan Sands <baldrick@free.fr>
1827
1828 * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
1829
68bc509a
EB
18302011-04-08 Eric Botcazou <ebotcazou@adacore.com>
1831
1832 * combine.c (combine_validate_cost): Adjust comments. Set registered
1833 cost of I0 to zero at the end, if any.
1834
041e059f
XDL
18352011-04-08 Xinliang David Li <davidxl@google.com>
1836
68bc509a
EB
1837 * ipa-cp.c (ipcp_update_profiling): Correct negative scale factor due
1838 to insane profile data.
041e059f 1839
444b3995
XDL
18402011-04-08 Xinliang David Li <davidxl@google.com>
1841
1842 * ipa-cp.c (ipcp_update_profiling): Correct
1843 negative scale factor due to insane profile data.
1844
6a801cf2
XDL
18452011-04-08 Xinliang David Li <davidxl@google.com>
1846
1847 * final.c (dump_basic_block_info): New function.
1848 (final): Dump basic block.
1849 (final_scan_insn): Remove old dump.
1850
d5f3624e
SK
18512011-04-08 Steven G. Kargl <kargl@gcc.gnu.org>
1852
68bc509a
EB
1853 PR target/47829
1854 * config.gcc (i386-*-freebsd): Disable unwind table generation for
1855 crtbegin/crtend.
d5f3624e 1856
42821aff
MM
18572011-04-08 Michael Matz <matz@suse.de>
1858
1859 PR middle-end/48389
1860 * jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
1861 functions.
1862 (rebuild_jump_labels): Call rebuild_jump_labels_1.
1863 * rtl.h (rebuild_jump_labels_chain): Declare.
1864 * cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
1865 insns inserted on edges.
1866
ad7be009
JM
18672011-04-08 Joseph Myers <joseph@codesourcery.com>
1868
1869 * config.gcc (arm*-*-*): Add arm/arm-tables.opt to extra_options.
1870 * config/arm/arm-arches.def: New.
1871 * config/arm/arm-opts.h: New.
1872 * config/arm/genopt.sh: New.
1873 * config/arm/arm-tables.opt: New (generated).
1874 * config/arm/arm.c (arm_handle_option, arm_target_help,
1875 TARGET_HANDLE_OPTION, TARGET_HELP, arm_find_cpu): Remove.
1876 (all_architectures): Get most table contents from arm-arches.def.
1877 (arm_option_override): Set arm_selected_arch, arm_selected_cpu and
1878 arm_selected_tune here.
1879 * config/arm/arm.h (enum processor_type): Move to arm-opts.h.
1880 * config/arm/arm.opt (config/arm/arm-opts.h): New HeaderInclude.
1881 (march=, mcpu=, mtune=): Use Enum and Var.
1882 * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt): New.
1883 (arm.o): Update dependencies.
ecbb6fb7 1884
42821aff 18852011-04-08 Basile Starynkevitch <basile@starynkevitch.net>
ecbb6fb7
BS
1886
1887 * gengtype.c (write_typed_alloc_def): New argument f. Use it instead
1888 of header_file.
1889 (write_typed_struct_alloc_def, write_typed_typedef_alloc_def)
1890 (write_typed_alloc_defns): Likewise.
1891 (main): Calls write_typed_alloc_defns with output_header.
1892
8d189b3f
VM
18932011-04-08 Vladimir Makarov <vmakarov@redhat.com>
1894
68bc509a 1895 PR inline-asm/48435
8d189b3f
VM
1896 * ira-color.c (setup_profitable_hard_regs): Add comments.
1897 Don't take prohibited hard regs into account.
1898 (setup_conflict_profitable_regs): Rename to
1899 get_conflict_profitable_regs.
1900 (check_hard_reg_p): Check prohibited hard regs.
1901
44f370bf
NF
19022011-04-08 Nathan Froyd <froydnj@codesourcery.com>
1903
1904 * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
1905 * config/xtensa/xtensa.c (xtensa_call_tls_desc): Likewise.
1906 * config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise.
1907
483d7ad3
JDA
19082011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1909
1910 PR target/48366
1911 * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
b8a17fa2 1912 move from floating point to shift amount register.
483d7ad3
JDA
1913 (emit_move_sequence): Remove secondary reload support for floating
1914 point to shift amount amount register copies.
1915 (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
1916 amount register copies.
1917 * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
1918 register, return false if mode isn't a scalar integer mode.
1919 * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
1920
97e03fa1
RG
19212011-04-08 Richard Guenther <rguenther@suse.de>
1922
1923 * gimple.c (gimple_call_flags): Remove kludge.
1924
9d40778b
AM
19252011-04-08 Alexander Monakov <amonakov@ispras.ru>
1926
1927 * sel-sched.c (sel_region_init): Move call to
1928 sel_setup_region_sched_flags after setup_current_loop_nest.
1929
19ac7892
AB
19302011-04-08 Andrey Belevantsev <abel@ispras.ru>
1931
1932 PR rtl-optimization/48272
19ac7892
AB
1933 * sched-deps.c (setup_insn_reg_pressure_info): Export and rename to
1934 init_insn_reg_pressure_info. Adjust a caller.
1935 * sched-int.h (init_insn_reg_pressure_info): Declare.
1936 * haifa-sched.c (haifa_init_insn): Call init_insn_reg_pressure_info
1937 when sched-pressure is enabled.
1938
0f8c63cc
RG
19392011-04-08 Richard Guenther <rguenther@suse.de>
1940
1941 * gimple.c (gimple_set_modified): Do not queue calls to
1942 MODIFIED_NORETURN_CALLS here ...
1943 * tree-ssa-operands.c (update_stmt_operands): ... but here.
1944
5e5a425e
RG
19452011-04-08 Richard Guenther <rguenther@suse.de>
1946
1947 PR lto/48467
1948 * toplev.c (lang_dependent_init): Do not open asm_out_file
1949 in WPA mode, nor perform debug machinery initialization.
1950 (finalize): Do not unlink asm_out_file in WPA mode.
1951
9bfc434b
RG
19522011-04-08 Richard Guenther <rguenther@suse.de>
1953
1954 * gimple.h (gimple_call_fntype): New function.
1955 (gimple_call_return_type): Use it.
1956 * expr.c (expand_expr_real_1): Use gimple_call_fntype.
1957 * gimple-low.c (gimple_check_call_args): Likewise.
1958 * gimple.c (gimple_call_flags): Likewise.
1959 (gimple_call_arg_flags): Likewise.
1960 (gimple_call_return_flags): Likewise.
1961 * tree-cfg.c (verify_gimple_call): Likewise.
1962 (do_warn_unused_result): Likewise.
1963 * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
1964 * value-prof.c (gimple_ic_transform): Fix fndecl check.
1965
7c1f0b40
DM
19662011-04-08 Dmitry Melnik <dm@ispras.ru>
1967
1968 PR rtl-optimization/48235
1969 * sel-sched.c (code_motion_process_successors): Recompute the last
1970 insn in basic block if control flow changed.
1971 (code_motion_path_driver): Ditto. Recompute the first insn as well.
1972 Update condition for ilist_remove.
1973
ea4d630f
AM
19742011-04-08 Alexander Monakov <amonakov@ispras.ru>
1975
1976 PR rtl-optimization/48302
1977 * sel-sched-ir.h (sel_add_loop_preheaders): Update prototype.
1978 * sel-sched-ir.c (sel_add_loop_preheaders): Add 'bbs' argument. Use
1979 it to record added preheader blocks.
1980 * sel-sched.c (setup_current_loop_nest): Add 'bbs' argument. Pass it
1981 on to sel_add_loop_preheaders.
1982 (sel_region_init): Move call to setup_current_loop_nest after
1983 sel_init_bbs.
1984
07643d76
AM
19852011-04-08 Alexander Monakov <amonakov@ispras.ru>
1986
1987 PR target/48273
1988 * cfgloop.h (loop_has_exit_edges): New helper.
1989 * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
1990 non-clonable.
1991 * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
1992 that have no exit edges.
1993
1f3b2b4e
AM
19942011-04-08 Alexander Monakov <amonakov@ispras.ru>
1995
1996 PR rtl-optimization/48442
1997 * sel-sched.c (init_seqno): Remove number_of_insns argument. Update
1998 all callers. Adjust assert.
1999
554f1948
JJ
20002011-04-08 Jakub Jelinek <jakub@redhat.com>
2001
2002 PR tree-optimization/48377
2003 * tree-vect-data-refs.c (vector_alignment_reachable_p): Set
2004 is_packed to true even for types with smaller TYPE_ALIGN than
2005 TYPE_SIZE.
2006
ddf72388
RG
20072011-04-08 Richard Guenther <rguenther@suse.de>
2008
2009 PR bootstrap/48513
2010 * doc/tm.texi: Re-generate.
2011
0c27e2d8
WG
20122011-04-08 Wei Guozhi <carrot@google.com>
2013
2014 PR target/47855
2015 * config/arm/arm-protos.h (arm_attr_length_push_multi): New prototype.
2016 * config/arm/arm.c (arm_attr_length_push_multi): New function.
2017 * config/arm/arm.md (*push_multi): Change the length computation to
2018 call a C function.
2019
07c5f94e
AS
20202011-04-08 Anatoly Sokolov <aesok@post.ru>
2021
2022 * doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
2023 (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation.
2024 * doc/tm.texi: Regenerate.
2025 * system.h (ASM_OUTPUT_BSS): Poison.
2026 * varasm.c (asm_output_bss): Remove function.
2027 (emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro.
798dd0ba 2028
07c5f94e
AS
2029 * config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment.
2030 * config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise.
2031 * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise.
2032 * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
2033 Likewise.
2034 * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
2035 Likewise.
2036 * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
2037 Likewise.
2038 * config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2039
5f2c36e1
JM
20402011-04-07 Joseph Myers <joseph@codesourcery.com>
2041
2042 * config/rx/rx.opt (rx610, rx200, rx600): Use Enum not Name on
2043 EnumValue lines.
2044
39e7722b
JM
20452011-04-07 Joseph Myers <joseph@codesourcery.com>
2046
2047 * config/m68k/m68k.c (m68k_handle_option): Don't handle
2048 OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
2049 OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
2050 OPT_mcpu32.
2051 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
2052 handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
2053 -m68030, -m68040, -m68060, -mcpu32 and -m68332.
2054 * config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
2055 m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
2056 * config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
2057 (MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
2058 (MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
2059 options. Don't map other m68k options manually. Don't handle
2060 old-style options as canonical.
2061 (MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
798dd0ba 2062 * doc/install.texi (m68k-*-*): Document binutils version requirement.
39e7722b 2063
cf103ca4
EB
20642011-04-07 Eric Botcazou <ebotcazou@adacore.com>
2065
2066 * basic-block.h (force_nonfallthru): Move to...
2067 * cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
2068 (force_nonfallthru): ...here.
2069 * cfghooks.c (force_nonfallthru): New function.
2070 * cfgrtl.c (force_nonfallthru): Rename into...
2071 (rtl_force_nonfallthru): ...this.
2072 (commit_one_edge_insertion): Do not set AUX field.
2073 (commit_edge_insertions): Do not discover new basic blocks.
2074 (rtl_cfg_hooks): Add rtl_force_nonfallthru.
2075 (cfg_layout_rtl_cfg_hooks): Likewise.
2076 * function.c (thread_prologue_and_epilogue_insns): Remove bogus
2077 ATTRIBUTE_UNUSED. Discover new basic blocks in the prologue insns.
2078 * tree-cfg.c (gimple_cfg_hooks): Add NULL for force_nonfallthru.
2079
14431f58
AS
20802011-04-07 Anatoly Sokolov <aesok@post.ru>
2081
2082 * config/mips/mips.h (REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
2083 Remove macros.
2084
3729983c
UB
20852011-04-07 Uros Bizjak <ubizjak@gmail.com>
2086
2087 * config/i386/sse.md: Update copyright year.
2088 (avxcvtvecmode): Remove.
2089 (sse_movhlps): Merge with *avx_movhlps.
2090 (sse_movlhps): Merge with *avx_movlhps.
2091 (vec_interleave_highv4sf): Merge with *avx_interleave_highv4sf.
2092 (vec_interleave_lowv4sf): Merge with *avx_interleave_lowv4sf.
2093 (sse_shufps_<mode>): Merge with *avx_shufps_<mode>.
2094 (sse_loadhps): Merge with *avx_loadhps.
2095 (sse_storelps): Merge with *avx_storelps.
2096 (sse_loadlps): Merge with *avx_loadlps.
2097 (sse_movss): Merge with *avx_movss.
2098 (*vec_concatv2sf_sse4_1): Merge with *vec_concatv2sf_avx.
2099 (*vec_concatv4sf_sse): Merge with *vec_concatv4sf_avx.
2100 (*vec_set<mode>_0_sse4_1): Merge with *vec_set<mode>_0_avx.
2101 (*vec_set<mode>_0_sse2): Split multi-unit alternative.
2102 (vec_set<mode>_0): Ditto.
2103 (*vec_setv4sf_sse4_1): Merge with *vec_setv4sf_avx.
2104 (sse4_1_insertps): Merge with *avx_insertps.
2105 (*sse3_interleave_highv2df): Merge with *avx_interleave_highv2df.
2106 (*sse3_interleave_lowv2df): Merge with *avx_interleave_lowv2df.
2107 (vec_interleave_highv2di): Merge with *avx_interleave_highv2di.
2108 (sse2_shufpd_<mode>): Merge with *avx_shufpd_<mode>.
2109 (sse2_storehpd): Merge with *avx_storehpd.
2110 (sse2_loadhpd): Merge with *avx_loadhpd.
2111 (sse2_loadlpd): Merge with *avx_loadlpd.
2112 (sse2_movsd): Merge with *avx_movsd.
2113 (*vec_concatv2df): Merge with *vec_concatv2df.
2114
4e626909
JJ
21152011-04-07 Jakub Jelinek <jakub@redhat.com>
2116
2117 PR debug/48343
2118 * combine.c (combine_instructions): Add last_combined_insn,
3729983c 2119 update it if insn is after it, pass it to all try_combine calls.
4e626909
JJ
2120 (try_combine): Add last_combined_insn parameter, pass it instead of
2121 i3 to propagate_for_debug.
2122
3729983c 21232011-04-07 Nick Clifton <nickc@redhat.com>
5a10b0a9
NC
2124
2125 * config/mn10300/mn10300.md (movqi_internal): Add alternatives
2126 to handle MDR <-> data register transfers.
2127 (movhi_internal): Likewise.
2128
20c03367
AM
21292011-04-07 Alan Modra <amodra@gmail.com>
2130
2131 * config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
2132 previous stack info.
2133
bf22920b
TV
21342011-04-07 Tom de Vries <tom@codesourcery.com>
2135
2136 PR target/43920
2137 * cfgcleanup.c (try_crossjump_to_edge): Add dir parameter. Pass dir to
2138 flow_find_cross_jump. Swap variables to implement backward replacement.
2139 (try_crossjump_bb): Add argument to try_crossjump_to_edge.
2140
823918ae
TV
21412011-04-07 Tom de Vries <tom@codesourcery.com>
2142
2143 PR target/43920
2144 * cfgcleanup.c (walk_to_nondebug_insn): New function.
3729983c
UB
2145 (flow_find_cross_jump): Use walk_to_nondebug_insn. Recalculate bb1
2146 and bb2.
2147 (try_crossjump_to_edge): Handle case that newpos1 or newpos2 is not
2148 src1 or src2. Redirect edges to the last basic block. Update
2149 frequency and count on multiple basic blocks in case of fallthru.
823918ae 2150
472c95f5
TV
21512011-04-07 Tom de Vries <tom@codesourcery.com>
2152
2153 PR target/43920
2154 * cfgcleanup.c (equal_different_set_p, can_replace_by, merge_dir): New
2155 function.
3729983c
UB
2156 (old_insns_match_p): Change return type. Replace return false/true
2157 with return dir_none/dir_both. Use can_replace_by.
2158 (flow_find_cross_jump): Add dir_p parameter. Init replacement
2159 direction from dir_p. Register replacement direction in dir, last_dir
2160 and afterlast_dir. Handle new return type of old_insns_match_p using
472c95f5
TV
2161 merge_dir. Return replacement direction in dir_p.
2162 (flow_find_head_matching_sequence, outgoing_edges_match): Handle new
2163 return type of old_insns_match_p.
2164 (try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
2165 * ifcvt.c ( cond_exec_process_if_block): Add argument to call to
2166 flow_find_cross_jump.
2167 * basic-block.h (enum replace_direction): New type.
2168 (flow_find_cross_jump): Add parameter to declaration.
2169
a95d4000
UB
21702011-04-06 Uros Bizjak <ubizjak@gmail.com>
2171
2172 * config/i386/sse.md (AVXMODEDCVTDQ2PS): Remove.
2173 (AVXMODEDCVTPS2DQ): Ditto.
2174 (VEC_FLOAT_MODE): Ditto.
2175 (<sse>_andnot<mode>3): Merge with avx_andnot<mode>3. Use VF mode
2176 iterator. Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
2177 (<any_logic:code><mode>3): Use VF mode iterator.
2178 (*<any_logic:code><mode>3): Merge with *avx_<any_logic:code><mode>3.
2179 Use VF mode iterator.
2180 (copysign<mode>3): Use VF mode iterator.
2181 (*andnot<MODEF:mode>3): Merge with *avx_andnot<MODEF:mode>3. Handle
2182 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
2183 (*<any_logic:code><MODEF:mode>3): Merge with
2184 *avx_<any_logic:code><MODEF:mode>3.
2185 (sse_cvtsi2ss): Merge with *avx_cvtsi2ss.
2186 (sse_cvtsi2ssq): Merge with *avx_cvtsi2ssq.
2187 (avx_cvtdq2ps256): Split from avx_cvtdq2ps<avxmodesuffix>.
2188 (avx_cvtdq2ps<avxmodesuffix>): Remove.
2189 (sse2_cvtdq2ps): Use %v modifier.
2190 (avx_cvtps2dq256): Split from avx_cvtps2dq<avxmodesuffix>.
2191 (avx_cvtps2dq<avxmodesuffix>): Remove.
2192 (sse2_cvtps2dq): Use %v modifier.
2193 (avx_cvttps2dq256): Split from avx_cvttps2dq<avxmodesuffix>.
2194 (avx_cvttps2dq<avxmodesuffix>): Remove.
2195 (sse2_cvttps2dq): Use %v modifier.
2196 (sse2_cvtsi2sd): Merge with *avx_cvtsi2sd.
2197 (sse2_cvtsi2sdq): Merge with *avx_cvtsi2sdq.
2198 (sse2_cvtsd2siq): Fix insn template.
2199 (sse2_cvtsd2siq_2): Ditto.
2200 (sse2_cvttsd2siq): Ditto.
2201 (sse2_cvtsd2ss): Merge with *avx_cvtsd2ss.
2202 (sse2_cvtss2sd): Merge with *avx_cvtss2sd.
2203
ad01c437
JM
22042011-04-06 Joseph Myers <joseph@codesourcery.com>
2205
2206 * gcov-io.c: Use GCC Runtime Library Exception.
2207
fe846284
JJ
22082011-04-06 Jakub Jelinek <jakub@redhat.com>
2209
2210 PR debug/48466
2211 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
2212 as base_reg whatever register reg has been eliminated to, instead
2213 of hardcoding STACK_POINTER_REGNUM.
2214
acce4e77
JM
22152011-04-06 Joseph Myers <joseph@codesourcery.com>
2216
2217 * doc/tm.texi.in: Document C target hooks as separate from general
2218 target hooks.
2219 * doc/tm.texi: Regenerate.
2220 * genhooks.c (struct hook_desc): Add docname field.
2221 (HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize
2222 docname field.
2223 (hook_array): Include c-target.def.
2224 (emit_documentation): Use docname field in output.
2225 (emit_init_macros): Take docname argument. Only emit definitions
2226 for hooks matching docname.
2227 (main): Expect additional arguments in all cases. Pass argument
2228 to emit_init_macros.
2229 * target.def: Move initial macro definitions and comments to
2230 target-hooks-macros.h.
2231 (gcc_targetcm): Move to c-family/c-target.def.
2232 * target.h (targetcm): Move declaration to c-family/c-target.h.
2233 * targhooks.c (default_handle_c_option): Move to
2234 c-family/c-opts.c.
2235 * targhooks.h (default_handle_c_option): Move declaration to
2236 c-family/c-common.h.
2237 * target-hooks-macros.h: New file.
2238 * config.gcc (target_has_targetcm): Define and use to add to
2239 c_target_objs and cxx_target_objs.
2240 * config/default-c.c: New file.
2241 * config/darwin-c.c: Include c-target.h and c-target-def.h instead
2242 of target.h and target-def.h.
2243 (TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
2244 (darwin_objc_construct_string, darwin_cfstring_ref_p,
2245 darwin_check_cfstring_format_arg): Make static.
2246 (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
2247 TARGET_STRING_OBJECT_REF_TYPE_P,
2248 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
2249 * config/darwin-protos.h (darwin_objc_construct_string,
2250 darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
2251 declare.
2252 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
2253 TARGET_STRING_OBJECT_REF_TYPE_P,
a95d4000 2254 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM): Remove.
acce4e77
JM
2255 * config/t-darwin (darwin-c.o): Update dependencies.
2256 * system.h (TARGET_HAS_TARGETCM): Poison.
2257 * Makefile.in (TARGET_H): Update.
2258 (TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
2259 (c-family/c-format.o, c-family/c-opts.o): Update dependencies.
2260 (default-c.o): New target.
2261 (s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
a95d4000 2262 (c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New targets.
acce4e77
JM
2263 (s-tm-texi): Pass -d option to genhooks. Also test timestamp on
2264 c-target.def.
2265 (build/genhooks.o): Update dependencies.
2266
275b4baa 22672011-04-06 Richard Guenther <rguenther@suse.de>
a95d4000 2268
275b4baa
RG
2269 * ipa-inline.c (enum inlining_mode): Remove.
2270 (cgraph_flatten): Use some other token.
2271 (cgraph_edge_early_inlinable_p): New function, split out from ...
2272 (cgraph_perform_always_inlining): New function, split out from ...
2273 (cgraph_decide_inlining_incrementally): ... here.
2274 (cgraph_mark_inline_edge): Adjust.
2275 (cgraph_early_inlining): Re-structure.
2276 (pass_early_inline): Require SSA form.
2277
f15b8bdf 22782011-04-06 Andrew Stubbs <ams@codesourcery.com>
9adc580c
AS
2279 Julian Brown <julian@codesourcery.com>
2280 Mark Shinwell <shinwell@codesourcery.com>
2281
2282 * config/arm/arm.h (arm_class_likely_spilled_p): Check against
2283 LO_REGS only for Thumb-1.
2284 (MODE_BASE_REG_CLASS): Restrict base registers to those which can
2285 be used in short instructions when optimising for size on Thumb-2.
2286
516426da
EB
22872011-04-06 Eric Botcazou <ebotcazou@adacore.com>
2288
2289 * gimple-low.c (lower_gimple_return): When not optimizing, force labels
2290 associated with user returns to be preserved.
2291
96621ebf
TG
22922011-04-06 Tristan Gingold <gingold@adacore.com>
2293
f15b8bdf
EB
2294 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index,
2295 symbol_queue_size, DBXOUT_DECR_NESTING,
96621ebf
TG
2296 (DBXOUT_DECR_NESTING_AND_RETURN): Also define
2297 if XCOFF_DEBUGGING_INFO.
2298
07c0852e
UB
22992011-04-06 Uros Bizjak <ubizjak@gmail.com>
2300
2301 * config/i386/i386.md (attribute isa): New.
2302 (attribute enabled): New.
2303 (setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
2304 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
2305 (*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
2306 (*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
2307 (*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
2308 (<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
2309 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
2310 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.
2311
2312 * config/i386/sse.md (VF): New mode iterator.
2313 (VF1): Ditto.
2314 (VF2): Ditto.
2315 (VF_128): Ditto.
2316 (SSEMODEF4): Remove.
2317 (attribute sse): Handle V8SF and V4DF modes.
2318 (<absneg:code><mode>2): Use VF mode iterator.
2319 (*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2. Use VF
2320 mode iterator.
2321 (<plusminus_insn><mode>3): Use VF mode iterator.
2322 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
2323 Use VF mode iterator.
2324 (<sse>_vm<plusminus_insn><mode>3): Merge with
2325 *avx_vm<plusminus_insn><mode>3. Use VF_128 mode iterator.
2326 (mul<mode>3): Use VF mode iterator.
2327 (*mul<mode>3): Merge with *avx_mul<mode>3. Use VF mode iterator.
2328 (<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3. Use VF_128
2329 mode iterator.
2330 (div<VF2:mode>3): Merge from divv2df3 and divv4df3.
2331 (div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
2332 (<sse>_div<mode>3): Merge with *avx_div<mode>3. Use VF mode iterator.
2333 (<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3. Use VF_128
2334 mode iterator.
2335 (<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
2336 Use VF1 mode iterator.
2337 (sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
2338 (sqrt<VF2:mode>2): New expander.
2339 (sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
2340 (<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
2341 and sqrtv2df2. Use VF mode iterator.
2342 (<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2. Use VF_128
2343 mode iterator.
2344 (rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
2345 (<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
2346 Use VF1 mode iterator.
2347 (sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
2348 (<smaxmin:code><mode>3): Use VF mode iterator.
2349 (*<smaxmin:code><mode>3_finite): Merge with
2350 *avx_<smaxmin:code><mode>3_finite. Use VF mode iterator.
2351 (*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
2352 (<sse>_vm<smaxmin:code><mode>2): Merge with
2353 *avx_vm<smaxmin:code><mode>2. Use VF_128 mode iterator.
2354 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3. Use VF
2355 mode iterator.
2356 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3. Use VF
2357 mode iterator.
2358 (sse3_addsubv2df3): Merge with *avx_addsubv2df3.
2359 (sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
2360 (sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
2361 (sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
2362 (avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3. Use
2363 VF mode iterator.
2364 (avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
2365 Use VF_128 mode iterator.
2366 (<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3. Use VF
2367 mode iterator.
2368 (<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3. Use
2369 VF_128 mode iterator.
2370 (vcond<mode>): Use VF mode iterator.
2371 * config/i386/predicates.md (sse_comparison_operator): Merge with
2372 avx_comparison_float_operator. Do not declare as special_predicate.
2373 * config/i386/i386.c (struct builtin_description): Update for renamed
2374 compare patterns.
2375 (ix86_expand_args_builtin): Ditto.
2376 (ix86_expand_sse_compare_mask): Ditto.
2377
ff5d142c
RG
23782011-04-06 Richard Guenther <rguenther@suse.de>
2379
2380 * tree-inline.c (estimate_num_insns): For calls simply account
2381 for all passed arguments and a used return value.
2382
d7d1d041 23832011-04-06 Richard Guenther <rguenther@suse.de>
07c0852e 2384
d7d1d041
RG
2385 PR tree-optimization/47663
2386 * cgraph.h (struct cgraph_edge): Add call_stmt_size and
2387 call_stmt_time fields.
2388 (cgraph_edge_inlinable_p): Declare.
2389 (cgraph_edge_recursive_p): New inline function.
2390 * cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
2391 (cgraph_clone_edge): Copy it.
2392 * ipa-inline.c (cgraph_estimate_edge_time): New function.
2393 Account for call stmt time.
2394 (cgraph_estimate_time_after_inlining): Take edge argument.
2395 (cgraph_estimate_edge_growth): Account call stmt size.
2396 (cgraph_estimate_size_after_inlining): Take edge argument.
2397 (cgraph_mark_inline_edge): Adjust.
2398 (cgraph_check_inline_limits): Likewise.
2399 (cgraph_recursive_inlining_p): Remove.
2400 (cgraph_edge_badness): Use cgraph_edge_recursive_p.
2401 (cgraph_decide_recursive_inlining): Take edge argument and
2402 adjust.
2403 (cgraph_decide_inlining_of_small_functions): Do not avoid
2404 diags for recursive inlining here.
2405 (cgraph_flatten): Adjust.
2406 (cgraph_decide_inlining_incrementally): Likewise.
2407 (estimate_function_body_sizes): Remove call cost handling.
2408 (compute_inline_parameters): Initialize caller edge call costs.
2409 (cgraph_estimate_edge_growth): New function.
2410 (cgraph_estimate_growth): Use it.
2411 (cgraph_edge_badness): Likewise.
2412 (cgraph_check_inline_limits): Take an edge argument.
2413 (cgraph_decide_inlining_of_small_functions): Adjust.
2414 (cgraph_decide_inlining): Likewise.
2415 * tree-inline.c (estimate_num_insns): Only account for call
2416 return value if it is used.
2417 (expand_call_inline): Avoid diagnostics on recursive inline
2418 functions here.
2419 * lto-cgraph.c (lto_output_edge): Output edge call costs.
2420 (input_edge): Input edge call costs.
2421
2feb95f7
RO
24222011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2423
2424 * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
2425
26fbd9c2
JW
24262011-04-06 Jonathan Wakely <jwakely.gcc@gmail.com>
2427
2428 * doc/invoke.texi (Spec Files): Fix typo.
2429
694dc0ca
EB
24302011-04-06 Eric Botcazou <ebotcazou@adacore.com>
2431
2432 * profile.c (branch_prob): Move declaration of local variable. Remove
2433 obsolete ??? comment. Expand the location explicitly instead of using
2434 the LOCATION_FILE and LOCATION_LINE macros.
2435
4925d0d5
WG
24362011-04-06 Wei Guozhi <carrot@google.com>
2437
2438 PR target/47855
2439 * config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
2440 (arm_cond_branch): Likewise.
2441 (arm_cond_branch_reversed): Likewise.
2442 (arm_jump): Likewise.
2443 (push_multi): Likewise.
2444 * config/arm/constraints.md (Py): New constraint.
2445
f55dfa2f
NF
24462011-04-05 Nathan Froyd <froydnj@codesourcery.com>
2447
2448 PR bootstrap/48471
2449 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
2450 Move these...
2451 (symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
2452 (DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
2453 #ifdef DBX_DEBUGGING_INFO.
2454
fca96842
BS
24552011-04-05 Bernd Schmidt <bernds@codesourcery.com>
2456
2457 PR bootstrap/48403
2458 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
2459 if old and new states differ.
2460
30b83e38
JM
24612011-04-05 Joseph Myers <joseph@codesourcery.com>
2462
2463 * config/m68k/m68k.c (m68k_handle_option): Don't handle OPT_m5200,
2464 OPT_m5206e, OPT_m528x, OPT_m5307, OPT_m5407 and OPT_mcfv4e.
2465 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
2466 handle -m5200, -m5206e, -m528x, -m5307, -m5407 and -mcfv4e.
2467 * config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407,
2468 mcfv4e): Use Alias.
2469 * config/m68k/t-mlibs (MULTILIB_MATCHES): Don't map legacy
2470 ColdFire options to -mcpu= options.
2471
277a9aa5
JL
24722011-04-05 Jeff Law <law@redhat.com>
2473
2474 * tree-ssa-threadupdate.c (determine_bb_domination_status): Always
2475 check if BB is a successor of LOOP->header and return
2476 NONDOMINATING if it is not, regardless of ENABLE_CHECKING.
2477
c1e2610e
SB
24782011-04-05 Steven Bosscher <steven@gcc.gnu.org>
2479
2480 * cprop.c (struct reg_use): Remove.
2481 (reg_use_table): Make an array of RTX.
2482 (find_used_regs, constprop_register, local_cprop_pass,
2483 bypass_block): Simplify users of reg_use_table.
2484 (cprop_insn): Likewise. Iterate if copy propagation succeeded
2485 on one of the uses found by find_used_regs.
2486
e532f586
NF
24872011-04-05 Nathan Froyd <froydnj@codesourcery.com>
2488
2489 PR bootstrap/48469
2490 * combine.c (combine_instructions): #ifdef AUTO_INC_DEC links
2491 declaration.
2492
3fb7c055
NF
24932011-04-05 Nathan Froyd <froydnj@codesourcery.com>
2494
2495 * combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
2496 as an rtx.
2497 (try_combine) [AUTO_INC_DEC]: Declare a local link rtx.
2498
b71b43d9
SB
24992011-04-05 Steven Bosscher <steven@gcc.gnu.org>
2500
2501 PR middle-end/48441
2502 * cprop.c (one_cprop_pass): Do not mark_oprs_set of deleted insns.
2503
b405b274
NF
25042011-04-05 Nathan Froyd <froydnj@codesourcery.com>
2505
2506 * combine.c: Include obstack.h.
2507 (struct insn_link): Define.
2508 (uid_log_links): Adjust type.
2509 (FOR_EACH_LOG_LINK): New macro.
2510 (insn_link_obstack): Declare.
2511 (alloc_insn_link): Define.
2512 (create_log_links): Call it. Use FOR_EACH_LOG_LINK and adjust
2513 type of link variables.
2514 (find_single_use, insn_a_feeds_b, combine_instructions): Likewise.
2515 (try_combine, record_promoted_values, distribute_notes): Likewise.
2516 (distribute_links): Likewise. Tweak prototype.
2517 (clear_log_links): Delete.
2518 (adjust_for_new_dest): Call alloc_insn_link.
2519 * Makefile.in (combine.o): Depend on $(OBSTACK_H).
2520
6409abe3
NF
25212011-04-05 Nathan Froyd <froydnj@codesourcery.com>
2522
2523 * gcse.c (modify_mem_list): Convert to an array of VECs.
2524 (canon_modify_mem_list, compute_transp): Tweak formatting.
2525 (alloc_gcse_mem): Likewise. Adjust for modify_mem_list change.
2526 (load_killed_in_block_p): Likewise.
2527 (record_last_mem_set_info): Likewise.
2528 (clear_modify_mem_tables): Likewise.
2529
170d8157
TV
25302011-04-05 Tom de Vries <tom@codesourcery.com>
2531
2532 PR middle-end/48461
2533 * function.c (emit_use_return_register_into_block): Only define if
2534 HAVE_return.
2535
c5911a55
EB
25362011-04-05 Eric Botcazou <ebotcazou@adacore.com>
2537
2538 * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
2539
abd016e6
JM
25402011-04-05 Joseph Myers <joseph@codesourcery.com>
2541
2542 * config/rx/rx-opts.h: New.
2543 * config/rx/rx.c (rx_cpu_type): Remove.
2544 (rx_handle_option): Don't assert that global structures are in
2545 use. Access variables via opts pointer. Defer most handling of
2546 OPT_mint_register_. Use error_at.
2547 (rx_option_override): Handle deferred OPT_mint_register_ here.
2548 * config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
2549 * config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
2550 (mcpu=): Use Enum and specifiy rx_cpu_type with Var.
2551 (rx_cpu_types): New Enum and EnumValue entries.
2552 (mint-register=): Use Defer and use Var accordingly.
2553
1ed13f83
NF
25542011-04-05 Nathan Froyd <froydnj@codesourcery.com>
2555
2556 * debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
2557 (debug_free_queue, debug_nesting, symbol_queue_index): Delete.
2558 * final.c (debug_flush_symbol_queue, debug_queue_symbol):
2559 Move these...
2560 (debug_free_queue, debug_nesting, symbol_queue_index):
2561 ...and these...
2562 * dbxout.c: ...to here. Make static.
2563
6ce1edcf
NF
25642011-04-05 Nathan Froyd <froydnj@codesourcery.com>
2565
2566 * gcse.c (modify_pair): Define. Define a VEC of it.
2567 (canon_modify_mem_list): Convert to an array of VECs.
2568 (free_insn_expr_list_list): Delete.
2569 (clear_modify_mem_tables): Call VEC_free instead.
2570 (record_last_mem_set_info): Don't modify canon_modify_mem_list.
2571 (alloc_gcse_mem): Adjust for canon_modify_mem_list change.
2572 (canon_list_insert, compute_transp): Likewise.
2573
c201ac94
TV
25742011-04-05 Tom de Vries <tom@codesourcery.com>
2575
2576 PR target/43920
2577 * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
2578 for size.
2579
4c029f40
TV
25802011-04-05 Tom de Vries <tom@codesourcery.com>
2581
2582 PR target/43920
2583 * function.c (emit_use_return_register_into_block): New function.
2584 (thread_prologue_and_epilogue_insns): Use
2585 emit_use_return_register_into_block.
2586
2a562b0a
TV
25872011-04-05 Tom de Vries <tom@codesourcery.com>
2588
2589 PR target/43920
2590 * cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
2591 insn.
2592
0248bceb
TV
25932011-04-05 Tom de Vries <tom@codesourcery.com>
2594
2595 * cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.
2596
ffa94123
YZ
25972011-04-05 Yufeng Zhang <yufeng.zhang@arm.com>
2598
798dd0ba
UB
2599 * config/arm/arm.md (define_constants for unspec): Replace with
2600 define_c_enum.
2601 (define_constants for unspecv): Replace with define_c_enum.
2602 * config/arm/neon.md (define_constants for unspec): Replace with
2603 define_c_enum.
ffa94123 2604
3b8f9b46
RH
26052011-04-04 Richard Henderson <rth@redhat.com>
2606
720cf80f 2607 PR bootstrap/48400
3b8f9b46
RH
2608 * dwarf2out.c (output_line_info): Always emit line info from
2609 at least one section.
2610 (dwarf2out_init): Create text_section_line_info here ...
2611 (set_cur_line_info_table): ... not here.
2612
720cf80f 26132011-04-04 Vladimir Makarov <vmakarov@redhat.com>
e5b0e1ca
VM
2614
2615 PR target/48380
2616 * ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
720cf80f 2617 not called.
e5b0e1ca 2618
720cf80f 2619 * ira-emit.c (emit_move_list): Update reg_equiv_init insn list.
e5b0e1ca 2620
196565d4
SB
26212011-04-04 Steven Bosscher <steven@gcc.gnu.org>
2622
b77f9eab
SB
2623 * cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
2624 (expr_equiv_p): Remove.
2625 (insert_set_in_table): Look at <dest, src> pair instead of expr.
2626 (hash_scan_set): Update call to insert_set_in_table.
2627 (dump_hash_table): Dump <dest, src> pair.
2628 (lookup_set): Simplify. Lookup <dest, src> pair.
2629 (compute_transp): Remove, fold heavily simplified code into...
2630 (compute_local_properties): ...here. Expect COMP and TRANSP
2631 unconditionally.
2632 (find_avail_set): Take set directly from struct expr.
2633 (find_bypass-set): Likewise.
2634 (bypass_block): Likewise.
2635 (cprop_insn): Likewise. Remove redundant INSN_P test.
2636
384d7a55
SB
2637 * cprop.c (implicit_set_cond_p): Assume nothing about COND, move
2638 checks on form of COND from find_implicit_sets to here.
2639 (find_implicit_sets): Cleanup control flow. Split critical edges
2640 if it exposes implicit sets. Allocate/resize implicit_sets as
2641 necessary.
2642 (one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
2643 changed something. Run df_analyze after find_implicit_sets if any
2644 edges were split. Do not allocate implicit_sets here.
2645
3084ce69
SB
2646 * cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
2647 (gcse_obstack): Renamed to cprop_obstack.
2648 (GNEW, GNEWVEC, GNEWVAR): Remove.
2649 (gmalloc): Remove.
2650 (alloc_hash_table): Use XNEWVAR instead of GNEWVAR.
2651 (GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming.
2652 (gcse_alloc): Likewise, and rename to cprop_alloc.
2653 (alloc_gcse_men, free_gcse_mem): Remove.
2654 (gcse_constant_p): Rename to cprop_constant_p, and adjust all callers.
2655 (compute_hash_table_work): Allocate and free reg_set_bitmap here.
2656 (one_cprop_pass): Likewise. Adjust for gcse_obstack renaming.
2657
196565d4
SB
2658 * cprop.c (oprs_not_set_p): Remove.
2659 (mark_set, mark_clobber): Remove.
2660 (mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache.
2661 (reg_not_set_p): New function.
2662 (find_avail_set): Use reg_not_set_p instead of oprs_not_set_p.
2663 (cprop_insn): Likewise.
2664 (cprop_jump): Use FOR_EACH_EDGE.
2665
9b69cf83
BS
26662011-04-04 Bernd Schmidt <bernds@codesourcery.com>
2667
2668 PR bootstrap/48403
2669 * haifa-sched.c (nonscheduled_insns_begin): New static variable.
2670 (rank_for_schedule): Use scheduled_insns vector instead of
2671 last_scheduled_insn.
2672 (ok_for_early_queue_removal): Likewise.
2673 (queue_to_ready): Search forward in nonscheduled_insns_begin if
2674 we have a dbg_cnt.
2675 (choose_ready): Likewise.
2676 (commit_schedule): Use VEC_iterate.
2677 (schedule_block): Initialize nonscheduled_insns_begin. If we have
2678 a dbg_cnt, use it and ensure the first insn is in the ready list.
2679 (haifa_sched_init): Allocate scheduled_insns.
2680 (sched_extend_ready_list): Don't allocate it; reserve space.
2681 (haifa_sched_finish): Free it.
2682
24f48c2f
JM
26832011-04-04 Joseph Myers <joseph@codesourcery.com>
2684
2685 * optc-gen.awk: Always remove type from Variable entry before
2686 recording in var_seen.
2687
8effe856
EB
26882011-04-04 Eric Botcazou <ebotcazou@adacore.com>
2689
2690 * cfghooks.c (tidy_fallthru_edges): Add ??? comment.
2691 * tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove
2692 call to tidy_fallthru_edges.
2693
413519ae
JM
26942011-04-04 Joseph Myers <joseph@codesourcery.com>
2695
2696 * doc/options.texi (ToLower): Document.
3729983c 2697 * opt-functions.awk (switch_bit_fields): Initialize cl_tolower field.
413519ae
JM
2698 * opts-common.c (decode_cmdline_option): Handle cl_tolower.
2699 * opts.h (cl_option): Add cl_tolower field.
2700 * config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu=
2701 arguments with lowercase strings.
2702 * config/rx/rx.opt (mcpu=): Add ToLower.
2703 * config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu=
2704 argument.
2705
7d34a1b0
RS
27062011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
2707
2708 * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.
2709
c30e7434
RS
27102011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
2711
2712 * config/vax/vax.c: Include reload.h.
2713
112a861d
AS
27142011-04-04 Anatoly Sokolov <aesok@post.ru>
2715
2716 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove.
2717 * config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
2718 (sparc_preferred_reload_class): New function.
2719
e8c6bb74
JJ
27202011-04-04 Jakub Jelinek <jakub@redhat.com>
2721
2aeaa366 2722 PR debug/48401
e8c6bb74
JJ
2723 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
2724 Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.
2725
2c081caf
NF
27262011-04-03 Nathan Froyd <froydnj@codesourcery.com>
2727
2728 * tree.h (struct tree_const_decl): Inherit from tree_decl_common.
2729 * tree.c (initialize_tree_contains_struct): Adjust accordingly.
2730
53802f27
AS
27312011-04-03 Anatoly Sokolov <aesok@post.ru>
2732
2733 * config/avr/avr.h (ASM_OUTPUT_BSS): Remove.
2734 (ASM_OUTPUT_ALIGNED_BSS): Define.
2735
e89964e3
MM
27362011-04-03 Michael Matz <matz@suse.de>
2737
2738 * lto-streamer.h (struct lto_streamer_cache_d): Remove offsets
2739 and next_slot members.
2740 (lto_streamer_cache_insert, lto_streamer_cache_insert_at,
2741 lto_streamer_cache_lookup, lto_streamer_cache_get): Adjust prototypes.
2742 (lto_streamer_cache_append): Declare.
2743 * lto-streamer.c (lto_streamer_cache_add_to_node_array): Use
2744 unsigned index, remove offset parameter, ensure that we append
2745 or update existing entries.
2746 (lto_streamer_cache_insert_1): Use unsigned index, remove offset_p
2747 parameter, update next_slot for append.
2748 (lto_streamer_cache_insert): Use unsigned index, remove offset_p
2749 parameter.
2750 (lto_streamer_cache_insert_at): Likewise.
2751 (lto_streamer_cache_append): New function.
2752 (lto_streamer_cache_lookup): Use unsigned index.
2753 (lto_streamer_cache_get): Likewise.
2754 (lto_record_common_node): Don't test tree_node_can_be_shared.
2755 (preload_common_node): Adjust call to lto_streamer_cache_insert.
2756 (lto_streamer_cache_delete): Don't free offsets member.
2757 * lto-streamer-out.c (eq_string_slot_node): Use memcmp.
2758 (lto_output_string_with_length): Use lto_output_data_stream.
2759 (lto_output_tree_header): Remove ix parameter, don't write it.
2760 (lto_output_builtin_tree): Likewise.
2761 (lto_write_tree): Adjust callers to above, don't track and write
2762 offset, write unsigned index.
2763 (output_unreferenced_globals): Don't emit all global vars.
2764 (write_global_references): Use unsigned indices.
2765 (lto_output_decl_state_refs): Likewise.
2766 (write_symbol): Likewise.
2767 * lto-streamer-in.c (lto_input_chain): Move earlier.
2768 (input_function): Use unsigned index.
2769 (input_alias_pairs): Don't read and then ignore all global vars.
2770 (lto_materialize_tree): Remove ix_p parameter, don't read index,
2771 don't pass it back, use lto_streamer_cache_append.
2772 (lto_register_var_decl_in_symtab): Use unsigned index.
2773 (lto_register_function_decl_in_symtab): Likewise.
2774 (lto_get_pickled_tree): Don't read in or handle offset, read unsigned
2775 index.
2776 (lto_get_builtin_tree): Don't read index, use
2777 lto_streamer_cache_append.
2778 (lto_read_tree): Adjust call to lto_materialize_tree.
2779
2780 * ipa-inline.c (cgraph_edge_badness): Move growth calculaton,
2781 don't use function calls in arguments to MIN.
2782
2783 * varasm.c (decl_binds_to_current_def_p): Don't check TREE_PUBLIC
2784 twice.
2785
2786 * gimple.c (gimple_type_leader_entry): Mark deletable.
2787
b9a5b5b2
AM
27882011-04-03 Alan Modra <amodra@gmail.com>
2789
2790 * dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
2791
ac6a641b
MM
27922011-04-03 Michael Matz <matz@suse.de>
2793
2794 * tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not
2795 an integer.
2796 * tree.h (tree_decl_non_common.vindex): Adjust comment.
2797
0038d4e0
MM
27982011-04-03 Michael Matz <matz@suse.de>
2799
e9c18386 2800 * cgraphbuild.c (record_reference): Canonicalize constructor values.
0038d4e0
MM
2801 * gimple-fold.c (canonicalize_constructor_val): Accept being called
2802 without function context.
2803 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
2804 current_function_decl and cfun.
2805
91f2fae8
MM
28062011-04-03 Michael Matz <matz@suse.de>
2807
2808 * tree.c (decl_init_priority_insert): Don't create entry for
2809 default priority.
2810 (decl_fini_priority_insert): Ditto.
2811 (fields_compatible_p, find_compatible_field): Remove.
2812 * tree.h (fields_compatible_p, find_compatible_field): Remove.
2813 * gimple.c (gimple_compare_field_offset): Adjust block comment.
2814
da29e070
EB
28152011-04-03 Eric Botcazou <ebotcazou@adacore.com>
2816
2817 * combine.c (try_combine): Remove useless local variable.
2818
4979c28b 28192011-04-03 Richard Guenther <rguenther@suse.de>
91f2fae8 2820 Ira Rosen <ira.rosen@linaro.org>
4979c28b
RG
2821
2822 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
2823 non-variable offsets and compare the remaining bases of the two
2824 accesses instead of looking for exact same data-ref.
2825
b4ddcaee
KT
28262011-04-02 Kai Tietz <ktietz@redhat.com>
2827
f90298e1
KT
2828 PR target/48416
2829 * i386.c (ix86_function_arg_boundary): Fix printf formatter.
2830
b4ddcaee
KT
2831 * i386.c (ix86_is_msabi_thiscall): New helper function.
2832 (ix86_is_type_thiscall): New helper function.
2833 (ix86_comp_type_attributes): Handle thiscall for method-functions
2834 special.
2835 (init_cumulative_args): Likewise.
2836 (find_drap_reg): Likewise.
2837 (ix86_static_chain): Likewise.
2838 (x86_this_parameter): Likewise.
2839 (x86_output_mi_thunk): Likewise.
2840
2a9d769a 28412011-04-01 Olivier Hainque <hainque@adacore.com>
91f2fae8
MM
2842 Nicolas Setton <setton@adacore.com>
2843 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
2844
2845 * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
2846 (add_gnat_descriptive_type_attribute): New function.
2847 (gen_array_type_die): Call it.
2848 (gen_enumeration_type_die): Likewise.
2849 (gen_struct_or_union_type_die): Likewise.
2850 (modified_type_die): Likewise.
2851 * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
2852 * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
2853 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
2854
15a03a11
JJ
28552011-04-01 Jakub Jelinek <jakub@redhat.com>
2856
2857 PR bootstrap/48148
2858 * dwarf2out.c (resolve_addr): Don't call force_decl_die
2859 if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
2860
2861 Revert:
2862 2011-03-17 Richard Guenther <rguenther@suse.de>
2863
2864 PR bootstrap/48148
2865 * lto-cgraph.c (input_overwrite_node): Clear the abstract
2866 origin for decls in other ltrans units.
2867 (input_varpool_node): Likewise.
2868
19228b93
JJ
28692011-04-01 Jakub Jelinek <jakub@redhat.com>
2870
2871 PR middle-end/48335
2872 * expr.c (expand_assignment): Handle all possibilities
2873 if TO_RTX is CONCAT.
e9c18386 2874 * expmed.c (store_bit_field_1): Avoid trying to create invalid SUBREGs.
19228b93
JJ
2875 (store_split_bit_field): If SUBREG_REG (op0) or
2876 op0 itself has smaller mode than word, return it
2877 for offset 0 and const0_rtx for out-of-bounds stores.
2878 If word is const0_rtx, skip it.
2879
88cb339e
N
28802011-04-01 Naveen H.S <naveen.S@kpitcummins.com>
2881
2882 * config/h8300/h8300.c (print_operand_address): Rename to...
2883 (h8300_print_operand_address): ...this. Make static. Adjust comments.
2884 Call h8300_print_operand and h8300_print_operand_address instead of
2885 print_operand and print_operand_address. Declare.
2886 (print_operand): Renake to...
2887 (h8300_print_operand): ...this. Make static. Adjust comments.
2888 Call h8300_print_operand instead of print_operand. Declare.
2889 (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
2890 (h8300_register_move_cost): Likewise.
2891 (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
2892 TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
2893 * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
2894 PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
2895 * config/h8300/h8300-protos.h (print_operand): Delete.
2896 (print_operand_address): Delete.
2897
756d6ee9
RH
28982011-04-01 Richard Henderson <rth@redhat.com>
2899
2900 PR 48400
2901 * dwarf2out.c (dwarf2out_source_line): Disable discriminators
2902 in strict mode before dwarf4. Re-order tests to early out
2903 before switching sections.
2904
ceaaaeab
NF
29052011-04-01 Nathan Froyd <froydnj@codesourcery.com>
2906
2907 * config/h8300/constraints.md: New file.
2908 * config/h8300/h8300.md: Include it. Use satisfies_constraint_J,
2909 satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
2910 (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
2911 * config/h8300/predicates.md (bit_operand): Likewise.
2912 (incdec_operand): Use satisfies_constraint_M and
2913 satisfies_constraint_O. Don't use C code block.
2914 * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
2915 * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
2916 (compute_mov_length): Use satisfies_constraint_G.
2917 (fix_bit_operand): Use satisfies_constraint_U.
2918 * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
2919 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
2920 (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
2921 (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
2922 (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
2923 (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
2924 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2925 (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
2926 (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
2927 (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
2928 (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
2929 (EXTRA_MEMORY_CONSTRAINT): Delete.
2930
08ae38e0
AP
29312011-04-01 Andrew Pinski <pinskia@gmail.com>
2932 Michael Meissner <meissner@linux.vnet.ibm.com>
2933
2934 PR target/48262
2935 * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
2936 operands, as per the specifications.
2937
2938 * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
2939 (vec_extract_evenv4sf): Ditto.
2940 (vec_extract_evenv8hi): Ditto.
2941 (vec_extract_evenv16qi): Ditto.
2942 (vec_extract_oddv4si): Ditto.
2943
bdb0b0f6
MW
29442011-03-31 Mark Wielaard <mjw@redhat.com>
2945
2946 * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
2947 high_pc attribute if the CU has no associated code. Only output
2948 DW_AT_entry_pc for CU if not generating strict dwarf and
2949 dwarf_version < 4.
2950
722279e4
BS
29512011-04-01 Bernd Schmidt <bernds@codesourcery.com>
2952
2953 * dwarf2out.h (dwarf2out_frame_debug_init): Declare.
2954 * dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
2955 out of ...
2956 (dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
2957 * final.c (final_start_function): Call the new function rather
2958 than using a NULL argument for dwarf2out_frame_debug.
2959
c5dd277d
BS
2960 * ifcvt.c (cond_exec_process_insns): Disallow converting a block
2961 that contains the prologue.
2962
ec4efea9
BS
2963 * haifa-sched.c (queue_insn): New arg REASON. All callers
2964 changed. Print it in debugging output.
2965
2a6a0d80
BS
2966 * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
2967
86014d07
BS
2968 * sched-ebb.c (begin_schedule_ready): Remove second argument.
2969 Split most of the code into...
2970 (begin_move_insn): ... here. New function.
2971 (ebb_sched_info): Add a pointer to it.
2972 * haifa-sched.c (scheduled_insns): New static variable.
2973 (sched_extend_ready_list): Allocate it.
2974 (schedule_block): Use it to record the order of scheduled insns.
2975 Perform RTL changes to move insns only after all scheduling
2976 decisions have been made.
2977 * modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
2978 begin_move_insn field.
2979 * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
2980 * sched-int.h (struct haifa_sched_info): Remove second argument
2981 from begin_schedule_ready hook. Add new member begin_move_insn.
2982 * sched-rgn.c (begin_schedule_ready): Remove second argument.
2983 (rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
2984
9d701248
BS
2985 * haifa-sched.c (prune_ready_list): New function, broken out of
2986 schedule_block.
2987 (schedule_block): Use it.
2988
1ca1dad5
UW
29892011-04-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2990
2991 * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
2992
49568e45
KT
29932011-04-01 Kai Tietz <ktietz@redhat.com>
2994
2995 * config.gcc (*-*-mingw*): Allow as option the
2996 posix threading model.
07c0852e 2997 * config/i386/mingw32.h (SPEC_PTHREAD1, SPEC_PTHREAD2):
49568e45
KT
2998 New macros defined dependent to TARGET_USE_PTHREAD_BY_DEFAULT
2999 definition.
3000 (CPP_SPEC): Add pthread/no-pthread handling.
3001 (LIB_SPEC): Likewise.
3002 * config/i386/mingw-w64.h (CPP_SPEC):Likewise.
3003 (LIB_SPEC): Likewise.
3004 * config/i386/t-cygming (SHLIB_PTHREAD_CFLAG): New
3005 flag to pass -pthread option for shared libgcc build.
3006 (SHLIB_PTHREAD_LDFLAG): New option to pass -lpthread
3007 for shared libgcc build.
3008 * config/i386/t-mingw-pthread: New file.
3009 * config/i386/mingw-pthread.h (TARGET_USE_PTHREAD_BY_DEFAULT):
3010 New define to enable use of library pthread by default.
3011 * config/i386/mingw.opt (pthread): New driver option.
3012 (no-pthread): New driver option.
e9c18386 3013 * config/i386/cygming.opt: Make sure trailing empty line is retained.
49568e45
KT
3014 * config/i386/mingw-w64.opt: Likewise.
3015
636b4106
GF
30162011-04-01 Gary Funck <gary@intrepid.com>
3017
3018 * c-decl.c (grokdeclarator): Fix formatting.
3019
f04713ee
RS
30202011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
3021
3022 * expr.c (emit_block_move_via_movmem): Use n_generator_args
3023 instead of n_operands.
3024 (set_storage_via_setmem): Likewise.
3025 * optabs.c (maybe_gen_insn): Likewise.
3026 * config/arm/arm.c (arm_init_neon_builtins): Likewise.
3027 * config/mips/mips.c (mips_expand_builtin_compare_1): Likewise.
3028 (mips_expand_builtin_direct): Likewise.
3029 * config/spu/spu.c (expand_builtin_args): Likewise.
3030
b29387ee
RS
30312011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
3032
3033 * recog.h (insn_data_d): Add n_generator_args.
3034 * genoutput.c (data): Likewise.
3035 (output_insn_data): Print it.
3036 (max_opno, num_dups): Delete.
3037 (scan_operands): Just fill in "d->operand[...]".
3038 (gen_insn, gen_peephole, gen_expand, gen_split): Use get_pattern_stats.
3039
e792559a
RS
30402011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
3041
3042 * gensupport.h (pattern_stats): New structure.
3043 * gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
3044 * genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
3045 (max_operand_1, max_operand_vec): Delete.
3046 (gen_insn, gen_expand, gen_split): Use get_pattern_stats.
3047
e8110d6f
NF
30482011-03-31 Nathan Froyd <froydnj@codesourcery.com>
3049
3050 * emit-rtl.c (emit_pattern_after_setloc): New function.
3051 (emit_insn_after_setloc, emit_jump_insn_after_setloc): Call it.
3052 (emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise.
3053 (emit_pattern_after): New function.
3054 (emit_insn_after, emit_jump_insn_after): Call it.
3055 (emit_call_insn_after, emit_debug_insn_after): Likewise.
3056 (emit_pattern_before_setloc): New function.
3057 (emit_insn_before_setloc, emit_jump_insn_before_setloc): Call it.
3058 (emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
3059 Likewise.
3060 (emit_pattern_before): New function.
3061 (emit_insn_before, emit_jump_insn_before): Call it.
3062 (emit_call_insn_before, emit_debug_insn_before): Likewise.
3063
576f85f1
RH
30642011-03-31 Richard Henderson <rth@redhat.com>
3065
3066 * dwarf2out.c (dw_separate_line_info_ref): Remove.
3067 (dw_separate_line_info_entry): Remove.
3068 (enum dw_line_info_opcode): New.
3069 (dw_line_info_entry): Use it.
3070 (dw_line_info_table, dw_line_info_table_p): New.
3071 (DWARF_LINE_OPCODE_BASE): Include dwarf3 opcodes.
3072 (line_info_table, line_info_label_num): Remove.
3073 (line_info_table_in_use): Remove.
3074 (separate_line_info_table): Remove.
3075 (separate_line_info_table_allocated): Remove.
3076 (separate_line_info_table_in_use): Remove.
3077 (LINE_INFO_TABLE_INCREMENT): Remove.
3078 (line_info_label_num): New.
3079 (cur_line_info_table): New.
3080 (text_section_line_info, cold_text_section_line_info): New.
3081 (separate_line_info): New.
3082 (SEPARATE_LINE_CODE_LABEL): Remove.
3083 (print_dwarf_line_table): Remove.
3084 (debug_dwarf): Don't dump it.
3085 (output_one_line_info_table): New.
3086 (output_line_info): Use it.
3087 (new_line_info_table): New.
3088 (set_cur_line_info_table): New.
3089 (dwarf2out_switch_text_section): Use it.
3090 (dwarf2out_begin_function): Likewise.
3091 (push_dw_line_info_entry): New.
3092 (dwarf2out_source_line): Rewrite for new line info tables.
3093 (dwarf2out_init): Remove dead initailizations.
3094
300d83d9
JM
30952011-03-31 Joseph Myers <joseph@codesourcery.com>
3096
3097 * opts.h (cl_option): Add comments to fields. Add bit-fields for
3098 various flags.
3099 (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK,
3100 CL_SEPARATE_ALIAS, CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE,
3101 CL_DISABLED, CL_REPOR, CL_REJECT_NEGATIVE, CL_MISSING_OK,
3102 CL_UINTEGER, CL_NEGATIVE_ALIAS): Remove.
3103 (CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED): Update bit positions.
3104 * opt-functions.awk (flag_init, switch_bit_fields): New.
3105 (switch_flags): Don't handle flags moved to bit-fields. Don't
3106 generate CL_MISSING_OK or CL_SAVE.
3107 * optc-gen.awk: Update to generate bit-field output as well as
3108 flags field.
3109 * gcc.c (driver_wrong_lang_callback): Use cl_reject_driver
3110 bit-field instead of CL_REJECT_DRIVER flag.
3111 * opts-common.c (generate_canonical_option,
3112 decode_cmdline_option): Use bit-fields instead of CL_* flags.
3113 * opts.c (maybe_default_option): Use cl_reject_negative bit-field
3114 instead of CL_REJECT_NEGATIVE flag.
3115 * toplev.c (print_switch_values): Use cl_report bit-field instead
3116 of CL_REPORT flag.
3117
d4d73ce2
EB
31182011-03-31 Eric Botcazou <ebotcazou@adacore.com>
3119
3120 * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
3121 a zero minimum index only if it is redundant.
3122
b8faca75
VM
31232011-03-31 Vladimir Makarov <vmakarov@redhat.com>
3124
3125 PR rtl-optimization/48381
3126 * ira-color.c (assign_hard_reg): Use hard reg set intersection
3127 instead of ira_class_hard_reg_index for calculating conflicting
3128 hard registers.
3129
7d11cebe
SB
31302011-03-31 Steven Bosscher <steven@gcc.gnu.org>
3131
3132 * cprop.c: Clean up hash table building.
3133 (reg_avail_info): Remove.
3134 (oprs_available_p): Remove.
3135 (record_last_reg_set_info): Remove.
3136 (record_last_set_info): Remove.
3137 (reg_available_p): New function.
3138 (gcse_constant_p): Do not treat unfolded conditions as constants.
3139 (make_set_regs_unavailable): New function.
3140 (hash_scan_set): Simplify with new reg_available_p.
3141 (compute_hash_table_work): Traverse insns stream only once.
3142 Do not compute reg_avail_info. Traverse insns in reverse order.
3143 Record implicit sets after recording explicit sets from the block.
3144
98faf84f
MM
31452011-03-31 Michael Matz <matz@suse.de>
3146
e9c18386 3147 * builtins.c (build_va_arg_indirect_ref): Use build_simple_mem_ref_loc.
98faf84f 3148
f52d97da
AS
31492011-03-31 Anatoly Sokolov <aesok@post.ru>
3150
3151 * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove macro.
3152 * config/h8300/h8300-protos.h (h8300_get_index): Remove.
3153 * config/h8300/h8300.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
3154 (h8300_mode_dependent_address_p): New function.
3155 (h8300_get_index): Make static.
3156
e16b6fd0
JL
31572011-03-31 Jeff Law <law@redhat.com>
3158
10c51983
JL
3159 * reload1.c (elimination_effects): Fix typo in recent change.
3160
e9c18386 3161 * tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid
e16b6fd0
JL
3162 typo potentially leading to null pointer dereference.
3163
3164 * caller-save.c (new_saved_hard_reg): Eliminate return value.
3165 (setup_save_areas): Corresponding changes to avoid useless
3166 assignments.
3167
3168 * jump.c (reversed_comparison_code_parts): Avoid successive return
3169 statements when REVERSE_CONDITION is defined.
3170
3171 * expr.c (expand_assignment): Avoid useless assignments.
3172 (expand_expr_real_1): Likewise.
3173 (expand_expr_real_2): Avoid useless statements.
3174
3175 * tree-ssa-phiopt.c (minmax_replacement): Avoid useless statement.
3176
3177 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
3178
3179 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Avoid useless
3180 statements.
3181
3182 * stmt.c (expand_expr_stmt): Avoid useless assignment.
3183
eb1eb914
JM
31842011-03-31 Joseph Myers <joseph@codesourcery.com>
3185
3186 PR target/47109
3187 * doc/tm.texi.in (TARGET_VERSION): Remove.
3188 * doc/tm.texi: Regenerate.
3189 * system.h (TARGET_VERSION, MACHINE_TYPE): Poison.
3190 * collect2.c (main): Don't use TARGET_VERSION.
3191 * mips-tdump.c (main): Don't use TARGET_VERSION.
3192 * mips-tfile.c (main): Don't use TARGET_VERSION.
e9c18386 3193 * config.gcc (powerpc-wrs-vxworksae): Don't use rs6000/vxworksae.h.
eb1eb914
JM
3194 * config/rs6000/vxworksae.h: Remove.
3195 * config/alpha/alpha.h (TARGET_VERSION): Remove.
3196 * config/alpha/freebsd.h (TARGET_VERSION): Remove.
3197 * config/alpha/linux-elf.h (TARGET_VERSION): Remove.
3198 * config/alpha/netbsd.h (TARGET_VERSION): Remove.
3199 * config/alpha/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
3200 * config/arm/arm.h (TARGET_VERSION): Remove.
3201 * config/arm/coff.h (TARGET_VERSION): Remove.
3202 * config/arm/ecos-elf.h (TARGET_VERSION): Remove.
3203 * config/arm/elf.h (TARGET_VERSION): Remove.
3204 * config/arm/freebsd.h (TARGET_VERSION): Remove.
3205 * config/arm/linux-elf.h (TARGET_VERSION): Remove.
3206 * config/arm/netbsd-elf.h (TARGET_VERSION): Remove.
3207 * config/arm/pe.h (TARGET_VERSION): Remove.
3208 * config/arm/rtems-elf.h (TARGET_VERSION): Remove.
3209 * config/arm/semi.h (TARGET_VERSION): Remove.
3210 * config/arm/uclinux-elf.h (TARGET_VERSION): Remove.
3211 * config/arm/unknown-elf.h (TARGET_VERSION): Remove.
3212 * config/arm/vxworks.h (TARGET_VERSION): Remove.
3213 * config/avr/avr.h (TARGET_VERSION): Remove.
3214 * config/bfin/bfin.h (TARGET_VERSION): Remove.
3215 * config/fr30/fr30.h (TARGET_VERSION): Remove.
3216 * config/frv/frv.h (TARGET_VERSION): Remove.
3217 * config/h8300/h8300.h (TARGET_VERSION): Remove.
3218 * config/i386/cygwin.h (TARGET_VERSION): Remove.
3219 * config/i386/darwin.h (TARGET_VERSION): Remove.
3220 * config/i386/darwin64.h (TARGET_VERSION): Remove.
3221 * config/i386/djgpp.h (TARGET_VERSION): Remove.
3222 * config/i386/freebsd.h (TARGET_VERSION): Remove.
3223 * config/i386/freebsd64.h (TARGET_VERSION): Remove.
3224 * config/i386/gnu.h (TARGET_VERSION): Remove.
3225 * config/i386/i386-interix.h (TARGET_VERSION): Remove.
3226 * config/i386/i386elf.h (TARGET_VERSION): Remove.
3227 * config/i386/linux.h (TARGET_VERSION): Remove.
3228 * config/i386/linux64.h (TARGET_VERSION): Remove.
3229 * config/i386/lynx.h (TARGET_VERSION): Remove.
3230 * config/i386/mingw32.h (TARGET_VERSION): Remove.
3231 * config/i386/netbsd-elf.h (TARGET_VERSION): Remove.
3232 * config/i386/netbsd64.h (TARGET_VERSION): Remove.
3233 * config/i386/netware.h (TARGET_VERSION): Remove.
3234 * config/i386/nto.h (TARGET_VERSION): Remove.
3235 * config/i386/openbsd.h (TARGET_VERSION): Remove.
3236 * config/i386/vxworks.h (TARGET_VERSION): Remove.
3237 * config/ia64/elf.h (TARGET_VERSION): Remove.
3238 * config/ia64/freebsd.h (TARGET_VERSION): Remove.
3239 * config/ia64/hpux.h (TARGET_VERSION): Remove.
3240 * config/ia64/linux.h (TARGET_VERSION): Remove.
3241 * config/ia64/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
3242 * config/iq2000/iq2000.h (IQ2000_VERSION, MACHINE_TYPE,
3243 TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
3244 * config/lm32/lm32.h (TARGET_VERSION): Remove.
3245 * config/lm32/uclinux-elf.h (TARGET_VERSION): Remove.
3246 * config/m32c/m32c.h (TARGET_VERSION): Remove.
3247 * config/m32r/linux.h (LINUX_DEFAULT_ELF, TARGET_VERSION): Remove.
3248 * config/m32r/m32r.h (TARGET_VERSION): Remove.
3249 * config/m68k/linux.h (TARGET_VERSION): Remove.
3250 * config/m68k/m68k.h (TARGET_VERSION): Remove.
3251 * config/m68k/netbsd-elf.h (TARGET_VERSION): Remove.
3252 * config/m68k/uclinux.h (TARGET_VERSION): Remove.
3253 * config/mcore/mcore-elf.h (TARGET_VERSION): Remove.
3254 * config/mep/mep.h (TARGET_VERSION): Remove.
3255 * config/microblaze/microblaze.h (MICROBLAZE_VERSION,
3256 MACHINE_TYPE, TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
3257 * config/mips/iris6.h (MACHINE_TYPE): Remove.
3258 * config/mips/linux.h (TARGET_VERSION): Remove.
3259 * config/mips/netbsd.h (MACHINE_TYPE): Remove.
3260 * config/mips/vxworks.h (TARGET_VERSION): Remove.
3261 * config/mmix/mmix.h (TARGET_VERSION): Remove.
3262 * config/mn10300/linux.h (TARGET_VERSION): Remove.
3263 * config/mn10300/mn10300.h (TARGET_VERSION): Remove.
3264 * config/pa/pa.h (TARGET_VERSION): Remove.
3265 * config/pdp11/pdp11.h (TARGET_VERSION): Remove.
3266 * config/picochip/picochip.h (TARGET_VERSION): Remove.
3267 * config/rs6000/aix.h (TARGET_VERSION): Remove.
3268 * config/rs6000/darwin.h (TARGET_VERSION): Remove.
3269 * config/rs6000/darwin64.h (TARGET_VERSION): Remove.
3270 * config/rs6000/eabi.h (TARGET_VERSION): Remove.
3271 * config/rs6000/eabialtivec.h (TARGET_VERSION): Remove.
3272 * config/rs6000/eabisim.h (TARGET_VERSION): Remove.
3273 * config/rs6000/eabispe.h (TARGET_VERSION): Remove.
3274 * config/rs6000/freebsd.h (TARGET_VERSION): Remove.
3275 * config/rs6000/linux.h (TARGET_VERSION): Remove.
3276 * config/rs6000/linux64.h (TARGET_VERSION): Remove.
3277 * config/rs6000/linuxaltivec.h (TARGET_VERSION): Remove.
3278 * config/rs6000/linuxspe.h (TARGET_VERSION): Remove.
3279 * config/rs6000/lynx.h (TARGET_VERSION): Remove.
3280 * config/rs6000/netbsd.h (TARGET_VERSION): Remove.
3281 * config/rs6000/sysv4.h (TARGET_VERSION): Remove.
3282 * config/rs6000/vxworks.h (TARGET_VERSION): Remove.
3283 * config/s390/linux.h (TARGET_VERSION): Remove.
3284 * config/s390/s390.h (TARGET_VERSION): Remove.
3285 * config/s390/tpf.h (TARGET_VERSION): Remove.
3286 * config/score/score.h (TARGET_VERSION): Remove.
3287 * config/sh/linux.h (TARGET_VERSION): Remove.
3288 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN,
3289 TARGET_VERSION_CPU, TARGET_VERSION): Remove.
3290 * config/sh/sh.h (TARGET_VERSION): Remove.
3291 * config/sh/sh64.h (TARGET_VERSION): Remove.
3292 * config/sh/superh.h (TARGET_VERSION): Remove.
3293 * config/sh/vxworks.h (TARGET_VERSION): Remove.
3294 * config/sparc/freebsd.h (TARGET_VERSION): Remove.
3295 * config/sparc/linux.h (TARGET_VERSION): Remove.
3296 * config/sparc/linux64.h (TARGET_VERSION): Remove.
3297 * config/sparc/netbsd-elf.h (TARGET_VERSION, TARGET_NAME64,
3298 TARGET_NAME32, TARGET_NAME): Remove.
3299 * config/sparc/openbsd64.h (TARGET_VERSION): Remove.
3300 * config/sparc/sp-elf.h (TARGET_VERSION): Remove.
3301 * config/sparc/sp64-elf.h (TARGET_VERSION): Remove.
3302 * config/sparc/sysv4.h (TARGET_VERSION): Remove.
3303 * config/sparc/vxworks.h (TARGET_VERSION): Remove.
3304 * config/spu/spu.h (TARGET_VERSION): Remove.
3305 * config/stormy16/stormy16.h (TARGET_VERSION): Remove.
3306 * config/v850/v850.h (TARGET_VERSION): Remove.
3307 * config/vax/linux.h (TARGET_VERSION): Remove.
3308 * config/vax/vax.h (TARGET_NAME, TARGET_VERSION): Remove.
3309 * config/xtensa/elf.h (TARGET_VERSION): Remove.
3310 * config/xtensa/linux.h (TARGET_VERSION): Remove.
3311
ace31bca
EB
33122011-03-31 Eric Botcazou <ebotcazou@adacore.com>
3313
3314 PR target/48142
3315 * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
3316 frame-related from frame-unrelated adjustments to the stack pointer.
3317
76f9db36
JJ
33182011-03-31 Jakub Jelinek <jakub@redhat.com>
3319
3320 * common.opt (fdebug-types-section): Move earlier.
3321 * doc/invoke.texi: Fix up -fno-debug-types-section documentation.
3322
b7826465
AT
33232011-03-31 Andreas Tobler <andreast@fgznet.ch>
3324
3325 * config/rs6000/rs6000.c (rs6000_handle_option): Remove unused isel
3326 var.
3327
1290e54c
NF
33282011-03-30 Nathan Froyd <froydnj@codesourcery.com>
3329
3330 * tree.h (CASE_CHAIN): Define.
3331 * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
3332 (gimple_redirect_edge_and_branch): Likewise.
3333
bddc98e1
VM
33342011-03-30 Vladimir Makarov <vmakarov@redhat.com>
3335
3336 PR middle-end/48367
3337 * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
3338 calculation.
3339
c865e437
JL
33402011-03-30 Jeff Law <law@redhat.com>
3341
b3750213 3342 * PR bootstrap/48371
c865e437
JL
3343 * reload1.c (reload): Fix botch in last change.
3344
3345 * reload.h (struct reload): Fix typo introduced in last change.
3346
2cdf9574
JM
33472011-03-30 Joseph Myers <joseph@codesourcery.com>
3348
3349 * config/arm/arm.opt (mhard-float, msoft-float): Mark
3350 Undocumented. Remove help text.
3351 * doc/invoke.texi (ARM Options): Don't document -msoft-float and
3352 -mhard-float.
3353
666a21a2
JM
33542011-03-30 Joseph Myers <joseph@codesourcery.com>
3355
3356 * doc/options.texi (NegativeAlias): Document.
3357 (Alias): Mention NegativeAlias.
3358 * opt-functions.awk: Handle NegativeAlias.
e9c18386 3359 * optc-gen.awk: Disallow NegativeAlias with multiple Alias arguments.
666a21a2
JM
3360 * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
3361 * opts.h (CL_NEGATIVE_ALIAS): Define.
3362 * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
3363 (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
3364 OPT_mspe_.
3365 * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
3366 Alias entries.
3367 * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
3368 mno-spe and mno-isel instead of mspe=no and -misel=no.
3369
0fa4e351
MW
33702011-03-29 Mark Wielaard <mjw@redhat.com>
3371
3372 * common.opt (fdebug-types-section): New flag.
3373 * doc/invoke.texi: Document new -fno-debug-types-section flag.
3374 * dwarf2out.c (use_debug_types): New define.
3375 (struct die_struct): Mark die_id with GTY desc use_debug_types.
3376 (print_die): Guard output of type unit signatures using
3377 use_debug_types.
3378 (build_abbrev_table): Replace assert of dwarf_version >= 4
3379 with assert on use_debug_types.
3380 (size_of_die): Likewise.
3381 (unmark_dies): Likewise.
3382 (value_format): Decide AT_ref_external form on use_debug_types.
3383 (output_die): Replace dwarf_version version check guard with
3384 use_debug_types where appropriate.
3385 (modified_type_die): Likewise.
3386 (gen_reference_type_die): Likewise.
3387 (dwarf2out_start_source_file): Likewise.
3388 (dwarf2out_end_source_file): Likewise.
3389 (prune_unused_types_walk_attribs): Likewise.
3390 (dwarf2out_finish): Likewise.
3391
4648deb4
VM
33922011-03-30 Vladimir Makarov <vmakarov@redhat.com>
3393
3394 * ira-color.c (ira_assign_hard_reg): Use only one variable 'mode'.
3395
4f431835
RS
33962011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
3397
3398 PR rtl-optimization/48332
3399 * optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
3400 mode of input operand N and modeN to its actual mode.
3401
f2034d06
JL
34022011-03-30 Jeff Law <law@redhat.com>
3403
3404 * reload.h (reg_equiv_constant): Move into new structure reg_equivs,
3405 define accessor macro.
3406 (reg_equiv_invariant, reg_equiv_memory_loc): Likewise.
3407 (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise.
3408 (reg_equiv_init): Likewise.
3409 (reg_equivs_size): New variable.
3410 (reg_equiv_init_size): Remove.
3411 (allocate_initial_values): Move prototype to here from....
3412 * integrate.h (allocate_initial_values): Remove prototype.
3413 * integrate.c: Include reload.h.
3414 (allocate_initial_values): Corresponding changes.
3415 * ira.c (find_reg_equiv_invariant_cost): Corresponding changes.
3416 (fix_reg_equiv_init, no_equiv): Corresponding changes.
3417 (update_equiv_regs): Corresponding changes.
3418 (ira): Corresponding changes.
3419 * reload.c (push_reg_equiv_alt_mem): Corresponding changes.
3420 (push_secondary_reload): Corresponding changes.
3421 (push_reload, find_reloads, find_reloads_toplev): Corresponding changes.
3422 (make_memloc, find_reloads_address): Corresponding changes.
3423 (subst_reg_equivs, subst_indexed_address): Corresponding changes.
3424 (find_reloads_address_1): Corresponding changes.
3425 (find_reloads_subreg_address, subst_reloads): Corresponding changes.
3426 (refers_to_regno_for_reload_p): Corresponding changes.
3427 (reg_overlap_mentioned_for_reload_p): Corresponding changes.
3428 (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes.
3429 * reload1.c: Include ggc.h.
3430 (grow_reg_equivs): New function.
3431 (replace_pseudos_in, reload): Corresponding changes.
3432 (calculate_needs_all_insns, alter_regs): Corresponding changes.
3433 (eliminate_regs_1, elimination_effects): Corresponding changes.
3434 (emit_input_reload_insns, emit_output_reload_insns): Likewise.
3435 (delete_output_reload): Likewise.
3436 * caller-save.c (mark_referenced_regs): Corresponding changes.
3437 * alpha/alpha.c (resolve_reload_operand): Corresponding changes.
3438 * frv/predicates.md (frv_load_operand): Corresponding changes.
3439 * microblaze/microblaze.c (double_memory_operand): Corresponding
3440 changes.
3441 * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes.
3442 * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes.
e9c18386 3443 * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding changes.
f2034d06
JL
3444 * m68k/m68k.c (emit_move_sequence): Corresponding changes.
3445 * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding
3446 changes.
3447 * pa/pa.c (emit_move_sequence): Corresponding changes.
3448 * vax/vax.c (nonindexed_address_p): Corresponding changes.
3449
159b81b0
RS
34502011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
3451
3452 PR target/47551
3453 * config/arm/arm.c (coproc_secondary_reload_class): Handle
3454 structure modes. Don't check neon_vector_mem_operand for
3455 vector or structure modes.
3456
a6217191
RS
34572011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
3458 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
3459
3460 PR target/43590
3461 * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
3462 operand 1 and reshuffle the operands to match.
3463 (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.
3464
bd837408
CS
34652011-03-30 Christian Schüler <cschueler@gmx.de>
3466
6955d771 3467 PR driver/48208
bd837408 3468 * config/c.opt (F): Added 'Driver' to -F option.
e9c18386 3469
6955d771 3470 PR driver/48260
bd837408
CS
3471 * config/darwin-driver.c (darwin_driver_init): Add '-arch' to
3472 handler function.
3473 * config/darwin.opt: Added '-arch' option.
3474
e9c0470a
NC
34752011-03-30 Nick Clifton <nickc@redhat.com>
3476
3477 * config/rx/rx.md: Add peepholes and patterns to combine
3478 extending loads and simple arithmetic instructions.
3479 * config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
e9c18386
UB
3480 * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
3481 * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
e9c0470a 3482 modes to use pre-decrement and post-increment addressing.
e9c18386 3483 (rx_is_restricted_memory_address): Add range checking of REG+INT
e9c0470a 3484 addresses.
e9c18386
UB
3485 (rx_print_operand): Add support for %Q. Fix handling of %Q.
3486 (rx_memory_move_cost): Adjust cost of stores.
3487 (rx_adjust_insn_length): New function.
e9c0470a 3488
8a87e7ab
JJ
34892011-03-30 Jakub Jelinek <jakub@redhat.com>
3490
3491 PR c/48305
3492 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
3493 arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
3494 matching arg00/arg01 types.
3495
12486e03
EB
34962011-03-30 Eric Botcazou <ebotcazou@adacore.com>
3497
3498 * cfglayout.c (insn_locators_alloc): Initialize curr_location and
3499 last_location to UNKNOWN_LOCATION.
3500
0b99eef6
L
35012011-03-30 H.J. Lu <hongjiu.lu@intel.com>
3502
3503 PR target/48349
3504 * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
3505 FLOAT_SSE_REGS.
3506
023592aa
JM
35072011-03-30 Joseph Myers <joseph@codesourcery.com>
3508 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3509
3510 PR bootstrap/48337
3511 * config/sparc/sparc.opt (sparc_cpu_and_features): Add
3512 Init(PROCESSOR_V7).
3513 (sparc_cpu): Likewise.
3514 * config/sparc/sparc.c (sparc_option_override): Replace 0 by
3515 PROCESSOR_V7.
3516
ad3b266b
VM
35172011-03-29 Vladimir Makarov <vmakarov@redhat.com>
3518
3519 PR target/48336
3520 PR middle-end/48342
3521 PR rtl-optimization/48345
3522 * ira-color.c (setup_conflict_profitable_regs): Exclude prohibited
3523 hard regs for given mode from profitable regs when doing secondary
3524 allocation.
3525
633c9126
JL
35262011-03-29 Jeff Law <law@redhat.com>
3527
3528 PR bootstrap/48327
3529 * tree-ssa-threadupdate.c (struct redirection_data): Remove
3530 do_not_duplicate field.
3531 (lookup_redirection_data): Corresponding changes.
3532 (create_duplicates): Always create a template block.
3533 (redirect_edges): Remove code which reused the original block
3534 when it was going to become unreachable code.
3535 (thread_block): Don't set do_not_duplicate field.
3536
eb50f63a
JM
35372011-03-29 Joseph Myers <joseph@codesourcery.com>
3538
3539 * lto-opts.c (register_user_option_p, lto_register_user_option):
3540 Make type argument unsigned.
3541 * lto-streamer.h (lto_register_user_option): Make type argument
3542 unsigned.
3543 * opth-gen.awk: Make CL_* macros unsigned.
3544 * opts-common.c (find_opt): Make lang_mask argument unsigned.
3545 * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
3546 CL_TARGET, CL_COMMON, CL_SEPARATE_NARGS_MASK, CL_SEPARATE_ALIAS,
3547 CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE, CL_DISABLED,
3548 CL_REPORT, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE,
3549 CL_MISSING_OK, CL_UINTEGER, CL_UNDOCUMENTED): Make unsigned.
3550 (find_opt): Make lang_mask argument unsigned.
3551
76763a6d
VM
35522011-03-29 Vladimir Makarov <vmakarov@redhat.com>
3553
3554 PR rtl-optimization/48331
3555 PR rtl-optimization/48334
3556 * ira-color.c (color_allocnos): Call setup_profitable_hard_regs
3557 for any used algorithm.
3558
5c82436e
VM
35592011-03-29 Vladimir Makarov <vmakarov@redhat.com>
3560
3561 * ira-conflicts.c (build_object_conflicts): Add unused attribute
3562 to parent_max.
3563
7a81008b
UB
35642011-03-29 Uros Bizjak <ubizjak@gmail.com>
3565
3566 * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
3567 (alpha_option_override): Don't set alpha_sr_alias_set.
3568 (emit_frame_store_1): Use gen_frame_mem rather than calling
3569 set_mem_alias_set.
3570 (alpha_expand_epilogue): Ditto.
3571
86c8d1f6
IR
35722011-03-29 Ira Rosen <ira.rosen@linaro.org>
3573
3574 PR tree-optimization/48290
3575 * tree-vect-loop.c (vect_analyze_loop_operations): In outer loop
3576 vectorization, check that relevant phis in the basic block after
3577 the inner loop are really inner loop's exit phis.
3578
0d12220f
RS
35792011-03-29 Richard Sandiford <richard.sandiford@linaro.org>
3580
e8cf17e7 3581 PR debug/48190
0d12220f
RS
3582 * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
3583 (cached_dw_loc_list_def): New structure.
3584 (cached_dw_loc_list): New typedef.
3585 (cached_dw_loc_list_table): New variable.
3586 (cached_dw_loc_list_table_hash): New function.
3587 (cached_dw_loc_list_table_eq): Likewise.
3588 (add_location_or_const_value_attribute): Take a bool cache_p.
3589 Cache the list when the parameter is true.
3590 (gen_formal_parameter_die): Update caller.
3591 (gen_variable_die): Likewise.
3592 (dwarf2out_finish): Likewise.
3593 (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
3594 while generating debug info for the decl.
3595 (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
3596 (dwarf2out_init): Initialize cached_dw_loc_list_table.
3597 (resolve_addr): Cache the result of resolving a chain of
3598 location lists.
3599
1756cb66
VM
36002011-03-28 Vladimir Makarov <vmakarov@redhat.com>
3601
3602 * ira-color.c (update_left_conflict_sizes_p): Don't assume that
3603 conflict object hard regset nodes have intersecting hard reg sets.
7a81008b 3604
1756cb66
VM
3605 * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
3606 after regstat_init_n_sets_and_refs.
3607
3608 * ira.c: Add more comments at the top.
3609 (setup_stack_reg_pressure_class, setup_pressure_classes):
3610 Add comments how we compute the register pressure classes.
3611 (setup_allocno_and_important_classes): Add more comments.
3612 (setup_class_translate_array, reorder_important_classes)
3613 (setup_reg_class_relations): Add comments.
3614
3615 * ira-emit.c: Add 2011 to the Copyright line. Add comments at the
3616 start of the file.
3617
3618 * ira-color.c: Add 2011 to the Copyright line.
3619 (assign_hard_reg): Add more comments.
3620 (improve_allocation): Ditto.
3621
3622 * ira-costs.c: Add 2011 to the Copyright line.
3623 (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
3624 comments.
3625 (setup_regno_cost_classes_by_mode): Ditto.
3626
3627 Initial patches from ira-improv branch:
3628
3629 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
3630
f60c2554 3631 * ira-build.c (ira_create_object): Remove initialization of
1756cb66
VM
3632 OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA.
3633 (ira_create_allocno): Remove initialization of
3634 ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
3635 ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
3636 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
3637 ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
3638 ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
3639 Initialize ALLOCNO_ADD_DATA.
3640 (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
3641 and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
3642 ALLOCNO_REG.
3643 (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of
3644 ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
3645
3646 * ira.c (ira_reallocate): Remove.
3647 (setup_pressure_classes): Call
3648 ira_init_register_move_cost_if_necessary. Use
3649 ira_register_move_cost instead of ira_get_register_move_cost.
3650 (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
3651 (ira): Call ira_initiate_emit_data and ira_finish_emit_data.
3652
3653 * ira-color.c: Use ALLOCNO_COLOR_DATA instead of
3654 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
3655 ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
3656 ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
3657 instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
3658 OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
3659 Fix formatting.
7a81008b 3660 (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h.
1756cb66
VM
3661 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
3662 (struct allocno_color_data): New.
3663 (allocno_color_data_t): New typedef.
3664 (allocno_color_data): New definition.
3665 (ALLOCNO_COLOR_DATA): New macro.
3666 (struct object_color_data): New.
3667 (object_color_data_t): New typedef.
3668 (object_color_data): New definition.
3669 (OBJECT_COLOR_DATA): New macro.
3670 (update_copy_costs, calculate_allocno_spill_cost): Call
3671 ira_init_register_move_cost_if_necessary. Use
3672 ira_register_move_cost instead of ira_get_register_move_cost.
3673 (move_spill_restore, update_curr_costs): Ditto.
3674 (allocno_spill_priority): Make it inline.
7a81008b 3675 (color_pass): Allocate and free allocno_color_dat and object_color_data.
1756cb66
VM
3676 (struct coalesce_data, coalesce_data_t): New.
3677 (allocno_coalesce_data): New definition.
3678 (ALLOCNO_COALESCE_DATA): New macro.
3679 (merge_allocnos, coalesced_allocno_conflict_p): Use
3680 ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
3681 ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
3682 (coalesce_allocnos): Ditto.
3683 (setup_coalesced_allocno_costs_and_nums): Ditto.
3684 (collect_spilled_coalesced_allocnos): Ditto.
3685 (slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
3686 (setup_slot_coalesced_allocno_live_ranges): Ditto.
3687 (coalesce_spill_slots): Ditto.
3688 (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and
3689 free allocno_coalesce_data.
3690
3691 * ira-conflicts.c: Fix formatting.
3692 (process_regs_for_copy): Call
3693 ira_init_register_move_cost_if_necessary. Use
3694 ira_register_move_cost instead of ira_get_register_move_cost.
3695 (build_object_conflicts): Optimize.
3696
3697 * ira-costs.c (record_reg_classes): Optimize. Call
3698 ira_init_register_move_cost_if_necessary. Use
3699 ira_register_move_cost, ira_may_move_in_cost, and
3700 ira_may_move_out_cost instead of ira_get_register_move_cost and
3701 ira_get_may_move_cost.
3702 (record_address_regs): Ditto.
3703 (scan_one_insn): Optimize.
3704 (find_costs_and_classes): Optimize.
3705 (process_bb_node_for_hard_reg_moves): Call
3706 ira_init_register_move_cost_if_necessary. Use
3707 ira_register_move_cost instead of ira_get_register_move_cost.
3708
3709 * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
3710 ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
3711 ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
3712 (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
3713 definitions.
3714 (ira_initiate_emit_data, ira_finish_emit_data)
3715 (create_new_allocno): New functions.
7a81008b 3716 (modify_move_list): Call create_new_alloc instead of ira_create_allocno.
1756cb66
VM
3717 (emit_move_list): Call ira_init_register_move_cost_if_necessary.
3718 Use ira_register_move_cost instead of ira_get_register_move_cost.
3719
3720 * ira-int.h: Fix some comments.
7a81008b
UB
3721 (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c.
3722 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
1756cb66
VM
3723 (struct ira_object): Remove profitable_hard_regs, hard_regs_node,
3724 hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member
3725 add_data.
3726 (struct ira_allocno): Make mode and aclass a bitfield. Move other
3727 bitfield after mode. Make hard_regno a short int. Make
3728 hard_regno short. Remove first_coalesced_allocno and
3729 next_coalesced_allocno. Move mem_optimized_dest_p,
3730 somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
3731 into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p,
3732 available_regs_num, next_bucket_allocno, prev_bucket_allocno,
3733 temp, colorable_p. Add new member add_data.
3734 (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
3735 (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
3736 (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
3737 (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
3738 (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
3739 (ALLOCNO_ADD_DATA): New macro.
3740 (ira_emit_data_t): New typedef.
3741 (struct ira_emit_data): New. Move mem_optimized_dest_p,
3742 somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
3743 from struct ira_allocno.
3744 (ALLOCNO_EMIT_DATA): New macro.
3745 (ira_allocno_emit_data, allocno_emit_reg): New.
3746 (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
7a81008b 3747 (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove.
1756cb66
VM
3748 (OBJECT_ADD_DATA): New macro.
3749 (ira_reallocate): Remove.
3750 (ira_initiate_emit_data, ira_finish_emit_data): New.
3751 (ira_get_register_move_cost, ira_get_may_move_cost): Remove.
3752 (ira_init_register_move_cost_if_necessary): New.
3753 (ira_object_conflict_iter_next): Merge into
3754 ira_object_conflict_iter_cond.
7a81008b 3755 (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
1756cb66 3756
f60c2554 3757 * ira-live.c (process_single_reg_class_operands): Call
1756cb66
VM
3758 ira_init_register_move_cost_if_necessary. Use
3759 ira_register_move_cost instead of ira_get_register_move_cost.
3760
3761 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
3762
3763 * ira-int.h (struct target_ira_int): Remove x_cost_classes.
3764
3765 * ira-costs.c: Fix formatting.
3766 (cost_classes, cost_classes_num): Remove.
3767 (struct cost_classes, cost_classes_t, const_cost_classes_t): New.
3768 (regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
3769 (cost_classes_del, cost_classes_htab): New.
3770 (cost_classes_aclass_cache, cost_classes_mode_cache): New.
3771 (initiate_regno_cost_classes, setup_cost_classes): New.
3772 (setup_regno_cost_classes_by_aclass): New.
7a81008b 3773 (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New.
1756cb66
VM
3774 (record_reg_classes): Use regno_cost_classes instead of
3775 cost_classes. Move checking opposite operand up.
3776 (record_address_regs): Use regno_cost_classes
3777 instead of cost_classes.
3778 (scan_one_insn): Ditto. Use always general register.
3779 (print_allocno_costs): Use regno_cost_classes instead of
3780 cost_classes.
3781 (print_pseudo_costs): Ditto. Use Reg_N_REFS.
3782 (find_costs_and_classes): Set up cost classes for each registers.
3783 Use also their mode for this. Use regno_cost_classes instead of
3784 cost_classes.
3785 (setup_allocno_class_and_costs): Use regno_cost_classes instead of
3786 cost_classes.
3787 (free_ira_costs, ira_init_costs): Don't use cost_classes.
3788 (ira_costs, ira_set_pseudo_classes): Call
3789 initiate_regno_cost_classes and finish_regno_cost_classes.
3790
3791 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
3792
3793 * target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
3794
3795 * target.def (ira_cover_classes): Remove.
3796
7a81008b 3797 * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES.
1756cb66
VM
3798
3799 * doc/tm.texi.in: Ditto.
3800
3801 * ira-conflicts.c: Remove mentioning cover classes from the file.
3802 Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use
7a81008b 3803 ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting.
1756cb66
VM
3804
3805 * targhooks.c (default_ira_cover_classes): Remove.
3806
3807 * targhooks.h (default_ira_cover_classes): Ditto.
3808
3809 * haifa-sched.c: Remove mentioning cover classes from the file.
3810 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
3811 ira_pressure_classes and ira_pressure_classes_num instead of
3812 ira_reg_class_cover_size and ira_reg_class_cover. Use
3813 sched_regno_pressure_class instead of sched_regno_cover_class.
3814 (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
3815 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
3816
3817 * ira-int.h: Add 2010 to Copyright. Remove mentioning cover
3818 classes from the file.
3819 (object_hard_regs_t, object_hard_regs_node_t): New typedefs.
3820 (struct object_hard_regs, struct object_hard_regs_node): New.
3821 (struct ira_object): New members profitable_hard_regs,
3822 hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
3823 (struct ira_allocno): Rename cover_class to aclass. Rename
3824 cover_class_cost and updated_cover_class_cost to class_cost and
3825 updated_class_cost. Remove splay_removed_p and
3826 left_conflict_size. Add new members colorable_p.
3827 (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
3828 (ALLOCNO_COLORABLE_P): New macro.
3829 (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
3830 (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
3831 Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
3832 (OBJECT_...): Rename parameter C to O.
3833 (OBJECT_PROFITABLE_HARD_REGS): New macro.
3834 (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
3835 (OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
3836 (struct target_ira_int): New members x_ira_max_memory_move_cost,
3837 x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
3838 x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
3839 x_ira_reg_pressure_class_p, x_ira_important_class_nums,
3840 x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to
3841 x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to
3842 x_ira_reg_class_subunion.
3843 (ira_max_memory_move_cost, ira_max_register_move_cost)
3844 (ira_max_may_move_in_cost, ira_max_may_move_out_cost)
3845 (ira_reg_allocno_class_p, ira_reg_pressure_class_p)
3846 (ira_important_class_nums, ira_reg_class_superunion): New macros.
7a81008b 3847 (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs.
1756cb66
VM
3848 (ira_reg_class_union): Rename to ira_reg_class_subunion.
3849 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
3850 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
3851 (ira_tune_allocno_costs_and_cover_classes): Rename to
3852 ira_tune_allocno_costs.
3853 (ira_debug_hard_regs_forest): New.
3854 (ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
3855 (ira_object_conflict_iter_next): Fix comments.
7a81008b 3856 (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions.
1756cb66
VM
3857 (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
3858 cover_class to aclass.
3859 (ira_allocate_and_accumulate_costs): Ditto.
3860 (ira_allocate_and_set_or_copy_costs): Ditto.
3861
3862 * opts.c (decode_options): Remove ira_cover_class check.
3863
3864 * ira-color.c: Remove mentioning cover classes from the file. Use
3865 ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
3866 instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
3867 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
3868 (splay-tree.h): Remove include.
3869 (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
3870 before copy_freq_compare_func.
3871 (allocnos_for_spilling, removed_splay_allocno_vec): Remove.
3872 (object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
3873 New definitions.
3874 (hard_regs_roots, hard_regs_node_vec): Ditto.
3875 (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
3876 (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
3877 (finish_object_hard_regs, object_hard_regs_compare): Ditto.
3878 (create_new_object_hard_regs_node): Ditto.
3879 (add_new_object_hard_regs_node_to_forest): Ditto.
7a81008b 3880 (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto.
1756cb66
VM
3881 (setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
3882 Ditto.
3883 (print_hard_reg_set, print_hard_regs_subforest): Ditto.
3884 (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
3885 (remove_unused_object_hard_regs_nodes): Ditto.
3886 (enumerate_object_hard_regs_nodes): Ditto.
3887 (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
3888 (object_hard_regs_subnode_t): Ditto.
3889 (struct object_hard_regs_subnode): Ditto.
3890 (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
3891 (setup_object_hard_regs_subnode_index): Ditto.
3892 (get_object_hard_regs_subnodes_num): Ditto.
3893 (form_object_hard_regs_nodes_forest): Ditto.
3894 (finish_object_hard_regs_nodes_tree): Ditto.
3895 (finish_object_hard_regs_nodes_forest): Ditto.
3896 (allocnos_have_intersected_live_ranges_p): Rename to
7a81008b 3897 allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func.
1756cb66
VM
3898 (pseudos_have_intersected_live_ranges_p): Rename to
3899 conflict_by_live_ranges_p. Move before copy_freq_compare_func.
3900 (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
3901 (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
3902 (update_copy_costs): Remove assert. Skip cost update if the hard
3903 reg does not belong the class.
3904 (assign_hard_reg): Process only profitable hard regs.
3905 (uncolorable_allocnos_num): Make it scalar.
3906 (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
3907 and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
3908 and ira_reg_class_max_nregs.
3909 (bucket_allocno_compare_func): Check frequency first.
3910 (sort_bucket): Add compare function as a parameter.
3911 (add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
3912 (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
3913 (push_allocno_to_stack): Rewrite for checking new allocno
3914 colorability.
7a81008b 3915 (remove_allocno_from_bucket_and_push): Print cost too. Remove assert.
1756cb66
VM
3916 (push_only_colorable): Pass new parameter to sort_bucket.
3917 (push_allocno_to_spill): Remove.
3918 (allocno_spill_priority_compare): Make it inline and rewrite.
3919 (splay_tree_allocate, splay_tree_free): Remove.
3920 (allocno_spill_sort_compare): New function.
3921 (push_allocnos_to_stack): Sort allocnos for spilling once. Don't
3922 build and use splay tree. Choose first allocno in uncolorable
3923 allocno bucket to spill. Remove setting spill cost.
3924 (all_conflicting_hard_regs): Remove.
3925 (setup_allocno_available_regs_num): Check only profitable hard
3926 regs. Print info about hard regs nodes.
3927 (setup_allocno_left_conflicts_size): Remove.
3928 (put_allocno_into_bucket): Don't call
7a81008b 3929 setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p.
1756cb66
VM
3930 (improve_allocation): New.
3931 (color_allocnos): Call setup_profitable_hard_regs,
3932 form_object_hard_regs_nodes_forest, improve_allocation,
3933 finish_object_hard_regs_nodes_forest. Setup spill cost.
3934 (print_loop_title): Use pressure classes.
3935 (color_allocnso): Ditto.
3936 (do_coloring): Remove allocation and freeing splay_tree_node_pool
3937 and allocnos_for_spilling.
3938 (ira_sort_regnos_for_alter_reg): Don't setup members
3939 {first,next}_coalesced_allocno.
3940 (color): Remove allocating and freeing removed_splay_allocno_vec.
3941 (fast_allocation): Use ira_prohibited_class_mode_regs instead of
3942 prohibited_class_mode_regs.
3943
3944 * ira-lives.c: Remove mentioning cover classes from the file. Fix
3945 formatting.
3946 (update_allocno_pressure_excess_length): Use pressure classes.
3947 (inc_register_pressure, dec_register_pressure): Check for pressure
3948 class.
3949 (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
3950 pressure class. Use ira_reg_class_nregs instead of
3951 ira_reg_class_max_nregs.
3952 (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
3953 (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
3954 (single_reg_class): Use ira_reg_class_nregs instead of
3955 ira_reg_class_max_nregs.
3956 (process_bb_node_lives): Use pressure classes.
3957
3958 * ira-emit.c: Remove mentioning cover classes from the file. Use
3959 ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting.
3960 (change_loop): Use pressure classes.
3961 (modify_move_list): Call ira_set_allocno_class instead of
3962 ira_set_allocno_cover_class.
3963
3964 * ira-build.c: Remove mentioning cover classes from the file. Use
3965 ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
3966 ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use
3967 ALLOCNO_UPDATED_CLASS_COST instead of
3968 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
3969 (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
3970 (ira_create_allocno): Remove initialization of
3971 ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize
3972 ALLOCNO_COLORABLE_P.
3973 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
3974 Update conflict regs for the objects.
3975 (create_cap_allocno): Remove assert. Don't propagate
3976 ALLOCNO_AVAILABLE_REGS_NUM.
3977 (ira_free_allocno_costs): New function.
3978 (finish_allocno): Change a part of code into call of
3979 ira_free_allocno_costs.
3980 (low_pressure_loop_node_p): Use pressure classes.
3981 (object_range_compare_func): Don't compare classes.
3982 (setup_min_max_conflict_allocno_ids): Ditto.
3983
3984 * loop-invariant.c: Remove mentioning cover classes from the file.
3985 Use ira_pressure_classes and ira_pressure_classes_num instead of
3986 ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting.
7a81008b
UB
3987 (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs.
3988 Use ira_reg_class_max_nregs instead of ira_reg_class_nregs.
3989 Use reg_allocno_class instead of reg_cover_class.
1756cb66
VM
3990 (get_inv_cost): Use instead ira_stack_reg_pressure_class of
3991 STACK_REG_COVER_CLASS.
3992 (get_regno_cover_class): Rename to get_regno_pressure_class.
3993 (move_loop_invariants): Initialize and finalize regstat.
3994
3995 * ira.c: Remove mentioning cover classes from the file. Add
3996 comments about coloring without cover classes. Use ALLOCNO_CLASS
3997 instead of ALLOCNO_COVER_CLASS. Fix formatting.
3998 (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
3999 setup_class_subset_and_memory_move_costs.
4000 (setup_stack_reg_pressure_class, setup_pressure_classes): New.
4001 (setup_cover_and_important_classes): Rename to
4002 setup_allocno_and_important_classes.
4003 (setup_class_translate_array): New.
4004 (setup_class_translate): Call it for allocno and pressure classes.
4005 (cover_class_order): Rename to allocno_class_order.
4006 (comp_reg_classes_func): Use ira_allocno_class_translate instead
4007 of ira_class_translate.
4008 (reorder_important_classes): Set up ira_important_class_nums.
4009 (setup_reg_class_relations): Set up ira_reg_class_superunion.
4010 (print_class_cover): Rename to print_classes. Add parameter.
4011 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
4012 Print pressure classes too.
4013 (find_reg_class_closure): Rename to find_reg_classes. Don't call
4014 setup_reg_subclasses.
7a81008b 4015 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
4016 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
4017 (setup_prohibited_class_mode_regs): Use
7a81008b 4018 ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs.
1756cb66
VM
4019 (clarify_prohibited_class_mode_regs): New function.
4020 (ira_init_register_move_cost): Set up ira_max_register_move_cost,
4021 ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
4022 (ira_init_once): Initialize them.
4023 (free_register_move_costs): Process them.
4024 (ira_init): Move calls of find_reg_classes and
4025 setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
4026 Call clarify_prohibited_class_mode_regs.
4027 (ira_no_alloc_reg): Remove.
4028 (too_high_register_pressure_p): Use pressure classes.
4029
4030 * sched-deps.c: Remove mentioning cover classes from the file.
4031 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
4032 ira_pressure_classes and ira_pressure_classes_num instead of
4033 ira_reg_class_cover_size and ira_reg_class_cover.
4034 (mark_insn_hard_regno_birth, mark_hard_regno_death): Use
4035 sched_regno_pressure_class instead of sched_regno_cover_class.
4036 (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use
4037 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
4038
4039 * ira.h: Add 2010 to Copyright.
4040 (ira_no_alloc_reg): Remove external.
4041 (struct target_ira): Rename x_ira_hard_regno_cover_class,
4042 x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
4043 x_ira_class_translate to x_ira_hard_regno_allocno_class,
4044 x_ira_allocno_classes_num, x_ira_allocno_classes, and
4045 x_ira_allocno_class_translate. Add x_ira_pressure_classes_num,
4046 x_ira_pressure_classes, x_ira_pressure_class_translate, and
4047 x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to
4048 x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and
4049 x_ira_no_alloc_regs.
7a81008b 4050 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
4051 (ira_reg_class_cover_size, ira_reg_class_cover): Rename to
4052 ira_allocno_classes_num and ira_allocno_classes.
4053 (ira_class_translate): Rename to ira_allocno_class_translate.
4054 (ira_pressure_classes_num, ira_pressure_classes): New definitions.
4055 (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
4056 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
4057 (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
4058 (ira_no_alloc_regs): New.
4059
4060 * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover
4061 classes from the file. Use ALLOCNO_CLASS instead of
4062 ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of
4063 ALLOCNO_COVER_CLASS_COST.
4064 (regno_cover_class): Rename to regno_aclass.
4065 (record_reg_classes): Use ira_reg_class_subunion instead of
4066 ira_reg_class_union.
4067 (record_address_regs): Check overflow.
4068 (scan_one_insn): Ditto.
7a81008b 4069 (print_allocno_costs): Print total mem cost fore regional allocation.
1756cb66
VM
4070 (print_pseudo_costs): Use REG_N_REFS.
4071 (find_costs_and_classes): Use classes intersected with them on the
4072 1st pass. Check overflow. Use ira_reg_class_subunion instead of
4073 ira_reg_class_union. Use ira_allocno_class_translate and
4074 regno_aclass instead of ira_class_translate and regno_cover_class.
4075 Modify code for finding regno_aclass. Setup preferred classes for
4076 the next pass.
4077 (setup_allocno_cover_class_and_costs): Rename to
4078 setup_allocno_class_and_costs. Use regno_aclass instead of
4079 regno_cover_class. Use ira_set_allocno_class instead of
4080 ira_set_allocno_cover_class.
4081 (init_costs, finish_costs): Use regno_aclass instead of
4082 regno_cover_class.
4083 (ira_costs): Use setup_allocno_class_and_costs instead of
4084 setup_allocno_cover_class_and_costs.
4085 (ira_tune_allocno_costs_and_cover_classes): Rename to
4086 ira_tune_allocno_costs. Check overflow. Skip conflict hard regs
4087 by processing objects. Use ira_reg_class_max_nregs instead of
4088 ira_reg_class_nregs.
4089
4090 * rtl.h (reg_cover_class): Rename to reg_allocno_class.
4091
4092 * sched-int.h: Remove mentioning cover classes from the file.
4093 (sched_regno_cover_class): Rename to sched_regno_pressure_class.
4094
4095 * reginfo.c: Add 2010 to Copyright. Remove mentioning cover
4096 classes from the file.
4097 (struct reg_pref): Rename coverclass into allocnoclass.
4098 (reg_cover_class): Rename to reg_allocno_class.
4099
7a81008b 4100 * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies.
1756cb66
VM
4101
4102 * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
4103
4104 * config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
4105
4106 * config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
4107
4108 * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
4109
4110 * config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
4111
4112 * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
4113
4114 * config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
4115
4116 * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
4117
4118 * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
4119
4120 * config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
4121 (i386_ira_cover_classes): Ditto.
4122
4123 * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
4124
4125 * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
4126
4127 * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
4128
4129 * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
4130
4131 * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
4132
4133 * config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
4134
4135 * config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
4136 (mips_ira_cover_classes): Ditto.
4137
4138 * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
4139
4140 * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
4141
4142 * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
4143
4144 * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
4145
4146 * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
4147
4148 * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
4149 (IRA_COVER_CLASSES_VSX): Ditto.
4150
4151 * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
4152 (rs6000_ira_cover_classes): Ditto.
4153
4154 * config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
4155
4156 * config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
4157
4158 * config/score/score.h (IRA_COVER_CLASSES): Ditto.
4159
4160 * config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
4161
4162 * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
4163
4164 * config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
4165
4166 * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
4167
4168 * config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
4169
4170 * config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
4171
4172 * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
4173
2b80199f
JJ
41742011-03-29 Jakub Jelinek <jakub@redhat.com>
4175
71dae1fe
JJ
4176 PR debug/48253
4177 * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
4178 dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
4179 dw_fde_unlikely_section_end_label, cold_in_std_section,
4180 dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
4181 Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
4182 fields.
4183 (output_fde): Use dw_fde_second_{begin,end} if second is
4184 true, otherwise dw_fde_{begin,end}.
4185 (output_call_frame_info): Test dw_fde_second_begin != NULL
4186 instead of dw_fde_switched_sections.
4187 (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
4188 fields, initialize new fields. Initialize in_std_section
4189 unconditionally from the first partition.
4190 (dwarf2out_end_epilogue): Don't override dw_fde_end when
4191 dw_fde_second_begin is non-NULL.
4192 (dwarf2out_switch_text_section): Stop initializing removed
4193 dw_fde_struct fields, initialize new fields, initialize
4194 also dw_fde_end here. Set dw_fde_switch_cfi even when
4195 dwarf2out_do_cfi_asm (). Call var_location_switch_text_section.
4196 (struct var_loc_list_def): Add last_before_switch field.
4197 (arange_table, arange_table_allocated, arange_table_in_use,
4198 ARANGE_TABLE_INCREMENT, add_arange): Removed.
4199 (size_of_aranges): Count !in_std_section and !second_in_std_section
4200 hunks in fdes, instead of looking at arange_table_in_use.
4201 (output_aranges): Add aranges_length argument, don't call
4202 size_of_aranges here. Instead of using aranges_table*
4203 emit ranges for fdes when !in_std_section resp.
4204 !second_in_std_section.
4205 (dw_loc_list): Break ranges crossing section switch.
4206 (convert_cfa_to_fb_loc_list): Likewise. If switched sections,
7a81008b 4207 use dw_fde_second_end instead of dw_fde_end as end of last range.
71dae1fe
JJ
4208 (gen_subprogram_die): Don't call add_arange. Use
4209 dw_fde_{begin,end} for first partition and if switched
4210 section dw_fde_second_{begin,end} for the second.
4211 (var_location_switch_text_section_1,
4212 var_location_switch_text_section): New functions.
4213 (dwarf2out_begin_function): Initialize cold_text_section even
4214 when function_section () isn't text_section.
4215 (prune_unused_types): Don't walk arange_table.
4216 (dwarf2out_finish): Don't needlessly test
4217 flag_reorder_blocks_and_partition when testing cold_text_section_used.
4218 If info_section_emitted, call size_of_aranges and if it indicates
4219 non-empty .debug_aranges, call output_aranges with the computed
4220 size. Stop using removed dw_fde_struct fields, use
4221 dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
4222 for second.
4223
2b80199f
JJ
4224 PR debug/48203
4225 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Only
4226 create ENTRY_VALUE if incoming or address of incoming's MEM
4227 is a hard REG.
4228 * dwarf2out.c (mem_loc_descriptor): Don't emit
4229 DW_OP_GNU_entry_value of DW_OP_fbreg.
4230 * var-tracking.c (vt_add_function_parameter): Ensure cselib_lookup
4231 on ENTRY_VALUE is able to find the canonical parameter VALUE.
4232 * cselib.c (rtx_equal_for_cselib_1) <case ENTRY_VALUE>: Use
4233 rtx_equal_p instead of rtx_equal_for_cselib_1 to compare
4234 ENTRY_VALUE_EXPs.
4235 (cselib_hash_rtx) <case ENTRY_VALUE>: If ENTRY_VALUE_EXP
4236 is a REG_P or MEM_P with REG_P address, compute hash directly
4237 instead of calling cselib_hash_rtx on ENTRY_VALUE_EXP.
4238 (preserve_only_constants): Don't clear VALUES forwaring
4239 ENTRY_VALUE to some other VALUE.
4240
8a445129
RS
42412011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
4242
4243 * builtins.c (expand_builtin_memset_args): Use gen_int_mode
4244 instead of GEN_INT.
4245
c82fee88
EB
42462011-03-28 Eric Botcazou <ebotcazou@adacore.com>
4247
4248 * cfgexpand.c (expand_gimple_cond): Always set the source location and
4249 block before expanding the statement.
4250 (expand_gimple_stmt_1): Likewise. Set them here...
4251 (expand_gimple_stmt): ...and not here. Tidy.
4252 * cfglayout.c (curr_insn_locator): Return 0 if the current location is
4253 unknown.
4254
e45425ec
SB
42552011-03-28 Steven Bosscher <steven@gcc.gnu.org>
4256
4257 * Makefile.in: New rule for cprop.o.
4258 * gcse.c: Move constant/copy propagation to cprop.c.
4259 (compute_local_properties): Only handle expression tables.
4260 (hash_scan_set, compute_hash_table_work, alloc_hash_table,): Likewise.
4261 (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
4262 (hash_set, insert_set_in_table, gcse_constant_p, lookup_set,
4263 next_set, reset_opr_set_tables, oprs_not_set_p, mark_call, mark_set,
7a81008b 4264 mark_clobber, mark_oprs_set, alloc_cprop_mem, free_cprop_mem,
e45425ec
SB
4265 compute_cprop_data, find_used_regs, try_replace_reg,
4266 find_avail_set, cprop_jump, constprop_register, cprop_insn,
4267 local_cprop_find_used_regs, do_local_cprop, local_cprop_pass,
4268 fis_get_condition, implicit_set_cond_p, find_implicit_sets,
4269 find_bypass_set, reg_killed_on_edge, bypass_block,
4270 bypass_conditional_jumps, one_cprop_pass, gate_rtl_cprop,
4271 execute_rtl_cprop, pass_rtl_cprop): Move to...
4272 * cprop.c: ...here. New file, constant/copy propagation for RTL
4273 moved from gcse.c to here with minor cleanups in duplicated code.
4274
c09d5426
L
42752011-03-28 H.J. Lu <hongjiu.lu@intel.com>
4276
4277 * config/i386/i386.c (flag_opts): Fix a typo in
4278 -mavx256-split-unaligned-store.
4279
9eaa7740
AS
42802011-03-28 Anatoly Sokolov <aesok@post.ru>
4281
4282 * config/h8300/h8300.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
4283 LIBCALL_VALUE): Remove macros.
4284 * config/h8300/h8300.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
4285 TARGET_FUNCTION_VALUE_REGNO_P): Define.
4286 (h8300_function_value, h8300_libcall_value,
4287 h8300_function_value_regno_p): New functions.
4288
dcec2be2
AS
42892011-03-28 Anatoly Sokolov <aesok@post.ru>
4290
4291 * config/h8300/h8300.h (ASM_OUTPUT_BSS): Remove macro.
4292
520af9ec
JL
42932011-03-28 Jeff Law <law@redhat.com>
4294
4295 * tree-ssa-threadupdate.c (redirect_edges): Call
4296 create_edge_and_update_destination_phis as needed.
4297 (create_edge_and_update_destination_phis): Accept new BB argument.
4298 All callers updated.
4299 (thread_block): Do not update the profile when threading around
4300 intermediate blocks.
4301 (thread_single_edge): Likewise.
4302 (determine_bb_domination_status): If BB is not a successor of the
4303 loop header, return NONDOMINATING.
4304 (register_jump_thread): Note when we register a jump thread around
4305 an intermediate block.
4306 * tree-ssa-threadedge.c (thread_around_empty_block): New function.
4307 (thread_across_edge): Use it.
4308
7450b54f
TG
43092011-03-28 Tristan Gingold <gingold@adacore.com>
4310
4311 * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
4312 when for_return is 2.
4313
649beb33
JL
43142011-03-28 Jeff Law <law@redhat.com>
4315
4316 * var-tracking.c (canonicalize_values_mark): Delete unused
4317 lhs assignment.
4318 (canonicalize_values_star, set_variable_part): Likewise.
4319 (clobber_variable_part, delete_variable_part): Likewise.
4320
d5b8da97
SB
43212011-03-28 Steven Bosscher <steven@gcc.gnu.org>
4322
4323 * gcse.c (free_gcse_mem): Free reg_set_bitmap.
4324
322dd859
MJ
43252011-03-28 Martin Jambor <mjambor@suse.cz>
4326
4327 * tree-inline.c (expand_call_inline): Do not check that destination
4328 node is analyzed.
4329 (optimize_inline_calls): Assert that destination node is analyzed.
4330 * cgraph.c (cgraph_add_new_function): Call cgraph_analyze_function, do
4331 not call tree_lowering_passes.
4332 * cgraph.h (cgraph_analyze_function): Declare.
4333 * cgraphunit.c (cgraph_analyze_function): Make public.
4334
aa53e58b
JM
43352011-03-28 Joseph Myers <joseph@codesourcery.com>
4336
4337 * config/sparc/sparc-opts.h: New.
4338 * config/sparc/sparc.c (sparc_handle_option, sparc_select,
4339 sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
4340 (sparc_option_override): Store processor_type enumeration rather
4341 than string in cpu_default. Remove name and enumeration from
4342 cpu_table. Directly default -mcpu then default -mtune from -mcpu
4343 without using sparc_select. Use target_flags_explicit instead of
4344 fpu_option_set.
4345 * config/sparc/sparc.h (enum processor_type): Move to
4346 sparc-opts.h.
4347 (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
4348 * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
4349 HeaderInclude entry.
4350 (mcpu=, mtune=): Use Var and Enum.
4351 (sparc_processor_type): New Enum and EnumValue entries.
4352
dd350eba
RO
43532011-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4354 Iain Sandoe <iains@gcc.gnu.org>
4355
4356 PR target/48245
4357 * config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.
4358
1b29f05e
EB
43592011-03-28 Eric Botcazou <ebotcazou@adacore.com>
4360
4361 * tree-vectorizer.h (vect_create_data_ref_ptr): Adjust prototype.
4362 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add GSI parameter.
4363 Insert new statements at it in lieu of STMT.
4364 (vect_setup_realignment): Adjust call to vect_create_data_ref_ptr.
4365 * tree-vect-stmts.c (vectorizable_store): Likewise.
4366 (vectorizable_load): Likewise.
4367
506e6808
UB
43682011-03-28 Uros Bizjak <ubizjak@gmail.com>
4369
4370 * config/alpha/alpha.md (addtf3): Change mode of operands to TFmode.
4371 (divtf3): Ditto.
4372 (multf3): Ditto.
4373 (subtf3): Ditto.
4374
2e939ee9
L
43752011-03-27 H.J. Lu <hongjiu.lu@intel.com>
4376
4377 * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
4378 unaligned 256bit load/store.
4379 (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
4380 (*avx_movdqu<avxmodesuffix>): Likewise.
4381
5e85ab88
JDA
43822011-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4383
4384 PR target/48288
4385 * config/pa/predicates.md (reg_or_ior_operand): New predicate.
4386 * config/pa/pa.md (iordi3): Use new predicate in expander.
4387 (iorsi3): Likewise.
4388
47be3d6d
AS
43892011-03-27 Anatoly Sokolov <aesok@post.ru>
4390
506e6808 4391 * config/mips/mips.h (LIBCALL_VALUE, FUNCTION_VALUE,
47be3d6d 4392 FUNCTION_VALUE_REGNO_P): Remove macros.
506e6808
UB
4393 * config/mips/mips-protos.h (mips_function_value): Remove.
4394 * config/mips/mips.c (mips_function_value): Rename to...
47be3d6d
AS
4395 (mips_function_value_1): ... this. Make static. Handle receiving
4396 the function type in 'fn_decl_or_type' argument.
4397 (mips_function_value, mips_libcall_value,
4398 mips_function_value_regno_p): New function.
4399 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
4400 TARGET_FUNCTION_VALUE_REGNO_P): Define.
4401
d253656a
L
44022011-03-27 H.J. Lu <hongjiu.lu@intel.com>
4403
4404 * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
4405 and -mavx256-split-unaligned-store.
4406 (ix86_option_override_internal): Split 32-byte AVX unaligned
4407 load/store by default.
4408 (ix86_avx256_split_vector_move_misalign): New.
4409 (ix86_expand_vector_move_misalign): Use it.
4410
4411 * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
4412 -mavx256-split-unaligned-store.
4413
4414 * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
4415 256bit load/store. Generate unaligned store on misaligned memory
4416 operand.
4417 (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
4418 256bit load/store.
4419 (*avx_movdqu<avxmodesuffix>): Likewise.
4420
4421 * doc/invoke.texi: Document -mavx256-split-unaligned-load and
4422 -mavx256-split-unaligned-store.
4423
1ea9206a
RS
44242011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
4425
4426 PR target/38598
4427 * config/mips/mips.md (extendsidi2): Add an "l" alternative.
4428 Update commentary.
4429
b99ce2a8
RS
44302011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
4431
4432 * config/mips/mips.c (mips_prepare_builtin_arg): Replace icode and
4433 opno arguments with an expand_operand. Use create_input_operand.
4434 (mips_prepare_builtin_target): Delete.
4435 (mips_expand_builtin_insn, mips_expand_builtin_compare_1): New
4436 functions.
4437 (mips_expand_builtin_direct): Use create_output_operand and
4438 mips_expand_builtin_insn. Update call to mips_prepare_builtin_arg.
4439 (mips_expand_builtin_movtf): Likewise. Use mips_expand_fp_comparison.
4440 (mips_expand_builtin_compare): Use mips_expand_fp_comparison.
4441
69d52339
IR
44422011-03-27 Ira Rosen <ira.rosen@linaro.org>
4443
4444 * config/arm/arm.c (arm_autovectorize_vector_sizes): New
4445 function.
4446 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
4447
ba5e9aca
EB
44482011-03-26 Eric Botcazou <ebotcazou@adacore.com>
4449
4450 * basic-block.h (fixup_abnormal_edges): Adjust prototype.
4451 * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover
4452 basic blocks and call commit_edge_insertions directly.
4453 (fixup_abnormal_edges): Move from here to...
4454 * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions
4455 on the edges and return whether some have actually been inserted.
4456 * reg-stack.c (convert_regs): Fix up abnormal edges before inserting
4457 compensation code.
4458
5d369d58
AB
44592011-03-26 Andrey Belevantsev <abel@ispras.ru>
4460
4461 PR rtl-optimization/48144
4462 * sel-sched-ir.c (merge_history_vect): Factor out from ...
4463 (merge_expr_data): ... here.
4464 (av_set_intersect): Rename to av_set_code_motion_filter.
4465 Update all callers. Call merge_history_vect when an expression
4466 is found in both sets.
4467 * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
4468
f082c000
AM
44692011-03-26 Alan Modra <amodra@gmail.com>
4470
4471 * config/rs6000/predicates.md (word_offset_memref_op): Handle
4472 cmodel medium addresses.
4473 * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
4474 64-bit gpr loads and stores.
4475 (rs6000_secondary_reload_ppc64): New function.
4476 * config/rs6000/rs6000-protos.h: Declare it.
4477 * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
4478
8ac5e12e
AM
44792011-03-26 Alan Modra <amodra@gmail.com>
4480
4481 PR target/47487
4482 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
4483 GNU Go in traceback table.
4484
c2654ded
RH
44852011-03-25 Richard Henderson <rth@redhat.com>
4486
4487 * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
4488 if there are exactly 6 operands.
4489 (set_storage_via_setmem): Similarly.
4490
ba78087b
KT
44912011-03-25 Kai Tietz <ktietz@redhat.com>
4492
4493 * collect2.c (write_c_file_stat): Handle backslash
4494 as right-hand directory separator.
4495 (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
4496 checking just for slash.
4497 * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
4498 instead of checking for trailing slash.
4499 * gcc.c (record_temp_file): Use filename_cmp instead
4500 of strcmp.
4501 (do_spec_1): Likewise.
4502 (replace_outfile_spec_function): Likewise.
4503 (is_directory): Use filename_ncmp instead of strncmp.
4504 (print_multilib_info): Likewise.
4505 * gcov.c (find_source): Use filename_cmp instead
4506 instead of strcmp.
4507 (make_gcov_file_name): Fix order of slash/backslash
4508 checks.
4509 * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
4510 (add_standard_paths): Likewise.
4511 * mips-tfile.c (saber_stop): Handle backslash.
4512 * prefix.c (update_path): Use filename_ncmp instead of
4513 strncmp.
4514 * profile.c (output_location): Use filename_cmp instead
4515 of strcmp.
4516 * read-md.c (handle_toplevel_file): Handle backslash.
4517 * tlink.c (frob_extension): Likewise.
4518 * tree-cfg.c (same_line_p): Use filename_cmp instead of
4519 strcmp.
4520 * tree-dump.c (dequeue_and_dump): Handle backslash.
4521 * tree.c (get_file_function_name): Likewise.
4522 * gengtype.c (read_input_list): Likewise.
4523 (get_file_realbasename): Likewise.
4524 (get_output_file_with_visibility): Use filename_cmp
4525 instead of strcmp.
4526
75f6ec9a
RS
45272011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
4528
4529 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
4530 case to VFPv1.
4531
6c4e2997
NF
45322011-03-25 Nathan Froyd <froydnj@codesourcery.com>
4533
4534 * fold-const.c (expr_location_or): New function.
4535 (fold_truth_not_expr): Call it.
4536
0edf1bb2
JL
45372011-03-25 Jeff Law <law@redhat.com>
4538
4539 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
4540 va_end.
4541 * c-family/c-common.c (def_fn_type): Likewise.
4542 * ada/gcc-interface/utils.c (def_fn_type): Likewise.
4543 * emit-rtl.c (gen_rtvec): Likewise.
4544 * lto/lto-lang.c (def_fn_type): Likewise.
4545
fdc2de95
RG
45462011-03-25 Richard Guenther <rguenther@suse.de>
4547
4548 * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
4549 also generate copies.
4550 (fini_copy_prop): Handle constant values properly.
4551
21385db0
JJ
45522011-03-25 Jakub Jelinek <jakub@redhat.com>
4553
4554 * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
4555 mode size instead of bitsize with DWARF2_ADDR_SIZE.
4556 (hash_loc_operands, compare_loc_operands): Handle
4557 DW_OP_GNU_entry_value.
4558
6510e8bb
KT
45592011-03-25 Kai Tietz <ktietz@redhat.com>
4560
4561 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
4562 (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
4563 * config/i386/i386.c (ix86_conditional_register_usage): Adjust
4564 comment and use macro TARGET_64BIT_MS_ABI instead.
4565 (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
4566 and change default behavior for 32-bit MS_ABI.
4567 (ix86_reg_parm_stack_space): Check additionally for bit-ness.
4568 (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
4569 32-bit, too.
4570 (ix86_cfun_abi): Likewise.
4571 (ix86_maybe_switch_abi): Adjust comment.
4572 (init_cumulative_args): Check for bit-ness in MS_ABI case.
4573 (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
4574 instead of checking for SYSV_ABI.
4575 (ix86_nsaved_sseregs): Likewise.
4576 (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
4577 to 16 bytes.
4578 (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
4579 * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
4580 (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
4581 (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
4582 * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
4583
34019e28
RG
45842011-03-25 Richard Guenther <rguenther@suse.de>
4585
4586 * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
4587 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
4588 (verify_gimple): Remove.
4589 * tree-cfg.c (verify_gimple_call): Merge verification
4590 from verify_stmts.
4591 (verify_gimple_phi): Merge verification from verify_stmts.
4592 (verify_gimple_label): New function.
4593 (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
4594 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
4595 (verify_stmt): Merge into verify_gimple_in_cfg and callees.
4596 (verify_stmts): Rename to verify_gimple_in_cfg.
4597 (verify_gimple_in_cfg): New function.
4598 * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
4599 * tree-ssa.c (verify_ssa): Likewise.
4600 * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
4601
605896f5
RG
46022011-03-25 Richard Guenther <rguenther@suse.de>
4603
4604 * passes.c (init_optimization_passes): Add FRE pass after
4605 early SRA.
4606
7baa7c13
BS
46072011-03-25 Bernd Schmidt <bernds@codesourcery.com>
4608 Andrew Stubbs <ams@codesourcery.com>
4609
4610 * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
4611 for Cortex-A8.
4612 (arm_movdi_vfp_cortexa8): New pattern.
4613 * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
4614 iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
4615 instructions when tuning for Cortex-A8. Set attribute "arch".
4616 * config/arm/arm.md: Move include arm-tune.md up a bit.
4617 (define_attr "arch"): Add "onlya8" and "nota8" values.
4618 (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
4619
45dbce1b
NF
46202011-03-25 Nathan Froyd <froydnj@codesourcery.com>
4621
4ff08abf 4622 PR bootstrap/48282
45dbce1b
NF
4623 Revert:
4624 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
4625
4626 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
4627 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
4628 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
4629 * passes.c (init_optimization_passes): Move
4630 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
4631
ac9a30ae
KT
46322011-03-25 Kai Tietz <ktietz@redhat.com>
4633
4634 * c-typeck.c (comptypes_internal): Replace target
4635 hook call of comp_type_attributes by version in tree.c file.
4636 * gimple.c (gimple_types_compatible_p_1): Likewise.
4637 * tree-ssa.c (useless_type_conversion_p): Likewise.
4638 * tree.c (build_type_attribute_qual_variant): Likewise.
4639 (attribute_value_equal): New static helper function.
4640 (comp_type_attributes): New function.
4641 (merge_attributes): Use attribute_value_equal for comparison.
4642 (attribute_list_contained): Likewise.
4643 * tree.h (comp_type_attributes): New prototype.
4644
afdac116
RG
46452011-03-25 Richard Guenther <rguenther@suse.de>
4646
4647 * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
4648 of complex types at -O0.
4649 (verify_gimple_assign_binary): Likewise.
4650 (verify_gimple_assign_ternary): Likewise.
4651
ec6165f8
MW
46522011-03-24 Mark Wielaard <mjw@redhat.com>
4653
4654 * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
4655 (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
4656
2a5ac39a
MW
46572011-03-24 Mark Wielaard <mjw@redhat.com>
4658
4659 PR debug/48041
4660 * dwarf2out.c (output_abbrev_section): Only write table when
4661 abbrev_die_table_in_use > 1.
4662
e533b2a4
RH
46632011-02-24 Richard Henderson <rth@redhat.com>
4664
4665 * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
4666 (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
4667 (alpha_expand_unaligned_load_words): Use extql.
4668 (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
4669 (emit_insxl): Handle all modes for consistency.
4670
0b2a7367
RH
46712011-02-24 Richard Henderson <rth@redhat.com>
4672
4673 * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
4674 (alpha_expand_unaligned_load): Likewise.
4675 (alpha_expand_unaligned_store): Likewise.
4676 (alpha_expand_unaligned_load_words): Likewise.
4677 (alpha_expand_unaligned_store_words): Likewise.
4678 (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
4679 (alpha_split_lock_test_and_set_12): Likewise.
4680 (print_operand, alpha_fold_builtin_extxx): Likewise.
4681 (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
4682 * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
4683 (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
4684 (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
4685 (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
4686 (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
4687 (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
4688 (unaligned_storeqi_be, unaligned_storehi_be): Remove.
4689 (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
4690 (extwl, extll, extql): Similarly.
4691 (inswh, inslh, insqh): Similarly.
4692 (mskbl, mskwl, mskll, mskql): Similarly.
4693 (mskwh, msklh, mskqh): Similarly.
4694
315b2bef
RH
46952011-02-24 Richard Henderson <rth@redhat.com>
4696
4697 * config/alpha/alpha.md (attribute isa): Add er, ner.
4698 (attribute enabled): Handle them.
4699 (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
4700
67102517
RH
47012011-02-24 Richard Henderson <rth@redhat.com>
4702
4703 * config/alpha/alpha.md (attribute isa): Add vms.
4704 (attribute enabled): Handle it.
4705 (*movsf): Merge *movsf_{nofix,fix,nofp}.
4706 (*movdf): Merge *movdf_{nofix,fix,nofp}.
4707 (*movtf): Rename from *movtf_internal for consistency.
4708 (*movsi): Merge with *movsi_nt_vms.
4709 (*movhi): Merge *movhi_nobwx, *movhi_bwx.
4710 (*movqi): Merge *movqi_nobwx, *movqi_bwx.
4711 (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
4712 * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
4713
6aba5cb4
RH
47142011-02-24 Richard Henderson <rth@redhat.com>
4715
4716 * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
4717 (extendqisi2, extendhisi2): Likewise.
4718 (extendqidi2): Simplify BWX/non-BWX expansions.
4719 (extendhidi2): Similarly.
4720
bdfb351b
RH
47212011-02-24 Richard Henderson <rth@redhat.com>
4722
4723 * config/alpha/alpha.md (attribute isa): New.
4724 (attribute enabled): New.
4725 (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
4726 (zero_extendqisi2, zero_extendqidi2): Similarly.
4727 (zero_extendhisi2, zero_extendhidi2): Similarly.
4728 * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
4729
6abe71eb
RH
47302011-02-24 Richard Henderson <rth@redhat.com>
4731
4732 * config/alpha/predicates.md (input_operand): Revert last change;
4733 update comment to mention 32-bit VMS rather than Windows.
4734
7114321e
NF
47352011-03-24 Nathan Froyd <froydnj@codesourcery.com>
4736
4737 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
4738 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
4739 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
4740 * passes.c (init_optimization_passes): Move
4741 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
4742
c8679567
EB
47432011-03-24 Eric Botcazou <ebotcazou@adacore.com>
4744
4745 * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
4746
27173058
UB
47472011-03-24 Uros Bizjak <ubizjak@gmail.com>
4748
4749 * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
4750 correctly.
4751
6f0c9f06
JJ
47522011-03-24 Jakub Jelinek <jakub@redhat.com>
4753
4754 PR debug/48204
4755 * simplify-rtx.c (simplify_const_unary_operation): Call
4756 real_convert when changing mode class with FLOAT_EXTEND.
4757
662666e5
NC
47582011-03-24 Nick Clifton <nickc@redhat.com>
4759
4760 * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
4761 (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
4762 * config/rx/rx.c (rx_option_override): Set align_jumps,
4763 align_loops and align_labels if not set by the user.
4764 (rx_align_for_label): New function.
4765 (rx_max_skip_for_label): New function.
4766 (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
4767 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
4768 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
4769 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
4770 * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
4771
2b99b2b8
RS
47722011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
4773
4774 PR rtl-optimization/48263
4775 * optabs.c (expand_binop_directly): Reinstate convert_modes code
4776 and original commutative_p handling. Use maybe_gen_insn.
4777
ccecd6ea
AK
47782011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4779
4780 * reload.c (find_reloads_subreg_address): Add address_reloaded
4781 parameter and return true there if the full address has been
4782 reloaded.
4783 (find_reloads_toplev): Pass address_reloaded flag.
4784 (find_reloads_address_1): Don't use address_reloaded parameter.
4785
67295642
JL
47862011-03-24 Jeff Law <law@redhat.com>
4787
4788 * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
4789 unused variable "ann".
4790 (remove_unused_locals): Likewise.
4791
4792 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
4793 statement.
4794
4795 * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
4796 after it is freed.
4797
212aa74f
AK
47982011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4799
4800 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
4801 for invalid symbolic addresses.
4802 (s390_secondary_reload): Don't use s390_check_symref_alignment for
4803 larl operands.
4804
fe784e0d
EB
48052011-03-24 Eric Botcazou <ebotcazou@adacore.com>
4806
4807 * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
4808 the argument in calls to fold_truth_not_expr.
4809
63ee8641
NF
48102011-03-24 Nathan Froyd <froydnj@codesourcery.com>
4811
4812 * tree.c (record_node_allocation_statistics): New function.
4813 (make_node_stat, copy_node_stat, build_string): Call it.
4814 (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
4815 (build1_stat, build_omp_clause): Likewise.
4816
61be2a1c
RS
48172011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
4818
4819 * builtins.c (expand_movstr): Fix endp == 1 adjustment after
4820 last commit.
4821
a881aaa7
RG
48222011-03-24 Richard Guenther <rguenther@suse.de>
4823
4824 PR tree-optimization/48271
4825 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
4826 blocks that still exist.
4827
dbaa912c
RG
48282011-03-24 Richard Guenther <rguenther@suse.de>
4829
4830 PR tree-optimization/48270
4831 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
4832 not free datarefs before ddrs.
4833
1d60cc55
EB
48342011-03-24 Eric Botcazou <ebotcazou@adacore.com>
4835
4836 * tree-sra.c (build_ref_for_offset): Strip useless type conversions
4837 from the address built for a reference with variable offset.
4838
c78dd519
UB
48392011-03-24 Uros Bizjak <ubizjak@gmail.com>
4840
4841 PR target/48237
4842 * config/i386/i386.md (*movdf_internal_rex64): Do not split
4843 alternatives that can be handled with movq or movabsq insn.
4844 (*movdf_internal): Disable for !TARGET_64BIT.
4845 (*movdf_internal_nointeger): Ditto.
4846 * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
4847
b25b9e8f
NF
48482011-03-24 Nathan Froyd <froydnj@codesourcery.com>
4849
4850 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
4851 (FUNCTION_ARG_ADVANCE): Likewise.
4852 * tm.texi.in: Change references to them to hook references.
4853 * tm.texi: Regenerate.
c78dd519 4854 * targhooks.c (default_function_arg): Eliminate check for target macro.
b25b9e8f
NF
4855 (default_function_incoming_arg): Likewise.
4856 (default_function_arg_advance): Likewise.
c78dd519 4857 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
b25b9e8f
NF
4858 (function_arg_advance): Likewise.
4859 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
4860
190b2187
RG
48612011-03-24 Richard Guenther <rguenther@suse.de>
4862
4863 PR middle-end/48269
4864 * tree-object-size.c (addr_object_size): Do not double-account
4865 for MEM_REF offsets.
4866
a183b5c7
DN
48672011-03-24 Diego Novillo <dnovillo@google.com>
4868
4869 * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
c78dd519 4870 * lto-streamer-in.c (input_string_internal): Add clarifying comments.
a183b5c7
DN
4871 (lto_input_data_block): Move from lto-opts.c. Make extern.
4872 Update all users.
4873 (lto_input_string): Rename from input_string. Make extern.
4874 Update all users.
4875 * lto-streamer-out.c (lto_output_string_with_length): Rename from
4876 output_string_with_length.
4877 Output 0 to indicate a non-NULL string. Update all callers to
4878 not emit 0.
4879 (lto_output_string): Rename from output_string. Make extern.
4880 Update all users.
4881 (lto_output_decl_state_streams): Make extern.
4882 (lto_output_decl_state_refs): Make extern.
4883 * lto-streamer.h (lto_input_string): Declare.
4884 (lto_input_data_block): Declare.
4885 (lto_output_string): Declare.
4886 (lto_output_string_with_length): Declare.
4887 (lto_output_decl_state_streams): Declare.
4888 (lto_output_decl_state_refs): Declare.
4889
cfef45c8
RG
48902011-03-24 Richard Guenther <rguenther@suse.de>
4891
4892 PR tree-optimization/46562
4893 * tree.c (build_invariant_address): New function.
4894 * tree.h (build_invariant_address): Declare.
4895 * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
4896 a renamed function moved ...
4897 * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
4898 Take valueization callback parameter.
4899 * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
4900 * gimple-fold.h: New file.
4901 * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
4902 (ccp_fold, fold_const_aggregate_ref,
4903 fold_ctor_reference, fold_nonarray_ctor_reference,
4904 fold_array_ctor_reference, fold_string_cst_ctor_reference,
4905 get_base_constructor): Move ...
4906 * gimple-fold.c: ... here.
4907 (gimple_fold_stmt_to_constant_1): New function
4908 split out from ccp_fold. Take a valueization callback parameter.
4909 Valueize all operands.
4910 (gimple_fold_stmt_to_constant): New wrapper function.
4911 (fold_const_aggregate_ref_1): New function split out from
4912 fold_const_aggregate_ref. Take a valueization callback parameter.
4913 (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
4914 * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
4915 invariant POINTER_PLUS_EXPRs to invariant form.
4916 (vn_valueize): New function.
4917 (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
4918 * tree-vrp.c (vrp_valueize): New function.
4919 (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
4920 to fold statements to constants.
4921 * tree-ssa-pre.c (eliminate): Properly guard propagation of
4922 function declarations.
4923 * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
4924 tree-ssa-ccp.o): Add gimple-fold.h dependencies.
4925
5e0a7e40
RS
49262011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
4927
4928 * config/h8300/predicates.md (jump_address_operand): Fix register
4929 mode check.
4930
bfe068c3
IR
49312011-03-24 Ira Rosen <ira.rosen@linaro.org>
4932
4933 * doc/invoke.texi (max-stores-to-sink): Document.
4934 * params.h (MAX_STORES_TO_SINK): Define.
4935 * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
4936 if either vectorization or if-conversion is disabled.
4937 * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
4938 tree-vect-data-refs.c vect_equal_offsets.
4939 (dr_equal_offsets_p): New function.
4940 (find_data_references_in_bb): Remove static.
4941 * tree-data-ref.h (find_data_references_in_bb): Declare.
4942 (dr_equal_offsets_p): Likewise.
4943 * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
4944 (vect_drs_dependent_in_basic_block): Update calls to
4945 vect_equal_offsets.
4946 (vect_check_interleaving): Likewise.
4947 * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
4948 (cond_if_else_store_replacement): Rename to...
4949 (cond_if_else_store_replacement_1): ... this. Change arguments and
4950 documentation.
4951 (cond_if_else_store_replacement): New function.
4952 * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
4953 * params.def (PARAM_MAX_STORES_TO_SINK): Define.
4954
4908b0bf
CLT
49552011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
4956
4957 PR target/46934
4958 * config/arm/arm.md (casesi): Use the gen_int_mode() function
4959 to subtract lower bound instead of GEN_INT().
4960
2be478a2
JW
49612011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
4962
4963 PR other/48179
4964 PR other/48221
4965 PR other/48234
4966 * doc/extend.texi (Alignment): Move section to match order in TOC.
4967 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
4968 (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
4969
0c617be4
JL
49702011-03-23 Jeff Law <law@redhat.com>
4971
4972 * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
4973 before removing the edge.
4974
4975 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
4976 it may have been freed by redirect_branch_edge or
4977 redirect_edge_succ_nodup.
4978
58da96fe
RG
49792011-03-23 Richard Guenther <rguenther@suse.de>
4980
c78dd519 4981 * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
58da96fe
RG
4982 (check_va_list_escapes): Likewise.
4983 (check_all_va_list_escapes): Likewise.
4984
b8beb4d1
RG
49852011-03-23 Richard Guenther <rguenther@suse.de>
4986
4987 * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
4988 (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
4989 (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
4990 (alias.o): Likewise.
4991 (ipa-type-escape.o): Remove.
4992 (ipa-struct-reorg.o): Likewise.
4993 (GTFILES): Remove ipa-struct-reorg.c.
4994 * alias.c: Do not include ipa-type-escape.h.
4995 * tree-ssa-alias.c: Likewise.
4996 * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
4997 * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
4998 * passes.c (init_optimization_passes): Remove ipa-struct-reorg
4999 and ipa-type-escape passes.
5000 * tree-pass.h (pass_ipa_type_escape): Remove.
5001 (pass_ipa_struct_reorg): Likewise.
5002 * ipa-struct-reorg.h: Remove.
5003 * ipa-struct-reorg.c: Likewise.
5004 * ipa-type-escape.h: Likewise.
5005 * ipa-type-escape.c: Likewise.
5006 * doc/invoke.texi (-fipa-struct-reorg): Remove.
5007 (--param struct-reorg-cold-struct-ratio): Likewise.
5008 * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
5009 * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
5010 * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
5011
f137aa63
AK
50122011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5013
5014 * config/s390/2084.md: Enable all insn reservations also for z9_ec
5015 cpu attribute value.
5016 * config/s390/s390-opts.h (enum s390_arch_option): Remove.
5017 (enum processor_type): Add PROCESSOR_2094_Z9_EC.
5018 * config/s390/s390.c (processor_flags_table): New constant array.
5019 (s390_handle_arch_option): Remove.
5020 (s390_handle_option): Remove s390_handle_arch_option invocations
5021 and OPT_mwarn_framesize_ handling.
5022 (s390_option_override): Remove s390_handle_arch_option invocation.
5023 (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
5024 warnings.
5025 * config/s390/s390.md (cpu attribute): Add z9_ec value.
5026 * config/s390/s390.opt (s390_tune, s390_arch)
5027 (march=): Replace s390_arch_option enum and values with
5028 processor_type. Set variable name to s390_arch. Set
5029 initialization value.
5030 (mtune=): Replace s390_arch_option with processor_type. Set
5031 variable name to s390_tune. Set initialization value.
5032
bf90208f
JB
50332011-03-23 Julian Brown <julian@codesourcery.com>
5034
5035 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
5036 accesses which are not naturally aligned.
5037
3460fdf3
RS
50382011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
5039
5040 PR target/47553
5041 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
5042
a5c7d693
RS
50432011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
5044
5045 * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
5046 parameter from "int" to "enum insn_code".
5047 (expand_operand_type): New enum.
5048 (expand_operand): New structure.
5049 (create_expand_operand): New function.
5050 (create_fixed_operand, create_output_operand): Likewise
5051 (create_input_operand, create_convert_operand_to): Likewise.
5052 (create_convert_operand_from, create_address_operand): Likewise.
5053 (create_integer_operand): Likewise.
5054 (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
5055 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
5056 (expand_insn, expand_jump_insn): Likewise.
5057 * builtins.c (expand_builtin_prefetch): Use the new interfaces.
5058 (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
5059 (expand_movstr, expand_builtin___clear_cache): Likewise.
5060 (expand_builtin_lock_release): Likewise.
5061 * explow.c (allocate_dynamic_stack_space): Likewise.
5062 (probe_stack_range): Likewise. Allow check_stack to FAIL,
5063 and use the default handling in that case.
5064 * expmed.c (check_predicate_volatile_ok): Delete.
5065 (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
5066 (emit_cstore): Likewise.
5067 * expr.c (emit_block_move_via_movmem): Likewise.
5068 (set_storage_via_setmem, expand_assignment): Likewise.
5069 (emit_storent_insn, try_casesi): Likewise.
5070 (emit_single_push_insn): Likewise. Allow the expansion to fail.
5071 * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
5072 (expand_vec_shift_expr, expand_binop_directly): Likewise.
5073 (expand_twoval_unop, expand_twoval_binop): Likewise.
5074 (expand_unop_direct, emit_indirect_jump): Likewise.
5075 (emit_conditional_move, vector_compare_rtx): Likewise.
5076 (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
5077 (expand_sync_operation, expand_sync_fetch_operation): Likewise.
5078 (expand_sync_lock_test_and_set): Likewise.
5079 (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
5080 (emit_unop_insn): Likewise.
5081 (expand_copysign_absneg): Change icode to an insn_code.
5082 (create_convert_operand_from_type): New function.
5083 (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
5084 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
5085 (expand_insn, expand_jump_insn): Likewise.
5086 * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
5087 than const_int_operand for operand 2.
5088
78fadbab
AK
50892011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5090
5091 * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
5092 if possible.
5093
5f02387d
NF
50942011-03-22 Nathan Froyd <froydnj@codesourcery.com>
5095
5096 * emit-rtl.c (emit_pattern_before_noloc): New function.
5097 (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
5098 (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
5099 (emit_pattern_after_noloc): New function.
5100 (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
5101 (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
5102
fdf3e18a
NF
51032011-03-22 Nathan Froyd <froydnj@codesourcery.com>
5104
5105 * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
5106 (__ffsDI2): Likewise.
5107
42d085c1
RH
51082011-03-22 Richard Henderson <rth@redhat.com>
5109
5110 * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
5111 of !TARGET_ABI_OPEN_VMS.
5112 (alpha_trampoline_init, alpha_start_function): Likewise.
5113 (alpha_expand_epilogue, alpha_file_start): Likewise.
5114 * config/alpha/alpha.md (divsi3, modsi3): Likewise.
5115 (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
5116 (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
5117 (*divmodsi_internal, *divmoddi_internal_er): Likewise.
5118 (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
5119
cabbe12a
JM
51202011-03-22 Joseph Myers <joseph@codesourcery.com>
5121
5122 * config/s390/s390-opts.h: New.
5123 * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
5124 s390_arch_flags, s390_warn_framesize, s390_stack_size,
5125 s390_stack_guard): Remove.
5126 (s390_handle_arch_option): Return void. Take enum
5127 s390_arch_option value instead of string and searching array.
5128 (s390_handle_option): Don't assert that global structures are in
5129 use. Access variables via opts pointer. Use error_at. Don't use
5130 sscanf for -mstack-guard= or -mstack-size=. Update call to
5131 s390_handle_arch_option.
5132 (s390_option_override): Update call to s390_handle_arch_option.
5133 (s390_emit_prologue): Use %d format for s390_stack_size in
5134 diagnostic. Use %wd for HOST_WIDE_INT.
5135 * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
5136 (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
5137 * config/s390/s390.opt (config/s390/s390-opts.h): New
5138 HeaderInclude entry.
5139 (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
5140 s390_arch_flags, s390_warn_framesize): New Variable entries.
5141 (s390_arch_option): New Enum and EnumValue entries.
5142 (march=): Use Enum instead of Var.
5143 (mstack-guard=, mstack-size=): Use UInteger and Var.
5144 (mtune=): Use Enum.
5145
05b12036
JM
51462011-03-22 Joseph Myers <joseph@codesourcery.com>
5147
5148 * config/score/score.c (score_handle_option): Don't assert that
5149 global structures are in use. Access target_flags via opts
5150 pointer. Use value of -march= option to determine target_flags
5151 settings.
5152 * config/score/score.opt (march=): Use Enum.
5153 (score_arch): New Enum and EnumValue entries.
5154
dd51e35a
JM
51552011-03-22 Joseph Myers <joseph@codesourcery.com>
5156
5157 * config/mep/mep.c (option_mtiny_specified): Remove.
5158 (mep_option_override): Move register handling for -mivc2 from
5159 mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
5160 instead of option_mtiny_specified.
5161 (mep_handle_option): Access target_flags via opts pointer. Don't
5162 assert that global structures are in use. Defer part of -mivc2
5163 handling and move it to mep_option_override.
5164 * config/mep/mep.opt (IVC2): New Mask entry.
5165 (mivc2): Use Var and Defer instead of Mask.
5166
4a8d3d91
JM
51672011-03-22 Joseph Myers <joseph@codesourcery.com>
5168
5169 * config/v850/v850-opts.h: New.
5170 * config/v850/v850.c (small_memory): Replace with
5171 small_memory_physical_max array. Make that array static const.
5172 (v850_handle_memory_option): Take integer value of argument. Take
5173 gcc_options pointer, option text and location. Return void.
5174 Update for changes to small memory structures.
5175 (v850_handle_option): Access target_flags via opts pointer. Don't
5176 assert that global structures are in use. Update calls to
5177 v850_handle_memory_option.
c78dd519
UB
5178 (v850_encode_data_area): Update references to small memory settings.
5179 * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
4a8d3d91
JM
5180 (enum small_memory_type): Move to v850-opts.h.
5181 * config/v850/v850.opt (config/v850/v850-opts.h): New
5182 HeaderInclude entry.
5183 (small_memory_max): New Variable entry.
5184 (msda): Replace by pair of options msda= and msda-. Use UInteger.
5185 (mtda, mzda): Likewise.
5186
117fdbfa
JM
51872011-03-22 Joseph Myers <joseph@codesourcery.com>
5188
5189 * config/sh/sh.c (sh_handle_option): Access target_flags via opts
5190 pointer. Don't assert that global structures are in use.
5191
d715091c
JM
51922011-03-22 Joseph Myers <joseph@codesourcery.com>
5193
5194 * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
5195 via opts pointer. Don't assert that global structures are in use.
5196
1bb721dc
JM
51972011-03-22 Joseph Myers <joseph@codesourcery.com>
5198
5199 * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
5200 (munix=93): Use Var.
5201 * config/pa/pa-hpux1010.opt (munix=95): Use Var.
5202 * config/pa/pa-hpux1111.opt (munix=98): Use Var.
5203 * config/pa/pa-opts.h: New.
5204 * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
5205 (pa_handle_option): Don't assert that global structures are in
5206 use. Access target_flags via opts pointer. Don't handle
5207 OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
5208 OPT_munix_98 here.
5209 (pa_option_override): Handle deferred OPT_mfixed_range_.
5210
cd8d8754
JM
52112011-03-22 Joseph Myers <joseph@codesourcery.com>
5212
5213 * config/mn10300/mn10300-opts.h: New.
5214 * config/mn10300/mn10300.c (mn10300_processor,
5215 mn10300_tune_string): Remove.
5216 (mn10300_handle_option): Don't assert that global structures are
5217 in use. Access mn10300_processor via opts pointer. Don't handle
5218 OPT_mtune_ here.
5219 * config/mn10300/mn10300.h (enum processor_type): Move to
5220 mn10300-opts.h.
5221 (mn10300_processor): Remove.
5222 * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
5223 HeaderInclude entry.
5224 (mn10300_processor): New Variable entry.
5225 (mtune=): Use Var.
5226
24e6e6b1
JM
52272011-03-22 Joseph Myers <joseph@codesourcery.com>
5228
5229 * config/microblaze/microblaze.c: Don't include opts.h.
5230 (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
5231 * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
5232 (mno-clearbss): Use Var and Warn.
5233
8a784afb
JM
52342011-03-22 Joseph Myers <joseph@codesourcery.com>
5235
5236 * config/m32r/m32r-opts.h: New.
5237 * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
5238 (m32r_handle_option): Don't assert that global structures are in
5239 use. Access target_flags and m32r_cache_flush_func via opts
5240 pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
5241 OPT_mno_flush_trap here.
5242 * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
5243 include of m32r-opts.h.
5244 * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
5245 HeaderInclude entry.
5246 (m32r_model_selected, m32r_sdata_selected): New Variable entries.
5247 (mmodel=): Use Enum and Var.
5248 (m32r_model): New Enum and EnumValue entries.
5249 (mno-flush-trap): Use Var.
5250 (msdata=): Use Enum and Var.
5251 (m32r_sdata): New Enum and EnumValue entries.
5252
bbfc9a8c
JM
52532011-03-22 Joseph Myers <joseph@codesourcery.com>
5254
5255 * config/m32c/m32c.c: Don't include opts.h.
5256 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
5257 m32c_handle_option): Remove.
5258 (m32c_option_override): Check global_options_set.x_target_memregs
5259 instead of target_memregs_set.
5260 * config/m32c/m32c.h (target_memregs): Remove.
5261 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
5262 variable.
5263
e24b8335
JM
52642011-03-22 Joseph Myers <joseph@codesourcery.com>
5265
5266 * config/iq2000/iq2000-opts.h: New.
5267 * config/iq2000/iq2000.c: Don't include opts.h.
5268 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 5269 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
e24b8335
JM
5270 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
5271 HeaderInclude entry.
5272 (iq2000_tune): New Variable entry.
5273 (march=): Add comment. Use Enum.
5274 (iq2000_arch): New Enum and EnumValue entries.
5275 (mcpu=): Use Enum and Var.
5276 (iq2000_tune): New Enum and EnumValue entries.
5277
e6cc0c98
JM
52782011-03-22 Joseph Myers <joseph@codesourcery.com>
5279
5280 * config/ia64/ia64-opts.h: New.
5281 * config/ia64/ia64.c (ia64_tune): Remove.
5282 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
5283 here. Use error_at.
5284 (ia64_option_override): Handle deferred OPT_mfixed_range_.
5285 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
5286 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
5287 HeaderInclude entry.
5288 (ia64_tune): New Variable entry.
5289 (mfixed-range=): Use Defer and Var.
5290 (mtune=): Use Enum and Var.
5291 (ia64_tune): New Enum and EnumValue entries.
5292
db25893c
JM
52932011-03-22 Joseph Myers <joseph@codesourcery.com>
5294
5295 * config/frv/frv-opts.h: New.
5296 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
5297 frv-opts.h.
5298 (frv_cpu_type): Remove.
5299 * config/frv/frv.c: Don't include opts.h.
5300 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 5301 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
db25893c
JM
5302 (frv_cpu_type): New Variable entry.
5303 (frv_cpu): New Enum and EnumValue entries.
5304
6c223f5d
JM
53052011-03-22 Joseph Myers <joseph@codesourcery.com>
5306
5307 * config/cris/cris.c (cris_handle_option): Access target_flags via
5308 opts pointer. Don't assert that global structures are in use.
5309 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
5310 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
5311
bbd399cf
JM
53122011-03-22 Joseph Myers <joseph@codesourcery.com>
5313
5314 * config/bfin/bfin-opts.h: New.
5315 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
5316 bfin_si_revision, bfin_workarounds): Remove.
5317 (bfin_cpus): Make static const.
5318 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
5319 not bfin_lib_id_given.
5320 (bfin_handle_option): Don't set bfin_lib_id_given. Access
5321 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
c78dd519 5322 pointer. Use error_at. Don't assert that global structures are in use.
bbd399cf
JM
5323 * config/bfin/bfin.h: Include bfin-opts.h.
5324 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
5325 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
5326 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
5327 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
5328 entries.
5329
5e1b4d5a
JM
53302011-03-22 Joseph Myers <joseph@codesourcery.com>
5331
5332 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
5333 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
5334 or -msoft-float here.
5335 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
5336 -msoft-float and -mhard-float.
c78dd519 5337 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
5e1b4d5a
JM
5338 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
5339 msoft-float.
5340 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
5341 -msoft-float.
5342 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
5343 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
5344 not mhard-float.
5345 (LIBGCC_SPEC): Don't handle -msoft-float.
5346 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
5347 -mhard-float.
5348 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
5349 msoft-float.
5350 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
5351 -mfloat-abi=*, not -msoft-float and -mhard-float.
5352 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
5353 -msoft-float.
5354 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
5355 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
5356 mhard-float and msoft-float.
5357 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
5358 mfloat-abi=soft in comments, not mhard-float and msoft-float.
5359 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
5360 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
5361 mhard-float.
5362 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
5363 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
5364 msoft-float.
5365 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
5366 not mhard-float.
5367 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
5368 not msoft-float.
5369
800d1de1
RH
53702011-03-22 Richard Henderson <rth@redhat.com>
5371
5372 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
5373 TARGET_ABI_WINDOWS_NT.
5374 (alpha_output_function_end_prologue): Likewise.
5375 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
5376 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
5377 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
5378 (trap, *movsi_nt_vms): Likewise.
5379 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
5380 (*tablejump_osf_nt_internal): Remove.
5381 * config/alpha/predicates.md (input_operand): Only test Pmode.
5382
c59ddd2b
JM
53832011-03-22 Joseph Myers <joseph@codesourcery.com>
5384
5385 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
5386 via opts pointer. Use error_at. Don't assert that global
5387 structures are in use.
5388
1333f97f
JM
53892011-03-22 Joseph Myers <joseph@codesourcery.com>
5390
5391 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
5392 (ix86_handle_option): Access ix86_isa_flags and
5393 ix86_isa_flags_explicit via opts pointer. Don't assert that
5394 global structures are in use.
5395 (ix86_function_specific_save, ix86_function_specific_restore):
5396 Update ix86_isa_flags_explicit field name.
c78dd519 5397 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
1333f97f
JM
5398 (ix86_isa_flags_explicit): Rename TargetSave entry to
5399 x_ix86_isa_flags_explicit.
5400
75db85d8
RH
54012011-03-22 Richard Henderson <rth@redhat.com>
5402
5403 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
5404 (alpha_option_override, direct_return): Likewise.
5405 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
5406 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
5407 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
5408 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
5409 (alpha_expand_epilogue, alpha_end_function): Likewise.
5410 (alpha_init_libfuncs): Likewise.
5411 (struct machine_function): Remove unicosmk members.
5412 (print_operand) ['t']: Remove.
5413 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
5414 unicosmk_output_module_name, unicosmk_output_common,
5415 current_section_align, unicosmk_output_text_section_asm_op,
5416 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
5417 unicosmk_section_type_flags, unicosmk_unique_section,
5418 unicosmk_asm_named_section, unicosmk_insert_attributes,
5419 unicosmk_output_align, unicosmk_defer_case_vector,
5420 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
5421 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
5422 unicosmk_output_ssib, unicosmk_add_call_info_word,
5423 unicosmk_extern_head, unicosmk_output_default_externs,
5424 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
5425 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
5426 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
5427 * config/alpha/alpha-protos.h: Update.
5428 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
5429 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
5430 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
5431 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
5432 (*mulsi_se, mulvsi3): Likewise.
5433 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
5434 (*divmodsi_internal, call, call_value, realign): Likewise.
5435 (moddi3, umoddi3): Likewise; remove duplicate expander.
5436 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
5437 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
5438 (*movdi_nofix): Remove r/U alternative.
5439 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
5440 * config/alpha/constraints.md ("U"): Remove.
5441 * config/alpha/predicates.md (call_operand"): Don't test
5442 TARGET_ABI_UNICOSMK.
5443
96e45421
JM
54442011-03-22 Joseph Myers <joseph@codesourcery.com>
5445
5446 * target.def (handle_option): Take gcc_options and
5447 cl_decoded_option pointers and location_t.
5448 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
5449 * doc/tm.texi: Regenerate.
5450 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
5451 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
5452 * lto-opts.c (lto_reissue_options): Generate option structure for
5453 targetm.handle_option call.
5454 * opts.c (target_handle_option): Update call to
5455 targetm.handle_option. Remove assertions about values now passed
5456 down to hook.
5457 * targhooks.c (default_target_handle_option): New.
5458 * targhooks.h (default_target_handle_option): Declare.
5459 * config/alpha/alpha.c: Include opts.h.
5460 (alpha_handle_option): Update to new hook interface.
5461 * config/arm/arm.c: Include opts.h.
5462 (arm_handle_option): Update to new hook interface.
5463 * config/arm/t-arm (arm.o): Update dependencies.
5464 * config/bfin/bfin.c: Include opts.h.
5465 (bfin_handle_option): Update to new hook interface.
5466 * config/cris/cris.c: Include opts.h.
5467 (cris_handle_option): Update to new hook interface.
5468 * config/frv/frv.c: Include opts.h.
5469 (frv_handle_option): Update to new hook interface.
5470 * config/i386/i386.c: Include opts.h.
5471 (ix86_handle_option): Update to new hook interface.
5472 (ix86_valid_target_attribute_inner_p): Generate option structure
5473 for call to ix86_handle_option.
5474 * config/i386/t-i386 (i386.o): Update dependencies.
5475 * config/ia64/ia64.c: Include opts.h.
5476 (ia64_handle_option): Update to new hook interface.
5477 * config/ia64/t-ia64 (ia64.o): Update dependencies.
5478 * config/iq2000/iq2000.c: Include opts.h.
5479 (iq2000_handle_option): Update to new hook interface.
5480 * config/m32c/m32c.c: Include opts.h.
5481 (m32c_handle_option): Update to new hook interface.
5482 * config/m32r/m32r.c: Include opts.h.
5483 (m32r_handle_option): Update to new hook interface.
5484 * config/m68k/m68k.c: Include opts.h.
5485 (m68k_handle_option): Update to new hook interface.
5486 * config/mep/mep.c: Include opts.h.
5487 (mep_handle_option): Update to new hook interface.
5488 * config/microblaze/microblaze.c: Include opts.h.
5489 (microblaze_handle_option): Update to new hook interface.
5490 * config/mips/mips.c: Include opts.h.
5491 (mips_handle_option): Update to new hook interface.
5492 * config/mn10300/mn10300.c: Include opts.h.
5493 (mn10300_handle_option): Update to new hook interface.
5494 * config/pa/pa.c: Include opts.h.
5495 (pa_handle_option): Update to new hook interface.
5496 * config/pdp11/pdp11.c: Include opts.h.
5497 (pdp11_handle_option): Update to new hook interface.
5498 * config/rs6000/rs6000.c: Include opts.h.
5499 (rs6000_handle_option): Update to new hook interface.
5500 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
5501 * config/rx/rx.c: Include opts.h.
5502 (rx_handle_option): Update to new hook interface.
5503 * config/s390/s390.c: Include opts.h.
5504 (s390_handle_option): Update to new hook interface.
5505 * config/score/score.c: Include opts.h.
5506 (score_handle_option): Update to new hook interface.
5507 * config/sh/sh.c: Include opts.h.
5508 (sh_handle_option): Update to new hook interface.
5509 * config/sparc/sparc.c: Include opts.h.
5510 (sparc_handle_option): Update to new hook interface.
5511 * config/v850/v850.c: Include opts.h.
5512 (v850_handle_option): Update to new hook interface.
5513
66017846
JM
55142011-03-22 Joseph Myers <joseph@codesourcery.com>
5515
5516 * gcc.c (driver_unknown_option_callback): Only permit and save
5517 unknown -Wno- options.
5518 (driver_wrong_lang_callback): Save options directly instead of via
5519 driver_unknown_option_callback.
5520
e8b97ccd
EB
55212011-03-22 Eric Botcazou <ebotcazou@adacore.com>
5522
5523 * combine.c (simplify_set): Try harder to find the best CC mode when
5524 simplifying a nested COMPARE on the RHS.
5525
ebb9f8b0
JM
55262011-03-22 Joseph Myers <joseph@codesourcery.com>
5527
5528 * config/alpha/gnu.h: Remove.
5529 * config/arc: Remove directory.
5530 * config/arm/netbsd.h: Remove.
5531 * config/arm/t-pe: Remove.
5532 * config/crx: Remove directory.
5533 * config/i386/netbsd.h: Remove.
5534 * config/m68hc11: Remove directory.
5535 * config/m68k/uclinux-oldabi.h: Remove.
5536 * config/mcore/mcore-pe.h: Remove.
5537 * config/mcore/t-mcore-pe: Remove.
5538 * config/netbsd-aout.h: Remove.
5539 * config/rs6000/gnu.h: Remove.
5540 * config/sh/sh-symbian.h: Remove.
5541 * config/sh/symbian-base.c: Remove.
5542 * config/sh/symbian-c.c: Remove.
5543 * config/sh/symbian-cxx.c: Remove.
5544 * config/sh/symbian-post.h: Remove.
5545 * config/sh/symbian-pre.h: Remove.
5546 * config/sh/t-symbian: Remove.
5547 * config/svr3.h: Remove.
5548 * config/vax/netbsd.h: Remove.
5549 * config.build: Don't handle i[34567]86-*-pe.
5550 * config.gcc: Remove handling of deprecations for most deprecated
5551 targets.
5552 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
5553 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
5554 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
5555 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
5556 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
5557 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
5558 Remove cases.
5559 * config.host: Don't handle i[34567]86-*-pe.
5560 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
5561 (ASM_SPEC32): Don't handle -mcall-gnu.
5562 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
5563 -mcall-gnu.
5564 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
5565 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
5566 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
5567 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
5568 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
5569 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
5570 conditional on SYMBIAN.
5571 * configure.ac: Don't handle powerpc*-*-gnu*.
5572 * configure: Regenerate.
5573 * doc/extend.texi (interrupt attribute): Don't mention CRX.
5574 * doc/install-old.texi (m6811, m6812): Don't mention.
5575 * doc/install.texi (arc-*-elf*): Don't document multilib option.
5576 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
5577 (m68k-uclinuxoldabi): Don't mention.
5578 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
5579 Remove.
5580 (-mcall-gnu): Remove.
5581 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
5582 families): Remove constraint documentation.
5583
999a7d80
MS
55842011-03-22 Marius Strobl <marius@FreeBSD.org>
5585
5586 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
5587 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
5588 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
5589
980a0ff4
GJL
55902011-03-21 Georg-Johann Lay <avr@gjlay.de>
5591
5592 * config/avr/avr-protos.h (expand_epilogue): Change prototype
5593 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
5594 * config/avr/avr.c (init_cumulative_args)
5595 (avr_function_arg_advance): Use it.
5596 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
5597 sibcall epilogues.
5598 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
5599 (avr_function_ok_for_sibcall): ...this new function.
5600 (avr_lookup_function_attribute1): New static Function.
5601 (avr_naked_function_p, interrupt_function_p)
5602 (signal_function_p, avr_OS_task_function_p)
5603 (avr_OS_main_function_p): Use it.
5604 * config/avr/avr.md ("sibcall", "sibcall_value")
5605 ("sibcall_epilogue"): New expander.
5606 ("*call_insn", "*call_value_insn"): New insn.
5607 ("call_insn", "call_value_insn"): Remove
5608 ("call", "call_value", "epilogue"): Change expander to handle
5609 sibling calls.
5610
49168734
NC
56112011-03-21 Nick Clifton <nickc@redhat.com>
5612
5613 * doc/invoke.texi (Overall Options): Move closing brace to end of
5614 options list.
5615 (Optimization Options): Add missing @gol.
5616 (Directory Options): Likewise.
5617 (i386 and x86-64 Options): Likewise.
5618 (RS6000 and PowerPC Options): Likewise.
5619 (i386 and x86-64 Windows Options): Likewise.
5620 (V850 Options): Add text missing from descriptions.
5621
bdfe906f
RH
56222011-03-22 Richard Henderson <rth@redhat.com>
5623
5624 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
5625 (avr_incoming_return_addr_rtx): New.
5626 (emit_push_byte): New.
5627 (expand_prologue): Use it. Remove incorrect dwarf annotation for
5628 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
5629 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
5630 (emit_pop_byte): New.
5631 (expand_epilogue): Use it. Pop frame pointer by bytes.
5632 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
5633 (INCOMING_RETURN_ADDR_RTX): New.
5634 (INCOMING_FRAME_SP_OFFSET): New.
5635 (ARG_POINTER_CFA_OFFSET): New.
5636 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
5637 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
5638 (pophi): Remove.
5639
d090a5aa
RH
5640 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
5641
fdf3e18a
NF
56422011-03-22 Nathan Froyd <froydnj@codesourcery.com>
5643
5644 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
5645 (FUNCTION_ARG_ADVANCE): Likewise.
5646 * tm.texi.in: Change references to them to hook references.
5647 * tm.texi: Regenerate.
5648 * targhooks.c (default_function_arg): Eliminate check for target
5649 macro.
5650 (default_function_incoming_arg): Likewise.
5651 (default_function_arg_advance): Likewise.
c78dd519 5652 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
fdf3e18a
NF
5653 (function_arg_advance): Likewise.
5654 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
5655
009d3fcf
NF
56562011-03-22 Nathan Froyd <froydnj@codesourcery.com>
5657
5658 * tree.c (build_call_1): New function.
5659 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
5660
7bec30e1
RG
56612011-03-22 Richard Guenther <rguenther@suse.de>
5662
5663 PR tree-optimization/48228
5664 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
5665 for single-arg PHIs.
5666
0b7e851b
AB
56672011-03-22 Andrey Belevantsev <abel@ispras.ru>
5668
5669 PR rtl-optimization/48143
5670 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
5671 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
5672 sse2_cvtps2pd): Likewise.
5673
d89afca5
AK
56742011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5675
5676 * recog.c (canonicalize_change_group): Use validate_unshare_change.
5677
f471fe72
RG
56782011-03-22 Richard Guenther <rguenther@suse.de>
5679
5680 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
5681 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
5682 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
5683 and REALIGN_LOAD_EXPR.
5684 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
5685 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
5686 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
5687 DOT_PROD_EXPR case ...
5688 (expand_expr_real_2): ... here.
5689 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
5690 and REALIGN_LOAD_EXPR.
5691 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
5692 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
5693 (vect_create_epilog_for_reduction): Likewise.
5694 (vectorizable_reduction): Likewise.
5695 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
5696 * tree-vect-stmts.c (vectorizable_load): Likewise.
5697
f2f81d57
EB
56982011-03-22 Eric Botcazou <ebotcazou@adacore.com>
5699
5700 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
5701
ab081dd6
AK
57022011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5703
5704 * config/s390/s390.c (s390_delegitimize_address): Fix offset
5705 handling for PLTOFF/GOTOFF.
5706
6fd5332b
NC
57072011-03-22 Nick Clifton <nickc@redhat.com>
5708
5709 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
5710 trailing backslash from the end of the macro definition.
5711
01841ac0
AK
57122011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5713
5714 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
5715 and PLT unspecs.
5716
2ef6ce06
RS
57172011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
5718
5719 * expr.h (prepare_operand): Move to...
5720 * optabs.h (prepare_operand): ...here and change the insn code
5721 parameter from "int" to "enum insn_code".
5722 (insn_operand_matches): Declare.
5723 * expr.c (init_expr_target): Use insn_operand_matches.
5724 (compress_float_constant): Likewise.
5725 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
5726 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
5727 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
c78dd519
UB
5728 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
5729 Likewise.
2ef6ce06
RS
5730 (gen_cond_trap): Likewise.
5731 (prepare_operand): Likewise. Change icode to an insn_code.
5732 (insn_operand_matches): New function.
5733 * reload.c (find_reloads_address_1): Use insn_operand_matches.
5734 * reload1.c (gen_reload): Likewise.
5735 * targhooks.c (default_secondary_reload): Likewise.
5736
9e43ad68
UB
57372011-03-21 Uros Bizjak <ubizjak@gmail.com>
5738
9a96da32
UB
5739 * config/alpha/alpha.md (unspec): New define_c_enum.
5740 (unspecv): Ditto.
5741
57422011-03-21 Uros Bizjak <ubizjak@gmail.com>
5743
5744 PR debug/48214
9e43ad68
UB
5745 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
5746 between a call and its CALL_ARG_LOCATION note.
5747
31408f60
EB
57482011-03-21 Eric Botcazou <ebotcazou@adacore.com>
5749
5750 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
5751
57522011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
5753
5754 PR c/42544
5755 PR c/48197
5756 * c-common.c (shorten_compare): If primopN is first sign-extended
5757 to opN and then zero-extended to result type, set primopN to opN.
5758
9dfd55f5
DJ
57592011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
5760
5761 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
5762 for barrier handlers.
5763
f3c33d9d
MM
57642011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
5765
5766 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
5767 UNSPEC constants to be in the unspec enumeration, and redefine
5768 all UNSPECV constants to be in the unspecv enumeration, so that
5769 dumps print which unspec/unspec_volatile this is.
5770 * config/rs6000/vector.md (UNSPEC_*): Ditto.
5771 * config/rs6000/paired.md (UNSPEC_*): Ditto.
5772 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
5773 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
5774 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
5775
5776 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
5777 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
5778 UNSPECV_LWSYNC, since these are used as unspec_volatile.
5779 * config/rs6000/sync.md (isync, lwsync): Ditto.
5780
ac43f774
RG
57812011-03-21 Richard Guenther <rguenther@suse.de>
5782
5783 * params.def (lto-min-partition): Fix typo.
5784
411cdbd8
RG
57852011-03-21 Richard Guenther <rguenther@suse.de>
5786
5787 PR c/47939
5788 * c-decl.c (grokdeclarator): Drop to the main variant only
5789 for array types. Drop flag_gen_aux_info check.
5790
1cd9e416
RG
57912011-03-21 Richard Guenther <rguenther@suse.de>
5792
5793 PR translation/47911
5794 * params.def (lto-partitions): Fix typo.
5795 (lto-min-partition): Fix wording.
5796
ada5ad67
AT
57972011-03-21 Andreas Tobler <andreast@fgznet.ch>
5798
5799 * config/rs6000/t-freebsd: Remove duplication from file.
5800
f9613c9a
RG
58012011-03-21 Richard Guenther <rguenther@suse.de>
5802
5803 PR middle-end/47661
5804 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
5805
9bfbc1eb
RG
58062011-03-21 Richard Guenther <rguenther@suse.de>
5807
5808 PR lto/48210
5809 * params.def (lto-partitions): Require at least 1 partition.
5810
a2268084
RO
58112011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5812
5813 * gthr-solaris.h: Remove.
5814 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
5815 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
5816 (LIB_SPEC): Likewise.
5817 * config/sol2.opt (threads): Remove.
9e43ad68 5818 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
5819 (sparc*-*-solaris2*): Likewise.
5820 * configure.ac (enable_threads): Enable solaris support.
5821 * configure: Regenerate.
9e43ad68 5822 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
5823 * doc/install.texi (Configuration, --enable-threads=lib): Remove
5824 solaris.
5825
c43d9a1b
RO
58262011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5827
5828 * config.gcc: Obsolete *-*-solaris2.8*.
5829 * doc/install.texi (Specific, *-*-solaris2*): Document it.
5830
084239f4
RO
58312011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5832
5833 PR bootstrap/48135
5834 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
5835 reference. Solaris 8 perl works.
5836
64cadbe7
RO
58372011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5838
5839 PR bootstrap/48135
5840 * doc/install.texi (Prerequisites): Move jar etc. up.
5841 Explain support library version requirements.
5842
eb975109
RO
58432011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5844
5845 PR bootstrap/48135
5846 * doc/install.texi (Prerequisites): Move Perl to build
5847 requirements. Always necessary on Solaris 2 with Sun ld.
5848
8a509ffd
RO
58492011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5850
5851 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
5852 binutils 2.21.
5853 (Specific, i?86-*-solaris2.[89]): Likewise.
5854 (Specific, i?86-*-solaris2.10): Likewise.
5855 (Specific, mips-sgi-irix6): Likewise.
5856 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
5857 Update for binutils 2.21.
5858
8fbc58a1
RO
58592011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5860
5861 * configure.ac (gcc_cv_lto_plugin): Fix typo.
5862 Allow -fuse-linker-plugin for non-default plugin linker.
5863 * configure: Regenerate.
5864
7e84ad0b
NP
58652011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
5866
5867 PR bootstrap/48167
5868 * gengtype.c (files_rules): Added rule for cp/parser.h.
5869
2f36e14b
JJ
58702011-03-21 Jakub Jelinek <jakub@redhat.com>
5871
5872 PR target/48213
5873 * config/s390/s390.c (s390_delegitimize_address): Don't call
5874 lowpart_subreg if orig_x has BLKmode.
5875
62d784f7
KT
58762011-03-21 Kai Tietz <ktietz@redhat.com>
5877
5878 PR target/12171
9e43ad68
UB
5879 * doc/plugins.texi: Adjust documentation for plugin register_callback.
5880 * tree.h (attribute_spec): Add new member affects_type_identity.
5881 * attribs.c (empty_attribute_table): Adjust attribute_spec
5882 initializers.
62d784f7
KT
5883 * config/alpha/alpha.c: Likewise.
5884 * config/arc/arc.c: Likewise.
5885 * config/arm/arm.c: Likewise.
5886 * config/avr/avr.c: Likewise.
5887 * config/bfin/bfin.c: Likewise.
5888 * config/crx/crx.c: Likewise.
5889 * config/darwin.h: Likewise.
5890 * config/h8300/h8300.c: Likewise.
5891 * config/i386/cygming.h: Likewise.
5892 * config/i386/i386.c: Likewise.
5893 * config/ia64/ia64.c: Likewise.
5894 * config/m32c/m32c.c: Likewise.
5895 * config/m32r/m32r.c: Likewise.
5896 * config/m68hc11/m68hc11.c: Likewise.
5897 * config/m68k/m68k.c: Likewise.
5898 * config/mcore/mcore.c: Likewise.
5899 * config/mep/mep.c: Likewise.
5900 * config/microblaze/microblaze.c: Likewise.
5901 * config/mips/mips.c: Likewise.
5902 * config/rs6000/rs6000.c: Likewise.
5903 * config/rx/rx.c: Likewise.
5904 * config/sh/sh.c: Likewise.
5905 * config/sol2.h: Likewise.
5906 * config/sparc/sparc.c: Likewise.
5907 * config/spu/spu.c: Likewise.
5908 * config/stormy16/stormy16.c: Likewise.
5909 * config/v850/v850.c: Likewise.
5910
54833ec0
CLT
59112011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
5912
5913 * simplify-rtx.c (simplify_binary_operation_1): Handle
5914 (xor (and A B) C) case when B and C are both constants.
5915
14a41392
MX
59162011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
5917
5918 * tree-dfa.c (add_referenced_var): Fix typo in comment.
5919
806c3492
EB
59202011-03-20 Eric Botcazou <ebotcazou@adacore.com>
5921
5922 PR bootstrap/48168
5923 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
5924
65e0a0f3
JJ
59252011-03-20 Jakub Jelinek <jakub@redhat.com>
5926
5927 PR rtl-optimization/48156
5928 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
5929 assume df and df_lr are not NULL.
5930
b6a75dda
RR
59312011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
5932
5933 PR debug/48023
5934 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
5935 between a call and its CALL_ARG_LOCATION note.
5936
5969b52d
KK
59372011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
5938
5939 PR debug/48178
5940 * config/sh/sh.c (find_barrier): Don't emit a constant pool
5941 between a call and its corresponding CALL_ARG_LOCATION note.
5942
f773c2bd
AS
59432011-03-19 Anatoly Sokolov <aesok@post.ru>
5944
5945 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
5946 instead of loop. Use HARD_REGISTER_NUM_P predicate.
5947 * haifa-sched.c (setup_ref_regs): Ditto.
5948 * caller-save.c (add_used_regs_1): Ditto.
5949 * dse.c (look_for_hardregs): Ditto.
5950 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
5951 * sched-rgn.c (check_live_1): Ditto.
5952
8bf872f9
JM
59532011-03-18 Joseph Myers <joseph@codesourcery.com>
5954
5955 * c-decl.c (diagnose_mismatched_decls): Give an error for
5956 redefining a typedef with variably modified type.
5957
ff8e2159
JM
59582011-03-18 Joseph Myers <joseph@codesourcery.com>
5959
5960 * c-decl.c (grokfield): Don't allow typedefs for structures or
5961 unions with no tag by default.
5962 * doc/extend.texi (Unnamed Fields): Update.
5963
16cc4440
UB
59642011-03-18 Uros Bizjak <ubizjak@gmail.com>
5965
5966 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
5967 Rewrite using indirect functions.
5968 (lwp_slwpcb): Ditto.
5969 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
5970 (avx_vinsertf128<mode>): Ditto.
5971
e101e12e
AK
59722011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5973
5974 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
5975 unspecs.
5976
4627c7fb
AK
59772011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5978
5979 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 5980 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 5981
2d36b47f
MK
59822011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
5983
5984 PR rtl-optimization/48170
5985 * gcse.c (hoist_code): Remove bogus asserts.
5986
2a3d7659
JL
59872011-03-18 Georg-Johann Lay <avr@gjlay.de>
5988
5989 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
5990 computation for prologue/epilogue.
5991
34c3ef05
RO
59922011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5993
5994 * Makefile.in (check-consistency): Remove.
5995
81f2b976
JJ
59962011-03-18 Jakub Jelinek <jakub@redhat.com>
5997
5998 PR debug/48176
5999 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
6000 arange_table_in_use is 0, but either text_section_used or
6001 cold_text_section_used is true. Don't call it if
6002 !info_section_emitted.
6003
68fd7765
AS
60042011-03-18 Anatoly Sokolov <aesok@post.ru>
6005
6006 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
6007 FUNCTION_VALUE_REGNO_P): Remove.
6008 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
6009 Remove.
6010 * config/avr/avr.c (avr_ret_register): Make static inline.
6011 (avr_function_value_regno_p): New function.
6012 (avr_libcall_value): Make static. Add 'func' argument.
6013 (avr_function_value): Make static. Rename 'func' argument to
6014 'fn_decl_or_type', forward it to avr_libcall_value. Call
6015 avr_ret_register function instead of RET_REGISTER macro.
6016 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
6017
b4ef8aac
JM
60182011-03-18 Jason Merrill <jason@redhat.com>
6019
6020 PR c++/23372
6021 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
6022
09a52fc3
RG
60232011-03-18 Richard Guenther <rguenther@suse.de>
6024
6025 * doc/install.texi (--enable-gold): Remove.
6026 (--with-plugin-ld): Document.
6027 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
6028
2a3d7659 60292011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
6030
6031 PR middle-end/47790
6032 * expr.c (optimize_bitfield_assignment_op): Revamp to work
6033 again after expansion changes.
6034
2abbb0fe
CLT
60352011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
6036
6037 * combine.c (try_combine): Do simplification only call of
6038 subst() on i2 even when i1 is present. Update comments.
6039
2efd0aa6
KK
60402011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
6041
6042 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
6043 and UNSPEC_PCREL_SYMOFF.
6044
30a49b23
AK
60452011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6046
6047 * config/s390/s390.md: Use define_c_enum for the unspec constant
6048 definitions.
6049
419e1853
JJ
60502011-03-18 Richard Henderson <rth@redhat.com>
6051 Jakub Jelinek <jakub@redhat.com>
6052
6053 PR bootstrap/48161
6054 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
6055 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
6056
37875856
L
60572011-03-17 H.J. Lu <hongjiu.lu@intel.com>
6058
6059 PR middle-end/47725
6060 * combine.c (cant_combine_insn_p): Don't check zero/sign
6061 extended hard registers.
6062
76069764
L
60632011-03-17 H.J. Lu <hongjiu.lu@intel.com>
6064
6065 PR middle-end/47725
6066 * combine.c (cant_combine_insn_p): Check zero/sign extended
6067 hard registers.
6068
24da2019
AS
60692011-03-17 Anatoly Sokolov <aesok@post.ru>
6070
6071 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
6072 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
6073 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
6074 Change return type to bool.
6075 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
6076
a82ff31f
JJ
60772011-03-17 Jakub Jelinek <jakub@redhat.com>
6078
8b29c87a
JJ
6079 PR debug/48163
6080 * var-tracking.c (prepare_call_arguments): If CALL target
6081 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
6082 pc instead of looking it up using cselib_lookup and use
6083 Pmode for it if x has VOIDmode.
6084 * dwarf2out.c (gen_subprogram_die): If also both first and
6085 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
6086
a82ff31f
JJ
6087 PR debug/48163
6088 * function.c (assign_parms): For data.passed_pointer parms
6089 use MEM of data.entry_parm instead of data.entry_parm itself
6090 as DECL_INCOMING_RTL.
6091 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
6092 also when passed and declared mode is the same, DECL_RTL
6093 is a MEM with pseudo as address and DECL_INCOMING_RTL is
6094 a MEM too.
6095
82ce305c
JL
60962011-03-16 Jeff Law <law@redhat.com>
6097
6098 PR rtl-optimization/37273
6099 * ira-costs.c (scan_one_insn): Detect constants living in memory and
6100 handle them like argument loads from stack slots. Do not double
6101 count memory for memory constants and argument loads from stack slots.
6102
fe58e02b
L
61032011-03-17 H.J. Lu <hongjiu.lu@intel.com>
6104
6105 PR debug/48160
6106 * var-tracking.c (prepare_call_arguments): Check SUBREG.
6107
6fc4dbc7
L
61082011-03-17 H.J. Lu <hongjiu.lu@intel.com>
6109
6110 PR target/48171
6111 * config/i386/i386.opt: Add Save to -mavx and -mfma.
6112
db3ed0b3
JJ
61132011-03-17 Jakub Jelinek <jakub@redhat.com>
6114
8054a389
JJ
6115 PR bootstrap/48153
6116 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
6117 if dwarf_strict.
6118 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
6119 Clear call_arg_locations and call_arg_loc_last always.
6120
db3ed0b3
JJ
6121 PR middle-end/48152
6122 * var-tracking.c (prepare_call_arguments): If argument needs to be
6123 passed by reference, adjust argtype and mode.
6124
1bce4ff3
RG
61252011-03-17 Richard Guenther <rguenther@suse.de>
6126
6127 PR middle-end/48134
6128 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
6129 a value make sure to fold the statement.
6130
7c71147d
CLT
61312011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
6132
6133 PR target/43872
6134 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
6135 return condition with !cfun->calls_alloca.
6136
0e1ee172
RG
61372011-03-17 Richard Guenther <rguenther@suse.de>
6138
6139 PR bootstrap/48148
6140 * lto-cgraph.c (input_overwrite_node): Clear the abstract
6141 origin for decls in other ltrans units.
6142 (input_varpool_node): Likewise.
6143
f8bce518
RG
61442011-03-17 Richard Guenther <rguenther@suse.de>
6145
6146 PR middle-end/48165
6147 * tree-object-size.c (compute_object_offset): Properly return
6148 the offset operand of MEM_REFs as sizetype.
6149
1b6fa860
JJ
61502011-03-17 Jakub Jelinek <jakub@redhat.com>
6151
dabd47e7
JJ
6152 PR rtl-optimization/48141
6153 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
6154 * dse.c: Include params.h.
6155 (active_local_stores_len): New variable.
6156 (add_wild_read, dse_step1): Clear it when setting active_local_stores
6157 to NULL.
6158 (record_store, check_mem_read_rtx): Decrease it when removing
6159 from the chain.
6160 (scan_insn): Likewise. Increase it when adding to chain, if it
6161 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
6162 set active_local_stores to NULL before the addition.
6163 * Makefile.in (dse.o): Depend on $(PARAMS_H).
6164
1b6fa860
JJ
6165 PR rtl-optimization/48141
6166 * dse.c (record_store): If no positions are needed in an insn
6167 that cannot be deleted, at least unchain it from active_local_stores.
6168
7b5cb7d6
DS
61692011-03-16 Dodji Seketeli <dodji@redhat.com>
6170
6171 PR debug/47510
6172 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
6173 (lookup_type_die_strip_naming_typedef): ... here.
6174 (get_context_die): Use it.
6175 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
6176 the anonymous struct named by the naming typedef.
6177
585e9d9d
L
61782011-03-16 H.J. Lu <hongjiu.lu@intel.com>
6179
6180 PR target/48154
6181 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
6182 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
6183
6261ab0e
JL
61842011-03-16 Jeff Law <law@redhat.com>
6185
6186 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 6187 check for operands of conditional. Allow type to be a pointer.
6261ab0e 6188
0b0081ec
RG
61892011-03-16 Richard Guenther <rguenther@suse.de>
6190
6191 PR tree-optimization/48149
6192 * fold-const.c (fold_binary_loc): Fold
6193 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
6194
64a3d647
RG
61952011-03-16 Richard Guenther <rguenther@suse.de>
6196
6197 PR tree-optimization/26134
6198 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
6199 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
6200 (non_rewritable_mem_ref_base): Handle complex type component
6201 accesses, constrain offsets for vector and complex extracts
6202 more properly.
6203
ef13324e
RG
62042011-03-16 Richard Guenther <rguenther@suse.de>
6205
6206 PR tree-optimization/48146
6207 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
6208 operands avoiding the need for renaming.
6209
f0eddb90
RG
62102011-03-16 Richard Guenther <rguenther@suse.de>
6211
6212 * gimple-fold.c (maybe_fold_reference): Open-code relevant
6213 constant folding. Move MEM_REF canonicalization first.
6214 Rely on fold_const_aggregate_ref for initializer folding.
6215 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
6216
e42348b8
JJ
62172011-03-16 Jakub Jelinek <jakub@redhat.com>
6218
29f10e71
JJ
6219 PR middle-end/48136
6220 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
6221 arg0/arg1 or their arguments are always fold converted to matching
6222 types.
6223
e42348b8
JJ
6224 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
6225 to nargs.
6226
55b46574
RO
62272011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6228
6229 PR lto/46944
6230 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
6231 Handle in-tree gold.
6232 (ld_vers): Extract binutils version for gold.
6233 (gcc_cv_ld_hidden): Handle gold here.
6234 (gcc_cv_lto_plugin): Determine level of linker plugin support.
6235 * configure: Regenerate.
6236 * config.in: Regenerate.
6237 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
6238 -fuse-linker-plugin otherwise.
6239 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
6240 (LINK_COMMAND_SPEC): Use it.
6241 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
6242
2b1c5433
JJ
62432011-03-16 Jakub Jelinek <jakub@redhat.com>
6244
c2969d8e
JJ
6245 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
6246 * calls.c: Remove debug.h include.
6247 (emit_call_1): Don't call virtual_call_token debug hook.
6248 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
6249 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
6250 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
6251 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
6252 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
6253 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
6254 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
6255 dwarf2out_virtual_call): Remove.
6256 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
6257 copy_call_info and virtual_call hooks.
6258 (dwarf2out_init): Don't initialize vcall_insn_table,
6259 debug_dcall_section and debug_vcall_section.
6260 (prune_unused_types): Don't mark nodes from dcall_table.
6261 (dwarf2out_finish): Don't output dcall or vcall tables.
6262 * final.c (final_scan_insn): Don't call direct_call or
6263 virtual_call debug hooks.
6264 * debug.h (struct gcc_debug_hooks): Remove direct_call,
6265 virtual_call_token, copy_call_info and virtual_call hooks.
6266 (debug_nothing_uid): Remove prototype.
6267 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
6268 copy_call_info and virtual_call hooks.
6269 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
6270 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
6271 * debug.c (do_nothing_debug_hooks): Likewise.
6272 (debug_nothing_uid): Remove.
6273 * doc/invoke.texi (-fenable-icf-debug): Remove.
6274 * common.opt (-fenable-icf-debug): Likewise.
6275
325f5379
JJ
6276 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
6277 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
6278 call's MEM. Handle functions returning aggregate through a hidden
6279 first pointer. For virtual calls add clobbered pc to call arguments
6280 chain.
6281 * dwarf2out.c (gen_subprogram_die): Emit
6282 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
6283 can't be emitted.
6284
a58a8e4b
JJ
6285 PR debug/45882
6286 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
6287 * rtl.h (ENTRY_VALUE_EXP): Define.
6288 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
6289 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
6290 * print-rtl.c (print_rtx): Likewise.
6291 * gengtype.c (adjust_field_rtx_def): Likewise.
6292 * var-tracking.c (vt_add_function_parameter): Adjust
6293 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
6294 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
6295 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
6296 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
6297 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
6298
2b1c5433
JJ
6299 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
6300 Call var_location debug hook even on CALL_INSNs.
6301 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
6302 * rtl.def (ENTRY_VALUE): New.
6303 * dwarf2out.c: Include cfglayout.h.
6304 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
6305 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
6306 (struct call_arg_loc_node): New type.
6307 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
6308 tail_call_site_count): New variables.
6309 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
6310 DW_TAG_GNU_call_site_parameter.
6311 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
6312 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
6313 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
6314 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
6315 and DW_AT_GNU_all_source_call_sites.
6316 (mem_loc_descriptor): Handle ENTRY_VALUE.
6317 (add_src_coords_attributes): Don't add enything if
6318 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
6319 (dwarf2out_abstract_function): Save and clear call_arg_location,
6320 call_site_count and tail_call_site_count around dwarf2out_decl call.
6321 (gen_call_site_die): New function.
6322 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
6323 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
6324 (dwarf2out_function_decl): Clear call_arg_locations,
6325 call_arg_loc_last, set call_site_count and tail_call_site_count
6326 to -1 and free block_map.
6327 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
6328 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
6329 followed by any real instructions.
6330 (dwarf2out_begin_function): Set call_site_count and
6331 tail_call_site_count to 0.
6332 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
6333 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
6334 attempt to force a DIE for it and worst case remove the attribute.
6335 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
6336 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
6337 the decl itself.
6338 * var-tracking.c: Include tm_p.h.
6339 (vt_stack_adjustments): For calls call note_register_arguments.
6340 (argument_reg_set): New variable.
6341 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
6342 ensure the VALUE is resolved.
6343 (call_arguments): New variable.
6344 (prepare_call_arguments): New function.
6345 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
6346 (struct expand_loc_callback_data): Add ignore_cur_loc field.
6347 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
6348 always use the best expression.
6349 (vt_expand_loc): Add ignore_cur_loc argument.
6350 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
6351 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
6352 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
6353 note for all calls.
6354 (vt_add_function_parameter): Use cselib_lookup_from_insn.
6355 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
6356 argument. Don't call cselib_preserve_only_values and
6357 cselib_reset_table.
6358 (note_register_arguments): New function.
6359 (vt_initialize): Compute argument_reg_set. Call
6360 vt_add_function_parameters before processing basic blocks instead of
6361 afterwards. For calls call prepare_call_arguments before calling
6362 cselib_process_insn.
6363 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
6364 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
6365 (var-tracking.o): Depend on $(TM_P_H).
6366 * cfglayout.h (insn_scope): New prototype.
6367 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
6368 * cfglayout.c (insn_scope): No longer static.
6369 * insn-notes.def (CALL_ARG_LOCATION): New.
6370 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
6371 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
6372 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
6373 nothing for DECL_EXTERNAL BLOCK_VARS.
6374
9ef13bd0
AM
63752011-03-16 Alan Modra <amodra@gmail.com>
6376
6377 PR target/45844
6378 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
6379 create invalid offset address for vsx splat insn.
6380 * config/rs6000/predicates.md (splat_input_operand): New.
6381 * config/rs6000/vsx.md (vsx_splat_*): Use it.
6382
56b67510
XDL
63832011-03-15 Xinliang David Li <davidxl@google.com>
6384
6385 PR c/47837
6386 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
6387 (normalize_preds): New function.
6388 (is_use_properly_guarded): Normalize def predicates.
6389
80fffdef
RR
63902011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
6391
732f37c6 6392 PR target/46788
80fffdef
RR
6393 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
6394 in the output template.
6395
930672ad
RG
63962011-03-15 Richard Guenther <rguenther@suse.de>
6397
6398 PR middle-end/47650
6399 * tree-pretty-print.c (dump_function_declaration): Properly
6400 dump unprototyped and varargs function types.
6401
c7ee7b45
RG
64022011-03-15 Richard Guenther <rguenther@suse.de>
6403
6404 PR tree-optimization/13954
6405 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
6406 and friends.
6407
b2ad5e37
RG
64082011-03-15 Richard Guenther <rguenther@suse.de>
6409
6410 PR tree-optimization/48037
6411 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
6412 selects into BIT_FIELD_REFs.
6413 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
6414 vector select.
6415
7ee93d4e
JJ
64162011-03-15 Jakub Jelinek <jakub@redhat.com>
6417
6418 PR tree-optimization/48129
6419 * builtins.c (fold_builtin_snprintf): Convert to type of
6420 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
6421 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
6422
e106efc7
RG
64232011-03-15 Richard Guenther <rguenther@suse.de>
6424
6425 PR tree-optimization/41490
6426 * tree-ssa-dce.c (propagate_necessity): Handle returns without
6427 value but with VUSE.
6428 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
6429 return statements.
6430 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
6431 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
6432 * tree-tailcall.c (find_tail_calls): Ignore returns.
6433
17dea42f
RG
64342011-03-15 Richard Guenther <rguenther@suse.de>
6435
6436 PR middle-end/48031
6437 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
6438 or variable-indexed array accesses when in gimple form.
6439
01c77a60
RG
64402011-03-15 Richard Guenther <rguenther@suse.de>
6441
16cc4440 6442 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 6443
77b0791e
AM
64442011-03-15 Alan Modra <amodra@gmail.com>
6445
6446 PR target/48032
6447 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
6448 presume symbol_refs without a symbol_ref_decl are suitably
6449 aligned, nor other trees we may see here. Handle anchor symbols.
6450 (legitimate_constant_pool_address_p): Comment. Add mode param.
6451 Check cmodel=medium addresses. Adjust all calls.
6452 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
6453 creating cmodel=medium optimized access to locals.
6454 * config/rs6000/constraints.md (R): Pass QImode to
6455 legitimate_constant_pool_address_p.
6456 * config/rs6000/predicates.md (input_operand): Pass mode to
6457 legitimate_constant_pool_address_p.
6458 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
6459 Update prototype.
6460
35f61ba4
MM
64612011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
6462
6463 PR target/48053
6464 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
6465 64-bit constants being loaded into registers other than GPRs such
6466 as loading 0 into a VSX register.
6467
07332e6d
RO
64682011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6469
16cc4440 6470 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 6471
de888d90
JJ
64722011-03-14 Jakub Jelinek <jakub@redhat.com>
6473
ba3ceb2d
JJ
6474 PR middle-end/47917
6475 * builtins.c (fold_builtin_snprintf): New function.
6476 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
6477 (fold_builtin_4): Likewise.
6478
2e64f8b8
JJ
6479 PR middle-end/38878
6480 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
6481 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
6482 and C - X == X also strip nops from +/-/p+ operand.
6483 When optimizing -X == C, fold C to arg0's type.
6484
de888d90
JJ
6485 PR debug/47946
6486 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
6487 emit it as add_AT_int instead of add_AT_unsigned.
6488
64892011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
6490
6491 * unwind-dw2.c: Include sys/sdt.h if it exists.
6492 (_Unwind_DebugHook): Use STAP_PROBE2.
6493 * config.in, configure: Rebuild.
6494 * configure.ac: Check for sys/sdt.h.
6495
d34abfd2
UB
64962011-03-14 Uros Bizjak <ubizjak@gmail.com>
6497
6498 * config/i386/i386.md (ROUND_FLOOR): New constant.
6499 (ROUND_CEIL): Ditto.
6500 (ROUND_TRUNC): Ditto.
6501 (ROUND_MXCSR): Ditto.
6502 (ROUND_NO_EXC): Ditto.
6503 (rint<mode>2): Use new defines instead of numerical constants.
6504 (floor<mode>2): Ditto.
6505 (ceil<mode>2): Ditto.
6506 (btrunc<mode>2): Ditto.
6507 * config/i386/i386-builtin-types.def: Define ROUND function type
6508 aliases.
6509 * config/i386/i386.c (enum ix86_builtins): Add
6510 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
6511 (struct builtin_description): Add
6512 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
6513 (ix86_expand_sse_round): New static function.
6514 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
6515 function types.
6516 (ix86_builtin_vectorized_function): Handle
6517 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
6518
87f9e23d
TT
65192011-03-14 Tom Tromey <tromey@redhat.com>
6520
6521 * c-parser.c (c_parser_asm_string_literal): Clear
6522 warn_overlength_strings.
6523
b3ab9ea2
TT
65242011-03-14 Tom Tromey <tromey@redhat.com>
6525
6526 * c-parser.c (disable_extension_diagnostics): Save
6527 warn_overlength_strings.
6528 (restore_extension_diagnostics): Restore warn_overlength_strings.
6529
6bd73dd8
JJ
65302011-03-14 Jakub Jelinek <jakub@redhat.com>
6531
6532 * BASE-VER: Change to 4.7.0.
6533
7f4d6e1b
RG
65342011-03-14 Richard Guenther <rguenther@suse.de>
6535
6536 PR middle-end/48098
6537 * tree.c (build_vector_from_val): Adjust assert to requirements
6538 and reality.
6539
c6104ef1
JJ
65402011-03-14 Jakub Jelinek <jakub@redhat.com>
6541
6542 PR bootstrap/48102
d34abfd2 6543 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 6544
dfa95e19
AT
65452011-03-14 Andreas Tobler <andreast@fgznet.ch>
6546
f60c2554 6547 * config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP): Define in
dfa95e19
AT
6548 terms of target_flags_explicit. Adjust copyright year.
6549
6550 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
6551 * config/rs6000/t-freebsd: New file. Add override for
6552 LIB2FUNCS_EXTRA.
6553
bb322018
CD
65542011-03-13 Chris Demetriou <cgd@google.com>
6555
6556 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
6557 (-fno-diagnostics-show-option): this, to reflect current default.
6558 (-Werror=): Update text about -fno-diagnostics-show-option.
6559
12b1c80b
PB
65602011-03-12 Peter Bergner <bergner@vnet.ibm.com>
6561
6562 PR target/48053
6563 * config/rs6000/predicates.md (easy_vector_constant_add_self,
6564 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
6565 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
6566 mode is not V2DImode or V2DFmode.
6567 (vspltis_constant): Do not handle V2DImode and V2DFmode.
6568 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
6569 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
6570 registers to 0.
6571 (movdi_internal64): Likewise.
6572
57d598f7
SP
65732011-03-12 Sebastian Pop <sebastian.pop@amd.com>
6574
6575 PR tree-optimization/47127
6576 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
6577 parameter.
6578 (set_cloog_options): Same.
6579 (scop_to_clast): Same.
6580 (print_clast_stmt): Do not call cloog_state_malloc and
6581 cloog_state_free.
6582 (print_generated_program): Same.
6583 (gloog): Same.
6584 * graphite-clast-to-gimple.h (cloog_state): Declared.
6585 (scop_to_clast): Adjust declaration.
6586 * graphite.c (cloog_state): Defined here.
6587 (graphite_initialize): Call cloog_state_malloc.
6588 (graphite_finalize): Call cloog_state_free.
6589
f231b5ff
JM
65902011-03-11 Jason Merrill <jason@redhat.com>
6591
6592 * attribs.c (lookup_attribute_spec): Take const_tree.
6593 * tree.h: Adjust.
6594
6a4e2bd5
JM
65952011-03-11 Joseph Myers <joseph@codesourcery.com>
6596
6597 * config/sparc/sparc.c (sparc_option_override): Use
6598 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
6599
a758fd67
RG
66002011-03-11 Richard Guenther <rguenther@suse.de>
6601
6602 PR tree-optimization/48067
6603 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
6604 multiplication result will be only used once on the target
6605 stmt.
6606
03dfda54
RG
66072011-03-11 Richard Guenther <rguenther@suse.de>
6608
6609 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
6610
5f11a50a
RG
66112011-03-11 Richard Guenther <rguenther@suse.de>
6612
6613 PR lto/48073
6614 * tree.c (find_decls_types_r): Do not walk types only reachable
6615 from IDENTIFIER_NODEs.
6616
4074f163
JJ
66172011-03-11 Jakub Jelinek <jakub@redhat.com>
6618
6619 PR middle-end/48044
6620 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
6621 all vnode->force_output nodes as needed.
6622
30f7cdcd
JM
66232011-03-11 Jason Merrill <jason@redhat.com>
6624
6625 PR c++/48069
6626 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
6627 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
6628
62ecfeb8
MJ
66292011-03-11 Martin Jambor <mjambor@suse.cz>
6630
6631 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
6632 cgraph_node.
6633
e89e03ab
JJ
66342011-03-11 Jakub Jelinek <jakub@redhat.com>
6635
6636 PR tree-optimization/48063
6637 * ipa-inline.c (cgraph_decide_inlining): Don't try to
6638 inline functions called once if !tree_can_inline_p (node->callers).
6639
efbe978b 66402011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 6641
efbe978b
EB
6642 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
6643 extra_objs.
9d6193a7
CL
6644 * config/score/score3.c: Delete.
6645 * config/score/score3.h: Delete.
6646 * config/score/mul-div.S: Delete.
6647 * config/score/sfp-machine.h: Add new file.
6648 * config/score/constraints.md: Add new file.
6649 * config/score/t-score-softfp: Add new file.
efbe978b 6650 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
6651 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
6652 (score7_extra_constraint): Delete.
efbe978b 6653 (score7_option_override): Remove unused code.
9d6193a7
CL
6654 * config/score/score.c: Remove score3 and score5 define and code.
6655 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 6656 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
6657 * config/score/score.opt: Remove score3 and score5 options.
6658
5de27cca
JDA
66592011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6660
6661 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
6662 when _HPUX_SOURCE is defined.
6663 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
6664
18d92053
JM
66652011-03-10 Jason Merrill <jason@redhat.com>
6666
6667 PR c++/48029
6668 * stor-layout.c (layout_type): Don't set structural equality
6669 on arrays of incomplete type.
6670 * tree.c (type_hash_eq): Handle comparing them properly.
6671
67a2f76d
JJ
66722011-03-10 Jakub Jelinek <jakub@redhat.com>
6673
6674 PR debug/48043
18d92053 6675 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
6676 result mode matches original rtl mode.
6677
d845b2f9
NC
66782011-03-10 Nick Clifton <nickc@redhat.com>
6679
6680 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 6681 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 6682
db7ec035
JJ
66832011-03-09 Jakub Jelinek <jakub@redhat.com>
6684
6685 PR rtl-optimization/47866
6686 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
6687 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
6688 if target wasn't scalar.
6689 * function.c (assign_stack_temp_for_type): Assert that neither
6690 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
6691 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
6692 macro.
6693 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
6694
5d304e47
AK
66952011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6696
6697 * config/s390/s390-protos.h (s390_label_align): New prototype.
6698 * config/s390/s390.c (s390_label_align): New function.
6699 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
6700
93b826f0
MM
67012011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
6702
6703 PR target/47755
6704 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
6705 V2DI/V2DF constants. Only all 0's or all 1's are easy.
6706 (output_vec_const_move): Ditto.
6707
ef78aed6
AS
67082011-03-08 Anatoly Sokolov <aesok@post.ru>
6709
6710 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
6711 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
6712 * config/mips/mips.c (mips_preferred_reload_class): Make static.
6713 Change 'rclass' argument and result type to reg_class_t.
6714 (TARGET_PREFERRED_RELOAD_CLASS): Define.
6715
5f892aa0
GJL
67162011-03-08 Georg-Johann Lay <avr@gjlay.de>
6717
9e43ad68
UB
6718 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
6719 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
6720 (TARGET_MEMORY_MOVE_COST): Define.
6721 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 6722
32bd2409
JJ
67232011-03-08 Jakub Jelinek <jakub@redhat.com>
6724
530a4800
JJ
6725 PR debug/47881
6726 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
6727 removed anything.
6728
32bd2409
JJ
6729 PR tree-optimization/48022
6730 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
6731 for EQ/NE_EXPR.
6732
c7148991
JJ
67332011-03-07 Jakub Jelinek <jakub@redhat.com>
6734
6735 PR debug/47991
6736 * var-tracking.c (find_use_val): Return NULL for
6737 cui->sets && cui->store_p BLKmode MEMs.
6738
43070a6e
AS
67392011-03-07 Anatoly Sokolov <aesok@post.ru>
6740
6741 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
6742 Remove.
6743 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
6744 xstormy16_print_operand_address): Remove.
6745 * config/stormy16/stormy16.c (xstormy16_print_operand,
6746 xstormy16_print_operand_address): Make static.
6747 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
6748
efbe978b 67492011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
6750
6751 PR target/47862
6752 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
6753 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
6754 before definition.
6755
cec8ac0b
ZD
67562011-03-07 Zdenek Dvorak <ook@ucw.cz>
6757
6758 PR bootstrap/48000
6759 * cfgloopmanip.c (fix_bb_placements): Return immediately
6760 if FROM is BASE_LOOP's header.
6761
59527282
PW
67622011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
6763
6764 * gimplify.c (gimplify_function_tree): Fix building calls
6765 to __builtin_return_address.
6766
617718f7
AM
67672011-03-07 Alan Modra <amodra@gmail.com>
6768
6769 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
6770 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
6771 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
6772 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
6773 return_mode args.
6774 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
6775 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
6776 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
6777 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
6778 * config/rs6000/rs6000.c
6779 (rs6000_elf_end_indicate_exec_stack): Rename to..
6780 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
6781 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
6782 (rs6000_file_start): ..here.
6783 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
6784 file scope variables.
6785 (call_ABI_of_interest): New function.
6786 (init_cumulative_args): Set above vars when function return value
6787 is a float, vector, or small struct.
6788 (rs6000_function_arg_advance_1): Likewise for function args.
6789 (rs6000_va_start): Set rs6000_passes_float if variable arg function
6790 references float args.
6791
38528d50
MX
67922011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
6793
6794 * doc/cfg.texi: Remove "See" before @ref.
6795 * doc/invoke.texi: Likewise.
6796
f42cf4f4
JM
67972011-03-05 Jason Merrill <jason@redhat.com>
6798
6799 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
6800
804a304d
AG
68012011-03-05 Anthony Green <green@moxielogic.com>
6802
6803 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
6804
634ee309
ZD
68052011-03-05 Zdenek Dvorak <ook@ucw.cz>
6806
6807 PR rtl-optimization/47899
6808 * cfgloopmanip.c (fix_bb_placements): Fix first argument
6809 to flow_loop_nested_p when moving the loop upward.
6810
6fe471c8
RE
68112011-03-05 Richard Earnshaw <rearnsha@arm.com>
6812
6813 PR target/47719
6814 * arm.md (movhi_insn_arch4): Accept any immediate constant.
6815
cc58ceee
JJ
68162011-03-05 Jakub Jelinek <jakub@redhat.com>
6817
6818 PR tree-optimization/47967
6819 * ipa-cp.c (build_const_val): Return NULL instead of creating
6820 VIEW_CONVERT_EXPR for mismatching sizes.
6821 (ipcp_create_replace_map): Return NULL if build_const_val failed.
6822 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
6823 give up on versioning.
6824
ea868305
AM
68252011-03-05 Alan Modra <amodra@gmail.com>
6826
6827 PR target/47986
6828 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
6829 full cmodel medium/large lo_sum + high addresses.
6830
bc6ce334
AK
68312011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6832
6833 * config/s390/s390.c (s390_decompose_address): Reject non-literal
6834 pool references in UNSPEC_LTREL_OFFSET.
6835
87e7b310
JH
68362011-03-04 Jan Hubicka <jh@suse.cz>
6837
6838 PR lto/47497
6839 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
6840 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
6841 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
6842 Add node pointers.
87e7b310
JH
6843 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
6844 cgraph_add_thunk): Add node pointers.
6845 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
6846 associated to right node.
6847 (input_node): Update use of cgraph_same_body_alias
6848 and cgraph_add_thunk.
6849
d9c64246
CF
68502011-03-04 Changpeng Fang <changpeng.fang@amd.com>
6851
6852 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
6853 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
6854 modes when the flag -mprefer-avx128 is on.
d9c64246 6855
08707076
RS
68562011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
6857
6858 * dwarf2out.c (compare_loc_operands): Fix address handling.
6859
52517c81
AM
68602011-03-04 Alan Modra <amodra@gmail.com>
6861
6862 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
6863
b147c5b9
RG
68642011-03-04 Richard Guenther <rguenther@suse.de>
6865
6866 PR middle-end/47968
6867 * expmed.c (extract_bit_field_1): Prefer vector modes that
6868 vec_extract patterns can handle.
6869
8750672f
RG
68702011-03-04 Richard Guenther <rguenther@suse.de>
6871
6872 PR middle-end/47975
6873 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
6874
9eac0f2a
RH
68752011-03-04 Richard Henderson <rth@redhat.com>
6876
6877 * explow.c (emit_stack_save): Remove 'after' parameter.
6878 (emit_stack_restore): Likewise.
6879 * expr.h: Update to match.
6880 * builtins.c, calls.c, stmt.c: Likewise.
6881 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
6882 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
6883 * function.c (expand_function_end): Insert the emit_stack_save
6884 sequence before parm_birth_insn instead of after.
6885
dfee1406
UB
68862011-03-03 Uros Bizjak <ubizjak@gmail.com>
6887
6888 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
6889 (ssse3_pmaddubsw128): Ditto.
6890 (ssse3_pmaddubsw): Ditto.
6891
f1d4c3de
SE
68922011-03-03 Steve Ellcey <sje@cup.hp.com>
6893
6894 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
6895
71f3a3f5
JJ
68962011-03-03 Jakub Jelinek <jakub@redhat.com>
6897
423ed416
JJ
6898 PR c/47963
6899 * gimplify.c (omp_add_variable): Only call omp_notice_variable
6900 on TYPE_SIZE_UNIT if it is a DECL.
6901
71f3a3f5
JJ
6902 PR debug/47283
6903 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
6904 first operand is not is_gimple_mem_ref_addr, try to fold it.
6905 If the operand still isn't is_gimple_mem_ref_addr, clear
6906 MEM_EXPR on op0.
6907
4b1a5c0d
RG
69082011-03-03 Richard Guenther <rguenther@suse.de>
6909
6910 PR middle-end/47283
6911 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
6912 match comment.
6913 (refs_may_alias_p_1): For release branches return true if
6914 we are confused by our input.
6915
b46616fd
AK
69162011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6917
6918 * config/s390/s390.c (s390_function_value): Rename to ...
6919 (s390_function_and_libcall_value): ... this.
6920 (s390_function_value): New function.
6921 (s390_libcall_value): New function.
dfee1406 6922 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
6923 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
6924 target macro definitions.
6925 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
6926
46d8fabb
JM
69272011-03-02 Joseph Myers <joseph@codesourcery.com>
6928
6929 * config/i386/freebsd64.h (CC1_SPEC): Define.
6930 * config/i386/linux64.h (CC1_SPEC): Define.
6931 * config/i386/x86-64.h (CC1_SPEC): Don't define.
6932
6b1ce545
AS
69332011-03-02 Anatoly Sokolov <aesok@post.ru>
6934
6935 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
6936 Remove.
6937 * config/stormy16/stormy16.c: Include reload.h.
6938 (xstormy16_memory_move_cost): New function.
6939 (TARGET_MEMORY_MOVE_COST): Define.
6940
34161e98
RS
69412011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
6942
6943 PR rtl-optimization/47925
6944 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
6945 with side effects. Remove the more-specific check for volatile asms.
6946
f60a97cf
AM
69472011-03-02 Alan Modra <amodra@gmail.com>
6948
6949 PR target/47935
6950 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
6951 toc relative addresses for valid offsets.
6952
f2ca11ca
RG
69532011-03-01 Richard Guenther <rguenther@suse.de>
6954
6955 PR tree-optimization/47890
6956 * tree-vect-loop.c (get_initial_def_for_induction): Set
6957 related stmt properly.
6958
7a00d9ea
RG
69592011-03-01 Richard Guenther <rguenther@suse.de>
6960
6961 PR lto/47924
6962 * lto-streamer.c (lto_record_common_node): Also register
6963 the canonical type.
6964
06c7edcc
RG
69652011-03-01 Richard Guenther <rguenther@suse.de>
6966
6967 PR lto/46911
6968 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
6969 Do not stream DECL_ABSTRACT_ORIGIN.
6970 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
6971 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
6972 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
6973 Do not stream DECL_ABSTRACT_ORIGIN.
6974 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
6975 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
6976
998871e9
AS
69772011-02-28 Anatoly Sokolov <aesok@post.ru>
6978
6979 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
6980 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 6981 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
6982 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
6983 Add 'outgoing' argument.
6984 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
6985 function.
6986 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
6987 TARGET_FUNCTION_VALUE_REGNO_P): Define.
6988
94369251
KT
69892011-02-28 Kai Tietz <kai.tietz@onevision.com>
6990
6991 PR debug/28047
6992 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
6993 (lookup_filename): Likewise.
b2e2ea67 6994 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 6995
80a832cd
JJ
69962011-02-28 Bernd Schmidt <bernds@codesourcery.com>
6997 Jakub Jelinek <jakub@redhat.com>
6998
6999 PR middle-end/47893
7000 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
7001 (assign_stack_local_1): Change last argument type to int.
7002 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
7003 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 7004 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
7005 (assign_stack_local): Adjust caller.
7006 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
7007 of assign_stack_local, pass 0 as last argument.
7008 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
7009 callers.
7010
1b500976
JJ
70112011-02-28 Jakub Jelinek <jakub@redhat.com>
7012
f61c6f34
JJ
7013 PR debug/47283
7014 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
7015 Use target address_mode and pointer_mode hooks instead of hardcoded
7016 Pmode and ptr_mode. Handle some simple cases of extending if
7017 POINTERS_EXTEND_UNSIGNED < 0.
7018 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
7019 Call convert_debug_memory_address.
7020 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
7021 convert_debug_memory_address.
7022
1b500976
JJ
7023 PR middle-end/46790
7024 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
7025 * configure: Regenerated.
7026 * config.in: Regenerated.
7027 * varasm.c (default_function_section): Return NULL
b2e2ea67 7028 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 7029
2f2935b6
MJ
70302011-02-28 Martin Jambor <mjambor@suse.cz>
7031
7032 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
7033 the description to match the printed values.
7034
474086eb
RG
70352011-02-28 Richard Guenther <rguenther@suse.de>
7036
7037 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
7038 of the copied scope tree.
7039
15bf6f3a
RW
70402011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7041
7042 * doc/extend.texi (Function Attributes): Avoid deeply (and
7043 wrongly) nested tables.
7044
f6b439c9
JJ
70452011-02-27 Jakub Jelinek <jakub@redhat.com>
7046
7047 PR middle-end/47903
7048 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
7049 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
7050 r isn't op0 nor op1.
7051
1d8ca2c7
GJL
70522011-02-23 Georg-Johann Lay <avr@gjlay.de>
7053
7054 * config/avr/avr.md: Remove magic comment for emacs.
7055
593fca4b
GJL
70562011-02-23 Georg-Johann Lay <avr@gjlay.de>
7057
7058 PR target/45261
7059 * config/avr/avr.c (avr_option_override): Use error on bad options.
7060 (avr_help): New function.
7061 (TARGET_HELP): Define.
7062
6609216e
GJL
70632011-02-22 Georg-Johann Lay <avr@gjlay.de>
7064
7065 PR target/42240
7066 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
7067 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
7068
03d458af
GP
70692011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
7070
7071 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
7072 (ARM Options): Ditto.
7073 (i386 and x86-64 Options): Ditto.
7074 (RX Options): Ditto.
7075 (SPARC Options): Ditto.
7076
1c379b78
TC
70772011-02-26 Tijl Coosemans <tijl@coosemans.org>
7078
7079 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
7080 FreeBSD 6 and later. Generally use cpu generic.
7081
d5ed058c 70822011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 7083
d5ed058c
GP
7084 * doc/cpp.texi: Update copyright years.
7085
509d65dd 70862011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 7087
509d65dd 7088 PR target/46898
308d39cd
SB
7089 * config/lm32/lm32.md (ashrsi3): Added needed variable.
7090
509d65dd 70912011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 7092
509d65dd 7093 PR target/46898
308d39cd
SB
7094 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
7095 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
7096 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
7097 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 7098 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
7099 (gen_int_relational): Move declarations to start of function.
7100
822ba6d7
EB
71012011-02-25 Eric Botcazou <ebotcazou@adacore.com>
7102
7103 PR tree-optimization/45470
7104 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
7105 can throw internally only.
7106 * tree-vect-stmts.c (vectorizable_call): Likewise.
7107
ef795fc2
AS
71082011-02-24 Anatoly Sokolov <aesok@post.ru>
7109
7110 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
7111 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
7112 * config/stormy16/stormy16-protos.h
7113 (xstormy16_preferred_reload_class): Remove.
7114 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
7115 static. Change 'rclass' argument and return type to reg_class_t.
7116 (TARGET_PREFERRED_RELOAD_CLASS,
7117 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
7118
1c3277ee
RG
71192011-02-24 Richard Guenther <rguenther@suse.de>
7120
7121 * lto-streamer-in.c (input_bb): Do not find referenced vars
7122 in debug statements.
7123
67e18edb
JM
71242011-02-23 Jason Merrill <jason@redhat.com>
7125
7126 * common.opt (fabi-version): Document v5 and v6.
7127
b14fad9d
RG
71282011-02-23 Richard Guenther <rguenther@suse.de>
7129
7130 PR tree-optimization/47849
7131 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
7132
7fcf46f5
JZ
71332011-02-23 Jie Zhang <jie@codesourcery.com>
7134
7135 * opts-common.c (decode_cmdline_option): Print empty string
7136 argument as "" in decoded->orig_option_with_args_text.
7137 * gcc.c (execute): Print empty string argument as ""
7138 in the verbose output.
7139 (do_spec_1): Keep empty string argument.
7140
f85b70fd
NF
71412011-02-23 Nathan Froyd <froydnj@codesourcery.com>
7142
7143 * config.gcc: Declare score-* and crx-* obsolete.
7144
b152a615
JZ
71452011-02-23 Jie Zhang <jie@codesourcery.com>
7146
7147 PR rtl-optimization/47763
7148 * web.c (web_main): Ignore naked clobber when replacing register.
7149
bb6e77bc
AS
71502011-02-22 Anatoly Sokolov <aesok@post.ru>
7151
7152 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
7153 Remove.
7154
68bf6491
SP
71552011-02-22 Sebastian Pop <sebastian.pop@amd.com>
7156
7157 PR doc/47848
7158 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
7159
88ee1fc7
MS
71602011-02-22 Mike Stump <mikestump@comcast.net>
7161
7162 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
7163 assembler.
7164 * configure: Regenerate.
7165
6042d1dd
CLT
71662011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
7167
7168 PR rtl-optimization/46002
7169 * ira-color.c (update_copy_costs): Change class intersection
7170 test to reg_class_contents[] test of 'hard_regno'.
7171
7de97f9e
JM
71722011-02-21 Joseph Myers <joseph@codesourcery.com>
7173
7174 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
7175 than Driver option.
7176 * config/hpux11.opt (mt): Likewise.
7177 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
7178 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
7179 * config/vax/elf.opt (mno-asm-pic): Likewise.
7180 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
7181
d1d46f9f
MS
71822011-02-21 Mike Stump <mikestump@comcast.net>
7183
7184 PR target/47822
7185 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
7186 tree so we can get save the type.
7187 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
7188 for CFString instead of trying to use past the end of the builtins.
7189 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
7190 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
7191 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
7192 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
7193 Rename to darwin_builtin_cfstring.
7194 (darwin_init_cfstring_builtins): Return the built type.
7195
23e0d930
UB
71962011-02-21 Uros Bizjak <ubizjak@gmail.com>
7197
7198 PR target/47840
7199 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
7200 (_mm256_insert_epi64): Use _mm_insert_epi64.
7201
192997cf
AS
72022011-02-21 Anatoly Sokolov <aesok@post.ru>
7203
7204 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
7205 * config/stormy16/stormy16-protos.h
7206 (xstormy16_mode_dependent_address_p): Remove.
7207 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
7208 Make static. Change return type to bool. Change argument type to
7209 const_rtx. Remove dead code.
7210 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
7211
e292d003
RG
72122011-02-21 Richard Guenther <rguenther@suse.de>
7213
7214 PR lto/47820
7215 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
7216 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
7217 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
7218 TUs context.
23e0d930 7219 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
7220 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
7221
77f846e9
RG
72222011-02-20 Richard Guenther <rguenther@suse.de>
7223
7224 PR lto/47822
7225 * tree.c (free_lang_data_in_decl): Clean builtins from
7226 the TU decl BLOCK_VARS.
23e0d930 7227
b2cddfc8
AO
72282011-02-19 Alexandre Oliva <aoliva@redhat.com>
7229
7230 PR debug/47620
7231 PR debug/47630
7232 * haifa-sched.c (fix_tick_ready): Skip tick computation
7233 for debug insns.
7234
becf4c11
RG
72352011-02-19 Richard Guenther <rguenther@suse.de>
7236
7237 PR lto/47647
7238 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
7239 Remove lazy BLOCK_VARS streaming.
7240 (lto_input_ts_block_tree_pointers): Likewise.
7241 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
7242
27f98305
JM
72432011-02-19 Joseph Myers <joseph@codesourcery.com>
7244
7245 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
7246
064bf3f4
JM
72472011-02-19 Joseph Myers <joseph@codesourcery.com>
7248
7249 * config/i386/biarch32.h, config/i386/mach.h,
7250 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
7251
9215ddc3
JJ
72522011-02-19 Jakub Jelinek <jakub@redhat.com>
7253
7254 PR target/47800
7255 * config/i386/i386.md (peephole2 for shift and plus): Use
7256 operands[1] original mode in the first insn.
7257
8b021004
MS
72582011-02-18 Mike Stump <mikestump@comcast.net>
7259
65ded153 7260 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 7261
f84ae14c
JH
72622011-02-18 Jan Hubicka <jh@suse.cz>
7263
7264 PR middle-end/47788
65ded153
EB
7265 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
7266 to zero when the function is not inlinable at all.
f84ae14c 7267
eddabc80
JDA
72682011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7269
7270 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
7271 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
7272 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
7273 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
7274 * config/pa/t-pa64: Likewise.
7275 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
7276
ca3da783
JJ
72772011-02-18 Jakub Jelinek <jakub@redhat.com>
7278
7279 PR driver/47787
7280 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
7281
430aa868
JDA
72822011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7283
7284 PR target/47792
7285 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
7286
4bf7ff7e
AS
72872011-02-18 Anatoly Sokolov <aesok@post.ru>
7288
7289 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
7290 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
7291 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
7292 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
7293 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
7294 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
7295 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
7296 m32r_load_postinc_p, m32r_store_preinc_predec_p,
7297 m32r_legitimate_address_p): New functions.
7298 * config/m32r/constraints.md (constraint "S"): Don't use
7299 STORE_PREINC_PREDEC_P.
7300 (constraint "U"): Don't use LOAD_POSTINC_P.
7301
7efcf910
CLT
73022011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
7303
7304 PR rtl-optimization/46178
7305 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
7306 compute ira_hard_regno_cover_class[].
7307
237d6259
RG
73082011-02-18 Richard Guenther <rguenther@suse.de>
7309
7310 PR lto/47798
7311 * lto-streamer.h (lto_global_var_decls): Declare.
7312 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
7313 statics for global var processing.
7314
12d80acc
RG
73152011-02-18 Richard Guenther <rguenther@suse.de>
7316
7317 PR tree-optimization/47737
7318 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
7319 edge dominance check.
7320
abfea58d
JJ
73212011-02-18 Jakub Jelinek <jakub@redhat.com>
7322
7323 PR debug/47780
7324 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
7325 avoid invalid rtx sharing.
7326
f73c8882
GP
73272011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
7328
7329 * doc/cpp.texi (Obsolete Features): Add background on the
7330 origin of assertions.
7331
d764a8e6
IS
73322011-02-17 Iain Sandoe <iains@gcc.gnu.org>
7333
7334 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 7335 objc_abi == 2.
d764a8e6
IS
7336 * config/darwin.c (output_objc_section_asm_op): Added support for
7337 ABI v1 and v2.
7338 (is_objc_metadata): New.
7339 (darwin_objc2_section): New.
7340 (darwin_objc1_section): New.
7341 (machopic_select_section): Added support for ABI v1 and v2.
7342 (darwin_emit_objc_zeroed): New.
7343 (darwin_output_aligned_bss): Detect objc metadata and treat it
7344 appropriately.
7345 (darwin_asm_output_aligned_decl_common): Same.
7346 (darwin_asm_output_aligned_decl_local): Same.
7347 * config/darwin-sections.def: Updated for ABI v1 and v2.
7348 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
7349 compiling Objective-C code for the NeXT runtime, default to using
7350 ABI version 0 for 32-bit, and version 2 for 64-bit.
7351
0a8134ca
JM
73522011-02-17 Joseph Myers <joseph@codesourcery.com>
7353
7354 * common.opt (optimize_fast): New Variable.
7355 * opts.c (default_options_optimization): Use opts->x_optimize_fast
7356 instead of local variable ofast.
7357
0a256240
NP
73582011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
7359
7360 * doc/invoke.texi (fobjc-abi-version): Documented.
7361 (fobjc-nilcheck): Documented.
7362 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
7363 version.
7364
fa381cb2
JM
73652011-02-17 Joseph Myers <joseph@codesourcery.com>
7366
7367 PR driver/47390
7368 * common.opt (export-dynamic): New Driver option.
7369 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
7370
5437eaa6
JM
73712011-02-17 Joseph Myers <joseph@codesourcery.com>
7372
7373 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
7374
bb7e6d55
AO
73752011-02-17 Alexandre Oliva <aoliva@redhat.com>
7376 Jan Hubicka <jh@suse.cz>
7377
7378 PR debug/47106
7379 PR debug/47402
7380 * cfgexpand.c (account_used_vars_for_block): Remove.
7381 (estimated_stack_frame_size): Use referenced vars.
7382 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
7383 that were referenced in the original function. Test src_fn
7384 rather than cfun. Drop redundant get_var_ann.
7385 (setup_one_parameter): Drop redundant get_var_ann.
7386 (declare_return_variable): Likewise.
7387 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
7388 (copy_arguments_for_versioning): Drop redundant get_var_ann.
7389 * ipa-inline.c (compute_inline_parameters): Do not compute
7390 disregard_inline_limits here.
bb7e6d55
AO
7391 (compute_inlinable_for_current, pass_inlinable): New.
7392 (pass_inline_parameters): Require PROP_referenced_vars.
7393 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 7394 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
7395 (cgraph_analyze_function): Set .disregard_inline_limits.
7396 * tree-sra.c (convert_callers): Compute inliner parameters
7397 only for functions already in SSA form.
7398
f181a8a7
JM
73992011-02-17 Joseph Myers <joseph@codesourcery.com>
7400
7401 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
7402 -mlittle-endian-data.
7403
c6869789
JM
74042011-02-17 Joseph Myers <joseph@codesourcery.com>
7405
7406 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
7407 -mno-fpu, not -fpu and -no-fpu.
7408 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
7409 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
7410
fbf4bfd3
UB
74112011-02-17 Uros Bizjak <ubizjak@gmail.com>
7412
7413 PR target/43653
7414 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
7415 input reload with PLUS RTX.
7416
70be5dc7
JM
74172011-02-16 Joseph Myers <joseph@codesourcery.com>
7418
7419 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
7420 of InverseVar(MDMX).
7421
30b1646e
JM
74222011-02-16 Joseph Myers <joseph@codesourcery.com>
7423
7424 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
7425 --m4-340.
7426
ab7b71e9
JM
74272011-02-16 Joseph Myers <joseph@codesourcery.com>
7428
7429 * config/mn10300/mn10300.opt (mno-crt0): New.
7430
466f3f08
JM
74312011-02-16 Joseph Myers <joseph@codesourcery.com>
7432
7433 * config/m68k/uclinux.opt (static-libc): New Driver option.
7434
8226cd7b
JM
74352011-02-16 Joseph Myers <joseph@codesourcery.com>
7436
7437 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
7438
45cab1d7
JM
74392011-02-16 Joseph Myers <joseph@codesourcery.com>
7440
7441 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
7442 %{muser-extend-enabled}.
7443
65aab64f
RG
74442011-02-16 Richard Guenther <rguenther@suse.de>
7445
7446 PR tree-optimization/47738
7447 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
7448 the TODO from tree_predictive_commoning.
7449
fc2fa4fb
JL
74502011-02-15 Jeff Law <law@redhat.com>
7451
7452 Revert
7453 2011-01-25 Jeff Law <law@redhat.com>
7454
7455 PR rtl-optimization/37273
7456 * ira-costs.c (scan_one_insn): Detect constants living in memory and
7457 handle them like argument loads from stack slots. Do not double
7458 count memory for memory constants and argument loads from stack slots.
7459
4e380b8e
L
74602011-02-15 H.J. Lu <hongjiu.lu@intel.com>
7461
7462 PR middle-end/47725
7463 * combine.c (cant_combine_insn_p): Revert the last change.
7464
e3a69bb4
MM
74652011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
7466
7467 PR target/47755
7468 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
7469 mode for vector constants. Remove code that checks for TImode.
7470
de650422
AO
74712011-02-15 Alexandre Oliva <aoliva@redhat.com>
7472
7473 PR debug/47106
7474 PR debug/47402
7475 * cgraph.h (compute_inline_parameters): Return void.
7476 * ipa-inline.c (compute_inline_parameters): Adjust.
7477
30925d94
AO
74782011-02-15 Alexandre Oliva <aoliva@redhat.com>
7479
7480 PR debug/47106
7481 PR debug/47402
7482 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
7483 rather than decl.
7484 * cfgexpand.c (estimated_stack_frame_size): Likewise.
7485 * ipa-inline.c (compute_inline_parameters): Adjust.
7486
1b9a784a
AO
74872011-02-15 Alexandre Oliva <aoliva@redhat.com>
7488
7489 PR debug/47106
7490 PR debug/47402
7491 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
7492 Adjust all users. Pass FN to...
7493 * tree-flow-inline.h (first_referenced_var): ... this. Add
7494 fn argument.
7495 * ipa-struct-reorg.c: Adjust.
7496 * tree-dfa.c: Adjust.
7497 * tree-into-ssa.c: Adjust.
7498 * tree-sra.c: Adjust.
7499 * tree-ssa-alias.c: Adjust.
7500 * tree-ssa-live.c: Adjust.
7501 * tree-ssa.c: Adjust.
7502 * tree-ssanames.c: Adjust.
7503 * tree-tailcall.c: Adjust.
7504
27c6b086
AO
75052011-02-15 Alexandre Oliva <aoliva@redhat.com>
7506
7507 PR debug/47106
7508 PR debug/47402
7509 * tree-flow.h (referenced_var_lookup): Add fn parameter.
7510 Adjust all callers.
7511 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
7512 * tree-flow-inline.h: Adjust.
7513 * gimple-pretty-print.c: Adjust.
7514 * tree-into-ssa.c: Adjust.
7515 * tree-ssa.c: Adjust.
7516 * cfgexpand.c: Adjust.
7517
679e8183
NF
75182011-02-15 Nathan Froyd <froydnj@codesourcery.com>
7519
fbf4bfd3
UB
7520 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
7521 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
7522 (EXTRA_CONSTRAINT): Delete.
7523 * config/iq2000/constraints.md: New file.
7524 * config/iq2000/iq2000.md: Include it.
679e8183
NF
7525 (define_insn ""): Delete.
7526 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
7527 unsupported constraint letters from patterns.
7528 (call_value, call_value_internal1): Likewise.
7529 (call_value_multiple_internal1): Likewise.
7530
a45d420a
NC
75312011-02-15 Nick Clifton <nickc@redhat.com>
7532
7533 * config/mn10300/mn10300.c: Include tm-constrs.h.
7534 (struct liw_data): New data structure describing an LIW candidate
7535 instruction.
7536 (extract_bundle): Use struct liw_data. Allow small integer
7537 operands for some instructions.
7538 (check_liw_constraints): Use struct liw_data. Remove swapped
7539 parameter. Add comments describing the checks. Fix bug when
7540 assigning the source of liw1 to the source of liw2.
7541 (liw_candidate): Delete. Code moved into extract_bundle.
7542 (mn10300_bundle_liw): Use struct liw_data. Check constraints
7543 before swapping.
7544 * config/mn10300/predicates.md (liw_operand): New predicate.
7545 Allows registers and small integer constants.
7546 * config/mn10300/constraints.md (O): New constraint. Accetps
7547 integers in the range -8 to +7 inclusive.
7548 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
7549 for moving a small integer into a register. Give this alternative
7550 LIW attributes.
7551 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
7552 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
7553 using the J,K,L and M constraints,
7554 (liw): Remove SI mode on second operands to allow for HI and QI
7555 mode values.
7556 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
7557 instruction.
7558
8a73faf1
L
75592011-02-15 H.J. Lu <hongjiu.lu@intel.com>
7560
7561 PR middle-end/47725
7562 * combine.c (cant_combine_insn_p): Check zero/sign extended
7563 hard registers.
7564
48feba28
RG
75652011-02-15 Richard Guenther <rguenther@suse.de>
7566
7567 PR tree-optimization/47743
7568 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
7569 for a non-type-compatible VN lookup bail out.
7570
ad1c1eeb
NF
75712011-02-15 Nathan Froyd <froydnj@codesourcery.com>
7572
7573 * config/fr30/constraints.md: New file.
7574 * config/fr30/fr30.md: Include it.
7575 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
7576 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
7577 (EXTRA_CONSTRAINT): Delete.
7578
49ac143d
NF
75792011-02-15 Nathan Froyd <froydnj@codesourcery.com>
7580
7581 * config/frv/constraints.md: New file.
7582 * config/frv/predicates.md: Include it.
7583 * config/frv/frv.c (reg_class_from_letter): Delete.
7584 (frv_option_override): Don't initialize it.
7585 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
7586 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
7587 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
7588 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
7589 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
7590 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
7591 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
7592 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
7593 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
7594 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
7595 (REG_CLASS_FROM_CONSTRAINT): Delete.
7596
c95f9494
JJ
75972011-02-15 Jakub Jelinek <jakub@redhat.com>
7598
7599 PR middle-end/47581
7600 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
7601 if frame size is 0 in a leaf function.
7602
13aed611
RO
76032011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7604
7605 PR pch/14940
7606 * config/alpha/host-osf.c: New file.
7607 * config/alpha/x-osf: New file.
7608 * config.host (alpha*-dec-osf*): Use it.
7609
b09c3081
AS
76102011-02-14 Anatoly Sokolov <aesok@post.ru>
7611
7612 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
7613 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
7614 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
7615 (rx_mode_dependent_address_p): ...this. Make static. Change argument
7616 type to const_rtx.
7617 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
7618
d634083b
NF
76192011-02-14 Nathan Froyd <froydnj@codesourcery.com>
7620
7621 * config/stormy16/constraints.md: New file.
7622 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
7623 Use satisfies_constraint_Q and satisfies_constraint_R.
7624 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
7625 Delete.
7626 (xstormy16_legitiamte_address_p): Declare.
7627 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
7628 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
7629 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 7630 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
7631 Un-staticize.
7632 (xstormy16_extra_constraint_p): Delete.
7633
c7dd803e
EB
76342011-02-14 Eric Botcazou <ebotcazou@adacore.com>
7635
7636 PR tree-optimization/46494
7637 * loop-unroll.c (split_edge_and_insert): Adjust comment.
7638 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
7639 (pass_rtl_loop_done): Add TODO_verify_flow.
7640 * fwprop.c (pass_rtl_fwprop): Likewise.
7641 * modulo-sched.c (pass_sms): Likewise.
7642 * tree-ssa-dom.c (pass_dominator): Likewise.
7643 * tree-ssa-loop-ch.c (pass_ch): Likewise.
7644 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
7645 (pass_tree_loop_done): Likewise.
7646 * tree-ssa-pre.c (execute_pre): Likewise.
7647 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
7648 * tree-ssa-sink.c (pass_sink_code): Likewise.
7649 * tree-vrp.c (pass_vrp): Likewise.
7650
c6150df6
NF
76512011-02-14 Nathan Froyd <froydnj@codesourcery.com>
7652
c7dd803e
EB
7653 * config/v850/constraints.md: New file.
7654 * config/v850/v850.md: Include it.
7655 * config/v850/predicates.md (reg_or_0_operand): Use
7656 satisfies_constraint_G.
7657 (special_symbolref_operand): Use satisfies_constraint_K.
7658 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
7659 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
7660 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
7661 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
7662 (EXTRA_CONSTRAINT): Delete.
7663 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
7664 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
7665 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 7666
30dd1ea3
AS
76672011-02-14 Anatoly Sokolov <aesok@post.ru>
7668
7669 PR target/47696
7670 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
7671 description.
7672
944f4bb3
NF
76732011-02-14 Nathan Froyd <froydnj@codesourcery.com>
7674
7675 * config/mcore/constraints.md: New file.
7676 * config/mcore/mcore.md: Include it.
7677 * config/mcore/mcore.c (reg_class_from_letter): Delete.
7678 * config/mcore/mcore.h (reg_class_from_letter): Delete.
7679 (REG_CLASS_FROM_LETTER): Delete.
7680 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
7681 insn_const_int_ok_for_constraint.
7682 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
7683 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
7684 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
7685 (EXTRA_CONSTRAINT): Delete.
7686
ad56a54c
RO
76872011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7688
7689 PR ada/41929
7690 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
7691 (IS_SIGHANDLER): Define.
7692 (sparc64_is_sighandler): New function, split off from
7693 sparc64_fallback_frame_state.
7694 (sparc_is_sighandler): New function, split off from
7695 sparc_fallback_frame_state.
7696 (sparc64_fallback_frame_state): Merge with ...
7697 (sparc_fallback_frame_state): ... this into ...
7698 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
7699 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
7700 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
7701 stack instead of hardcoded offsets.
ad56a54c 7702
fbf4bfd3 77032011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
7704
7705 PR target/45808
7706 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
7707
029c8f3e
RW
77082011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7709
7710 * configure: Regenerate.
7711
a016dc83
JM
77122011-02-12 Joseph Myers <joseph@codesourcery.com>
7713
7714 PR driver/45731
7715 * gcc.c (asm_options): Correct spec matching --target-help.
7716
8957a0ec
MJ
77172011-02-12 Martin Jambor <mjambor@suse.cz>
7718
7719 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
7720 to gimple call error.
7721
6ef828bc
MS
77222011-02-12 Mike Stump <mikestump@comcast.net>
7723
7724 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
7725 comments in backslash regions.
7726
a4015be5
MS
77272011-02-12 Mike Stump <mikestump@comcast.net>
7728 Jakub Jelinek <jakub@redhat.com>
7729 Iain Sandoe <iains@gcc.gnu.org>
7730
7731 PR target/47324
7732 * dwarf2out.c (output_cfa_loc): When required, apply the
7733 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
7734 (output_loc_sequence): Likewise.
7735 (output_loc_operands_raw): Likewise.
7736 (output_loc_sequence_raw): Likewise.
7737 (output_cfa_loc): Likewise.
7738 (output_loc_list): Suppress register number adjustment when
7739 calling output_loc_sequence()
7740 (output_die): Likewise.
7741
5378dda2
AS
77422011-02-12 Anatoly Sokolov <aesok@post.ru>
7743
7744 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
7745 Remove macros.
7746 * config/xtensa/xtensa.c (xtensa_register_move_cost,
7747 xtensa_memory_move_cost): New functions.
7748 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
7749
f3d533d3
AO
77502011-02-12 Alexandre Oliva <aoliva@redhat.com>
7751
7752 PR lto/47225
7753 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
7754 in the current directory.
7755 * configure: Rebuilt.
7756
9d53403c
IS
77572011-02-12 Iain Sandoe <iains@gcc.gnu.org>
7758
7759 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 7760 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
7761 correct indents of the preceding block.
7762
a350a6c8
IS
77632011-02-12 Iain Sandoe <iains@gcc.gnu.org>
7764
7765 * gcc.c (driver_handle_option): Concatenate the argument to -F with
7766 the switch.
7767
bab79a40
JM
77682011-02-11 Joseph Myers <joseph@codesourcery.com>
7769
7770 * common.opt (nostartfiles): New Driver option.
7771
1bbc6693
XDL
77722011-02-11 Xinliang David Li <davidxl@google.com>
7773
7774 PR tree-optimization/47707
7775 * tree-chrec.c (convert_affine_scev): Keep type precision.
7776
1da7d8c0
EB
77772011-02-11 Eric Botcazou <ebotcazou@adacore.com>
7778
7779 PR tree-optimization/47420
7780 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
7781
77822011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
7783
7784 PR rtl-optimization/47614
7785 * rtl.h (check_for_inc_dec): Declare.
7786 * dse.c (check_for_inc_dec): Externalize...
7787 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
7788 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
7789
4df47bca
JM
77902011-02-11 Joseph Myers <joseph@codesourcery.com>
7791
7792 PR driver/47678
7793 * gcc.c (main): Do not compile inputs if there were errors in
7794 option handling.
7795 * opts-common.c (read_cmdline_option): Check for wrong language
7796 after other error checks.
7797
61502ca8
NF
77982011-02-11 Nathan Froyd <froydnj@codesourcery.com>
7799
7800 * cgraph.c: Fix comment typos.
7801 * cgraph.h: Likewise.
7802 * cgraphunit.c: Likewise.
7803 * ipa-cp.c: Likewise.
7804 * ipa-inline.c: Likewise.
7805 * ipa-prop.c: Likewise.
7806 * ipa-pure-const.c: Likewise.
7807 * ipa-ref.c: Likewise.
7808 * ipa-reference.c: Likewise.
7809
b63f974e
JJ
78102011-02-11 Jakub Jelinek <jakub@redhat.com>
7811
d50c5e0c
JJ
7812 PR debug/47684
7813 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 7814
6dd2a13c
RO
78152011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7816
7817 PR testsuite/47400
7818 * doc/sourcebuild.texi (Require Support): Document
7819 dg-require-ascii-locale.
7820
4a087ccf
MX
78212011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
7822
7823 * doc/lto.texi (Write summary): Fix missing parentheses.
7824
a4403164
DD
78252011-02-10 DJ Delorie <dj@redhat.com>
7826
7827 * config/m32c/m32c.c (m32c_option_override): Disable
7828 -fcombine-stack-adjustments until flag value tracking and compare
7829 optimization can be rewritten.
7830
4fac45bd
PB
78312011-02-10 Peter Bergner <bergner@vnet.ibm.com>
7832
7833 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
7834 PROCESSOR_POWER7.
7835 (PROCESSOR_DEFAULT64): Likewise.
7836
72602cd1
RH
78372011-02-10 Richard Henderson <rth@redhat.com>
7838
7839 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
7840 change from 2011-02-03.
7841 * config/rx/rx.c (flags_from_code): Likewise.
7842 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
7843 is valid, n/pz otherwise.
7844 (rx_select_cc_mode): Return CCmode if Y is not zero.
7845
ea57f573
RG
78462011-02-10 Richard Guenther <rguenther@suse.de>
7847
ea4c3e65 7848 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 7849
92b1d23b
RG
78502011-02-10 Richard Guenther <rguenther@suse.de>
7851
7852 PR tree-optimization/47677
7853 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
7854
525a2d06
JJ
78552011-02-10 Jakub Jelinek <jakub@redhat.com>
7856
7857 PR target/47665
7858 * combine.c (make_compound_operation): Only change shifts into
7859 multiplication for SCALAR_INT_MODE_P.
7860
06c969bd
JZ
78612011-02-10 Jie Zhang <jie@codesourcery.com>
7862
7863 PR testsuite/47622
7864 Revert
7865 2011-02-05 Jie Zhang <jie@codesourcery.com>
7866 PR debug/42631
7867 * web.c (entry_register): Don't clobber the number of the
7868 first uninitialized reference in used[].
7869
282ec48e
RG
78702011-02-09 Richard Guenther <rguenther@suse.de>
7871
7872 PR tree-optimization/47664
7873 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
7874 all edges again.
7875
df98c3e8
DE
78762011-02-09 David Edelsohn <dje.gcc@gmail.com>
7877
d0f21cd6
DE
7878 PR target/46481
7879 PR target/47032
df98c3e8
DE
7880 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
7881 PROCESSOR_POWER7.
7882 (PROCESSOR_DEFAULT64): Same.
7883 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
7884
67b6839f
RO
78852011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7886
7887 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
7888
4fd73214
MJ
78892011-02-09 Martin Jambor <mjambor@suse.cz>
7890
7891 PR middle-end/45505
7892 * tree-sra.c (struct access): New flags grp_scalar_read and
7893 grp_scalar_write. Changed description of assignment read and write
7894 flags.
7895 (dump_access): Dump new flags, reorder all of them.
7896 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
7897 to detect multiple scalar reads.
7898 (analyze_access_subtree): Use the new scalar read write flags instead
7899 of the old flags. Adjusted comments.
7900
91140cd3
DD
79012011-02-08 DJ Delorie <dj@redhat.com>
7902
7903 PR target/47548
7904 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
7905 patterns.
7906
4254bbfe
JM
79072011-02-08 Joseph Myers <joseph@codesourcery.com>
7908
7909 * config/m68k/uclinux.opt: New.
7910 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
7911
f1fda84e
JM
79122011-02-08 Joseph Myers <joseph@codesourcery.com>
7913
7914 * config/cris/elf.opt (sim): New Driver option.
7915
4933ae74
JM
79162011-02-08 Joseph Myers <joseph@codesourcery.com>
7917
7918 * config/xtensa/elf.opt: New.
7919 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
7920
4ad70280
JM
79212011-02-08 Joseph Myers <joseph@codesourcery.com>
7922
7923 * config/vax/elf.opt: New.
7924 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
7925
20893707
JM
79262011-02-08 Joseph Myers <joseph@codesourcery.com>
7927
7928 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
7929
b8e7038e
JM
79302011-02-08 Joseph Myers <joseph@codesourcery.com>
7931
7932 * config/gnu-user.opt: New.
7933 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
7934 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
7935 *-*-uclinux*): Use gnu-user.opt.
7936
e1c5225a
TS
79372011-02-08 Thomas Schwinge <thomas@schwinge.name>
7938
7939 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
7940 * config/i386/gnu.h (CPP_SPEC): Likewise.
7941
5e46b0c6
ILT
79422011-02-08 Ian Lance Taylor <iant@google.com>
7943
7944 * common.opt (fcx-limited-range): Add SetByCombined flag.
7945 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
7946 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
7947 (fassociative-math, freciprocal-math): Likewise.
7948 (funsafe-math-optimizations): Likewise.
7949 * opth-gen.awk: Handle SetByCombined.
7950 * optc-gen.awk: Likewise.
ea4c3e65 7951 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
7952 (set_unsafe_math_optimizations_flags): Likewise.
7953 * doc/options.texi (Option properties): Document SetByCombined.
7954
32243d46
JM
79552011-02-08 Joseph Myers <joseph@codesourcery.com>
7956
7957 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
7958 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
7959 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
7960 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
7961 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
7962
479c1fb3
SP
79632011-02-08 Sebastian Pop <sebastian.pop@amd.com>
7964
7965 PR tree-optimization/46834
7966 PR tree-optimization/46994
7967 PR tree-optimization/46995
7968 * graphite-sese-to-poly.c (used_outside_reduction): New.
7969 (detect_commutative_reduction): Call used_outside_reduction.
7970 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
7971 translate_scalar_reduction_to_array only when at least one
7972 loop-phi/close-phi tuple has been detected.
7973
3865a06f
RG
79742011-02-08 Richard Guenther <rguenther@suse.de>
7975
7976 PR middle-end/47639
7977 * tree-vect-generic.c (expand_vector_operations_1): Update
7978 stmts here ...
7979 (expand_vector_operations): ... not here. Cleanup EH info
7980 and the CFG if required.
7981
62902f3f
RG
79822011-02-08 Richard Guenther <rguenther@suse.de>
7983
7984 PR tree-optimization/47641
7985 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
7986 require type compatibility.
7987
0efb9d64
AK
79882011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7989
7990 * gimple-low.c (lower_function_body): Don't remove the location of
7991 the return statement here.
7992 (lower_gimple_return): Do it here instead but only if the return
7993 statement is actually used twice.
7994
034b8ae4
RG
79952011-02-08 Richard Guenther <rguenther@suse.de>
7996
7997 PR tree-optimization/47632
7998 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
7999 unused up_to_stmt parameter, return whether cfg-cleanup is
8000 necessary, remove EH info properly.
8001 (forward_propagate_into_gimple_cond): Adjust caller.
8002 (forward_propagate_into_cond): Likewise.
8003 (forward_propagate_comparison): Likewise.
8004 (tree_ssa_forward_propagate_single_use_vars): Make
8005 forward_propagate_comparison case similar to the two others.
8006
298362c8
NC
80072011-02-08 Nick Clifton <nickc@redhat.com>
8008
8009 * config/mn10300/mn10300.opt (mliw): New command line option.
8010 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
8011 (liw_bundling): New automaton.
8012 (liw): New attribute.
8013 (liw_op): New attribute.
8014 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
8015 (movsi_internal): Add LIW attributes.
8016 (andsi3): Likewise.
8017 (iorsi3): Likewise.
8018 (xorsi3): Likewise.
8019 (addsi3): Separate register and immediate alternatives.
8020 Add LIW attributes.
8021 (subsi3): Likewise.
8022 (cmpsi): Likewise.
8023 (aslsi3): Likewise.
8024 (lshrsi3): Likewise.
8025 (ashrsi3): Likewise.
8026 (liw): New pattern.
8027 * config/mn10300/mn10300.c (liw_op_names): New
8028 (mn10300_print_operand): Handle 'W' operand descriptor.
8029 (extract_bundle): New function.
8030 (check_liw_constraints): New function.
8031 (liw_candidate): New function.
8032 (mn10300_bundle_liw): New function.
8033 (mn10300_reorg): New function.
8034 (TARGET_MACHINE_DEPENDENT_REORG): Define.
8035 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
8036 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
8037 __LIW__ or __NO_LIW__.
8038 * doc/invoke.texi: Describe the -mliw command line option.
8039
90488014
JDA
80402011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8041
8042 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
8043 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
8044 pthread_mutex_unlock): Remove.
8045 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
8046 * config/pa/t-pa64: Likewise.
8047 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
8048 shared libc if not linking against libpthread.
8049 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
8050
689ff841
IS
80512011-02-07 Iain Sandoe <iains@gcc.gnu.org>
8052
8053 PR target/47558
8054 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
8055 on 10.6 and later to ensure that we always use the unwinder from
8056 the system. Only add -no_compact_unwind when tarteting darwin
8057 10.6 or later.
8058
821014aa
SE
80592011-02-07 Steve Ellcey <sje@cup.hp.com>
8060
8061 PR target/46997
8062 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
8063 (vec_interleave_lowv2sf): Ditto.
8064 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
8065 (vec_extract_oddv2sf): Ditto.
8066
41cf94fb
MS
80672011-02-07 Mike Stump <mikestump@comcast.net>
8068
62dea57d 8069 PR target/42333
41cf94fb
MS
8070 Add __ieee_divdc3 entry point.
8071 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
8072 entry point.
8073 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
8074 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
8075 * config/darwin.c (darwin_rename_builtins): Add.
8076 * config/darwin-protos.h (darwin_rename_builtins): Add.
8077
ee09a3dd
MM
80782011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
8079
8080 PR target/47636
8081 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
8082 for the condition.
8083
83296cd0
MS
80842011-02-07 Mike Stump <mikestump@comcast.net>
8085
ea4c3e65 8086 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 8087
0f4e946f
DC
80882011-02-07 Denis Chertykov <chertykov@gmail.com>
8089
8090 PR target/47534
8091 * config/avr/libgcc.S (exit): Move .endfunc
8092
1ec87690
RG
80932011-02-07 Richard Guenther <rguenther@suse.de>
8094
8095 PR tree-optimization/47615
8096 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
8097 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
8098 (run_scc_vn): Initialize it.
8099 (visit_reference_op_load): Use it.
8100 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
8101
b46ae6da
UW
81022011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8103
8104 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
8105 DImode trapping arithmetic libfuncs.
8106
c0aae19c
RG
81072011-02-07 Richard Guenther <rguenther@suse.de>
8108
8109 PR tree-optimization/47621
8110 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
8111 two duplicates ...
8112 (execute_update_addresses_taken): ... here. Make it more
8113 conservative in what we accept.
8114
295d926b
JM
81152011-02-06 Joseph Myers <joseph@codesourcery.com>
8116
8117 * config/sparc/freebsd.h (ASM_SPEC): Define.
8118 * config/sparc/vxworks.h (ASM_SPEC): Define.
8119
bdeb2471
JM
81202011-02-06 Joseph Myers <joseph@codesourcery.com>
8121
8122 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
8123
d5d3781a
SB
81242011-02-06 Steven Bosscher <steven@gcc.gnu.org>
8125
8126 * doc/invoke.texi: Remove reference to compiler internals from
8127 user documentation.
8128
8129 * reg-notes.def: Remove REG_VALUE_PROFILE.
8130 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
8131
c42c09fc
JJ
81322011-02-05 Jakub Jelinek <jakub@redhat.com>
8133
8134 PR middle-end/47610
8135 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 8136 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 8137
beea2755
JZ
81382011-02-05 Jie Zhang <jie@codesourcery.com>
8139
8140 PR debug/42631
8141 * web.c (entry_register): Don't clobber the number of the
8142 first uninitialized reference in used[].
8143
a130584a
SP
81442011-02-04 Sebastian Pop <sebastian.pop@amd.com>
8145
8146 PR tree-optimization/46194
8147 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
8148 (build_classic_dist_vector_1): Do not represent classic distance
8149 vectors when the access functions are variating in different loops.
8150
962101ac
JM
81512011-02-04 Joseph Myers <joseph@codesourcery.com>
8152
8153 * config/mips/iris6.opt: New.
8154 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
8155
55eaaa5b
RH
81562011-02-04 Richard Henderson <rth@redhat.com>
8157 Steve Ellcey <sje@cup.hp.com>
8158
8159 PR target/46997
8160 * config/ia64/predicates.md (mux1_brcst_element): New.
8161 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
8162 * config/ia64/ia64.c (ia64_unpack_assemble): New.
8163 (ia64_unpack_sign): New.
8164 (ia64_expand_unpack): Rewrite using new routines.
8165 (ia64_expand_widen_sum): Ditto.
8166 (ia64_expand_dot_prod_v8qi): Ditto.
8167 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
8168 routines, add endian check.
8169 (pmpy2_even): Rename from pmpy2_r, add endian check.
8170 (pmpy2_odd): Rename from pmpy2_l, add endian check.
8171 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
8172 (vec_widen_smult_hi_v4hi): Ditto.
8173 (vec_widen_umult_lo_v4hi): Ditto.
8174 (vec_widen_umult_hi_v4hi): Ditto.
8175 (mulv2si3): Change endian checks.
8176 (sdot_prodv4hi): Rewrite with new calls.
8177 (udot_prodv4hi): New.
8178 (vec_pack_ssat_v4hi): Add endian check.
8179 (vec_pack_usat_v4hi): Ditto.
8180 (vec_pack_ssat_v2si): Ditto.
8181 (max1_even): Rename from max1_r, add endian check.
8182 (max1_odd): Rename from max1_l, add endian check.
8183 (*mux1_rev): Format change.
8184 (*mux1_mix): Ditto.
8185 (*mux1_shuf): Ditto.
8186 (*mux1_alt): Ditto.
8187 (*mux1_brcst_v8qi): Use new predicate.
8188 (vec_extract_evenv8qi): Remove endian check.
8189 (vec_extract_oddv8qi): Ditto.
8190 (vec_interleave_lowv4hi): Format change.
8191 (vec_interleave_highv4hi): Ditto.
8192 (mix2_even): Rename from mix2_r, add endian check.
8193 (mix2_odd): Rename from mux2_l, add endian check.
8194 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
8195 (vec_extract_evenodd_helper): Format change.
8196 (vec_extract_evenv4hi): Remove endian check.
8197 (vec_extract_oddv4hi): Remove endian check.
8198 (vec_interleave_lowv2si): Format change.
8199 (vec_interleave_highv2si): Format change.
8200 (vec_initv2si): Remove endian check.
8201 (vecinit_v2si): Add endian check.
8202 (reduc_splus_v2sf): Add endian check.
8203 (reduc_smax_v2sf): Ditto.
8204 (reduc_smin_v2sf): Ditto.
8205 (vec_initv2sf): Remove endian check.
8206 (fpack): Add endian check.
8207 (fswap): Add endian check.
8208 (vec_interleave_highv2sf): Add endian check.
8209 (vec_interleave_lowv2sf): Add endian check.
8210 (fmix_lr): Add endian check.
8211 (vec_setv2sf): Format change.
8212 (*vec_extractv2sf_0_be): Use shift to extract operand.
8213 (*vec_extractv2sf_1_be): New.
8214 (vec_pack_trunc_v4hi): Add endian check.
8215 (vec_pack_trunc_v2si): Format change.
8216
dcde5957
JJ
82172011-02-04 Jakub Jelinek <jakub@redhat.com>
8218
8219 PR inline-asm/23200
8220 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 8221 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
8222 (stmt_is_replaceable_p): New function.
8223 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
8224 callers.
8225 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
8226 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
8227 SSA_NAME_DEF_STMT.
8228 * tree-flow.h (stmt_is_replaceable_p): New prototype.
8229
a64a8e5a
JM
82302011-02-04 Joseph Myers <joseph@codesourcery.com>
8231
8232 * config/rs6000/xilinx.opt: New.
8233 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
8234
4da2ed2f
JM
82352011-02-04 Joseph Myers <joseph@codesourcery.com>
8236
8237 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
8238
a6e508f9
AS
82392011-02-03 Anatoly Sokolov <aesok@post.ru>
8240
8241 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
8242 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
8243 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
8244 secondary_reload_info, xtensa_secondary_reload): Remove.
8245 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
8246 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
8247 (xtensa_preferred_reload_class): Make static. Change return and
8248 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
8249 Use CONST_DOUBLE_P predicate.
8250 (xtensa_preferred_output_reload_class): New function.
8251 (xtensa_secondary_reload): Make static.
8252
82dc0de3
JM
82532011-02-03 Joseph Myers <joseph@codesourcery.com>
8254
8255 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
8256 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
8257 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
8258
7fece979
JJ
82592011-02-03 Jakub Jelinek <jakub@redhat.com>
8260
8261 PR middle-end/31490
8262 * output.h (SECTION_RELRO): Define.
8263 (SECTION_MACH_DEP): Adjust.
8264 (get_variable_section): New prototype.
8265 * varpool.c (varpool_finalize_named_section_flags): New function.
8266 (varpool_assemble_pending_decls): Call it.
8267 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
8268 * cgraphunit.c (cgraph_output_in_order): Call
8269 varpool_finalize_named_section_flags.
8270 * varasm.c (get_section): Allow section flags conflicts between
8271 relro and read-only sections if the section hasn't been declared yet.
8272 Set SECTION_OVERRIDE after diagnosing section type conflict.
8273 (get_variable_section): No longer static.
8274 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
8275 readonly sections that need relocations.
8276 (decl_readonly_section_1): New function.
8277 (decl_readonly_section): Use it.
8278
8279 Revert:
509d65dd 8280 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
8281 Steve Ellcey <sje@cup.hp.com>
8282
8283 PR middle-end/31490
8284 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
8285 if section attribute used.
8286
d18d5478
JJ
82872011-02-03 Jakub Jelinek <jakub@redhat.com>
8288
8289 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
8290 * config/darwin.c (SECTION_NO_ANCHOR): Define.
8291 (darwin_init_sections): Remove assertion.
8292
6479ed4b
NC
82932011-02-03 Nick Clifton <nickc@redhat.com>
8294
8295 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
8296 lt and ge.
38be4072 8297 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
8298 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
8299 instead of "n" and "pz".
8300 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
8301 CC_FLAG_S.
8302
89843f5d
JJ
83032011-02-03 Jakub Jelinek <jakub@redhat.com>
8304
65450d64
JJ
8305 PR target/47312
8306 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
8307 fma, expand FMA_EXPR as fma{,f,l} call.
8308
7d58701c
JJ
8309 PR lto/47274
8310 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
8311 copy them into a unsigned char variable and pass address of it to
8312 lto_output_data_stream.
8313
89843f5d
JJ
8314 PR target/47564
8315 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
8316 around backend_init_target and lang_dependent_init_target calls.
8317 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
8318 (verify_cgraph_node): Don't call set_cfun here. Use
8319 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
8320 Set error_found for incorrectly represented calls to thunks.
8321
4deef538
AO
83222011-02-03 Alexandre Oliva <aoliva@redhat.com>
8323
8324 PR debug/43092
8325 PR rtl-optimization/43494
8326 * rtl.h (for_each_inc_dec_fn): New type.
8327 (for_each_inc_dec): Declare.
8328 * rtlanal.c (struct for_each_inc_dec_ops): New type.
8329 (for_each_inc_dec_find_inc_dec): New fn.
8330 (for_each_inc_dec_find_mem): New fn.
8331 (for_each_inc_dec): New fn.
8332 * dse.c (struct insn_size): Remove.
8333 (replace_inc_dec, replace_inc_dec_mem): Remove.
8334 (emit_inc_dec_insn_before): New fn.
8335 (check_for_inc_dec): Use it, along with for_each_inc_dec.
8336 (canon_address): Pass mem modes to cselib_lookup.
8337 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
8338 (cselib_lookup_from_insn): Likewise.
8339 (cselib_subst_to_values): Likewise.
8340 * cselib.c (find_slot_memmode): New var.
8341 (cselib_find_slot): New fn. Use it instead of
8342 htab_find_slot_with_hash everywhere.
8343 (entry_and_rtx_equal_p): Use find_slot_memmode.
8344 (autoinc_split): New fn.
8345 (rtx_equal_for_cselib_p): Rename and implement in terms of...
8346 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
8347 Deal with autoinc. Special-case recursion into MEMs.
8348 (cselib_hash_rtx): Likewise.
8349 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
8350 address and MEM modes.
8351 (cselib_subst_to_values): Add memmode, pass it on.
8352 Deal with autoinc.
8353 (cselib_lookup): Add memmode argument, pass it on.
8354 (cselib_lookup_from_insn): Add memmode.
8355 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
8356 (struct cselib_record_autoinc_data): New.
8357 (cselib_record_autoinc_cb): New fn.
8358 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
8359 mode to cselib_lookup. Reset autoinced REGs here instead of...
8360 (cselib_process_insn): ... here.
8361 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
8362 to cselib_lookup.
8363 (add_uses): Likewise, also to cselib_subst_to_values.
8364 (add_stores): Likewise.
8365 * sched-deps.c (add_insn_mem_dependence): Pass mode to
8366 cselib_subst_to_values.
8367 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
8368 * gcse.c (do_local_cprop): Adjusted.
8369 * postreload.c (reload_cse_simplify_set): Adjusted.
8370 (reload_cse_simplify_operands): Adjusted.
8371 * sel-sched-dump (debug_mem_addr_value): Pass mode.
8372
1551d44a
AO
83732011-02-03 Alexandre Oliva <aoliva@redhat.com>
8374
8375 PR tree-optimization/45122
8376 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
8377 unsafe assumptions when there's more than one loop exit.
8378
c9485473
MM
83792011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
8380
8381 PR target/47272
8382 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
8383 Document using vector double with the load/store builtins, and
8384 that the load/store builtins always use Altivec instructions.
8385
8386 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
8387 to use altivec memory instructions, even on VSX.
8388 (vector_altivec_store_<mode>): Ditto.
8389
8390 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
8391 function.
8392
8393 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
8394 V2DF, V2DI support to load/store overloaded builtins.
8395
8396 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
8397 altivec load/store builtins for V2DF/V2DI types.
8398
8399 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
8400 set avoid indexed addresses on power6 if -maltivec.
8401 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
8402 vector_altivec_load/vector_altivec_store builtins.
8403 (altivec_expand_st_builtin): Ditto.
8404 (altivec_expand_builtin): Add VSX memory builtins.
8405 (rs6000_init_builtins): Add V2DI types to internal types.
8406 (altivec_init_builtins): Add support for V2DF/V2DI altivec
8407 load/store builtins.
8408 (rs6000_address_for_altivec): Insure memory address is appropriate
8409 for Altivec.
8410
8411 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
8412 vec_vsx_ld and vec_vsx_st.
8413 (vsx_store_<mode>): Ditto.
8414
8415 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
8416 variables to hold long long types for VSX vector memory builtins.
8417 (RS6000_BTI_unsigned_long_long): Ditto.
8418 (long_long_integer_type_internal_node): Ditti.
8419 (long_long_unsigned_type_internal_node): Ditti.
8420
8421 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
8422 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
8423 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
8424
8425 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
8426 short cuts.
8427 (vec_vsx_st): Ditto.
8428
b24d1acf
JM
84292011-02-02 Joseph Myers <joseph@codesourcery.com>
8430
8431 * config/pa/pa-hpux10.opt: New.
8432 * config/hpux11.opt (pthread): New Driver option.
8433 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
8434 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
8435
aa18dd0f
JM
84362011-02-02 Joseph Myers <joseph@codesourcery.com>
8437
8438 * config/ia64/vms.opt: New.
8439 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
8440
28fc3eee
MM
84412011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
8442
8443 PR target/47580
8444 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
8445 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
8446 generator functions.
8447 (vsx_floatuns<VSi><mode>2): Ditto.
8448 (vsx_fix_trunc<mode><VSi>2): Ditto.
8449 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
8450
b5838b1f
JM
84512011-02-02 Joseph Myers <joseph@codesourcery.com>
8452
8453 * config/i386/djgpp.opt (posix): New Driver option.
8454
0db8fa89
GP
84552011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
8456
8457 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
8458 Move to the unsupported targets list.
8459
9cd4f22a
PB
84602011-02-02 Peter Bergner <bergner@vnet.ibm.com>
8461
8462 PR rtl-optimization/47525
8463 * df-scan.c: Update copyright years.
8464 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
8465 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
8466
9ed8059c
RO
84672011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8468
8469 * config/i386/sysv4.h (TARGET_VERSION): Remove.
8470 (SUBTARGET_RETURN_IN_MEMORY): Remove.
8471 (ASM_OUTPUT_ASCII): Remove.
8472 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
8473
2a737389
JL
84742011-02-02 Jeff Law <law@redhat.com>
8475
8476 PR middle-end/47543
8477 * reload.c (find_reloads_address): Handle reg+d address where both
8478 components are invalid by reloading the entire address.
8479
9dac82c4
SP
84802011-02-02 Sebastian Pop <sebastian.pop@amd.com>
8481 Richard Guenther <rguenther@suse.de>
8482
8483 PR tree-optimization/40979
8484 PR bootstrap/47044
8485 * passes.c (init_optimization_passes): After LIM call copy_prop
8486 and DCE to clean up.
8487 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
8488
14dd9aab
SP
84892011-02-02 Sebastian Pop <sebastian.pop@amd.com>
8490
8491 PR tree-optimization/47576
8492 PR tree-optimization/47555
8493 * doc/invoke.texi (scev-max-expr-complexity): Documented.
8494 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
8495 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
8496 * tree-scalar-evolution.c (follow_ssa_edge): Use
8497 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
8498
5cbf5c20
RG
84992011-02-02 Richard Guenther <rguenther@suse.de>
8500
8501 PR tree-optimization/47566
8502 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
8503
83d70792
AO
85042011-02-02 Alexandre Oliva <aoliva@redhat.com>
8505
e829c321
AO
8506 PR debug/47106
8507 PR debug/47402
8508 * tree-inline.c (declare_return_variable): Remove unused caller
8509 variable.
8510
83d70792
AO
8511 PR debug/47106
8512 PR debug/47402
8513 * tree-flow-inline.h (clear_is_used, is_used_p): New.
8514 * cfgexpand.c (account_used_vars_for_block): Use them.
8515 * tree-nrv.c (tree_nrv): Likewise.
8516 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
8517 (dump_scope_block): Likewise.
8518 (remove_unused_locals): Likewise.
8519
aaa2ac93
AO
8520 PR debug/47106
8521 PR debug/47402
8522 * tree-inline.c (declare_return_variable): Add result decl to
8523 local decls only once.
8524 * gimple-low.c (record_vars_into): Mark newly-created variables
8525 as referenced.
8526
a59d15cf
AO
85272011-02-02 Alexandre Oliva <aoliva@redhat.com>
8528
8529 PR debug/47498
8530 PR debug/47501
8531 PR debug/45136
8532 PR debug/45130
8533 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
8534 debug insns.
8535 (no_real_insns_p, schedule_block, set_priorities): Drop special
8536 treatment of boundary debug insns.
38be4072 8537 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
8538 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
8539 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
8540 (BOUNDARY_DEBUG_INSN_P): Likewise.
8541 (SCHEDULE_DEBUG_INSN_P): Likewise.
8542 * sched-rgn.c (init_ready_list): Drop special treatment of
8543 boundary debug insns.
8544 * final.c (rest_of_clean_state): Clear notes' BB.
8545
6fc2f091
JM
85462011-02-01 Joseph Myers <joseph@codesourcery.com>
8547
8548 * config/openbsd.opt (assert=): New Driver option.
8549
fc523387
JM
85502011-02-01 Joseph Myers <joseph@codesourcery.com>
8551
8552 * config/i386/nto.opt: New.
8553 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
8554
6d9821e5
JM
85552011-02-01 Joseph Myers <joseph@codesourcery.com>
8556
8557 * config/i386/netware.opt: New.
8558 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
8559
cef932d4
JM
85602011-02-01 Joseph Myers <joseph@codesourcery.com>
8561
8562 * config/interix.opt (posix): New Driver option.
8563
22843acd
DD
85642011-02-01 DJ Delorie <dj@redhat.com>
8565
56490b74
DD
8566 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
8567
22843acd
DD
8568 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
8569 class for A0/A1.
8570
199c8f2f
SP
85712011-02-01 Sebastian Pop <sebastian.pop@amd.com>
8572
8573 PR tree-optimization/47561
8574 * toplev.c (process_options): Print the Graphite flags. Add
8575 flag_loop_flatten to the list of options requiring Graphite.
8576
926bcf22
JM
85772011-02-01 Joseph Myers <joseph@codesourcery.com>
8578
8579 * config/i386/cygming.opt (posix): New Driver option.
8580
59793c51
JM
85812011-02-01 Joseph Myers <joseph@codesourcery.com>
8582
8583 * config/arm/vxworks.opt: New.
8584 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
8585
183c38a4
JM
85862011-02-01 Joseph Myers <joseph@codesourcery.com>
8587
8588 * config/alpha/elf.opt: New.
8589 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
8590 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
8591
9939e416
RG
85922011-02-01 Richard Guenther <rguenther@suse.de>
8593
8594 PR tree-optimization/47559
8595 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
8596 store-motion on references that can throw.
8597
4a3c9687
BS
85982011-02-01 Bernd Schmidt <bernds@codesourcery.com>
8599
8600 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
8601 * tree-pass.h (TDF_CSELIB): New macro.
8602 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
8603 cselib_lookup): Check for it rather than for TDF_DETAILS.
8604
dd3b31fb
L
86052011-02-01 H.J. Lu <hongjiu.lu@intel.com>
8606
8607 PR driver/47547
8608 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
8609 is HOST_BIT_BUCKET.
8610
8611 * opts.c (finish_options): Don't add x_aux_base_name if it is
8612 HOST_BIT_BUCKET.
8613
34c1de79
RG
86142011-02-01 Richard Guenther <rguenther@suse.de>
8615
8616 PR tree-optimization/47555
8617 Revert
8618 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
8619
8620 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
8621
dd2804d2
SB
86222011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
8623
8624 PR gcc/46692
8625 * config/lm32/t-lm32: Add multilib for all CPU options.
8626
3fd3b156
RG
86272011-02-01 Richard Guenther <rguenther@suse.de>
8628
8629 PR tree-optimization/47541
8630 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
8631 sure to have a field at offset zero.
8632
f16072b6
JM
86332011-01-31 Joseph Myers <joseph@codesourcery.com>
8634
8635 * config/arc/arc.opt (EB, EL): New Driver options.
8636
6456cf2e
JM
86372011-01-31 Joseph Myers <joseph@codesourcery.com>
8638
8639 * config/alpha/osf5.opt: New.
8640 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
8641
cdde6ab4
JM
86422011-01-31 Joseph Myers <joseph@codesourcery.com>
8643
8644 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
8645
7633415c
SP
86462011-01-31 Sebastian Pop <sebastian.pop@amd.com>
8647
8648 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
8649 -floop-interchange.
8650 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
8651 is an alias of -floop-interchange and that it requires the
8652 Graphite infrastructure.
8653 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
8654 flag_loop_interchange based on the value of flag_tree_loop_linear.
8655
0425d6f5
JJ
86562011-01-31 Jakub Jelinek <jakub@redhat.com>
8657 Richard Guenther <rguenther@suse.de>
8658
8659 PR tree-optimization/47538
8660 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
8661 type instead of r1type, except for comparisons. For right
8662 shifts and comparisons punt if there are mismatches in
8663 sizetype vs. non-sizetype types.
8664
500b16c3
RO
86652011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8666
8667 * doc/sourcebuild.texi (Effective-Target Keywords): Document
8668 avx_runtime.
8669
e279edb0
RO
86702011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8671
8672 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
8673 version number.
8674 * configure: Regenerate.
8675
c6092243
RO
86762011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8677
8678 * configure.ac (gcc_cv_ld_static_option): Define.
8679 (gcc_cv_ld_dynamic_option): Define.
8680 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
8681 instead.
8682 (HAVE_LD_STATIC_DYNAMIC): Update message.
8683 (LD_STATIC_OPTION): Define.
8684 (LD_DYNAMIC_OPTION): Define.
8685 * configure: Regenerate.
8686 * config.in: Regenerate.
8687 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
8688 HAVE_LD_STATIC_DYNAMIC]: Use them.
8689
d7862be3
NC
86902011-01-31 Nick Clifton <nickc@redhat.com>
8691
8692 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
8693 registers inside interrupt handlers if the handler is not a leaf
8694 function.
8695
ba4ec0e0
NC
86962011-01-31 Nick Clifton <nickc@redhat.com>
8697
8698 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
8699 reg_renumber returning an INVALID_REGNUM.
8700
29a63921
AO
87012011-01-31 Alexandre Oliva <aoliva@redhat.com>
8702
8703 PR libgcj/44341
8704 * doc/install.texi: Document host options discarded when cross
8705 configuring target libraries.
8706
ef591d3f
AO
87072011-01-31 Alexandre Oliva <aoliva@redhat.com>
8708
8709 Reverted:
8710 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
8711 PR debug/45136
8712 PR debug/45130
8713 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
8714 debug insns.
8715 (no_real_insns_p, schedule_block, set_priorities): Drop special
8716 treatment of boundary debug insns.
38be4072 8717 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
8718 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
8719 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
8720 (BOUNDARY_DEBUG_INSN_P): Likewise.
8721 (SCHEDULE_DEBUG_INSN_P): Likewise.
8722 * sched-rgn.c (init_ready_list): Drop special treatment of
8723 boundary debug insns.
8724 * final.c (rest_of_clean-state): Clear notes' BB.
8725
61052244
AM
87262011-01-31 Alan Modra <amodra@gmail.com>
8727
8728 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
8729 toc relative expressions as we do in print_operand_address.
8730
c4c8962b
KH
87312011-01-30 Kazu Hirata <kazu@codesourcery.com>
8732
8733 * doc/extend.texi: Follow spelling conventions.
8734 * doc/invoke.texi: Fix a typo.
8735
e543b94c
JM
87362011-01-30 Joseph Myers <joseph@codesourcery.com>
8737
8738 * config/hpux11.opt: New.
8739 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
8740 ia64*-*-hpux*): Use hpux11.opt.
8741
509d65dd 87422011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
8743
8744 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
8745 to tmake_file.
8746
7be03a0e
GP
87472011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
8748
8749 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
8750 support sites.
8751
419d1d37
GP
87522011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
8753
b596ed64
GP
8754 * doc/install.texi (Binaries): Remove outdated reference for
8755 Motorola 68HC11/68HC12 downloads.
8756
87572011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 8758
419d1d37
GP
8759 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
8760 Drepper's paper.
8761
4406d0e9
JW
87622011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
8763
8764 PR bootstrap/47147
8765 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
8766 used by NetBSD.
8767
38be4072 87682011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
8769
8770 * value-prof.c (check_counter): Corrected error message.
8771
0cd98787
JZ
87722011-01-29 Jie Zhang <jie@codesourcery.com>
8773
8774 * config/arm/arm.c (arm_legitimize_reload_address): New.
8775 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
8776 arm_legitimize_reload_address.
38be4072 8777 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 8778
9b798ac5
ILT
87792011-01-28 Ian Lance Taylor <iant@google.com>
8780
8781 * godump.c (go_define): Ignore macros whose definitions include
8782 two adjacent operands.
8783
591e29d9
JJ
87842011-01-28 Jakub Jelinek <jakub@redhat.com>
8785
8786 PR target/42894
8787 * varasm.c (force_const_mem): Store copy of x in desc->constant
8788 instead of x itself.
8789 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
8790 itself into REG_EQUAL note.
8791
62dcc44a
JM
87922011-01-28 Joseph Myers <joseph@codesourcery.com>
8793
8794 * config/freebsd.opt (posix, rdynamic): New Driver options.
8795
c9f58b9a
RO
87962011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8797
8798 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
8799 -Bstatic/-Bdynamic.
8800 * configure: Regenerate.
8801
5f02b9db
JM
88022011-01-27 Joseph Myers <joseph@codesourcery.com>
8803
8804 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
8805 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
8806
5df97412
AS
88072011-01-27 Anatoly Sokolov <aesok@post.ru>
8808
8809 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
8810 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
8811 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
8812 (s390_preferred_reload_class): Make static. Change return and
8813 'rclass' argument type to reg_class_t.
8814
779d4b91
JH
88152011-01-27 Jan Hubicka <jh@suse.cz>
8816
8817 PR middle-end/46949
8818 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
8819 (process_function_and_variable_attributes): Check defined weakrefs.
8820
e80b21ed
MJ
88212011-01-27 Martin Jambor <mjambor@suse.cz>
8822
8823 PR tree-optimization/47228
8824 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
8825 build_ref_for_offset.
8826
6dcc4f31
UW
88272011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8828
8829 * config/spu/spu-elf.h (ASM_SPEC): Remove.
8830
509d65dd 88312011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
8832
8833 PR rtl-optimization/46856
8834 * postreload.c (reload_combine_recognize_const_pattern): Do not
8835 separate cc0 setter and user on cc0 targets.
8836
04af8788
NP
88372011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
8838
8839 PR c/43082
8840 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
8841 passed a VOID_TYPE expression, immediately emit an error and
8842 return error_mark_node.
8843
f7a60085
JL
88442011-01-26 Jeff Law <law@redhat.com>
8845
8846 PR rtl-optimization/47464
8847 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
8848 rather than may_trap_p as needed.
8849
5c2917ec
DD
88502011-01-26 DJ Delorie <dj@redhat.com>
8851
8852 PR rtl-optimization/46878
8853 * combine.c (insn_a_feeds_b): Check for the implicit cc0
8854 setter/user dependency as well.
8855
bef16e87
EB
88562011-01-26 Eric Botcazou <ebotcazou@adacore.com>
8857
8858 PR rtl-optimization/44469
8859 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
8860 after removing trivially dead basic blocks.
8861
c75d884b
JM
88622011-01-26 Joseph Myers <joseph@codesourcery.com>
8863
8864 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
8865 * config/frv/frv.h (LINK_SPEC): Likewise.
8866 * config/i386/netware.h (LINK_SPEC): Likewise.
8867 * config/m68k/linux.h (ASM_SPEC): Likewise.
8868 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
8869 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
8870 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
8871 * config/sparc/linux.h (ASM_SPEC): Likewise.
8872 * config/sparc/linux64.h (ASM_SPEC): Likewise.
8873 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
8874
d3153553
JM
88752011-01-26 Joseph Myers <joseph@codesourcery.com>
8876
8877 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
8878 * config/frv/frv.h (ASM_SPEC): Likewise.
8879 * config/m68k/linux.h (ASM_SPEC): Likewise.
8880 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
8881 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
8882 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
8883 * config/sparc/linux.h (ASM_SPEC): Likewise.
8884 * config/sparc/linux64.h (ASM_SPEC): Likewise.
8885 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
8886
b89b1e9d
JM
88872011-01-26 Joseph Myers <joseph@codesourcery.com>
8888
8889 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
8890 * config/frv/frv.h (LINK_SPEC): Likewise.
8891 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
8892
12eb1a9c
JM
88932011-01-26 Joseph Myers <joseph@codesourcery.com>
8894
8895 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
8896 * config/frv/frv.h (ASM_SPEC): Likewise.
8897 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
8898 * config/m68k/linux.h (ASM_SPEC): Likewise.
8899 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
8900 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
8901 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
8902 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
8903 * config/sparc/linux.h (ASM_SPEC): Likewise.
8904 * config/sparc/linux64.h (ASM_SPEC): Likewise.
8905 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
8906 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
8907
e435f098
SE
89082011-01-26 Steve Ellcey <sje@cup.hp.com>
8909
8910 PR target/46997
8911 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
8912 (*mux2): Ditto.
8913 (vec_extract_evenodd_help): Ditto.
8914 (vec_extract_evenv4hi): Ditto.
8915 (vec_extract_oddv4hi): Ditto.
8916 (vec_interleave_lowv2si): Ditto.
8917 (vec_interleave_highv2si): Ditto.
8918 (vec_extract_evenv2si): Ditto.
8919 (vec_extract_oddv2si: Ditto.
8920 (vec_pack_trunc_v2si): Ditto.
8921
34f0eee0
JH
89222011-01-22 Jan Hubicka <jh@suse.cz>
8923
8924 PR target/47237
8925 * cgraph.h (cgraph_local_info): New field can_change_signature.
8926 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
8927 signature can change.
8928 (ipcp_estimate_growth): Call sequence simplify only if calle signature
8929 can change.
8930 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
8931 (cgraph_function_versioning): We can not change signature of functions
8932 that don't allow that.
8933 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
8934 (lto_input_node): Likewise.
38be4072
UB
8935 * ipa-inline.c (compute_inline_parameters): Compute
8936 local.can_change_signature.
34f0eee0 8937 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
8938 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
8939 functions that can not change signature.
34f0eee0 8940 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
8941 init_cumulative_args): Do not use local calling conventions
8942 for functions that can not change signature.
34f0eee0 8943
980ca891
JH
89442011-01-22 Jan Hubicka <jh@suse.cz>
8945
8946 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
8947
768e3c60
RG
89482011-01-26 Richard Guenther <rguenther@suse.de>
8949
8950 PR tree-optimization/47190
61052244
AM
8951 * cgraphunit.c (process_common_attributes): New function.
8952 (process_function_and_variable_attributes): Use it.
768e3c60 8953
21d6a1c7
RG
89542011-01-26 Richard Guenther <rguenther@suse.de>
8955
8956 PR lto/47423
8957 * cgraphbuild.c (record_eh_tables): Record reference to personality
8958 function.
8959
48bb58b1
AO
89602011-01-26 Alexandre Oliva <aoliva@redhat.com>
8961
8962 PR debug/45454
8963 * sel-sched.c (moveup_expr): Don't let debug insns prevent
8964 non-debug insns from moving up.
8965
58c741a6
DK
89662011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
8967
8968 PR target/40125
8969 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
8970 t-dlldir{,-x} fragment for build and add it to tmake_file.
8971 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
8972 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
8973 * config/i386/t-dlldir: New file.
8974 (SHLIB_DLLDIR): Define.
8975 * config/i386/t-dlldir-x: New file.
8976 (SHLIB_DLLDIR): Define.
8977 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
8978 (SHLIB_INSTALL): Use it.
8979
bff99262
CLT
89802011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
8981
8982 PR target/47246
8983 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
8984 lower bound of the allowed Thumb-2 coprocessor load/store
8985 index range to -256. Add explaining comment.
8986
82c03907
ILT
89872011-01-25 Ian Lance Taylor <iant@google.com>
8988
8989 * godump.c (go_define): Improve lexing of macro expansion to only
8990 accept expressions which match Go spec.
8991
47ea1edf
DK
89922011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
8993
d4dba752 8994 PR c++/43601
47ea1edf
DK
8995 * tree.c (handle_dll_attribute): Handle it.
8996 * doc/extend.texi (@item dllexport): Mention it.
8997 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
8998
744f0946
ILT
89992011-01-25 Ian Lance Taylor <iant@google.com>
9000
9001 PR tree-optimization/26854
9002 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
9003 (decl_jump_unsafe): Move higher in file, with no other change.
9004 (bind): Set has_jump_unsafe_decl if appropriate.
9005 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
9006 (check_earlier_gotos): Likewise.
9007 (c_check_switch_jump_warnings): Likewise.
9008
5734f2b3
JW
90092011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
9010
9011 * doc/invoke.texi (Warning Options): Add missing hyphen.
9012 (-fprofile-dir): Minor grammatical fixes.
9013 (-fbranch-probabilities): Likewise.
9014
9bdbdcef
AO
90152011-01-25 Alexandre Oliva <aoliva@redhat.com>
9016
9017 PR debug/45136
9018 PR debug/45130
9019 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
9020 debug insns.
9021 (no_real_insns_p, schedule_block, set_priorities): Drop special
9022 treatment of boundary debug insns.
38be4072 9023 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
9024 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
9025 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
9026 (BOUNDARY_DEBUG_INSN_P): Likewise.
9027 (SCHEDULE_DEBUG_INSN_P): Likewise.
9028 * sched-rgn.c (init_ready_list): Drop special treatment of
9029 boundary debug insns.
9030 * final.c (rest_of_clean-state): Clear notes' BB.
9031
b305e3da
SP
90322011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9033
9034 * Makefile.in (LAMBDA_H): Removed.
9035 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
9036 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
9037 lambda-trans.o, and tree-loop-linear.o.
9038 (lto-symtab.o): Remove dependence on LAMBDA_H.
9039 (tree-loop-linear.o): Remove rule.
9040 (lambda-mat.o): Same.
9041 (lambda-trans.o): Same.
9042 (lambda-code.o): Same.
9043 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
9044 (tree-vect-slp.o): Same.
9045 * hwint.h (gcd): Moved here.
9046 (least_common_multiple): Same.
9047 * lambda-code.c: Removed.
9048 * lambda-mat.c: Removed.
9049 * lambda-trans.c: Removed.
9050 * lambda.h: Removed.
9051 * tree-loop-linear.c: Removed.
9052 * lto-symtab.c: Do not include lambda.h.
9053 * omega.c (gcd): Removed.
9054 * passes.c (init_optimization_passes): Remove pass_linear_transform.
9055 * tree-data-ref.c (print_lambda_vector): Moved here.
9056 (lambda_vector_copy): Same.
9057 (lambda_matrix_copy): Same.
9058 (lambda_matrix_id): Same.
9059 (lambda_vector_first_nz): Same.
9060 (lambda_matrix_row_add): Same.
9061 (lambda_matrix_row_exchange): Same.
9062 (lambda_vector_mult_const): Same.
9063 (lambda_vector_negate): Same.
9064 (lambda_matrix_row_negate): Same.
9065 (lambda_vector_equal): Same.
9066 (lambda_matrix_right_hermite): Same.
9067 * tree-data-ref.h: Do not include lambda.h.
9068 (lambda_vector): Moved here.
9069 (lambda_matrix): Same.
9070 (dependence_level): Same.
9071 (lambda_transform_legal_p): Removed declaration.
9072 (lambda_collect_parameters): Same.
9073 (lambda_compute_access_matrices): Same.
9074 (lambda_vector_gcd): Same.
9075 (lambda_vector_new): Same.
9076 (lambda_vector_clear): Same.
9077 (lambda_vector_lexico_pos): Same.
9078 (lambda_vector_zerop): Same.
9079 (lambda_matrix_new): Same.
9080 * tree-flow.h (least_common_multiple): Removed declaration.
9081 * tree-parloops.c (lambda_trans_matrix): Moved here.
9082 (LTM_MATRIX): Same.
9083 (LTM_ROWSIZE): Same.
9084 (LTM_COLSIZE): Same.
9085 (LTM_DENOMINATOR): Same.
9086 (lambda_trans_matrix_new): Same.
9087 (lambda_matrix_vector_mult): Same.
9088 (lambda_transform_legal_p): Same.
9089 * tree-pass.h (pass_linear_transform): Removed declaration.
9090 * tree-ssa-loop.c (tree_linear_transform): Removed.
9091 (gate_tree_linear_transform): Removed.
9092 (pass_linear_transform): Removed.
9093 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
9094 flag_loop_interchange.
9095
6bdfdb96
JJ
90962011-01-25 Jakub Jelinek <jakub@redhat.com>
9097
9098 PR tree-optimization/47265
9099 PR tree-optimization/47443
9100 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
9101 if name still has some uses.
9102
e4cba915
MJ
91032011-01-25 Martin Jambor <mjambor@suse.cz>
9104
9105 PR tree-optimization/47382
9106 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
9107 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
9108
509d65dd 91092011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
9110
9111 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
9112 sjlj_except_unwind_info.
9113
194313e2
RG
91142011-01-25 Richard Guenther <rguenther@suse.de>
9115
9116 PR tree-optimization/47426
9117 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
9118 visible functions results escape.
9119
147a0bcf
JJ
91202011-01-25 Jakub Jelinek <jakub@redhat.com>
9121
9122 PR target/45701
9123 * config/arm/arm.c (any_sibcall_uses_r3): New function.
9124 (arm_get_frame_offsets): Use it.
9125
db963b52
SP
91262011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9127 Jakub Jelinek <jakub@redhat.com>
9128
9129 PR tree-optimization/47271
9130 * tree-if-conv.c (bb_postdominates_preds): New.
9131 (if_convertible_bb_p): Call bb_postdominates_preds.
9132 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
9133 (predicate_scalar_phi): Call bb_postdominates_preds.
9134
bcddd3b9
NC
91352011-01-25 Nick Clifton <nickc@redhat.com>
9136
9137 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
9138 * config/rx/rx.c (rx_function_value): Likewise.
9139 (rx_promote_function_mode): Likewise.
9140 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
9141 in order to make it legitimate.
38be4072
UB
9142 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
9143 make sure that the first operand is the same as the result register.
bcddd3b9
NC
9144 (addsi3_unspec): Delete.
9145 (subdi3): Do not accept immediate operands.
9146 (subdi3_internal): Likewise.
9147
7e6cb022
JL
91482011-01-25 Jeff Law <law@redhat.com>
9149
9150 PR rtl-optimization/37273
9151 * ira-costs.c (scan_one_insn): Detect constants living in memory and
9152 handle them like argument loads from stack slots. Do not double
9153 count memory for memory constants and argument loads from stack slots.
9154
9ffa621e
JJ
91552011-01-25 Jakub Jelinek <jakub@redhat.com>
9156
9157 PR tree-optimization/47427
9158 PR tree-optimization/47428
9159 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
9160 coalesce if the new root var would be TREE_READONLY.
9161
5bd6e652
RG
91622011-01-25 Richard Guenther <rguenther@suse.de>
9163
9164 PR middle-end/47414
9165 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
9166 correct type for TBAA.
9167
7c48ea69
SP
91682011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9169
9170 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
9171 (close_phi_written_to_memory): Call for_each_index with
9172 dr_indices_valid_in_loop.
9173
38013f25
SP
91742011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9175
9176 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
9177 when it is initialized.
9178
5c640e29
SP
91792011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9180
9181 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
9182 call to graphite_find_data_references_in_stmt.
9183 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
9184 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
9185 call to graphite_find_data_references_in_stmt.
9186 (analyze_drs_in_stmts): Same.
9187 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
9188 in which the scalar analysis of indices is performed.
9189 (create_data_ref): Same. Update call to dr_analyze_indices.
9190 (find_data_references_in_stmt): Update call to create_data_ref.
9191 (graphite_find_data_references_in_stmt): Same.
9192 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
9193 declaration.
9194 (create_data_ref): Same.
9195 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
9196 call to create_data_ref.
9197
ac53c069
SP
91982011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9199
9200 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 9201 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 9202
3d17df15
SP
92032011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9204
9205 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
9206 VAR_DECL, PARM_DECL, and RESULT_DECL.
9207
c513da01
SP
92082011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9209
9210 * graphite-dependences.c (reduction_dr_1): Allow several reductions
9211 in a reduction PBB.
9212 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
9213 that have already been marked as PBB_IS_REDUCTION.
9214
3a292d59
SP
92152011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9216
9217 * graphite-scop-detection.c (same_close_phi_node): New.
9218 (remove_duplicate_close_phi): New.
9219 (make_close_phi_nodes_unique): New.
9220 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
9221
ba858447
SP
92222011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9223
9224 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
9225 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
9226 of both data references to be the same.
9227
8d865c56
SP
92282011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9229
38be4072
UB
9230 * graphite-dependences.c (build_lexicographical_constraint): Remove
9231 the gdim parameter.
9232 (build_lexicographical_constraint): Adjust call to
9233 ppl_powerset_is_empty.
8d865c56
SP
9234 (dependence_polyhedron): Same.
9235 (graphite_legal_transform_dr): Same.
9236 (graphite_carried_dependence_level_k): Same.
38be4072
UB
9237 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
9238 parameter.
8d865c56
SP
9239 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
9240
50034a36
SP
92412011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9242
9243 * graphite-sese-to-poly.c
9244 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
9245 (close_phi_written_to_memory): New.
9246 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
9247 and unshare_expr.
9248
0deada9e
SP
92492011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9250
9251 * doc/install.texi: Update the expected version number of PPL to 0.11.
9252 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
9253 #if PPL_VERSION_MINOR < 11.
9254
d7d3d6af
SP
92552011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9256
9257 * graphite-dependences.c: Include graphite-cloog-util.h.
9258 (new_poly_ddr): Inlined into dependence_polyhedron.
9259 (free_poly_ddr): Moved close by new_poly_ddr.
9260 (dependence_polyhedron_1): Renamed dependence_polyhedron.
9261 Early return NULL when ppl_powerset_is_empty returns true.
9262 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
9263 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
9264 (graphite_legal_transform_dr): Call new_poly_ddr.
9265 (graphite_carried_dependence_level_k): Same.
9266 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
9267 (dot_transformed_deps_stmt_1): Removed.
9268 (dot_deps_stmt_1): Call dot_deps_stmt_2.
9269 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
9270 (dot_deps_1): Call dot_deps_2.
9271 * Makefile.in (graphite-dependences.o): Add missing dependence on
9272 graphite-cloog-util.h.
9273
28c5db57
SP
92742011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9275
9276 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
9277 (build_lexicographical_constraint): Same.
9278 (dependence_polyhedron_1): Same.
9279 (graphite_legal_transform_dr): Same.
9280 (graphite_carried_dependence_level_k): Same.
9281 * graphite-ppl.c (ppl_powerset_is_empty): New.
9282 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
9283 * tree-data-ref.c (dump_data_reference): Print the basic block index.
9284
5168d98f
SP
92852011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9286
9287 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
9288 the "a followed by b" relation and document it.
9289
4a40293a
SP
92902011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9291
9292 * graphite-dependences.c (build_lexicographical_constraint): Stop the
9293 iteration when the bag of constraints is empty.
9294
271fb6fa
SP
92952011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9296
9297 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
9298
92d23680
SP
92992011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9300
9301 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
9302 nest and two loop depths as parameters.
9303 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
9304 lst_perfect_nestify.
9305
2f51deff
SP
93062011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9307
9308 * graphite-dependences.c (print_pddr): Call
9309 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
9310
07f3593c
SP
93112011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9312
9313 * graphite-ppl.c (debug_gmp_value): New.
9314 * graphite-ppl.h (debug_gmp_value): Declared.
9315
3fae6099
TG
93162011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
9317
9318 * doc/install.texi: Document availability of cloog-0.16.
9319
1c3ba85b
SP
93202011-01-25 Vladimir Kargov <kargov@gmail.com>
9321
9322 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
9323 invalid postdominance info.
9324
e8ba94fc
JH
93252011-01-24 Jan Hubicka <jh@suse.cz>
9326
9327 PR c/21659
9328 * doc/extend.texi (weak pragma): Drop claim that it must
9329 appear before definition.
9330 * varasm.c (merge_weak, declare_weak): Only sanity check
9331 that DECL is not output at a time it is declared weak.
9332
2b6e2d13
KZ
93332011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
9334
9335 * machmode.def: Fixed comments.
1c3ba85b 9336
9841210f
KT
93372011-01-24 Kai Tietz <kai.tietz@onevision.com>
9338
9339 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
9340
93412011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
9342
9343 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 9344 WORDS_BIG_ENDIAN.
e046112d 9345
a6c5070a
L
93462011-01-24 H.J. Lu <hongjiu.lu@intel.com>
9347
9348 PR target/46519
9349 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
9350 (block_info): Add scanned and prev.
9351 (move_or_delete_vzeroupper_2): Return if the basic block
9352 has been scanned and the upper 128bit state is unchanged
9353 from the last scan.
9354 (move_or_delete_vzeroupper_1): Return true if the exit
9355 state is changed.
9356 (move_or_delete_vzeroupper): Visit basic blocks using the
9357 work-list based algorithm based on vt_find_locations in
9358 var-tracking.c.
9359
9360 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
9361
a40d79d7
NC
93622011-01-24 Nick Clifton <nickc@redhat.com>
9363
9364 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
9365 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
9366 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
9367 then define __v850e1__.
9368 * doc/invoke.texi: Document -mv850es.
9369
440eb8de
RH
93702011-01-24 Richard Henderson <rth@redhat.com>
9371
9372 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
9373 compound unordered comparisons.
9374 * config/rx/rx.c (rx_split_fp_compare): Remove.
9375 * config/rx/rx-protos.h: Update.
9376 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
9377 (cbranchsf4): Don't call rx_split_fp_compare.
9378 (*cbranchsf4): Use rx_split_cbranch.
9379 (*cmpsf): Don't accept "i" constraint.
9380 (*conditional_branch): Only valid after reload.
9381 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
9382
3ff79f99
MM
93832011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
9384
9385 PR target/47385
9386 * config/rs6000/altivec.md (vector constant splitters): Add
9387 support for creating vector single precision constants if -mvsx is
9388 used and we would create the constant using Altivec primitives.
9389
ff3d9d08
BS
93902011-01-23 Bernd Schmidt <bernds@codesourcery.com>
9391 Richard Sandiford <rdsandiford@googlemail.com>
9392
9393 PR rtl-optimization/47166
9394 * reload1.c (emit_reload_insns): Disable the spill_reg_store
9395 mechanism for PRE_MODIFY and POST_MODIFY.
9396 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
9397 reloadreg.
9398
7fcaf152
AS
93992011-01-23 Andreas Schwab <schwab@linux-m68k.org>
9400
8788adb6 9401 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 9402
d09b58c4
JH
94032011-01-22 Jan Hubicka <jh@suse.cz>
9404
9405 PR lto/47333
9406 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
9407
e8ff8c5a
JH
94082011-01-22 Jan Hubicka <jh@suse.cz>
9409
9410 PR tree-optimization/43884
9411 PR lto/44334
8788adb6 9412 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
9413 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
9414
ccaed3ba
AS
94152011-01-22 Anatoly Sokolov <aesok@post.ru>
9416
9417 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
9418 * config/s390/s390.c (s390_register_move_cost,
9419 s390_memory_move_cost): New.
9420 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
9421
0cecee06
UW
94222011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9423
9424 PR middle-end/47401
9425 * except.c (sjlj_assign_call_site_values): Move setting the
9426 crtl->uses_eh_lsda flag to ...
9427 (sjlj_mark_call_sites): ... here.
9428 (sjlj_emit_function_enter): Support NULL dispatch label.
9429 (sjlj_build_landing_pads): In a function with no landing pads
9430 that still has must-not-throw regions, generate code to register
9431 a personality function with empty LSDA.
9432
e692f276
RH
94332011-01-21 Richard Henderson <rth@redhat.com>
9434
1b7ae0b7
RH
9435 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
9436
3843787f
RH
9437 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
9438
e692f276
RH
9439 * compare-elim.c: New file.
9440 * Makefile.in (OBJS-common): Add it.
9441 (compare-elim.o): New.
9442 * common.opt (fcompare-elim): New.
9443 * opts.c (default_options_table): Add OPT_fcompare_elim.
9444 * tree-pass.h (pass_compare_elim_after_reload): New.
9445 * passes.c (init_optimization_passes): Add it.
9446 * recog.h: Protect against re-inclusion.
9447 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
9448 * doc/invoke.texi (-fcompare-elim): Document it.
9449 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
9450 * doc/tm.texi: Rebuild.
9451
9a7c2050
NC
94522011-01-22 Nick Clifton <nickc@redhat.com>
9453
9454 * config/rx/rx.md (cstoresf4): Pass comparison operator to
9455 rx_split_fp_compare.
9456
15ba5696
NC
94572011-01-22 Nick Clifton <nickc@redhat.com>
9458
9459 * config/rx/rx.md (UNSPEC_CONST): New.
9460 (deallocate_and_return): Wrap the amount popped off the stack in
9461 an UNSPEC_CONST in order to stop it being rejected by
9462 -mmax-constant-size.
9463 (pop_and_return): Add a "(return)" rtx.
9464 (call): Drop the immediate operand.
9465 (call_internal): Likewise.
9466 (call_value): Likewise.
9467 (call_value_internal): Likewise.
9468 (sibcall_internal): Likewise.
9469 (sibcall_value_internal): Likewise.
9470 (sibcall): Likewise. Generate an explicit call using
9471 sibcall_internal.
9472 (sibcall_value): Likewise.
9473 (mov<>): FAIL if a constant operand is not legitimate.
9474 (addsi3_unpsec): New pattern.
9a7c2050 9475
38be4072 9476 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
9477 (ok_for_max_constant): New function.
9478 (gen_safe_add): New function.
9479 (rx_expand_prologue): Use gen_safe_add.
9480 (rx_expand_epilogue): Likewise.
9481 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
9482 UNSPEC CONSTs.
9483
caaf13d3
JL
94842011-01-21 Jeff Law <law@redhat.com>
9485
9486 PR tree-optimization/47053
9487 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
9488 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
9489 statements are deleted.
9490 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
9491 is nonempty, then purge dead edges and cleanup the CFG.
9492
12c30f2f
AO
94932011-01-21 Alexandre Oliva <aoliva@redhat.com>
9494
9495 PR debug/47402
9496 Temporarily revert:
9497 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
9498 PR debug/47106
9499 * tree-dfa.c (create_var_ann): Mark variable as used.
9500
7360d2ac
JJ
95012011-01-21 Jakub Jelinek <jakub@redhat.com>
9502
aaa52a96
JJ
9503 PR middle-end/45566
9504 * except.c (convert_to_eh_region_ranges): Emit queued no-region
9505 notes from other section in hot/cold partitioning even if
9506 last_action is -3. Increment call_site_base.
9507
7360d2ac
JJ
9508 PR rtl-optimization/47366
9509 * fwprop.c (forward_propagate_into): Return bool. If
9510 any changes are made, -fnon-call-exceptions is used and
9511 REG_EH_REGION note is present, call purge_dead_edges
9512 and return true if it purged anything.
9513 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
9514 any EH edges were purged.
9515
e90b336f
JL
95162011-01-21 Jeff Law <law@redhat.com>
9517
9518 PR rtl-optimization/41619
9519 * caller-save.c (setup_save_areas): Break out code to determine
9520 which hard regs are live across calls by examining the reload chains
9521 so that it is always used.
9522 Eliminate code which checked REG_N_CALLS_CROSSED.
9523
3ffe07e1
JJ
95242011-01-21 Jakub Jelinek <jakub@redhat.com>
9525
9526 PR tree-optimization/47355
9527 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
9528 NOP has non-debug uses beyond PHIs in new_bb.
9529
1c7d0b34
AO
95302011-01-21 Alexandre Oliva <aoliva@redhat.com>
9531
9532 PR debug/47106
9533 * cfgexpand.c (account_used_vars_for_block): Only account vars
9534 that are annotated as used.
9535 (estimated_stack_frame_size): Don't set TREE_USED.
9536 * tree-dfa.c (create_var_ann): Mark variable as used.
9537
f99cc488
RG
95382011-01-21 Richard Guenther <rguenther@suse.de>
9539
9540 PR middle-end/47395
9541 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
9542
3bc27de7
RG
95432011-01-21 Richard Guenther <rguenther@suse.de>
9544
9545 PR tree-optimization/47365
9546 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
9547 (vn_reference_lookup_pieces): Adjust.
9548 (vn_reference_lookup): Likewise.
9549 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
9550 (vn_reference_lookup_3): Only look through kills if in
9551 VN_WALKREWRITE mode.
9552 (vn_reference_lookup_pieces): Adjust.
9553 (vn_reference_lookup): Likewise.
9554 (visit_reference_op_load): Likewise.
9555 (visit_reference_op_store): Likewise.
9556 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
9557 (compute_avail): Likewise.
9558 (eliminate): Likewise.
9559
d8debb1d
JJ
95602011-01-21 Jakub Jelinek <jakub@redhat.com>
9561
9562 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
9563 DECL_IGNORED_P non-reg vars if they are used.
9564
3a2df831
JJ
9565 PR tree-optimization/47391
9566 * varpool.c (const_value_known_p): Return false if
9567 decl is volatile.
9568
1dd584a2
KT
95692011-01-21 Kai Tietz <kai.tietz@onevision.com>
9570
9571 PR bootstrap/47215
9572 * config/i386/i386.c (ix86_local_alignment): Handle
9573 case for va_list_type_node is nil.
9574 (ix86_canonical_va_list_type): Likewise.
9575
7f9f095e
AM
95762011-01-21 Alan Modra <amodra@gmail.com>
9577
9578 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
9579 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
9580
837b01f6
RR
95812011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9582
9583 * config/arm/arm.md (define_attr type): Rename f_load
9584 and f_store to f_fpa_load and f_fpa_store. Update.
9585 (write_conflict): Deal with rename fallout.
9586 (*push_fp_multi): Likewise.
9587 * config/arm/fpa.md (f_load): Use f_fpa_load.
9588 (f_store): Use f_fpa_store.
9589 (*movsf_fpa): Likewise.
9590 (*movdf_fpa): Likewise.
9591 (*movxf_fpa): Likewise.
9592 (*thumb2_movsf_fpa): Likewise.
9593 (*thumb2_movdf_fpa): Likewise.
9594 (*thumb2_movxf_fpa): Likewise.
9595 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
9596 f_loadd and f_stored.
9597 (*thumb2_movdi_vfp): Likewise.
9598 (*thumb2_movsf_vfp): Fix attribute to f_loads.
9599 (*thumb2_movsi_vfp): Likewise.
9600 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
9601 Use f_loads instead of f_load.
9602 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
9603
a1a79768
AS
96042011-01-20 Anatoly Sokolov <aesok@post.ru>
9605
9606 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
9607 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
9608 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
9609 (xtensa_mode_dependent_address_p): New function.
9610 (constantpool_address_p): Make static. Change return type to bool.
9611 Change argument type to const_rtx. Use CONST_INT_P predicate.
9612
427f6cec
AO
96132011-01-20 Alexandre Oliva <aoliva@redhat.com>
9614
9615 PR debug/46583
9616 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
9617
583ac69c
JJ
96182011-01-20 Jakub Jelinek <jakub@redhat.com>
9619
9620 PR debug/47283
9621 * cfgexpand.c (expand_debug_expr): Instead of generating
9622 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
9623 etc. handling.
9624
93e452ed
RG
96252011-01-20 Richard Guenther <rguenther@suse.de>
9626
9627 PR middle-end/47370
9628 * tree-inline.c (remap_gimple_op_r): Recurse manually for
9629 the pointer operand of MEM_REFs.
9630
28fc44f3
JJ
96312011-01-20 Jakub Jelinek <jakub@redhat.com>
9632
9633 PR tree-optimization/46130
9634 * ipa-split.c (consider_split): If return_bb contains non-virtual
9635 PHIs other than for retval or if split_function would not adjust it,
9636 refuse to split.
9637
ddd268f2
RG
96382011-01-20 Richard Guenther <rguenther@suse.de>
9639
9640 PR tree-optimization/47167
9641 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
9642 Revert previous change, only avoid enumeral type changes.
9643
882020aa
MS
96442011-01-19 Mike Stump <mikestump@comcast.net>
9645
9646 * doc/tm.texi.in (BRANCH_COST): Englishify.
9647 * doc/tm.texi (BRANCH_COST): Likewise.
9648
7edb6247
DS
96492011-01-19 Dodji Seketeli <dodji@redhat.com>
9650
9651 PR c++/47291
9652 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
9653 (gen_scheduled_generic_parms_dies): New functions.
9654 (gen_struct_or_union_type_die): Schedule template parameters DIEs
9655 generation for the end of CU compilation.
9656 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 9657
23d5ed5d
AO
96582011-01-19 Alexandre Oliva <aoliva@redhat.com>
9659
9660 PR debug/46240
9661 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
9662 debug bind stmt on merge edges.
9663
37d6a488
AO
96642011-01-19 Alexandre Oliva <aoliva@redhat.com>
9665
9666 PR debug/47079
9667 PR debug/46724
9668 * function.c (instantiate_expr): Instantiate incoming rtl of
9669 implicit arguments, and recurse on VALUE_EXPRs.
9670 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
9671 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
9672
689f2c82
AO
96732011-01-19 Alexandre Oliva <aoliva@redhat.com>
9674
9675 * c-parser.c (c_parser_for_statement): Initialize
9676 collection_expression.
9677
03029de4
JM
96782011-01-19 Joseph Myers <joseph@codesourcery.com>
9679
9680 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
9681
3e03217e
JM
96822011-01-19 Joseph Myers <joseph@codesourcery.com>
9683
9684 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
9685 (LINK_SHLIB_SPEC): Don't use %(link_path).
9686 (SUBTARGET_EXTRA_SPECS): Remove link_path.
9687
5bbe9b3f
JM
96882011-01-19 Joseph Myers <joseph@codesourcery.com>
9689
9690 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
9691 (NO_SHARED_LIB_SUPPORT): Remove.
9692 (LINK_SHLIB_SPEC): Remove one conditional definition.
9693
368e0b39
JM
96942011-01-19 Joseph Myers <joseph@codesourcery.com>
9695
9696 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
9697 %{call_shared}.
9698 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
9699 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
9700 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
9701 %{call_shared} and conditionals on these options not being passed.
9702 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
9703 %{call_shared}.
9704
ed7656f6
JJ
97052011-01-19 Jakub Jelinek <jakub@redhat.com>
9706
68457901
JJ
9707 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
9708 simplify.
9709
ed7656f6
JJ
9710 * ipa-split.c: Spelling fixes.
9711
e0d1958f
RH
97122011-01-19 Richard Henderson <rth@redhat.com>
9713
9714 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
9715 (*mulsi3): Likewise.
9716
27098b6b
RH
9717 * longlong.h [__mn10300__] (count_leading_zeros): New.
9718 [__mn10300__] (umul_ppmm, smul_ppmm): New.
9719 [__mn10300__] (add_ssaaaa, subddmmss): New.
9720 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
9721 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
9722
d6be7c36
UW
97232011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9724
9725 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
9726
b1efde2a
RH
97272011-01-19 Richard Henderson <rth@redhat.com>
9728
44217823
RH
9729 * config/mn10300/mn10300.md (addsi3_flags): New.
9730 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
9731 (subsi3_flags, subc_internal, subdi3): New.
9732 (subdi3_internal, *subdi3_degenerate): New.
9733 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
9734
37a185d7
RH
9735 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
9736 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
9737 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
9738 * config/mn10300/mn10300-protos.h: Update.
9739 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
9740 (return_ret): Likewise. Rename from return_internal_regs.
9741 (return_internal): Remove.
9742
040c5757
RH
9743 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
9744 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
9745 (mn10300_legitimate_constant_p): Likewise.
9746 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
9747 (mn10300_frame_size): New.
9748 (mn10300_expand_prologue): Use it.
9749 (mn10300_expand_epilogue): Likewise.
9750 (mn10300_initial_offset): Likewise.
9751 * config/mn10300/mn10300-protos.h: Update.
9752 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
9753 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
9754 (prologue, epilogue, return_internal): Tidy output code.
9755 (mn10300_store_multiple_operation, return): Likewise.
9756 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
9757 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
9758 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
9759 (load_pic, am33_load_pic): New.
9760 (mn10300_load_pic0, mn10300_load_pic1): New.
9761
bad41521
RH
9762 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
9763 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
9764 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
9765 (cc_flags_for_mode, cc_flags_for_code): New.
9766 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
9767 overflow flag is not valid. Validate that the flags we need
9768 for the comparison are valid.
9769 (mn10300_output_cmp): Remove.
9770 (mn10300_output_add): New.
9771 (mn10300_select_cc_mode): Use cc_flags_for_code.
9772 (mn10300_split_cbranch): New.
9773 (mn10300_match_ccmode): New.
9774 (mn10300_split_and_operand_count): New.
9775 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
9776 to the function.
9777 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
9778 (addsi3): ... here. Use mn10300_output_add.
9779 (*addsi3_flags): New.
9780 (*am33_subsi3, *mn10300_subsi3): Merge...
9781 (subsi3): ... here. Use attribute isa.
9782 (*subsi3_flags): New.
9783 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
9784 when possible.
9785 (*am33_andsi3, *mn10300_andsi3): Merge...
9786 (andsi3): ... here.
9787 (*andsi3_flags): New.
9788 (andsi3 splitters): New.
9789 (*am33_iorsi3, *mn10300_iorsi3): Merge...
9790 (iorsi3): ... here.
9791 (*iorsi3_flags): New.
9792 (*am33_xorsi3, *mn10300_xorsi3): Merge...
9793 (xorsi3): ... here.
9794 (*xorsi3_flags): New.
9795 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
9796 (one_cmplsi2): ... here.
9797 (*one_cmplsi2_flags): New.
9798 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
9799 instead of "dax" in constraints. Use mn10300_split_cbranch.
9800 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
9801 use matching constraints to eliminate a self-comparison.
9802 (*integer_conditional_branch): Rename from integer_conditional_branch.
9803 Use int_mode_flags to match CC_REG.
9804 (*cbranchsi4_btst, *btstsi): New.
9805 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
9806 mn10300_split_cbranch.
9807 (*am33_cmpsf): Rename from am33_cmpsf.
9808 (*float_conditional_branch): Rename from float_conditional_branch.
9809 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
9810 (zero_extendqisi2): ... here.
9811 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
9812 (zero_extendhisi2): ... here.
9813 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
9814 (extendqisi2): ... here.
9815 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
9816 (extendhisi2): ... here.
9817 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
9818 (ashlsi3): ... here.
9819 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
9820 (lshrsi3): ... here.
9821 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
9822 (ashrsi3): ... here.
9823 (consecutive add peephole): Remove.
9824 * config/mn10300/predicates.md (label_ref_operand): New.
9825 (int_mode_flags): New.
9826 (CCZN_comparison_operator): New.
9827
9efb4993
RH
9828 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
9829 (throughput_42_latency_43): New reservation.
9830 (mulsidi3, umulsidi3): New expanders.
9831 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
9832 the MDR register to allocation; separately allocate the low and
9833 high parts of the DImode result.
9834 (umulsidi3_internal): Similarly.
9835 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
9836 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
9837 (udivsi3, umodsi3): Remove.
9838 (udivmodsi4, divmodsi4): New expanders.
9839 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
9840 (*divmodsi4): Simiarly.
9841 (ext_internal): New.
9842
c25a21f5
RH
9843 * config/mn10300/constraints.md ("z"): New constraint.
9844 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
9845 (FIXED_REGISTERS): Don't fix MDR.
9846 (CALL_USED_REGSITERS): Reformat nicely.
9847 (REG_ALLOC_ORDER): Add MDR.
9848 (enum regclass): Add MDR_REGS.
9849 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
9850 (IRA_COVER_CLASSES): Add MDR_REGS.
9851 (REGNO_REG_CLASS): Handle MDR_REG.
9852 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
9853 (mn10300_register_move_cost): Likewise.
9854 * config/mn10300/mn10300.md (MDR_REG): New.
9855 (*movsi_internal): Handle moves to/from MDR_REGS.
9856
36846b26
RH
9857 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
9858 POST_MODIFY.
9859 (mn10300_secondary_reload): Tidy combination reload classes.
9860 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
9861 addresses for AM33. Allow symbolic offsets for reg+imm.
9862 (mn10300_regno_in_class_p): New.
9863 (mn10300_legitimize_reload_address): New.
9864 * config/mn10300/mn10300.h (enum reg_class): Remove
9865 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
9866 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
9867 SP_OR_GENERAL_REGS.
9868 (REG_CLASS_NAMES): Update to match.
9869 (REG_CLASS_CONTENTS): Likewise.
9870 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
9871 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
9872 (REGNO_IN_RANGE_P): Remove.
9873 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
9874 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
9875 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
9876 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
9877 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
9878 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
9879 (REGNO_GENERAL_P): New.
9880 (HAVE_POST_MODIFY_DISP): New.
9881 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
9882 (LEGITIMIZE_RELOAD_ADDRESS): New.
9883 * config/mn10300/mn10300-protos.h: Update.
9884
8b119bb6
RH
9885 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
9886 DATA_REGS for AM33 stack-pointer destination.
9887 (mn10300_preferred_output_reload_class): Likewise.
9888 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
9889 into a form appropriate for ...
9890 (TARGET_SECONDARY_RELOAD): New.
9891 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
9892 * config/mn10300/mn10300-protos.h: Update.
9893 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
9894 reload_insi; use the "A" constraint for the scratch; handle AM33
9895 moves of sp to non-address registers.
9896
b1efde2a
RH
9897 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
9898 (*movqi_internal): ... here.
9899 (*am33_movhi, *mn10300_movhi): Merge into...
9900 (*movhi_internal): ... here.
9901 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
9902 as the source/destination of moves from/to SP.
9903 (movsf): Only allow for AM33-2.
1c3ba85b 9904 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
9905 any integer constant constraint. Only allow for AM33-2. Tidy
9906 all of the alternative outputs.
9907 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
9908 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
9909 for MN103.
9910 (udivsi3, umodsi3): New patterns for MN103 only.
9911
b899fd78
JR
99122011-01-19 Joern Rennecke <amylaar@spamcop.net>
9913
9914 * doc/tm.texi.in: Spell out that a lack of register class unions
9915 can lead to ICEs.
9916 * doc/tm.texi: Regenerate.
9917
afaaa67d
JJ
99182011-01-19 Jakub Jelinek <jakub@redhat.com>
9919
2e0642cd
JJ
9920 PR rtl-optimization/47337
9921 * dce.c (check_argument_store): New function.
9922 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
9923
afaaa67d
JJ
9924 PR tree-optimization/47290
9925 * tree-eh.c (infinite_empty_loop_p): New function.
9926 (cleanup_empty_eh): Use it.
9927
d2cd871f
SE
99282011-01-18 Steve Ellcey <sje@cup.hp.com>
9929
9930 PR target/46997
9931 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
9932 (a64_expand_widen_sum): Ditto.
9933 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
9934 (vec_extract_evenodd_help): Ditto.
9935 (vec_extract_evenv4hi): Ditto.
9936 (vec_extract_oddv4hi): Ditto.
9937 (vec_extract_evenv2si): Ditto.
9938 (vec_extract_oddv2si): Ditto.
9939 (vec_extract_evenv2sf): Ditto.
9940 (vec_extract_oddv2sf): Ditto.
9941 (vec_pack_trunc_v4hi: Ditto.
9942 (vec_pack_trunc_v2si): Ditto.
9943 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
9944 (vec_interleave_highv8qi): Ditto.
9945 (mix1_r): Ditto.
9946 (vec_extract_oddv8qi): Ditto.
9947 (vec_interleave_lowv4hi): Ditto.
9948 (vec_interleave_highv4hi): Ditto.
9949 (vec_interleave_lowv2si): Ditto.
9950 (vec_interleave_highv2si): Ditto.
9951
41a1208a
JDA
99522011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9953
9954 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
9955 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
9956 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
9957 (pa_c_mode_for_suffix): New.
9958 (TARGET_EXPAND_BUILTIN): Define.
9959 (TARGET_C_MODE_FOR_SUFFIX): Define.
9960 (pa_builtins): Define.
9961 (pa_init_builtins): Register __float128 type and init new support
9962 builtins.
9963 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
9964 * config/pa/quadlib.c (_U_Qfcopysign): New.
9965
1ecad98e
EB
99662011-01-18 Eric Botcazou <ebotcazou@adacore.com>
9967
9968 PR middle-end/46894
9969 * explow.c (allocate_dynamic_stack_space): Do not assume more than
9970 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
9971 are defined.
9972
d4f2460a
UW
99732011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9974
9975 PR tree-optimization/47179
9976 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
9977 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
9978
4994da65
RG
99792011-01-18 Richard Guenther <rguenther@suse.de>
9980
9981 PR rtl-optimization/47216
9982 * emit-rtl.c: Include tree-flow.h.
9983 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
9984 of replicating it with different semantics.
9985 * Makefile.in (emit-rtl.o): Adjust.
9986
1eb458d1
RR
99872011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9988
38be4072 9989 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 9990 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 9991
e7ef91dc
JJ
99922011-01-18 Jakub Jelinek <jakub@redhat.com>
9993
9994 PR rtl-optimization/47299
9995 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 9996 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
9997 * expmed.c (expand_widening_mult): Don't try to optimize constant
9998 multiplication if op0 has VOIDmode. Convert op1 constant to mode
9999 before using it.
10000
535b7874
RW
100012011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10002
10003 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
10004 spacing after 'e.g.', typos, comma, hyphenation.
10005
27bf36f3
RH
100062011-01-17 Richard Henderson <rth@redhat.com>
10007
8a5b5449
RH
10008 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
10009 (rx_restricted_mem_operand): New.
10010 (rx_shift_operand): Use register_operand.
10011 (rx_source_operand, rx_compare_operand): Likewise.
10012 * config/rx/rx.md (addsi3_flags): New expander.
10013 (adddi3): Rewrite as expander.
10014 (adc_internal, *adc_flags, adddi3_internal): New patterns.
10015 (subsi3_flags): New expander.
10016 (subdi3): Rewrite as expander.
10017 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
10018
784f69be
RH
10019 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
10020 (rx_init_builtins): Remove sat builtin.
10021 (rx_expand_builtin): Likewise.
10022 * config/rx/rx.md (ssaddsi3): New.
10023 (*sat): Rename from sat. Represent the CC_REG input.
10024
f033541c
RH
10025 * config/rx/predicates.md (rshift_operator): New.
10026 * config/rx/rx.c (rx_expand_insv): Remove.
10027 * config/rx/rx-protos.h: Update.
10028 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
10029 operand to the canonical position.
10030 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
10031 (*bitclr, *bitclr_in_memory): Similarly.
10032 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
10033 (insv): Retain the zero_extract in the expansion.
10034
34fee389
RH
10035 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
10036 (bswaphi2, bitinvert, revw): Likewise.
10037
265c835f
RH
10038 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
10039 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
10040 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
10041 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
10042 (bitset, bitset_in_memory): Likewise.
10043 (bitinvert, bitinvert_in_memory): Likewise.
10044 (bitclr, bitclr_in_memory): Likewise.
10045 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
10046 (rx_strend, rx_cmpstrn): Likewise.
10047 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
10048 (bitop peep2 patterns): Remove.
10049
b4d83be3
RH
10050 * config/rx/rx.c (rx_match_ccmode): New.
10051 * config/rx/rx-protos.h: Update.
10052 * config/rx/rx.md (abssi2): Clobber, don't set flags.
10053 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
10054 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
10055 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
10056 (fix_truncsfsi2, floatsisf2): Likewise.
10057 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
10058 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
10059 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
10060 (*subsi3_flags, *xorsi3_flags): New.
10061
d0acb939
RH
10062 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
10063
c06fc3d9
RH
10064 * config/rx/rx.c (rx_print_operand): Remove workaround for
10065 unsplit comparison operations.
10066
2882702b
RH
10067 * config/rx/rx.md (movsicc): Split after reload.
10068 (*movsicc): Merge *movsieq and *movsine via match_operator.
10069 (*stcc): New pattern.
10070
6f7310f2
RH
10071 * config/rx/rx.c (rx_float_compare_mode): Remove.
10072 * config/rx/rx.h (rx_float_compare_mode): Remove.
10073 * config/rx/rx.md (cstoresi4): Split after reload.
10074 (*sccc): New pattern.
10075
e963cb1a
RH
10076 * config/rx/predicates.md (label_ref_operand): New.
10077 (rx_z_comparison_operator): New.
10078 (rx_zs_comparison_operator): New.
10079 (rx_fp_comparison_operator): New.
10080 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
10081 Validate that the flags are set properly for the comparison.
10082 (rx_gen_cond_branch_template): Remove.
10083 (rx_cc_modes_compatible): Remove.
10084 (mode_from_flags): New.
10085 (flags_from_code): Rename from flags_needed_for_conditional.
10086 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
10087 (rx_select_cc_mode): Likewise.
10088 (rx_split_fp_compare): New.
10089 (rx_split_cbranch): New.
10090 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
10091 (*cbranchsi4): Use match_operator and rx_split_cbranch.
10092 (*cbranchsf4): Similarly.
10093 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
10094 match_operator and rx_split_cbranch.
10095 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
10096 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
10097 (*cmpsi): Rename from cmpsi.
10098 (*tstsi): Rename from tstsi.
10099 (*cmpsf): Rename from cmpsf; use CC_Fmode.
10100 (*conditional_branch): Rename from conditional_branch.
10101 (*reveresed_conditional_branch): Remove.
10102 (b<code>): Remove expander.
10103 * config/rx/rx-protos.h: Update.
10104
af530bb4
RH
10105 * config/rx/rx.c (rx_compare_redundant): Remove.
10106 * config/rx/rx.md (cmpsi): Don't use it.
10107 * config/rx/rx-protos.h: Update.
10108
27bf36f3
RH
10109 * config/rx/rx-modes.def (CC_F): New mode.
10110 * config/rx/rx.c (rx_select_cc_mode): New.
10111 * config/rx/rx.h (SELECT_CC_MODE): Use it.
10112 * config/rx/rx-protos.h: Update.
10113
d7fde127
RH
101142011-01-17 Richard Henderson <rth@redhat.com>
10115
10116 * except.c (dump_eh_tree): Fix stray ; after for statement.
10117
6ff38230
RG
101182011-01-17 Richard Guenther <rguenther@suse.de>
10119
10120 PR tree-optimization/47313
10121 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
10122 handling before copying the body. Properly deal with
10123 by-reference result in SSA form.
10124
114ce554
ILT
101252011-01-17 Ian Lance Taylor <iant@google.com>
10126
bf5cd92b 10127 PR target/47219
114ce554
ILT
10128 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
10129 (struct_value_alias_set): Don't define.
10130 (sparc_option_override): Don't set sparc_sr_alias_set and
10131 struct_value_alias_set.
10132 (save_or_restore_regs): Use gen_frame_mem rather than calling
10133 set_mem_alias_set.
10134 (sparc_struct_value_rtx): Likewise.
10135
98c6d93c
L
101362011-01-17 H.J. Lu <hongjiu.lu@intel.com>
10137
10138 PR target/47318
7a81008b 10139 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i.
98c6d93c
L
10140 (_mm_maskstore_pd): Likewise.
10141 (_mm_maskload_ps): Likewise.
10142 (_mm_maskstore_ps): Likewise.
10143 (_mm256_maskload_pd): Change mask to __m256i.
10144 (_mm256_maskstore_pd): Likewise.
10145 (_mm256_maskload_ps): Likewise.
10146 (_mm256_maskstore_ps): Likewise.
10147
10148 * config/i386/i386-builtin-types.def: Updated.
10149 (ix86_expand_special_args_builtin): Likewise.
10150
10151 * config/i386/i386.c (bdesc_special_args): Update
10152 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
10153 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
10154 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
10155 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
10156
10157 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
10158 Use <avxpermvecmode> on mask register.
10159 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
10160
b9361af2 101612011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
10162 Michael Haubenwallner <michael.haubenwallner@salomon.at>
10163 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
10164
10165 PR target/46655
10166 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
10167 if <= USHRT_MAX in 32-bit mode.
10168
b7ae9eb5
RW
101692011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10170
10171 * doc/install.texi (Configuration, Specific): Wrap long
10172 lines in examples. Allow line wrapping in long options
10173 and URLs where beneficial for PDF output.
10174
4377fad9
RS
101752011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
10176
10177 * config/mips/mips.c (mips_classify_symbol): Don't return
10178 SYMBOL_PC_RELATIVE for nonlocal labels.
10179
55959ffa 101802011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 10181
55959ffa
EB
10182 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
10183
101842011-01-15 Jan Hubicka <jh@suse.cz>
10185
10186 PR tree-optimization/47276
be46831f
JH
10187 * ipa.c (function_and_variable_visibility): Do not try to mark alias
10188 declarations as needed.
10189
05842ff5
MJ
101902011-01-15 Martin Jambor <mjambor@suse.cz>
10191
10192 * common.opt (fdevirtualize): New flag.
10193 * doc/invoke.texi (Option Summary): Document it.
10194 * opts.c (default_options_table): Add devirtualize flag.
10195 * ipa-prop.c (detect_type_change): Return immediately if
10196 devirtualize flag is not set.
10197 (detect_type_change_ssa): Likewise.
10198 (compute_known_type_jump_func): Likewise.
10199 (ipa_analyze_virtual_call_uses): Likewise.
10200
f65cf2b7
MJ
102012011-01-14 Martin Jambor <mjambor@suse.cz>
10202
10203 PR tree-optimization/45934
10204 PR tree-optimization/46302
10205 * ipa-prop.c (type_change_info): New type.
10206 (stmt_may_be_vtbl_ptr_store): New function.
10207 (check_stmt_for_type_change): Likewise.
10208 (detect_type_change): Likewise.
10209 (detect_type_change_ssa): Likewise.
10210 (compute_complex_assign_jump_func): Check for dynamic type change.
10211 (compute_complex_ancestor_jump_func): Likewise.
10212 (compute_known_type_jump_func): Likewise.
10213 (compute_scalar_jump_functions): Likewise.
10214 (ipa_analyze_virtual_call_uses): Likewise.
10215 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
10216
eb5bb0fd
JM
102172011-01-14 Joseph Myers <joseph@codesourcery.com>
10218
10219 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
10220 * config/i386/i386.opt (msse5): New Alias.
10221
f2060fbe
JM
102222011-01-14 Joseph Myers <joseph@codesourcery.com>
10223
10224 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
10225 * config/sparc/linux64.h (CC1_SPEC): Likewise.
10226 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
10227 * config/sparc/sparc.h (CC1_SPEC): Likewise.
10228
3a7b4385
JM
102292011-01-14 Joseph Myers <joseph@codesourcery.com>
10230
10231 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
10232 -mcpu options.
10233 * config/sparc/linux64.h (CC1_SPEC): Likewise.
10234 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
10235 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
10236 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
10237 Likewise.
10238 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
10239
a7b778f8
JM
102402011-01-14 Joseph Myers <joseph@codesourcery.com>
10241
38be4072 10242 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 10243
a7edae0a
MS
102442011-01-14 Mike Stump <mikestump@comcast.net>
10245
10246 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
10247 * config/fr30/fr30.md: Likweise
10248 (movsi_push): Likewise.
10249 (movsi_pop): Likewise.
10250 (enter_func): Likewise.
10251 * config/moxie/moxie.md (movsi_push): Likewise.
10252 (movsi_pop): Likewise.
10253
cbabf03f
JM
102542011-01-14 Joseph Myers <joseph@codesourcery.com>
10255
10256 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
10257 %{no_archive} %{exact_version}.
10258 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
10259 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
10260 %{no_archive} %{exact_version}.
10261 * config/mips/openbsd.h (LINK_SPEC): Likewise.
10262 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
10263 * config/mips/vxworks.h: Likewise.
10264
438da41a
JM
102652011-01-14 Joseph Myers <joseph@codesourcery.com>
10266
38be4072 10267 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 10268
da290a42
JM
102692011-01-14 Joseph Myers <joseph@codesourcery.com>
10270
10271 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
10272 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
10273
8989d00e
JM
102742011-01-14 Joseph Myers <joseph@codesourcery.com>
10275
10276 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
10277 -nodefaultlib.
10278
a3010a69
JM
102792011-01-14 Joseph Myers <joseph@codesourcery.com>
10280
10281 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
10282 for mcpu not cpu.
10283 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
10284 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
10285 not cpu.
10286 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
10287 Don't handle -shlib.
10288
e7f2f537
JM
102892011-01-14 Joseph Myers <joseph@codesourcery.com>
10290
10291 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
10292 (CC1_SPEC): Don't handle -profile.
10293
34830bfd
JM
102942011-01-14 Joseph Myers <joseph@codesourcery.com>
10295
10296 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
10297 * config/mips/mips.h (CC1_SPEC): Likewise.
10298
b2d36e74
JM
102992011-01-14 Joseph Myers <joseph@codesourcery.com>
10300
10301 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
10302 * config/mips/mips.h (CC1_SPEC): Likewise.
10303
dabadc52
JM
103042011-01-14 Joseph Myers <joseph@codesourcery.com>
10305
10306 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
10307 * config/m32r/linux.h (LINK_SPEC): Likewise.
10308 * config/mips/linux.h (LINK_SPEC): Likewise.
10309 * config/mips/linux64.h (LINK_SPEC): Likewise.
10310 * config/sparc/linux.h (LINK_SPEC): Likewise.
10311 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
10312 LINK_SPEC): Likewise.
10313 * config/xtensa/linux.h (LINK_SPEC): Likewise.
10314
43ee6785
JM
103152011-01-14 Joseph Myers <joseph@codesourcery.com>
10316
10317 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
10318 %{version:-v}.
10319 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
10320
45e79dfd
JM
103212011-01-14 Joseph Myers <joseph@codesourcery.com>
10322
10323 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
10324 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
10325
37e9e71d
JM
103262011-01-14 Joseph Myers <joseph@codesourcery.com>
10327
10328 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
10329
bb127cd8
RO
103302011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10331
10332 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
10333 supports -Bstatic/-Bdynamic.
10334 * configure: Regenerate.
10335
89a012ea 103362011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 10337 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
10338
10339 PR target/46037
10340 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
10341 when checking debug_info_level. Test write_symbols instead of
10342 debug_hooks->var_location when setting flag_var_tracking_uninit.
10343
7352c013
RG
103442011-01-14 Richard Guenther <rguenther@suse.de>
10345
10346 PR tree-optimization/47179
10347 * target.def (ref_may_alias_errno): New target hook.
10348 * targhooks.h (default_ref_may_alias_errno): Declare.
10349 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
10350 (default_ref_may_alias_errno): New function.
10351 * target.h (struct ao_ref_s): Declare.
10352 * tree-ssa-alias.c: Include target.h.
10353 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
10354 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
10355 (targhooks.o): Likewise.
10356 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
10357 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
10358
9a6c9288
RG
103592011-01-14 Richard Guenther <rguenther@suse.de>
10360
10361 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
10362
0fdb0d27
RG
103632011-01-14 Richard Guenther <rguenther@suse.de>
10364
10365 PR tree-optimization/47280
10366 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
10367 return CFG changes.
10368 (tree_ssa_forward_propagate_single_use_vars): Deal with
10369 CFG changes from associate_plusminus.
10370
8f66db3b
RG
103712011-01-14 Richard Guenther <rguenther@suse.de>
10372
10373 PR middle-end/47281
10374 Revert
10375 2011-01-11 Richard Guenther <rguenther@suse.de>
10376
280d9630
EB
10377 PR tree-optimization/46076
10378 * tree-ssa.c (useless_type_conversion_p): Conversions from
10379 unprototyped to empty argument list function types are useless.
8f66db3b 10380
6c0c92e6
RG
103812011-01-14 Richard Guenther <rguenther@suse.de>
10382
10383 PR tree-optimization/47286
280d9630 10384 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 10385
db09f943
MJ
103862011-01-14 Martin Jambor <mjambor@suse.cz>
10387
10388 PR middle-end/46823
10389 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
10390
dde8a3a4
AS
103912011-01-13 Anatoly Sokolov <aesok@post.ru>
10392
10393 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
10394 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
10395 * config/xtensa/xtensa.c (xtensa_libcall_value,
10396 xtensa_function_value_regno_p): New functions.
10397 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
10398
a2b63a20
KT
103992011-01-13 Kai Tietz <kai.tietz@onevision.com>
10400
10401 PR c++/47213
10402 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
10403 PE specific hook.
10404 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
10405 New function prototype.
10406 * config/i386/winnt.c (i386_pe_assemble_visibility):
10407 Warn only if attribute was specified by user.
10408
b41f0b34
MM
104092011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
10410
10411 PR target/47251
10412 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
10413 floating point.
10414 (floatunsdidf2_fcfidu): Ditto.
10415
3f3c098d
AK
104162011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10417
10418 * config/s390/s390.c (print_operand_address): Replace 'error' with
10419 'output_operand_lossage'.
10420 (print_operand): Likewise.
10421
29fa95ed
JL
104222011-01-13 Jeff Law <law@redhat.com>
10423
280d9630 10424 PR rtl-optimization/39077
29fa95ed
JL
10425 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
10426 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
10427 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
10428 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
10429 * gcse.c (prune_insertions_deletions): New function.
10430 (compute_pre_data): Use it.
10431
71d12276
DS
104322011-01-13 Dodji Seketeli <dodji@redhat.com>
10433
10434 PR debug/PR46973
10435 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
10436 static function.
61052244 10437 (prune_unused_types_mark): Use it.
71d12276 10438
9b0f04e7
AB
104392011-01-13 Andrey Belevantsev <abel@ispras.ru>
10440
10441 PR rtl-optimization/45352
1c3ba85b 10442 * sel-sched.c: Update copyright years.
9b0f04e7 10443 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 10444 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 10445
d6a3e264
RH
104462011-01-12 Richard Henderson <rth@redhat.com>
10447
a49b692a
RH
10448 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
10449 (TARGET_MD_ASM_CLOBBERS): New.
10450
126b1483
RH
10451 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
10452 (TARGET_DELEGITIMIZE_ADDRESS): New.
10453
f3d9d2e0
RH
10454 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
10455 (clzsi2, *bsch): New patterns.
10456
d84760c9
RH
10457 * config/mn10300/mn10300.md (INT): New mode iterator.
10458 (*mov<INT>_clr): New pattern, and peep2 to generate it.
10459
ec815d65
RH
10460 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
10461 flag_split_wide_types.
10462
d6a3e264
RH
10463 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
10464 (mn10300_trampoline_init): Rewrite without a template, an immediate
10465 load and a direct branch.
10466 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
10467
0f8ab434
AS
104682011-01-12 Anatoly Sokolov <aesok@post.ru>
10469
10470 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
10471 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
10472 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
10473 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
10474
d8a24b65
KT
104752011-01-12 Kai Tietz <kai.tietz@onevision.com>
10476
10477 PR debug/47209
10478 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
10479 of type.
10480
56e22cab
JH
104812011-01-12 Jan Hubicka <jh@suse.cz>
10482
10483 PR driver/47244
10484 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
10485 (PLUGIN_COND_CLOSE): New macro.
10486 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
10487
4b18b3c2
RG
104882011-01-12 Richard Guenther <rguenther@suse.de>
10489
10490 PR lto/47259
10491 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
10492 register variables in a MEM_REF.
10493
8e38461c
JM
104942011-01-12 Joseph Myers <joseph@codesourcery.com>
10495
10496 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
10497 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
10498 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
10499 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
10500 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
10501 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
10502 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
10503 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
10504 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
10505 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
10506 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
10507 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
10508 * config/gnu-user.h: New. Copied from linux.h.
10509 (LINUX_TARGET_STARTFILE_SPEC): Rename to
10510 GNU_USER_TARGET_STARTFILE_SPEC.
10511 (LINUX_TARGET_ENDFILE_SPEC): Rename to
10512 GNU_USER_TARGET_ENDFILE_SPEC.
10513 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
10514 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
10515 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
10516 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
10517 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
10518 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
10519 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
10520 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
10521 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
10522 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
10523 * config/arm/linux-eabi.h (CC1_SPEC): Use
10524 GNU_USER_TARGET_CC1_SPEC.
10525 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
10526 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
10527 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
10528 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
10529 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
10530 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
10531 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
10532 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
10533
a570fc16
RG
105342011-01-12 Richard Guenther <rguenther@suse.de>
10535
10536 PR other/46946
10537 * doc/invoke.texi (ffast-math): Document it is turned on
10538 with -Ofast.
10539
b0223c3e
JH
105402011-01-12 Jan Hubicka <jh@suse.cz>
10541
10542 PR tree-optimization/47233
ca1e00b3
EB
10543 * opts.c (common_handle_option): Disable ipa-reference with profile
10544 feedback.
b0223c3e 10545
1c3ba85b 105462011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
10547
10548 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
10549 error message.
10550
d853ee42
NP
105512011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
10552
10553 * c-parser.c (c_lex_one_token): Updated and reindented some
10554 comments. No changes in code.
10555
4053a5a0
ILT
105562011-01-11 Ian Lance Taylor <iant@google.com>
10557
10558 * godump.c (go_output_var): Don't output the variable if there is
10559 already a type with the same name.
10560
fa3e04d2
ILT
105612011-01-11 Ian Lance Taylor <iant@google.com>
10562
10563 * godump.c (go_format_type): Don't generate float80.
10564
885fe07c
RH
105652011-01-11 Richard Henderson <rth@redhat.com>
10566
72d6e3c5
RH
10567 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
10568 declaration. Rewrite for both speed and size.
10569 (mn10300_address_cost_1): Remove.
10570 (mn10300_register_move_cost): New.
10571 (mn10300_memory_move_cost): New.
10572 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
10573 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
10574 extensions, shifts, BSWAP, CLZ.
10575 (mn10300_wide_const_load_uses_clr): Remove.
10576 (TARGET_REGISTER_MOVE_COST): New.
10577 (TARGET_MEMORY_MOVE_COST): New.
10578 * config/mn10300/mn10300-protos.h: Update.
10579 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
10580
df37c023
RH
10581 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
10582 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
10583 * config/mn10300/mn10300-protos.h: Update.
10584 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
10585 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
10586 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
10587 (*test_int_bitfield, *test_byte_bitfield): Remove.
10588 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 10589 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 10590
85a337b5
RH
10591 * config/mn10300/constraints.md ("c"): Rename from "A".
10592 ("A", "D"): New constraint letters.
10593 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
10594 (fmssf4, fnmasf4, fnmssf4): Likewise.
10595
a5c727e3
RH
10596 * config/mn10300/mn10300.md (isa): New attribute.
10597 (enabled): New attribute.
10598
0d9e23f4
RH
10599 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
10600 (abssf2, negsf2): Define only for hardware fp.
10601 (sqrtsf2): Reformat.
10602 (addsf3, subsf3, mulsf3): Merge expander and insn.
10603
c157b3f0
RH
10604 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
10605 (DEBUGGER_AUTO_OFFSET): Remove.
10606 (DEBUGGER_ARG_OFFSET): Remove.
10607
cc909bba
RH
10608 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
10609 Emit register stores with the same offsets as the hardware.
10610 (mn10300_store_multiple_operation): Don't check that the register
10611 save offsets are monotonic.
10612 * config/mn10300/mn10300-protos.h: Update.
10613
e3b5c2f3
RH
10614 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
10615
885fe07c
RH
10616 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
10617 in terms of the value on the stack, not the MDR register.
10618
6e701822
JH
106192011-01-11 Jan Hubicka <jh@suse.cz>
10620
10621 PR lto/45721
10622 PR lto/45375
10623 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
10624 (symbol_alias_set_destroy, symbol_alias_set_contains,
10625 propagate_aliases_backward): Declare.
10626 * lto-streamer-out.c (struct sets): New sturcture.
10627 (trivally_defined_alias): New function.
10628 (output_alias_pair_p): Rewrite.
10629 (output_unreferenced_globals): Fix output of alias pairs.
10630 (produce_symtab): Likewise.
10631 * ipa.c (function_and_variable_visibility): Set weak alias destination
10632 as needed in lto.
10633 * varasm.c (symbol_alias_set_t): Remove.
10634 (symbol_alias_set_destroy): Export.
10635 (propagate_aliases_forward, propagate_aliases_backward): New functions
10636 based on ...
10637 (compute_visible_aliases): ... this one; remove.
10638 (trivially_visible_alias): New
10639 (trivially_defined_alias): New.
10640 (remove_unreachable_alias_pairs): Rewrite.
10641 (finish_aliases_1): Reorganize code checking if alias is defined.
10642 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
10643 in LTO mode.
10644
1b248907
RG
106452011-01-11 Richard Guenther <rguenther@suse.de>
10646
10647 PR tree-optimization/46076
10648 * tree-ssa.c (useless_type_conversion_p): Conversions from
10649 unprototyped to empty argument list function types are useless.
10650
b1923f0a
RG
106512011-01-11 Richard Guenther <rguenther@suse.de>
10652
10653 PR middle-end/45235
10654 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
10655 volatile MEMs as MEM_READONLY_P.
10656
e98965af
RG
106572011-01-11 Richard Guenther <rguenther@suse.de>
10658
10659 PR tree-optimization/47239
10660 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
10661
9f9ca914
JL
106622011-01-11 Jeff Law <law@redhat.com>
10663
1ee3ea05 10664 PR tree-optimization/47086
9f9ca914
JL
10665 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
10666 IVs from statements that might throw.
10667
345fdcb7
JH
106682011-01-10 Jan Hubicka <jh@suse.cz>
10669
10670 PR lto/45375
10671 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
10672
c459c97b
JH
106732011-01-10 Jan Hubicka <jh@suse.cz>
10674
10675 PR lto/45375
10676 * profile.c (read_profile_edge_counts): Ignore profile inconistency
10677 when correcting profile.
10678
06c9eb51
JH
106792011-01-10 Jan Hubicka <jh@suse.cz>
10680
10681 PR lto/46083
10682 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
10683 DECL_FINI_PRIORITY.
10684 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
10685 Restore DECL_FINI_PRIORITY.
10686
ae9fd815
RW
106872011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10688
10689 * doc/gimple.texi: Fix quoting of multi-word return values in
10690 @deftypefn statements. Ensure presence of return value. Wrap
10691 overlong @deftypefn lines.
10692 (is_gimple_operand, is_gimple_min_invariant_address): Remove
10693 descriptions of removed functions.
10694 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
10695 of multi-word return value in @deftypefn statement.
10696
0ecb4a7c
RW
106972011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10698
10699 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
10700 (Conditional Expressions, Logical Operators)
10701 (Statement and operand traversals): Do not indent smallexample
10702 code. Fix duplicate function argument in example.
10703
2e5e346d
JL
107042011-01-10 Jeff Law <law@redhat.com>
10705
1ee3ea05 10706 PR tree-optimization/47141
2e5e346d
JL
10707 * ipa-split.c (split_function): Handle case where we are
10708 returning a value and the return block has a virtual operand phi.
10709
cf9712cc
JH
107102011-01-10 Jan Hubicka <jh@suse.cz>
10711
1c3ba85b 10712 PR tree-optimization/47234
cf9712cc
JH
10713 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
10714 (pass_feedback_split_functions): Declare.
10715 * passes.c (init_optimization_passes): Add ipa-split as subpass of
10716 tree-profile.
10717 * ipa-split.c (gate_split_functions): Update comments; disable
10718 split-functions for profile_arc_flag and branch_probabilities.
10719 (gate_feedback_split_functions): New function.
10720 (execute_feedback_split_functions): New function.
10721 (pass_feedback_split_functions): New global var.
10722
94cd932c
L
107232011-01-10 H.J. Lu <hongjiu.lu@intel.com>
10724
10725 PR lto/46760
10726 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
10727 calling gimple_call_set_cannot_inline.
10728
fbbfcaf1
IS
107292011-01-10 Iain Sandoe <iains@gcc.gnu.org>
10730
10731 * config/darwin-sections.def: Remove unused section.
10732
d06865bf
DK
107332011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
10734
10735 PR c++/47218
10736 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
10737
96bbfbac
NP
107382011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
10739
10740 PR objc/47232
10741 * c-parser.c (c_parser_declaration_or_fndef): Improved
10742 error message.
10743
1ba6516f
KT
107442011-01-09 Kai Tietz <kai.tietz@onevision.com>
10745
10746 * config/i386/winnt.c (i386_pe_start_function): Make sure
10747 to switch back to function's section.
10748
0c5d770e
IS
107492011-01-09 Iain Sandoe <iains@gcc.gnu.org>
10750
10751 PR gcc/46902
10752 PR testsuite/46912
10753 * plugin.c: Move include of dlfcn.h from here...
10754 * system.h: ... to here.
10755
107562011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
10757
10758 * doc/cpp.texi (C++ Named Operators): Fix markup for header
10759 file name.
10760 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
10761 two extra empty pages in PDF output.
10762
046608a3
NP
107632011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
10764
10765 PR objc/47078
10766 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
10767 for error recovery purposes behave as if it was not specified so
10768 that the default type is usd.
10769
8cb114b9
JH
107702011-01-07 Jan Hubicka <jh@suse.cz>
10771
10772 PR tree-optmization/46469
10773 * ipa.c (function_and_variable_visibility): Clear needed flags on
10774 nodes with external decls; handle weakrefs merging correctly.
10775
b294a75e
JM
107762011-01-07 Joseph Myers <joseph@codesourcery.com>
10777
10778 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
10779 not false.
10780
96bdf9b4
JH
107812011-01-07 Jan Hubicka <jh@suse.cz>
10782
f60c2554 10783 * doc/invoke.texi (-flto, -fuse-linker-plugin): Update defaults
96bdf9b4
JH
10784 and no longer claim that gold is required for linker plugin.
10785 * configure: Regenerate.
10786 * gcc.c (PLUGIN_COND): New macro.
10787 (LINK_COMMAND_SPEC): Use it.
10788 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
10789 * config.in (HAVE_LTO_PLUGIN): New.
10790 * configure.ac (--with-lto-plugin): New parameter; autodetect
10791 HAVE_LTO_PLUGIN.
10792
17afc0fe
JH
107932011-01-07 Jan Hubicka <jh@suse.cz>
10794
10795 PR tree-optimization/46367
10796 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
10797 when we can update original.
10798 (cgraph_mark_inline_edge): Sanity check.
10799 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
10800
d4c48c0f
UW
108012011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10802
10803 * config/spu/spu.h (ASM_COMMENT_START): Define.
10804
96f5b137
L
108052011-01-07 H.J. Lu <hongjiu.lu@intel.com>
10806
10807 PR driver/42445
10808 * gcc.c (%>S): New.
10809 (SWITCH_KEEP_FOR_GCC): Likewise.
10810 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
10811 (do_spec_1): Handle "%>".
10812
10813 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
10814
c6a8f6de
JJ
108152011-01-07 Jakub Jelinek <jakub@redhat.com>
10816
c21bbd7a
JJ
10817 PR target/47201
10818 * config/i386/i386.c (ix86_delegitimize_address): If
10819 simplify_gen_subreg fails, return orig_x.
10820
c6a8f6de
JJ
10821 PR bootstrap/47187
10822 * value-prof.c (gimple_stringop_fixed_value): Handle
10823 lhs of the call properly.
10824
fe95fbf9
JH
108252011-01-07 Jan Hubicka <jh@suse.cz>
10826
10827 PR lto/45375
10828 * lto-opt.c (lto_reissue_options): Set flag_shlib.
10829
14d11d40
IS
108302011-01-07 Iain Sandoe <iains@gcc.gnu.org>
10831
72e961c8
EB
10832 * target.def (function_switched_text_sections): New hook.
10833 * doc/tm.texi: Regenerated.
10834 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 10835 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
10836 (final_scan_insn): Call function_switched_text_sections when a
10837 mid-function section change occurs.
14d11d40 10838 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
10839 * config/darwin-protos.h (darwin_function_switched_text_sections):
10840 Likewise.
14d11d40 10841 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 10842 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 10843
0b764288
IS
108442011-01-07 Iain Sandoe <iains@gcc.gnu.org>
10845
10846 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
10847 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
10848 the secondary code fragment when outputting for DWARF == 2.
10849
2ac6bb04
AS
108502011-01-07 Anatoly Sokolov <aesok@post.ru>
10851
10852 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
10853 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
10854 Remove.
10855 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
10856 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
10857
9f82de11
EB
108582011-01-06 Eric Botcazou <ebotcazou@adacore.com>
10859
10860 PR debug/46704
280d9630
EB
10861 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
10862 when it is not empty.
9f82de11
EB
10863
108642011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 10865
1ed72abf 10866 Bobcat Enablement
14b52538 10867 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 10868 (case ${target}): Add btver1.
14b52538 10869 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 10870 -march=native recognize btver1 processors.
14b52538 10871 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 10872 btver1 def_and_undef
14b52538 10873 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
10874 btver1 cost table.
10875 (m_BTVER1): New definition.
10876 (m_AMD_MULTIPLE): Includes m_BTVER1.
10877 (initial_ix86_tune_features): Add btver1 tune.
10878 (processor_target_table): Add btver1 entry.
10879 (static const char *const cpu_names): Add btver1 entry.
10880 (software_prefetching_beneficial_p): Add btver1.
10881 (ix86_option_override_internal): Add btver1 instruction sets.
10882 (ix86_issue_rate): Add btver1.
10883 (ix86_adjust_cost): Add btver1.
14b52538 10884 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
10885 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
10886 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
10887 * config/i386/i386.md (define_attr "cpu"): Add btver1.
10888
e1a973d8
RO
108892011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10890
10891 PR target/43309
10892 * config/i386/i386.c (legitimize_tls_address)
10893 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
10894 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
10895 (tls_initial_exec_64_sun): New pattern.
10896
c73f67c5
GP
108972011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
10898
10899 * doc/invoke.texi (Overall Options): Improve wording and markup
10900 of the description of -wrapper.
10901
bc4c6f9c
JM
109022011-01-06 Joseph Myers <joseph@codesourcery.com>
10903
10904 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
10905 rdynamic, threads): New Driver options.
10906
adb75db0
RO
109072011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10908
10909 PR target/38118
10910 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
10911 if coming from .tdata.
10912 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
10913
402c1cb4
JH
109142011-01-06 Jan Hubicka <jh@suse.cz>
10915
10916 PR lto/47188
10917 * collect2.c (main): Do not enable LTOmode when plugin is active.
10918
a4da6485
RO
109192011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10920
10921 PR other/45915
10922 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
10923 --version output if supported.
10924 * configure: Regenerate.
10925
028dbdf4
JM
109262011-01-06 Joseph Myers <joseph@codesourcery.com>
10927
10928 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
10929 Driver options.
10930
dfe776dd
JJ
109312011-01-06 Jakub Jelinek <jakub@redhat.com>
10932
10933 PR c/47150
10934 * c-convert.c (convert): When converting a complex expression
10935 other than COMPLEX_EXPR to a different complex type, ensure
10936 c_save_expr is called instead of save_expr, unless in_late_binary_op.
10937 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
10938 when converting COMPLEX_TYPE.
10939
210dedfe
IR
109402011-01-06 Ira Rosen <irar@il.ibm.com>
10941
10942 PR tree-optimization/47139
10943 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
10944 only the last reduction value is used outside the loop. Update
10945 documentation.
10946
cd33a412
JM
109472011-01-05 Joseph Myers <joseph@codesourcery.com>
10948
10949 * config/rtems.opt: New.
10950 * config.gcc (*-*-rtems*): Use rtems.opt.
10951
819edd94
CF
109522011-01-05 Changpeng Fang <changpeng.fang@amd.com>
10953
10954 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
10955 processors do not support 3DNow instructions.
10956
dc242c4a
UW
109572011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10958
10959 * config/spu/spu.c (spu_option_override): Set parameter
10960 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
10961
be286227
JH
109622011-01-05 Jan Hubicka <jh@suse.cz>
10963
10964 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
10965 at the command line.
10966
644e637f
MJ
109672011-01-05 Martin Jambor <mjambor@suse.cz>
10968
10969 PR lto/47162
10970 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
10971 deltas on streamed outgoing edges.
10972 (output_node_opt_summary): Output info for outgoing edges only when
10973 the node is in new parameter set.
10974 (output_cgraph_opt_summary): New parameter set, passed to the two
10975 aforementioned functions. Update its forward declaration and its
10976 callee too.
10977
7bd11157
TT
109782011-01-05 Tom Tromey <tromey@redhat.com>
10979
10980 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
10981 operator to c_finish_omp_atomic.
10982 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
10983 (build_unary_op): Update.
10984 (build_modify_expr): Update.
10985 (build_asm_expr): Update.
10986
f626b979
UW
109872011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10988
10989 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
10990 newly inserted insns.
10991 (pad_bb): Likewise.
10992 (spu_emit_branch_hint): Likewise.
10993 (insert_hbrp_for_ilb_runout): Likewise.
10994 (spu_machine_dependent_reorg): Call df_finish_pass after
10995 schedule_insns returns.
10996
4c825c02
UW
109972011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10998
10999 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
11000
5e9fba51
EB
110012011-01-05 Eric Botcazou <ebotcazou@adacore.com>
11002
11003 PR tree-optimization/47005
11004 * tree-sra.c (struct access): Add 'non_addressable' bit.
11005 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
11006 (decide_one_param_reduction): Return 0 if the parameter is passed by
11007 reference and one of the accesses in the group is non_addressable.
11008
3ebb5ca6
EB
110092011-01-04 Eric Botcazou <ebotcazou@adacore.com>
11010
11011 PR tree-optimization/47056
11012 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
11013 (mark_load): Likewise. Handle FUNCTION_DECL specially.
11014 (mark_store): Likewise. Pass STMT to ipa_record_reference.
11015
d5d4d14e
EB
110162011-01-04 Eric Botcazou <ebotcazou@adacore.com>
11017
11018 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
11019 initializer. Skip view conversions from aggregate types.
11020
d996ef70
KT
110212011-01-04 Kai Tietz <kai.tietz@onevision.com>
11022
11023 PR bootstrap/47055
11024 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
11025
509d65dd 110262011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
11027
11028 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
11029 obvious typo.
11030
55c623b5
UW
110312011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11032
11033 * function.c (thread_prologue_and_epilogue_insns): Do not crash
11034 on empty epilogue sequences.
11035
b98d6b35
JM
110362011-01-04 Joseph Myers <joseph@codesourcery.com>
11037
11038 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
11039 non-static): New Driver options.
11040
a0d43bac
JZ
110412011-01-04 Jie Zhang <jie@codesourcery.com>
11042
11043 PR driver/47137
11044 * gcc.c (default_compilers[]): Set combinable field to 0
11045 for all assembly languages.
11046
2b18eb32
MX
110472011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
11048
11049 * config/mips/loongson3a.md: New file.
11050 * config/mips/mips.md: Include loongson3a.md.
11051 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
11052 TUNE_LOONGSON_3A.
11053
42a48c4f
EB
110542011-01-03 Eric Botcazou <ebotcazou@adacore.com>
11055
11056 PR middle-end/47017
11057 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
11058 instead of convert_memory_address_addr_space on the base expression.
11059
9c1732c4
UW
110602011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11061
11062 * config/spu/spu.c (spu_option_override): Update error text
11063 for bad -march= / -mtune= values.
11064
aa474365
UW
110652011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11066
11067 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
11068 if branch-hint optimization will be performed.
11069
9766135b
JJ
110702011-01-03 Jakub Jelinek <jakub@redhat.com>
11071
371556ee
JJ
11072 PR tree-optimization/47148
11073 * ipa-split.c (split_function): Convert arguments to
11074 DECL_ARG_TYPE if possible.
11075
1ac12fa2
JJ
11076 PR tree-optimization/47155
11077 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
11078 when computing uns.
11079
9766135b
JJ
11080 PR rtl-optimization/47157
11081 * combine.c (try_combine): If undobuf.other_insn becomes
11082 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
11083 and set *new_direct_jump_p too.
11084
f4a2e571
SP
110852011-01-03 Sebastian Pop <sebastian.pop@amd.com>
11086
11087 PR tree-optimization/47021
11088 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
11089
9f8e43c0
JJ
110902011-01-03 Jakub Jelinek <jakub@redhat.com>
11091
11092 * gcc.c (process_command): Update copyright notice dates.
11093 * gcov.c (print_version): Likewise.
11094 * gcov-dump.c (print_version): Likewise.
11095 * mips-tfile.c (main): Likewise.
11096 * mips-tdump.c (main): Likewise.
11097
1a2e38f3
MJ
110982011-01-03 Martin Jambor <mjambor@suse.cz>
11099
11100 PR tree-optimization/46801
11101 * tree-sra.c (type_internals_preclude_sra_p): Check whether
11102 aggregate fields start at byte boundary instead of the bit-field flag.
11103
56b721c5
L
111042011-01-03 H.J. Lu <hongjiu.lu@intel.com>
11105
11106 PR driver/47137
11107 * gcc.c (main): Revert revision 168407.
11108
839d549b
MJ
111092011-01-03 Martin Jambor <mjambor@suse.cz>
11110
11111 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
11112
4ce99a20 111132011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
11114
11115 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
11116 vector optab to expand vector/scalar shift, update gimple to vector.
11117
76df0ae6
MJ
111182011-01-03 Martin Jambor <mjambor@suse.cz>
11119
11120 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
11121 a thunk.
11122
ce47fda3
MJ
111232011-01-03 Martin Jambor <mjambor@suse.cz>
11124
11125 PR tree-optimization/46984
11126 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
11127 HOST_WIDE_INT.
11128 (cgraph_create_indirect_edge): Fixed line length.
11129 (cgraph_indirect_call_info): Declare.
11130 (cgraph_make_edge_direct) Update declaration.
11131 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
11132 (cgraph_create_indirect_edge): Use it.
11133 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
11134 callees.
11135 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
11136 the new thunk_delta representation.
11137 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
11138 HOST_WIDE_INT.
11139 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
11140 (ipa_read_indirect_edge_info): Likewise.
11141 * lto-cgraph.c (output_edge_opt_summary): New function.
11142 (output_node_opt_summary): Call it on all outgoing edges.
11143 (input_edge_opt_summary): New function.
11144 (input_node_opt_summary): Call it on all outgoing edges.
11145
1e67fa1f
L
111462011-01-02 H.J. Lu <hongjiu.lu@intel.com>
11147
11148 PR driver/47137
11149 * gcc.c (main): Don't check have_o when settting combine_inputs.
11150
6656b2ac
EB
111512011-01-02 Eric Botcazou <ebotcazou@adacore.com>
11152
11153 * regrename.c: Add general comment describing the pass.
11154 (struct du_head): Remove 'length' field.
11155 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
11156 (regrename_optimize): Do not sort chains. Rework comments, add others.
11157 Force renaming to the preferred class (if any) in the first pass and do
11158 not consider registers that belong to it in the second pass.
11159 (create_new_chain): Do not set 'length' field.
11160 (scan_rtx_reg): Likewise.
11161
bc470c24
JJ
111622011-01-02 Jakub Jelinek <jakub@redhat.com>
11163
4e996296
JJ
11164 PR tree-optimization/47140
11165 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
11166 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
11167 to bit_value_binop.
11168
bc470c24 11169 PR rtl-optimization/47028
6656b2ac
EB
11170 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
11171 parm_birth_insn instead of at the beginning of first bb.
bc470c24 11172
5af62fcd 111732011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
11174
11175 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
11176 Remove the word "see" before "@pxref".
11177 * doc/rtl.texi: Remove the word "see" before "@pxref".
11178
0e20c89f
JH
111792011-01-01 Jan Hubicka <jh@suse.cz>
11180
6656b2ac
EB
11181 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
11182 memory.
0e20c89f 11183
220e83ca
KT
111842011-01-01 Kai Tietz <kai.tietz@onevision.com>
11185
11186 PR target/38662
6656b2ac 11187 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 11188
ad41bd84 11189\f
797103eb 11190Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
11191
11192Copying and distribution of this file, with or without modification,
11193are permitted in any medium without royalty provided the copyright
11194notice and this notice are preserved.