]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
ipa-prop.c (function_insertion_hook_holder): New holder.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
40982661
JH
12011-04-27 Jan Hubicka <jh@suse.cz>
2
3 * ipa-prop.c (function_insertion_hook_holder): New holder.
4 (ipa_add_new_function): New function.
5 (ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks): Register/deregister
6 holder.
7
9aef53ee
RG
82011-04-27 Richard Guenther <rguenther@suse.de>
9
10 PR tree-optimization/48772
11 * tree-ssa-pre.c (eliminate): Update call stmts after elimination
12 only.
13
f63d806d
RG
142011-04-27 Richard Guenther <rguenther@suse.de>
15
16 * tree-ssa-alias.c (indirect_refs_may_alias_p): Fix
17 TARGET_MEM_REF handling.
18
e1ea7451
NC
192011-04-27 Nick Clifton <nickc@redhat.com>
20
9b5db25d
NC
21 * config/frv/frv.h (enum reg_class): Delete EVEN_ACC_REGS,
22 ACC_REGS, FEVEN_REGS, FPR_REGS, EVEN_REGS.
23 (REG_CLASS_NAMES): Likewise.
24 (REG_CLASS_CONTENTS): Likewise.
25 (EVEN_ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
26 (ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
27 (FEVEN_REGS): New macro. Alias for QUAD_ACC_REGS.
28 (FPR_REGS): New macro. Alias for QUAD_ACC_REGS.
29 (EVEN_REGS): New macro. Alias for QUAD_REGS.
30 * config/frv/frv.c (frv_secondary_reload_class): Remove use of
31 duplicate register classes.
97d20907 32 (frv_class_likely_spilled_p): Likewise.
9b5db25d
NC
33 (frv_register_move_cost): Likewise.
34
e1ea7451
NC
35 * config/mcore/mcore.h (REGNO_REG_CLASS): Do not index beyond the
36 end of the regno_reg_class array.
37
5c2f94b4
JJ
382011-04-27 Jakub Jelinek <jakub@redhat.com>
39
40 PR c/48742
41 * c-typeck.c (build_binary_op): Don't wrap arguments if
42 int_operands is true.
43
57a944d7
KK
442011-04-26 Kaz Kojima <kkojima@gcc.gnu.org>
45
46 PR target/48767
47 * config/sh/sh.c (sh_gimplify_va_arg_expr): Don't call
48 targetm.calls.must_pass_in_stack for void type.
49
898b8927
JH
502011-04-26 Jan Hubicka <jh@suse.cz>
51
52 * cgraphbuild.c (build_cgraph_edges): Update call
53 of cgraph_create_edge and cgraph_create_indirect_edge.
54 * cgraph.c (cgraph_create_edge_including_clones,
55 cgraph_create_edge_1, cgraph_allocate_init_indirect_info,
56 cgraph_update_edges_for_call_stmt_node): Do not take nest
57 argument; do not initialize call_stmt_size/time.
58 (dump_cgraph_node): Do not dump nest.
59 (cgraph_clone_edge): Do not take loop_nest argument;
60 do not propagate it; do not clone call_stmt_size/time.
61 (cgraph_clone_node): Likewise.
62 (cgraph_create_virtual_clone): Update.
63 * cgraph.h (struct cgraph_edge): Remove
64 call_stmt_size/call_stmt_time/loop_nest.
65 (cgraph_create_edge, cgraph_create_indirect_edge,
66 cgraph_create_edge_including_clones, cgraph_clone_node): Update
67 prototype.
68 * tree-emutls.c (gen_emutls_addr): Update.
69 * ipa-inline-transform.c (update_noncloned_frequencies): Do not handle
70 loop_nest; handle indirect calls, too.
71 (clone_inlined_nodes): Do not care about updating inline summaries.
72 * cgraphunit.c (cgraph_copy_node_for_versioning): Update.
73 * lto-cgraph.c (lto_output_edge, input_node, input_edge): Do not
74 stream call_stmt_size/call_stmt_time/loop_nest.
75 * ipa-inline.c (edge_badness): Update.
76 (ipa_inline): dump summaries after inlining.
77 * ipa-inline.h (struct inline_edge_summary, inline_edge_summary_t):
78 new.
79 (inline_edge_summary): New function.
80 * ipa-inline-analysis.c (edge_duplication_hook_holder): New holder.
81 (inline_edge_removal_hook): Handle edge summaries.
82 (inline_edge_duplication_hook): New hook.
83 (inline_summary_alloc): Alloc hooks.
84 (initialize_growth_caches): Do not register removal hooks.
85 (free_growth_caches); Do not free removal hook.
86 (dump_inline_edge_summary): New function.
87 (dump_inline_summary): Use it.
88 (estimate_function_body_sizes, estimate_edge_size_and_time): Update.
89 (inline_update_callee_summaries): New function.
90 (inline_merge_summary): Use it.
91 (do_estimate_edge_time, do_estimate_edge_growth): Update.
92 (read_inline_edge_summary): New function.
93 (inline_read_section): Use it.
94 (write_inline_edge_summary): New function.
95 (inline_write_summary): Use it.
96 (inline_free_summary): Free edge new holders.
97 * tree-inline.c (copy_bb): Update.
98
ffa03772
JM
992011-04-26 Jason Merrill <jason@redhat.com>
100
101 * tree-eh.c (lower_try_finally_switch): Create the label along with
102 the CASE_LABEL_EXPR.
103
6d7b45ad
DM
1042011-04-26 David S. Miller <davem@davemloft.net>
105 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
106
107 * configure.ac (gcc_cv_as_sparc_gotdata_op): Specify alignment.
108 * configure: Regenerate.
109
df10b6d4
MM
1102011-04-26 Michael Meissner <meissner@linux.vnet.ibm.com>
111
112 PR target/48258
113 * config/rs6000/vector.md (UNSPEC_REDUC): New unspec for vector
114 reduction.
115 (VEC_reduc): New code iterator and splitters for vector reduction.
116 (VEC_reduc_name): Ditto.
117 (VEC_reduc_rtx): Ditto.
118 (reduc_<VEC_reduc_name>_v2df): Vector reduction expanders for VSX.
119 (reduc_<VEC_reduc_name>_v4sf): Ditto.
120
121 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
122 support for extracting SF on VSX.
123
124 * config/rs6000/vsx.md (vsx_xscvspdp_scalar2): New insn for
125 generating xscvspdp.
126 (vsx_extract_v4sf): New insn to extract SF from V4SF vector.
127 (vsx_reduc_<VEC_reduc_name>_v2df): New insns and splitters for
128 double add, minimum, maximum vector reduction.
129 (vsx_reduc_<VEC_reduc_name>_v4sf): Ditto.
130 (vsx_reduc_<VEC_reduc_name>_v2df2_scalar): New combiner insn to
131 optimize double vector reduction.
132 (vsx_reduc_<VEC_reduc_name>_v4sf_scalar): Ditto.
133
35a5db04
JM
1342011-04-26 Joseph Myers <joseph@codesourcery.com>
135
136 * config/fr30/fr30.h (inhibit_libc): Don't define.
137 * config/m32r/m32r-protos.h: Correct comment.
138 * config/v850/v850.h (GHS_default_section_names,
139 GHS_current_section_names): Use tree, not union tree_node *.
140
2f964ad6
XDL
1412011-04-26 Xinliang David Li <davidxl@google.com>
142
143 * tree-ssa-uninit.c (warn_uninitialized_phi): Pass
144 warning code.
145 * c-family/c-opts.c (c_common_handle_option): Set
146 warn_maybe_uninitialized.
147 * opts.c (common_handle_option): Ditto.
148 * common.opt: New option.
149 * tree-ssa.c (warn_uninit): Add one more parameter.
150 (warn_uninitialized_var): Pass warning code.
151 * tree-flow.h: Interface change.
152
153
9c7bd91a
RO
1542011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
155
156 * config/mips/iris6.h (LOCAL_LABEL_PREFIX): Don't test
157 TARGET_NEWABI.
158 (WINT_TYPE_SIZE): Use INT_TYPE_SIZE.
159 (TARGET_OS_CPP_BUILTINS): Remove TARGET_IRIX6 guards.
160
c2f36e21
RO
1612011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
162
163 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Remove.
164 * config/mips/mips.opt (mmips-tfile): Remove.
165
166 * doc/install.texi (Specific, mips-*-*): Move mips-tfile,
167 mips-tdump reference to ...
168 (Specific, alpha*-dec-osf5.1): ... here.
169 Adapt for Tru64 UNIX.
170 * doc/trouble.texi (Cross-Compiler Problems): Replace MIPS
171 reference by Tru64 UNIX.
172
2c9da85b
JJ
1732011-04-26 Jakub Jelinek <jakub@redhat.com>
174
0c5f6539
JJ
175 PR debug/48768
176 * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
177 is error_mark_node, set value to NULL.
178
2c9da85b
JJ
179 PR tree-optimization/48734
180 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
181 if return value from maybe_fold_*_comparsions isn't something
182 the code is prepared to handle.
183
77fa1d54
UB
1842011-04-26 Uros Bizjak <ubizjak@gmail.com>
185
186 * config/i386/predicates.md (ext_QIreg_operand): Remove extra
187 mode check.
188 (ext_QIreg_nomode_operands): Remove.
189 * config/i386/i386.md (*anddi_1): Use ext_QIreg_operand.
190 (*andsi_1): Ditto.
191 (*andhi_1): Ditto.
192
0e2a6c2b
AS
1932011-04-26 Andrew Stubbs <ams@codesourcery.com>
194
195 * config/arm/arm.c (arm_gen_constant): Remove can_negate_initial.
196
961562d8
RB
1972011-04-26 Richard Guenther <rguenther@suse.de>
198
199 * c-typeck.c (build_unary_op): Do not expand array-refs via
200 pointer arithmetic. Only adjust qualifiers for function types.
201
2022011-04-26 Richard Guenther <rguenther@suse.de>
203
204 PR middle-end/48694
205 * tree.h (OEP_CONSTANT_ADDRESS_OF): New operand_equal_flag.
206 * fold-const.c (operand_equal_p): For TREE_CONSTANT ADDR_EXPRs
77fa1d54
UB
207 compare the operands with OEP_CONSTANT_ADDRESS_OF. Treat trees
208 with TREE_SIDE_EFFECTS equal when OEP_CONSTANT_ADDRESS_OF is set.
961562d8 209
a0d260fc
PC
2102011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
211
77fa1d54 212 * c-family/c-common.c (struct c_common_resword): Add __underlying_type.
a0d260fc 213 * c-family/c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
74e883ce 214 * doc/extend.texi: Document __underlying_type.
a0d260fc 215
4d583bb9
SB
2162011-04-25 Segher Boessenkool <segher@kernel.crashing.org>
217
218 * config/rs6000/titan.md (automata_option "progress"): Remove.
219
1f3fcdc3
JL
2202011-04-25 Jeff Law <law@redhat.com>
221
222 * tree-vrp.c (identify_jump_threads): Handle GIMPLE_SWITCH too.
223
e5b0dad8
JK
2242011-04-25 Jan Kratochvil <jan.kratochvil@redhat.com>
225
226 * system.h (ENUM_BITFIELD): Remove.
227
5157a881
MK
2282011-04-25 Maxim Kuvyrkov <maxim@codesourcery.com>
229 Eric Botcazou <ebotcazou@adacore.com>
230
231 * combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals
232 for STORE_FLAG_VALUE==-1 case.
233
ed4c109e
RS
2342011-04-24 Richard Sandiford <richard.sandiford@linaro.org>
235
236 PR target/43804
237 * config/m68k/constraints.md (T): Allow PIC operands that satisfy
238 LEGITIMATE_PIC_OPERAND_P.
239
f3181aa2
JH
2402011-04-24 Jan Hubicka <jh@suse.cz>
241
242 * ipa-prop.c (ipa_propagate_indirect_call_infos): Remove obsolette
243 WPA hack.
77fa1d54
UB
244 * ipa-prop.h (ipa_get_param, ipa_is_param_used,
245 ipa_param_cannot_devirtualize_p, ipa_param_types_vec_empty,
246 ipa_get_ith_jump_func, ipa_get_lattice): Fortify array bounds.
f3181aa2
JH
247 * ipa-inline-analysis.c (add_clause): Fix clause ordering.
248 (and_predicates, or_predicates, predicates_equal_p, evaulate_predicate):
249 Sanity check predicate length.
250 (remap_predicate): Likewise; sanity check jump functions.
251 (inline_read_section, inline_write_summary): Sanity check
252 predicate length.
253
5307cbaa
PC
2542011-04-24 Paolo Carlini <paolo.carlini@oracle.com>
255
256 PR other/48748
257 * doc/extend.texi (Type Traits): Document __is_standard_layout,
258 __is_literal_type, and __is_trivial; update throughout about
259 possibly cv-qualified void types.
260
bebd5f99
GP
2612011-04-24 Gerald Pfeifer <gerald@pfeifer.com>
262
263 * doc/sourcebuild.texi (Ada Tests): Adjust reference to ACATS
264 testsuite and make it version agnostic.
265
7ee28a74
JH
2662011-04-22 Jan Hubicka <jh@suse.cz>
267
268 * ipa-inline-analysis.c (inline_write_summary): Fix thinko.
269
16997bc0
JJ
2702011-04-23 Jakub Jelinek <jakub@redhat.com>
271
272 PR c/48685
273 * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
274 to VOID_TYPE even around MODIFY_EXPR.
275
f94d4ab1
MS
2762011-04-22 Mike Stump <mikestump@comcast.net>
277
1a84c183 278 * gensupport.c (read_md_rtx): Fix typo in comment.
f94d4ab1
MS
279 * config/cris/cris.opt (moverride-best-lib-options): Fix typo in
280 comment.
281
632b4f8e
JH
2822011-04-22 Jan Hubicka <jh@suse.cz>
283
284 * gengtype.c (open_base_files): Add ipa-inline.h include.
77fa1d54
UB
285 * ipa-cp.c (ipcp_get_lattice, ipcp_lattice_from_jfunc): Move to
286 ipa-prop.c; update all uses.
632b4f8e 287 * ipa-prop.c: (ipa_get_lattice, ipa_lattice_from_jfunc): ... here.
77fa1d54
UB
288 * ipa-inline-transform.c (inline_call): Use inline_merge_summary to
289 merge summary of inlined function into former caller.
632b4f8e
JH
290 * ipa-inline.c (max_benefit): Remove.
291 (edge_badness): Compensate for removal of benefits.
77fa1d54
UB
292 (update_caller_keys): Use
293 reset_node_growth_cache/reset_edge_growth_cache.
632b4f8e
JH
294 (update_callee_keys): Likewise.
295 (update_all_callee_keys): Likewise.
77fa1d54
UB
296 (inline_small_functions): Do not collect max_benefit; do not reset
297 estimated_growth; call free_growth_caches and initialize_growth_caches.
298 * ipa-inline.h (struct condition, type clause_t, struct predicate,
299 struct size_time_entry): New structures.
632b4f8e 300 (INLINE_SIZE_SCALE, INLINE_TIME_SCALE, MAX_CLAUSES): New constants.
77fa1d54
UB
301 (inline_summary): Remove size_inlining_benefit, time_inlining_benefit
302 and estimated_growth.
632b4f8e
JH
303 (edge_growth_cache_entry): New structure.
304 (node_growth_cache, edge_growth_cache): New global vars.
305 (estimate_growth): Turn into inline.
306 (inline_merge_summary, do_estimate_edge_growth, do_estimate_edge_time,
307 initialize_growth_caches, free_growth_caches): Declare.
308 (estimate_edge_growth): Rewrite.
309 (estimate_edge_time): Implement as inline cache lookup.
77fa1d54
UB
310 (reset_node_growth_cache, reset_edge_growth_cache): New inline
311 functions.
632b4f8e
JH
312 (MAX_TIME): Reduce to allow multiplicatoin by INLINE_SIZE_SCALE.
313 (NUM_CONDITIONS): New constant.
314 (predicate_conditions): New enum.
315 (IS_NOT_CONSTANT): New constant.
316 (edge_removal_hook_holder): New var.
317 (node_growth_cache, edge_growth_cache): New global vars.
77fa1d54
UB
318 (true_predicate, single_cond_predicate, false_predicate,
319 not_inlined_predicate, add_condition, add_clause, and_predicates,
320 or_predicates, predicates_equal_p, evaulate_predicate, dump_condition,
321 dump_clause, dump_predicate, account_size_time,
632b4f8e
JH
322 evaulate_conditions_for_edge): New functions.
323 (inline_summary_alloc): Move to heap.
324 (inline_node_removal_hook): Clear condition and entry vectors.
325 (inline_edge_removal_hook): New function.
326 (initialize_growth_caches, free_growth_caches): New function.
327 (dump_inline_summary): Update.
328 (edge_execution_predicate): New function.
329 (will_be_nonconstant_predicate): New function.
330 (estimate_function_body_sizes): Compute BB and constantness predicates.
331 (compute_inline_parameters): Do not clear estimated_growth.
332 (estimate_edge_size_and_time): New function.
333 (estimate_calls_size_and_time): New function.
334 (estimate_callee_size_and_time): New function.
335 (remap_predicate): New function.
336 (inline_merge_summary): New function.
337 (do_estimate_edge_time): New function based on...
338 (estimate_edge_time): ... this one.
339 (do_estimate_edge_growth): New function.
340 (do_estimate_growth): New function based on....
341 (estimate_growth): ... this one.
342 (inline_analyze_function): Analyze after deciding on jump functions.
343 (inline_read_section): New function.
344 (inline_read_summary): Use it.
345 (inline_write_summary): Write all the new data.
346 * ipa-prop.c (ipa_get_param_decl_index): Export.
347 (ipa_lattice_from_jfunc): Move here from ipa-cp.c
77fa1d54
UB
348 * ipa-prop.h (ipa_get_param_decl_index, ipa_lattice_from_jfunc):
349 Declare.
350 (ipa_get_lattice): Move here from ipa-cp.c
632b4f8e
JH
351 * Makefile.in (GTFILES): Add ipa-inline.h and ipa-inline-analysis.c
352 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 11.
353 * cgraph.h (cgraph_clone_inlined_nodes, compute_inline_parameters,
354 cgraph_edge_inlinable_p): Remove.
355 * cgraphunit.c: Include ipainline.h
77fa1d54
UB
356 (cgraph_process_new_functions): Update call of
357 compute_inline_parameters.
632b4f8e 358
1df5b0db
RG
3592011-04-22 Richard Guenther <rguenther@suse.de>
360
361 * tree.c (build_int_cst): Properly create canonicalized integer
362 constants.
363 (build_int_cst_type): Remove scary comments.
364
ae01169c
XDL
3652011-04-22 Xinliang David Li <davidxl@google.com>
366
367 * toplev.c (process_options): Enable -Werror=coverage-mismatch
368 by default when -Wno-error is not specified.
369 * opts-global.c (decode_options): Remove call to
370 control_warning_options.
371
93dfac24
JJ
3722011-04-22 Jakub Jelinek <jakub@redhat.com>
373
374 PR tree-optimization/48717
375 * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
376 ~A + A optimizations use build_int_cst_type instead of build_int_cst.
377
1b5f5069
JM
3782011-04-22 Joseph Myers <joseph@codesourcery.com>
379
380 * config/bfin/bfin-protos.h (Mmode): Don't define. Expand
381 definition where used.
382
144f4153
JJ
3832011-04-22 Jakub Jelinek <jakub@redhat.com>
384
385 PR c/48716
386 * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
387 TREE_STATIC variables declared inside of some OpenMP construct.
388
f9fd305b
MJ
3892011-04-22 Martin Jambor <mjambor@suse.cz>
390
391 PR middle-end/48585
1d284ec5 392 * tree-inline.c (copy_bb): Create new edges only for analyzed nodes.
f9fd305b 393
49819fef
AM
3942011-04-22 Alexander Monakov <amonakov@ispras.ru>
395
396 PR c/36750
397 * c-typeck.c (pop_init_level): Do not warn about initializing
398 with ` = {0}'.
399
401f6699
AM
4002011-04-22 Alan Modra <amodra@gmail.com>
401
402 * config/rs6000/rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL
403 when returning call_cookie.
404 (rs6000_function_ok_for_sibcall): Allow sibcalls via function
405 pointers, to functions with no more vector args than the current
406 function, and some non-local calls for ABI_V4.
407 * config/rs6000/rs6000.md (sibcall_nonlocal_aix32,
408 sibcall_nonlocal_aix64): Combine to ..
409 (sibcall_nonlocal_aix<mode>): ..this. Handle function pointer calls.
410 (sibcall_value_nonlocal_aix32, sibcall_value_nonlocal_aix64): Combine..
411 (sibcall_value_nonlocal_aix<mode>): ..likewise.
412 (*sibcall_nonlocal_sysv<mode>): Handle function pointer calls.
413 (sibcall_value_nonlocal_sysv<mode>): Likewise. Correct call cookie
414 operand.
415 * config/rs6000/darwin.md (sibcall_nonlocal_darwin64,
416 sibcall_value_nonlocal_darwin64, sibcall_symbolic_64,
417 sibcall_value_symbolic_64): Delete.
418
903d1e67
XDL
4192011-04-21 Xinliang David Li <davidxl@google.com>
420
421 * cgraph.h: Remove pid.
422 * cgraph.c: Remove pid.
423 * value-prof.c (init_node_map): New function.
424 (del_node_map): New function.
425 (find_func_by_funcdef_no): New function.
426 (gimple_ic_transform): Call new function.
427 * cgraphunit.c (cgraph_finalize_function): Remove pid.
428 * function.c (get_last_funcdef_no): New function.
429 * function.h (get_last_funcdef_no): New function.
430 * tree-profile.c (gimple_gen_ic_func_profiler): Pass funcdef_no
431 to libgcov function.
432 (tree-profiling): Call node map init and delete function.
433
7378e95f
ILT
4342011-04-21 Ian Lance Taylor <iant@google.com>
435
436 * godump.c (go_format_type): Use exported Go name for anonymous
437 field name.
438
e84a6fcf
NF
4392011-04-21 Nathan Froyd <froydnj@codesourcery.com>
440
441 * config/frv/frv.c (frv_init_builtins): Delete `endlink' variable.
442 Call builtin_function_type_list instead of builtin_function_type.
443 (UNARY, BINARY, TRINARY, QUAD): Likewise.
444
4fe058e2
NF
4452011-04-21 Nathan Froyd <froydnj@codesourcery.com>
446
447 * config/arm/arm.c (arm_init_iwmmxt_builtins): Call
448 build_function_type_list instead of build_function_type.
449 Delete variable `endlink'.
450
1ba0a2d2
NF
4512011-04-21 Nathan Froyd <froydnj@codesourcery.com>
452
453 * config/s390/s390.c (s390_init_builtins): Call
454 build_function_type_list instead of build_function_type.
455
c0676219
NF
4562011-04-21 Nathan Froyd <froydnj@codesourcery.com>
457
458 * config/ia64/ia64.c (ia64_init_builtins): Call
459 build_function_type_list instead of builtin_function_type.
460
6ddfda8a
ER
4612011-04-21 Easwaran Raman <eraman@google.com>
462
3a6448ea 463 * cfgexpand.c (stack_var): Remove OFFSET...
6ddfda8a
ER
464 (add_stack_var): ...and its reference here...
465 (expand_stack_vars): ...and here.
466 (stack_var_cmp): Sort by descending order of size.
467 (partition_stack_vars): Change heuristic.
1d284ec5 468 (union_stack_vars): Fix to reflect changes in partition_stack_vars.
6ddfda8a
ER
469 (dump_stack_var_partition): Add newline after each partition.
470
23756963
DA
4712011-04-21 Dimitrios Apostolou <jimis@gmx.net>
472 Jeff Law <law@redhat.com>
473
77fa1d54 474 * gengtype-state.c (read_a_state_token): Fix argument to obstack_free.
23756963
DA
475 * gengtype.c (matching_file_name_substitute): Likewise.
476
aa2a43d2
RG
4772011-04-21 Richard Guenther <rguenther@suse.de>
478
479 PR lto/48703
1d284ec5 480 * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of DECL_NAME.
aa2a43d2 481
4d931f41
EB
4822011-04-21 Eric Botcazou <ebotcazou@adacore.com>
483
484 * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
485
f103fa7a
RG
4862011-04-21 Richard Guenther <rguenther@suse.de>
487
488 * Makefile.in (site.exp): Do not use tmp0 but site.tmp as temporary
489 file name.
490
e19f6650
RG
4912011-04-21 Richard Guenther <rguenther@suse.de>
492
493 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
494 MEM_REF and TARGET_MEM_REF, do not care about INDIRECT_REFs.
495 Use DECL_P, not SSA_VAR_P.
496 (ptr_derefs_may_alias_p): Likewise.
497 (ptr_deref_may_alias_ref_p_1): Likewise.
498 (decl_refs_may_alias_p): Likewise.
499 (refs_may_alias_p_1): Likewise.
500 (ref_maybe_used_by_call_p_1): Likewise.
501 (call_may_clobber_ref_p_1): Likewise.
502 (indirect_ref_may_alias_decl_p): Assume indirect refrences
503 are either MEM_REF or TARGET_MEM_REF.
504 (indirect_refs_may_alias_p): Likewise.
505 * calls.c (emit_call_1): Build a MEM_REF instead of an INDIRECT_REF
506 for MEM_EXPR of indirect calls.
507
9d1831bb
TG
5082011-04-21 Tristan Gingold <gingold@adacore.com>
509
510 * vmsdbgout.c (write_srccorr): Compute file length from the string.
511 (dst_file_info_struct): Remove flen field.
512 (lookup_filename): Remove code that set flen field.
513
f199c029
TG
5142011-04-21 Tristan Gingold <gingold@adacore.com>
515
516 * config/ia64/ia64.c (ia64_start_function): Add a guard.
517
2894086e
UB
5182011-04-21 Uros Bizjak <ubizjak@gmail.com>
519
520 PR target/48708
521 * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
522 vec_extract and vec_concat for non-SSE4_1 targets.
523
53f94a5c
RG
5242011-04-21 Richard Guenther <rguenther@suse.de>
525
526 * tree-ssa-alias.c (ref_maybe_used_by_stmt_p): Handle
527 return statements.
528
f0dca5ba
JM
5292011-04-21 Joseph Myers <joseph@codesourcery.com>
530
531 * config/i386/cygming.h (union tree_node, TREE): Don't define or
532 undefine.
533 (FILE): Don't undefine.
534
984514ac
JM
5352011-04-21 Joseph Myers <joseph@codesourcery.com>
536
537 * config/alpha/alpha.c (struct machine_function): Use rtx, not
538 struct rtx_def *.
539 * config/bfin/bfin.h (bfin_cc_rtx, bfin_rets_rtx): Use rtx, not
540 struct rtx_def *.
541 * config/cris/cris-protos.h (STDIO_INCLUDED): Don't define.
2894086e 542 * config/h8300/h8300.h (struct cum_arg): Use rtx, not struct rtx_def *.
984514ac
JM
543 * config/iq2000/iq2000.h (struct iq2000_args): Use rtx, not struct
544 rtx_def *.
545 * config/m32c/m32c-protos.h (MM, UINT): Don't define. Expand
546 definitions where used.
547 * config/microblaze/microblaze.h (struct microblaze_args): Use
548 rtx, not struct rtx_def *.
549 * config/pa/pa-protos.h (return_addr_rtx): Use rtx, not struct
550 rtx_def *.
2894086e
UB
551 * config/pa/pa.h (hppa_pic_save_rtx): Use rtx, not struct rtx_def *.
552 * config/pdp11/pdp11.h (cc0_reg_rtx): Use rtx, not struct rtx_def *.
984514ac
JM
553 * config/sh/sh-protos.h (sfunc_uses_reg, get_fpscr_rtx): Use rtx,
554 not struct rtx_def *.
555 * config/sh/sh.h (sh_compare_op0, sh_compare_op1): Use rtx, not
556 struct rtx_def *.
557 * config/spu/spu-protos.h (spu_float_const): Use rtx, not struct
558 rtx_def *.
2894086e 559 * config/spu/spu.c (spu_float_const): Use rtx, not struct rtx_def *.
984514ac 560
0b5a2724
RS
5612011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
562
563 * tree-vect-data-refs.c (vect_drs_dependent_in_basic_block): Use
564 operand_equal_p to compare DR_BASE_ADDRESSes.
565 (vect_check_interleaving): Likewise.
566
4b18d683
RS
5672011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
568
569 PR target/46329
570 * config/arm/arm.c (arm_legitimate_constant_p_1): Return false
571 for all Neon struct constants.
572
1a627b35
RS
5732011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
574
575 * target.def (legitimate_constant_p): New hook.
576 * doc/tm.texi.in (LEGITIMATE_CONSTANT_P): Replace with...
577 (TARGET_LEGITIMATE_CONSTANT_P): ...this.
578 * doc/tm.texi: Regenerate.
579 * hooks.h (hook_bool_mode_rtx_true): Declare.
580 * hooks.c (hook_bool_mode_rtx_true): Define.
581 * system.h (LEGITIMATE_CONSTANT_P): Poison.
582 * calls.c (precompute_register_parameters): Replace uses of
583 LEGITIMATE_CONSTANT_P with targetm.legitimate_constant_p.
584 (emit_library_call_value_1): Likewise.
585 * expr.c (move_block_to_reg, can_store_by_pieces, emit_move_insn)
586 (compress_float_constant, emit_push_insn, expand_expr_real_1): Likewise.
587 * ira-costs.c (scan_one_insn): Likewise.
588 * recog.c (general_operand, immediate_operand): Likewise.
589 * reload.c (find_reloads_toplev, find_reloads_address_part): Likewise.
590 * reload1.c (init_eliminable_invariants): Likewise.
591
592 * config/alpha/alpha-protos.h (alpha_legitimate_constant_p): Add a
593 mode argument.
594 * config/alpha/alpha.h (LEGITIMATE_CONSTANT_P): Delete.
595 * config/alpha/alpha.c (alpha_legitimate_constant_p): Add a mode
596 argument.
597 (TARGET_LEGITIMATE_CONSTANT_P): Define.
598 * config/alpha/predicates.md (input_operand): Update call to
599 alpha_legitimate_constant_p.
600
601 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Delete.
602 * config/arm/arm.h (ARM_LEGITIMATE_CONSTANT_P): Likewise.
603 (THUMB_LEGITIMATE_CONSTANT_P, LEGITIMATE_CONSTANT_P): Likewise.
604 * config/arm/arm.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
605 (arm_legitimate_constant_p_1, thumb_legitimate_constant_p)
606 (arm_legitimate_constant_p): New functions.
607 (arm_cannot_force_const_mem): Make static.
608
609 * config/avr/avr.h (LEGITIMATE_CONSTANT_P): Delete.
610
611 * config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Delete.
612 * config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Delete.
613 * config/bfin/bfin.c (expand_move): Use targetm.legitimate_constant_p
614 instead of bfin_legitimate_constant_p.
615 (bfin_legitimate_constant_p): Make static. Add a mode argument.
616 (TARGET_LEGITIMATE_CONSTANT_P): Define.
617
618 * config/cris/cris.h (LEGITIMATE_CONSTANT_P): Delete.
619
620 * config/fr30/fr30.h (LEGITIMATE_CONSTANT_P): Delete.
621
622 * config/frv/frv-protos.h (frv_legitimate_constant_p): Delete.
623 * config/frv/frv.h (LEGITIMATE_CONSTANT_P): Delete.
624 * config/frv/frv.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
625 (frv_legitimate_constant_p): Make static. Add a mode argument.
626
627 * config/h8300/h8300-protos.h (h8300_legitimate_constant_p): Delete.
628 * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Likewise.
629 * config/h8300/h8300.c (h8300_legitimate_constant_p): Likewise.
630
631 * config/i386/i386-protos.h (legitimate_constant_p): Delete.
632 * config/i386/i386.h (LEGITIMATE_CONSTANT_P): Likewise.
633 * config/i386/i386.c (legitimate_constant_p): Rename to...
634 (ix86_legitimate_constant_p): ...this. Make static. Add a mode
635 argument.
636 (ix86_cannot_force_const_mem): Update accordingly.
637 (ix86_legitimate_address_p): Likewise.
638 (TARGET_LEGITIMATE_CONSTANT_P): Define.
639 * config/i386/i386.md: Update commentary.
640
641 * config/ia64/ia64-protos.h (ia64_legitimate_constant_p): Delete.
642 * config/ia64/ia64.h (LEGITIMATE_CONSTANT_P): Likewise.
643 * config/ia64/ia64.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
644 (ia64_legitimate_constant_p): Make static. Add a mode argument.
645
646 * config/iq2000/iq2000.h (LEGITIMATE_CONSTANT_P): Delete.
647
648 * config/lm32/lm32-protos.h (lm32_legitimate_constant_p): Delete.
649 * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Likewise.
650 * config/lm32/lm32.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
651 (lm32_legitimate_constant_p): Make static. Add a mode argument.
652
653 * config/m32c/m32c-protos.h (m32c_legitimate_constant_p): Delete.
654 * config/m32c/m32c.h (LEGITIMATE_CONSTANT_P): Likewise.
655 * config/m32c/m32c.c (m32c_legitimate_constant_p): Likewise.
656
657 * config/m32r/m32r.h (LEGITIMATE_CONSTANT_P): Delete.
658 * config/m32r/m32r.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
659 (m32r_legitimate_constant_p): New function.
660
661 * config/m68k/m68k-protos.h (m68k_legitimate_constant_p): Declare.
662 * config/m68k/m68k.h (CONSTANT_ADDRESS_P): Call it instead of
663 LEGITIMATE_CONSTANT_P.
664 (LEGITIMATE_CONSTANT_P): Delete.
665 * config/m68k/m68k.c (m68k_expand_prologue): Call
666 m68k_legitimate_constant_p instead of LEGITIMATE_CONSTANT_P.
667 (m68k_legitimate_constant_p): New function.
668 * config/m68k/m68k.md: Update comments.
669
670 * config/mcore/mcore.h (LEGITIMATE_CONSTANT_P): Delete.
671 * config/mcore/mcore.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
672 (mcore_legitimate_constant_p): New function.
673
674 * config/mep/mep-protos.h (mep_legitimate_constant_p): Delete.
675 * config/mep/mep.h (LEGITIMATE_CONSTANT_P): Likewise.
676 * config/mep/mep.c (mep_legitimate_constant_p): Make static.
677 Add a mode argument.
678 (mep_legitimate_address): Update accordingly.
679 (TARGET_LEGITIMATE_CONSTANT_P): Define.
680
681 * config/microblaze/microblaze-protos.h (microblaze_const_double_ok):
682 Delete.
683 * config/microblaze/microblaze.h (LEGITIMATE_CONSTANT_P): Likewise.
684 * config/microblaze/microblaze.c (microblaze_const_double_ok): Make
685 static. Check OP's mode for VOIDmode.
686 (microblaze_legitimate_constant_p): New function.
687 (TARGET_LEGITIMATE_CONSTANT_P): Define.
688
689 * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Delete.
690 * config/mips/mips.c (mips_legitimate_constant_p): New function.
691 (mips_cannot_force_const_mem): Use it instead of LEGITIMATE_CONSTANT_P.
692 (TARGET_LEGITIMATE_CONSTANT_P): Define.
693 * config/mips/predicates.md: Update comments.
694
695 * config/mmix/mmix-protos.h (mmix_legitimate_constant_p): Delete.
696 * config/mmix/mmix.h (LEGITIMATE_CONSTANT_P): Likewise.
697 * config/mmix/mmix.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
698 (mmix_legitimate_constant_p): Make static, return a bool, and take
699 a mode argument.
700 (mmix_print_operand_address): Update accordingly.
701
702 * config/mn10300/mn10300-protos.h (mn10300_legitimate_constant_p):
703 Delete.
704 * config/mn10300/mn10300.h (LEGITIMATE_CONSTANT_P): Likewise.
2894086e
UB
705 * config/mn10300/mn10300.c (mn10300_legitimate_constant_p): Make
706 static. Add a mode argument.
1a627b35
RS
707 (TARGET_LEGITIMATE_CONSTANT_P): Define.
708
709 * config/moxie/moxie.h (LEGITIMATE_CONSTANT_P): Delete.
710
711 * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Delete.
712 * config/pa/pa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
713 (pa_legitimate_constant_p): New function.
714
715 * config/picochip/picochip.h (LEGITIMATE_CONSTANT_P): Delete.
716
717 * config/pdp11/pdp11.h (LEGITIMATE_CONSTANT_P): Delete.
718 * config/pdp11/pdp11.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
719 (pdp11_legitimate_constant_p): New function.
720
721 * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Delete.
722 * config/rs6000/rs6000.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
723 (rs6000_legitimate_constant_p): New function.
724
725 * config/rx/rx-protos.h (rx_is_legitimate_constant): Replace with...
726 (rx_legitimate_constant_p): ...this.
727 * config/rx/rx.h (LEGITIMATE_CONSTANT_P): Delete.
728 * config/rx/rx.c (rx_is_legitimate_constant): Replace with...
729 (rx_legitimate_constant_p): ...this.
730 (TARGET_LEGITIMATE_CONSTANT_P): Define.
731 * config/rx/rx.md (mov<register_modes:mode>): Update accordingly.
732
733 * config/s390/s390-protos.h (legitimate_constant_p): Delete.
734 * config/s390/s390.h (LEGITIMATE_CONSTANT_P): Likewise.
735 * config/s390/s390.c (legitimate_constant_p): Rename to...
736 (s390_legitimate_constant_p): ...this. Make static, return a bool,
737 and add a mode argument.
738 (TARGET_LEGITIMATE_CONSTANT_P): Define.
739
740 * config/score/score.h (LEGITIMATE_CONSTANT_P): Delete.
741
742 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Delete.
743 * config/sh/sh.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
744 (sh_legitimate_constant_p): New function.
745
746 * config/sparc/sparc-protos.h (legitimate_constant_p): Delete.
747 * config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Delete.
748 * config/sparc/sparc.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
749 (legitimate_constant_p): Rename to...
750 (sparc_legitimate_constant_p): ...this. Make static. Add a mode
751 argument.
752 (constant_address_p): Update accordingly.
753
754 * config/spu/spu-protos.h (spu_legitimate_constant_p): Add a mode
755 argument and return a bool.
756 * config/spu/spu.h (LEGITIMATE_CONSTANT_P): Delete.
757 * config/spu/spu.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
758 (spu_legitimate_constant_p): Add a mode argument and return a bool.
759 (spu_rtx_costs): Update accordingly.
760 * config/spu/predicates.md (vec_imm_operand): Likewise.
761
762 * config/stormy16/stormy16.h (LEGITIMATE_CONSTANT_P): Delete.
763
764 * config/v850/v850.h (LEGITIMATE_CONSTANT_P): Delete.
765 * config/v850/v850.c (v850_legitimate_constant_p): New function.
766 (TARGET_LEGITIMATE_CONSTANT_P): Define.
767
768 * config/vax/vax-protos.h (legitimate_constant_p): Delete.
769 * config/vax/vax.h (LEGITIMATE_CONSTANT_P): Likewise.
770 * config/vax/vax.c (legitimate_constant_p): Likewise.
771
772 * config/xtensa/xtensa.h (LEGITIMATE_CONSTANT_P): Delete.
773 * config/xtensa/xtensa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
774 (xtensa_legitimate_constant_p): New function.
775
fbbf66e7
RS
7762011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
777
778 * target.def (cannot_force_const_mem): Add a mode argument.
779 * doc/tm.texi.in (TARGET_CANNOT_FORCE_CONST_MEM): Update accordingly.
780 * doc/tm.texi: Regenerate.
781 * hooks.h (hook_bool_mode_rtx_false): Declare.
782 * hooks.c (hook_bool_mode_const_rtx_false): Fix commentary.
783 (hook_bool_mode_const_rtx_true): Likewise.
784 (hook_bool_mode_rtx_false): New function.
785 * reload.c (CONST_POOL_OK_P): Take a mode argument and require it
786 to be non-VOID. Update call to cannot_force_const_mem.
787 (find_reloads): Update accordingly.
788 * varasm.c (force_const_mem): Update call to cannot_force_const_mem.
789 * config/alpha/alpha.c (alpha_cannot_force_const_mem): Add a mode
790 argument.
791 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Likewise.
792 * config/arm/arm.h (LEGITIMATE_CONSTANT_P): Update call.
793 * config/arm/arm.c (arm_cannot_force_const_mem): Add a mode argument.
794 * config/bfin/bfin.c (bfin_cannot_force_const_mem): Likewise.
795 * config/frv/frv.c (frv_cannot_force_const_mem): Likewise.
796 * config/i386/i386.c (ix86_cannot_force_const_mem): Likewise.
797 * config/ia64/ia64.c (ia64_cannot_force_const_mem): Likewise.
798 * config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
799 (m68k_cannot_force_const_mem): ...this new function.
800 * config/mips/mips.c (mips_cannot_force_const_mem): Add a mode
801 argument.
802 (mips_const_insns, mips_legitimize_const_move): Update calls.
803 (mips_secondary_reload_class): Likewise.
804 * config/pa/pa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
805 (pa_cannot_force_const_mem): ...this new function.
2894086e 806 * config/rs6000/rs6000.c (TARGET_CANNOT_FORCE_CONST_MEM): Reefine to...
fbbf66e7
RS
807 (rs6000_cannot_force_const_mem): ...this new function.
808 * config/s390/s390.c (s390_cannot_force_const_mem): Add a mode
809 argument.
810 * config/sparc/sparc.c (sparc_cannot_force_const_mem): Likewise.
811 * config/xtensa/xtensa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine
812 to...
813 (xtensa_cannot_force_const_mem): ...this new function.
814
b861891b
NF
8152011-04-20 Nathan Froyd <froydnj@codesourcery.com>
816
817 * config/mips/mips.c (mips16_build_function_stub): Call
818 build_function_type_list instead of build_function_type.
819 (mips16_build_call_stub): Likewise.
820
34149ed5
NF
8212011-04-20 Nathan Froyd <froydnj@codesourcery.com>
822
823 * config/mep/mep.c (mep_init_builtins): Call build_function_type_list
824 instead of build_function_type.
825
12526412
NF
8262011-04-20 Nathan Froyd <froydnj@codesourcery.com>
827
828 * config/pa/pa.c (pa_init_builtins): Call build_function_type_list
829 instead of build_function_type.
830
3b84d61f
UB
8312011-04-20 Uros Bizjak <ubizjak@gmail.com>
832
833 PR target/48678
834 * config/i386/i386.md (insv): Change operand 0 constraint to
835 "register_operand". Change operand 1 and 2 constraint to
836 "const_int_operand". Expand to pinsr{b,w,d,q} * when appropriate.
837 * config/i386/sse.md (sse4_1_pinsrb): Export.
838 (sse2_pinsrw): Ditto.
839 (sse4_1_pinsrd): Ditto.
840 (sse4_1_pinsrq): Ditto.
841 * config/i386/i386-protos.h (ix86_expand_pinsr): Add prototype.
842 * config/i386/i386.c (ix86_expand_pinsr): New.
843
4a25752b
ER
8442011-04-20 Easwaran Raman <eraman@google.com>
845
846 * cfgexpand.c (add_alias_set_conflicts): Add conflicts with a variable
847 containing union type only with -fstrict-aliasing.
848
04695783
JM
8492011-04-20 Jim Meyering <meyering@redhat.com>
850
851 Remove useless if-before-free tests.
852 * calls.c (expand_call, save_area): Likewise.
853 * cfgcleanup.c (try_forward_edges): Likewise.
854 * collect2.c (collect_execute): Likewise.
855 * config/i386/i386.c (ix86_valid_target_attribute_tree): Likewise.
856 * config/mcore/mcore.c (mcore_expand_prolog): Likewise.
857 * coverage.c (coverage_checksum_string): Likewise.
858 * cse.c (init_cse_reg_info, delete_trivially_dead_insns): Likewise.
859 * cselib.c (cselib_init): Likewise.
860 * df-core.c (rest_of_handle_df_finish, df_analyze): Likewise.
861 (df_set_clean_cfg): Likewise.
862 * function.c (free_after_compilation): Likewise.
863 * gcc.c (do_spec_1, main): Likewise.
864 * gcov.c (create_file_names): Likewise.
865 * gensupport.c (identify_predicable_attribute): Likewise.
866 * graphite-clast-to-gimple.c (save_clast_name_index): Likewise.
867 * graphite-sese-to-poly.c (free_data_refs_aux): Likewise.
868 * haifa-sched.c (haifa_finish_h_i_d): Likewise.
869 * ipa-prop.c (ipa_free_node_params_substructures): Likewise.
870 * ipa-pure-const.c (local_pure_const): Likewise.
871 * ipa-reference.c (propagate): Likewise.
872 * ira-costs.c (free_ira_costs): Likewise.
873 * ira.c (free_register_move_costs, build_insn_chain): Likewise.
874 * matrix-reorg.c (mat_free): Likewise.
875 * prefix.c (get_key_value): Likewise.
876 * profile.c (compute_value_histograms): Likewise.
877 * reload1.c (free_reg_equiv): Likewise.
878 * sched-deps.c (free_deps): Likewise.
879 * sel-sched-ir.c (fence_clear): Likewise.
880 * sese.c (set_rename, if_region_set_false_region): Likewise.
881 * tree-data-ref.c (free_rdg): Likewise.
882 * tree-eh.c (lower_try_finally): Likewise.
883 * tree-ssa-coalesce.c (delete_coalesce_list): Likewise.
884 * tree-ssa-live.c (delete_var_map): Likewise.
885 * tree-ssa-loop-ivopts.c (free_loop_data): Likewise.
886 * tree-ssa-pre.c (phi_trans_add): Likewise.
887
6788475a
JJ
8882011-04-20 Jakub Jelinek <jakub@redhat.com>
889
890 PR tree-optimization/48611
891 * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
892 beyond ERT_MUST_NOT_THROW region.
893
0eda4033
CM
8942011-04-20 Catherine Moore <clm@codesourcery.com>
895
896 * config/mips/mips.opt (mfix-24k): New.
897 * config/mips/mips.h (ASM_SPEC): Handle -mfix-24k.
898 * config/mips/mips.md (length): Increase by 4 for stores if
899 fixing 24K errata.
900 * config/mips/mips.c (mips_reorg_process_insns): Do not allow
901 all noreorder if fixing 24K errata.
902 * doc/invoke.texi: Document mfix-24k.
903
01475747
CLT
9042011-04-20 Chung-Lin Tang <cltang@codesourcery.com>
905
906 * config/arm/arm.c (arm_legitimize_reload_address): For NEON
2894086e 907 quad-word modes, reduce to 9-bit index range when above 1016 limit.
01475747 908
bc2c1a60
AS
9092011-04-20 Andrew Stubbs <ams@codesourcery.com>
910
911 * config/arm/arm.c (arm_gen_constant): Move movw support ....
912 (const_ok_for_op): ... to here.
913
583722ee
KT
9142011-04-20 Kai Tietz <ktietz@redhat.com>
915
2894086e
UB
916 * fold-const.c (fold_binary_loc): Add handling for (X & ~Y) | (~X & Y)
917 and (X && !Y) | (!X && Y) optimization to (X ^ Y).
583722ee 918
422c0989
AS
9192011-04-20 Andrew Stubbs <ams@codesourcery.com>
920
921 * config/arm/arm.c (arm_gen_constant): Remove redundant can_invert.
922
d7978bff
RG
9232011-04-20 Richard Guenther <rguenther@suse.de>
924
925 PR tree-optimization/47892
926 * tree-if-conv.c (if_convertible_stmt_p): Const builtins
927 are if-convertible.
928
818412ba
EB
9292011-04-20 Eric Botcazou <ebotcazou@adacore.com>
930
931 * config/alpha/vms.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not redefine.
932
b501ce4e
TG
9332011-04-20 Tristan Gingold <gingold@adacore.com>
934
935 * config/alpha/vms.h (LINK_SPEC): Do not use vms-dwarf2.o for gnu-ld.
936
516edfdd
GJL
9372011-04-20 Georg-Johann Lay <avr@gjlay.de>
938
939 PR target/18145
940
941 * config/avr/avr.h (TARGET_ASM_INIT_SECTIONS): Delete.
942 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
943 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
944 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
945 (TARGET_ASM_NAMED_SECTION): Change to avr_asm_named_section.
946
947 * config/avr/avr-protos.h (avr_asm_output_aligned_common):
948 New prototype.
949
950 * config/avr/avr.c (TARGET_ASM_INIT_SECTIONS): Define.
951 (avr_asm_named_section, avr_asm_output_aligned_common,
952 avr_output_data_section_asm_op, avr_output_bss_section_asm_op):
953 New functions to update...
954 (avr_need_clear_bss_p, avr_need_copy_data_p): ...these new variables.
955 (avr_asm_init_sections): Overwrite section callbacks for
956 data_section, bss_section.
957 (avr_file_start): Move output of __do_copy_data, __do_clear_bss
958 from here to...
959 (avr_file_end): ...here.
960
dafc9511
RG
9612011-04-20 Richard Guenther <rguenther@suse.de>
962
963 PR middle-end/48695
964 * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
2894086e 965 objects and types here. Adjust for their offset before comparing.
dafc9511 966
1da0876c
RS
9672011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
968
969 * tree-vect-stmts.c (vectorizable_store): Only chain one related
970 statement per copy.
971
25583c4f
RS
9722011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
973
974 * Makefile.in (INTERNAL_FN_DEF, INTERNAL_FN_H): Define.
975 (GIMPLE_H): Include $(INTERNAL_FN_H).
976 (OBJS-common): Add internal-fn.o.
977 (internal-fn.o): New rule.
978 * internal-fn.def: New file.
979 * internal-fn.h: Likewise.
980 * internal-fn.c: Likewise.
981 * gimple.h: Include internal-fn.h.
982 (GF_CALL_INTERNAL): New gf_mask.
983 (gimple_statement_call): Put fntype into a union with a new
984 internal_fn field.
985 (gimple_build_call_internal): Declare.
986 (gimple_build_call_internal_vec): Likewise.
987 (gimple_call_same_target_p): Likewise.
988 (gimple_call_internal_p): New function.
989 (gimple_call_internal_fn): Likewise.
990 (gimple_call_fntype): Return null for internal calls.
991 (gimple_call_set_fntype): Assert that the function is not internal.
992 (gimple_call_set_fn): Likewise.
993 (gimple_call_set_fndecl): Likewise.
994 (gimple_call_set_internal_fn): New function.
995 (gimple_call_addr_fndecl): Handle null functions.
996 (gimple_call_return_type): Likewise null types.
997 * gimple.c (gimple_build_call_internal_1): New function.
998 (gimple_build_call_internal): Likewise.
999 (gimple_build_call_internal_vec): Likewise.
1000 (gimple_call_same_target_p): Likewise.
1001 (gimple_call_flags): Handle calls to internal functions.
1002 (gimple_call_fnspec): New function.
1003 (gimple_call_arg_flags, gimple_call_return_flags): Use it.
1004 (gimple_has_side_effects): Handle null functions.
1005 (gimple_rhs_has_side_effects): Likewise.
1006 (gimple_call_copy_skip_args): Handle calls to internal functions.
1007 * cfgexpand.c (expand_call_stmt): Likewise.
1008 * expr.c (expand_expr_real_1): Assert that the call isn't internal.
1009 * gimple-fold.c (gimple_fold_call): Handle null functions.
1010 (gimple_fold_stmt_to_constant_1): Don't fold
1011 calls to internal functions.
1012 * gimple-low.c (gimple_check_call_args): Handle calls to internal
1013 functions.
1014 * gimple-pretty-print.c (dump_gimple_call): Likewise.
1015 * ipa-prop.c (ipa_analyze_call_uses): Handle null functions.
1016 * tree-cfg.c (verify_gimple_call): Handle calls to internal functions.
1017 (do_warn_unused_result): Likewise.
1018 * tree-eh.c (same_handler_p): Use gimple_call_same_target_p.
1019 * tree-ssa-ccp.c (ccp_fold_stmt): Handle calls to internal functions.
1020 * tree-ssa-dom.c (hashable_expr): Use the gimple statement to record
1021 the target of a call.
1022 (initialize_hash_element): Update accordingly.
1023 (hashable_expr_equal_p): Use gimple_call_same_target_p.
1024 (iterative_hash_hashable_expr): Handle calls to internal functions.
1025 (print_expr_hash_elt): Likewise.
1026 * tree-ssa-pre.c (can_value_number_call): Likewise.
1027 (eliminate): Handle null functions.
1028 * tree-ssa-sccvn.c (visit_use): Handle calls to internal functions.
1029 * tree-ssa-structalias.c (get_fi_for_callee): Likewise.
1030 (find_func_aliases): Likewise.
1031 * value-prof.c (gimple_ic_transform): Likewise.
1032 (gimple_indirect_call_to_profile): Likewise.
1033 * lto-streamer-in.c (input_gimple_stmt): Likewise.
1034 * lto-streamer-out.c (output_gimple_stmt): Likewise.
1035
1a3118e9
JH
10362011-04-19 Jan Hubicka <jh@suse.cz>
1037
1038 * ipa-inline-transform.c (save_inline_function_body): Add comments.
9d12f71a
EB
1039 * ipa-inline.c (inline_small_functions): Compute summaries first,
1040 populate heap later.
1a3118e9 1041
fee8b6da
JH
10422011-04-19 Jan Hubicka <jh@suse.cz>
1043
1044 * cgraph.h (save_inline_function_body): Remove.
1045 * ipa-inline-transform.c: New file, broke out of...
1046 * ipa-inline.c: ... this one; Update toplevel comment.
1047 (ncalls_inlined, nfunctions_inlined): Move to ipa-inline-transform.c;
1048 make global.
1049 (update_noncloned_frequencies): Move to ipa-inline-transform.c
1050 (cgraph_mark_inline_edge): Rename to inline_call; move to
1051 ipa-inline-transform.c.
1052 (cgraph_clone_inlined_nodes): Rename to clone_inlined_nodes;
1053 move to ipa-inline-transform.c
1054 (recursive_inlining, inline_small_functions, flatten_function,
1055 ipa_inline, inline_always_inline_functions,
1056 early_inline_small_functions): Update.
1057 (inline_transform): Move to ipa-inline-transform.c.
1058 * ipa-inline.h (inline_call, inline_transform, clone_inlined_nodes):
1059 Declare.
1060 * Makefile.in (ipa-inline-transform.o): New file.
1061 * cgraphunit.c (save_inline_function_body): Move to
1062 ipa-inline-transform.c
1063
f0679612
DD
10642011-04-19 DJ Delorie <dj@redhat.com>
1065
1066 * config/m32c/m32c.c (m32c_emit_epilogue): Don't try to push
1067 registers if we already know there aren't any.
1068 (m32c_emit_epilogue): Don't emit a barrier here.
1069 (m32c_emit_eh_epilogue): Likewise.
1070 * config/m32c/blkmov.md (movstr): Don't fail on wrong-type
1071 operands at expand time.
1072 * config/m32c/m32c.h (WCHAR_TYPE_SIZE): Change to 4 to match "long
1073 int" wchar type.
1074 (REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): Remove
1075 duplicates. Provide aliases instead.
1076 * config/m32c/prologue.md (eh_return): Emit a barrier here.
1077 (eh_epilogue): Add a "(return)" here as a hint to other parts of
1078 the compiler.
1079
32257ddc
AS
10802011-04-19 Anatoly Sokolov <aesok@post.ru>
1081
1082 * config/sparc/sparc.h (GENERAL_OR_I64, REGISTER_MOVE_COST): Remove.
1083 * config/sparc/sparc.c (TARGET_REGISTER_MOVE_COST): Define.
1084 (general_or_i64_p, sparc_register_move_cost): New function.
1085
60bea929
RO
10862011-04-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1087
1088 * doc/install.texi (Configuration, --enable-threads): Remove mach.
3b84d61f 1089 Add lynx, mipssde. Sort table.
60bea929 1090
444b3995 10912011-04-19 Xinliang David Li <davidxl@google.com>
3b84d61f 1092
9d12f71a
EB
1093 * ipa-cp.c (ipcp_update_profiling): Assert that scale_completement is
1094 not negative.
444b3995 1095
d708ce50
JJ
10962011-04-19 Jakub Jelinek <jakub@redhat.com>
1097
1098 PR target/48678
1099 * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
1100 is a SUBREG with non-MODE_INT mode inside of it.
1101
49c471e3
MJ
11022011-04-19 Martin Jambor <mjambor@suse.cz>
1103
1104 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize
1105 also according to actual contants.
1106 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): New function.
1107 (gimple_fold_call): Use it.
1108 * gimple.h (gimple_extract_devirt_binfo_from_cst): Declare.
1109
0004f992
MJ
11102011-04-19 Martin Jambor <mjambor@suse.cz>
1111
1112 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar
1113 non-pointer assignments.
1114
40591473
MJ
11152011-04-19 Martin Jambor <mjambor@suse.cz>
1116
1117 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into
1118 account anc_offset and otr_type from the indirect edge info.
1119 * ipa-prop.c (get_ancestor_addr_info): New function.
1120 (compute_complex_ancestor_jump_func): Assignment analysis moved to
1121 get_ancestor_addr_info, call it.
1122 (ipa_note_param_call): Do not initialize information about polymorphic
1123 calls, return the indirect call graph edge. Remove the last
1124 parameter, adjust all callers.
1125 (ipa_analyze_virtual_call_uses): Process also calls to ancestors of
1126 parameters. Initialize polymorphic information in the indirect edge.
1127
abe36b81
EB
11282011-04-19 Eric Botcazou <ebotcazou@adacore.com>
1129
1130 PR lto/48148
1131 * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
1132 the types if they have different enumeration identifiers.
1133
e6416b30
JH
11342011-04-19 Jan Hubicka <jh@suse.cz>
1135
1136 * cgraph.h (cgraph_optimize_for_size_p): Declare.
1137 * ipa-cp.c (ipcp_insert_stage): Use cgraph_optimize_for_size_p.
1138 * predict.c (cgraph_optimize_for_size_p): Break out from ...
1139 (optimize_function_for_size_p) ... here.
1140
d39132ea
RG
11412011-04-19 Richard Guenther <rguenther@suse.de>
1142
1143 PR lto/48207
1144 * tree.c (free_lang_data): Do not reset the decl-assembler-name
1145 langhook.
1146
ff7037dc
EB
11472011-04-19 Eric Botcazou <ebotcazou@adacore.com>
1148
1149 * tree-inline.c (expand_call_inline): Do not issue a -Winline warning
1150 if DECL_NO_INLINE_WARNING_P is set on the function.
1151
c1ee2892
BS
11522011-04-19 Bernd Schmidt <bernds@codesourcery.com>
1153
1154 PR fortran/47976
1155 * reload1.c (inc_for_reload): Return void. All callers changed.
1156 (emit_input_reload_insns): Don't try to delete previous output
1157 reloads to a register, or record spill_reg_store for autoincs.
fbb20b29
BS
1158
11592011-04-19 Basile Starynkevitch <basile@starynkevitch.net>
1160
1161 * gengtype.h: Updated copyright year.
1162 (struct input_file_st): Add inpisplugin field.
1163 (type_fileloc): New function.
1164 * gengtype.c
1165 (write_typed_struct_alloc_def): Add gcc_assert.
1166 (write_typed_alloc_defns): Ditto. Don't output for plugin files.
1167 (write_typed_alloc_defns): Don't output for plugin files.
1168 (input_file_by_name): Clear inpisplugin field.
1169 (main): Set inpisplugin field for plugin files.
1170
897e0a89
NP
11712011-04-19 Nicola Pero <nicola.pero@meta-innovation.com>
1172
1173 * gengtype-state.c (string_eq): New.
1174 (read_state): Use string_eq instead of strcmp when creating the
1175 state_ident_tab.
1176
363ee90e
WG
11772011-04-19 Wei Guozhi <carrot@google.com>
1178
1179 PR target/47855
1180 * config/arm/arm-protos.h (thumb1_legitimate_address_p): New prototype.
1181 * config/arm/arm.c (thumb1_legitimate_address_p): Remove the static
1182 linkage.
1183 * config/arm/constraints.md (Uu): New constraint.
1184 * config/arm/arm.md (*arm_movqi_insn): Compute attr "length".
1185
18a24fed
TG
11862011-04-19 Tristan Gingold <gingold@adacore.com>
1187
1188 * config.gcc (-*-*-*vms): Added.
1189 (alpha64-dec-*vms*,alpha*-dec-*vms*, ia64-hp-*vms*): Common
1190 definitions moved.
1191 * config/vms/vms-ld.c: New file.
1192 * config/vms/vms-ar.c: New file.
1193 * config/vms/t-vmsnative: New file.
1194
1c13f168
XDL
11952011-04-18 Xinliang David Li <davidxl@google.com>
1196
1197 * final.c (dump_basic_block_info): Use ASM_COMMENT_START.
1198
84825707
JJ
11992011-04-18 Jakub Jelinek <jakub@redhat.com>
1200
1201 PR middle-end/48661
1202 * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
1203 if TREE_TYPE (v) is non-NULL.
1204
1205 * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
1206 gimple_get_virt_mehtod_for_binfo.
1207 * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
1208 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
1209 callers.
1210 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
1211
7d4f8d02 12122011-04-18 Michael Matz <matz@suse.de>
7254cb57
MM
1213 Steve Ellcey <sje@cup.hp.com>
1214
7d4f8d02
EB
1215 * expr.c (expand_expr_real_2) <CASE_CONVERT>: If OP0 is a constant,
1216 use its mode as source mode if it isn't VOIDmode.
7254cb57 1217
474e8e70
DCR
12182011-04-18 Dennis, CHENG Renquan <crquan@fedoraproject.org>
1219
1220 * doc/passes.texi: Fill crossref nodes.
1221
cff41484
JM
12222011-04-18 Jim Meyering <meyering@redhat.com>
1223
7d4f8d02 1224 Fix doubled-word typos in comments and strings
cff41484
JM
1225 * config/alpha/vms-unwind.h: s/for for/for/
1226 * config/arm/unwind-arm.h: Likewise.
1227 * config/microblaze/microblaze.c: Likewise.
1228 * config/sh/constraints.md: s/in in/in/
1229 * tree-cfg.c (verify_types_in_gimple_reference): Likewise.
1230
f60c2554
UB
12312011-04-18 Uros Bizjak <ubizjak@gmail.com>
1232
1233 * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): Remove.
1234 (AVX_FLOAT_MODE_P): Ditto.
1235 (AVX128_VEC_FLOAT_MODE_P): Ditto.
1236 (AVX256_VEC_FLOAT_MODE_P): Ditto.
1237 (AVX_VEC_FLOAT_MODE_P): Ditto.
1238 * config/i386/i386.md (UNSPEC_MASKLOAD): Remove.
1239 (UNSPEC_MASKSTORE): Ditto.
1240 * config/i386/sse.md (<sse>_movmsk<ssemodesuffix><avxmodesuffix>):
1241 Merge from <sse>_movmsk<ssemodesuffix> and
1242 avx_movmsk<ssemodesuffix>256. Use VF mode iterator.
1243 (*sse2_maskmovdqu): Merge with *sse2_maskmovdqu_rex64. Use P mode
1244 iterator.
1245 (avx_maskload<ssemodesuffix><avxmodesuffix>): New expander.
1246 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Ditto.
1247 (*avx_maskmov<ssemodesuffix><avxmodesuffix>): New insn.
1248
09a2806f
JH
12492011-04-18 Jan Hubicka <jh@suse.cz>
1250
8a8dccb2
JH
1251 * ipa-inline.c (inline_small_functions): Fix pasto in previous patch.
1252
09a2806f
JH
1253 * ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
1254 (want_inline_function_called_once_p): Break out the logic from
1255 ipa_inline.
1256 (edge_badness): Ensure that profile is not misupdated.
1257 (lookup_recursive_calls): Prioritize by call frequencies.
1258 (inline_small_functions): Move program size estimates here;
1259 actually process whole queue even when unit growth has been
1260 met. (to properly compute inline_failed reasons and for the
f60c2554 1261 case unit size decrease.) Revisit comments on recursive inlining.
09a2806f
JH
1262 (ipa_inline): Remove unit summary code; first inline hot calls
1263 of functions called once, cold calls next.
1264 (order, nnodes): Remove unused variables.
1265 * Makefile.in (ipa-inline.o): No longer depent on ggc files.
1266 (GTFILES): Remove ipa-inline.c
1267 * sel-sched.c (fill_insns): Silence uninitialized var warning.
1268
3eea52ef
EB
12692011-04-18 Eric Botcazou <ebotcazou@adacore.com>
1270
1271 * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
1272
229a1c59 12732011-04-18 Jie Zhang <jie@codesourcery.com>
3eea52ef 1274 Richard Earnshaw <rearnsha@arm.com>
229a1c59
JZ
1275
1276 * arm.c (neon_builtin_type_bits): Remove.
1277 (typedef enum neon_builtin_mode): New.
1278 (T_MAX): Don't define.
1279 (typedef enum neon_builtin_datum): Remove bits, codes[],
1280 num_vars and base_fcode. Add mode, code and fcode.
1281 (VAR1, VAR2, VAR3, VAR4, VAR5, VAR6, VAR7, VAR8, VAR9
1282 VAR10): Change accordingly.
1283 (neon_builtin_data[]): Change accordingly
1284 (arm_init_neon_builtins): Change accordingly.
1285 (neon_builtin_compare): Remove.
1286 (locate_neon_builtin_icode): Remove.
1287 (arm_expand_neon_builtin): Change accordingly.
1288
1289 * arm.h (enum arm_builtins): Move to ...
1290 * arm.c (enum arm_builtins): ... here; and rearrange builtin code.
1291
1292 * arm.c (arm_builtin_decl): Declare.
1293 (TARGET_BUILTIN_DECL): Define.
1294 (enum arm_builtins): Correct ARM_BUILTIN_MAX.
1295 (arm_builtin_decls[]): New.
1296 (arm_init_neon_builtins): Store builtin declarations in
1297 arm_builtin_decls[].
1298 (arm_init_tls_builtins): Likewise.
1299 (arm_init_iwmmxt_builtins): Likewise. Refactor initialization code.
1300 (arm_builtin_decl): New.
1301
75e802cc
RG
13022011-04-18 Richard Guenther <rguenther@suse.de>
1303
1304 * tree.c (upper_bound_in_type): Build properly canonicalized
1305 INTEGER_CSTs.
1306 (lower_bound_in_type): Likewise.
1307
3b45a007
RG
13082011-04-18 Richard Guenther <rguenther@suse.de>
1309
1310 * gimple.h (gimple_call_addr_fndecl): New function.
1311 (gimple_call_fndecl): Use it.
1312 * gimple-fold.c (gimple_fold_call): Fold away OBJ_TYPE_REFs
1313 for direct calls.
1314 * tree-ssa-ccp.c (ccp_fold_stmt): Remove OBJ_TYPE_REF folding.
1315 * tree-ssa-pre.c (eliminate): Also simplify indirect OBJ_TYPE_REFs.
1316
d25a79ea
RG
13172011-04-18 Richard Guenther <rguenther@suse.de>
1318
1319 PR middle-end/48650
1320 * tree.c (build_string): STRING_CST is now derived from tree_typed.
1321
7d5fc814
EB
13222011-04-18 Eric Botcazou <ebotcazou@adacore.com>
1323
1324 PR lto/48492
1325 * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
1326 DECL_IN_CONSTANT_POOL without RTL.
1327
7e7cfcf6
UW
13282011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org>
1329 Ira Rosen <ira.rosen@linaro.org>
1330
1331 PR target/48252
1332 * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
1333 to match neon_vzip/vuzp/vtrn_internal.
1334 * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
1335 outputs explicitly dependent on both inputs.
1336 (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
1337
49eab32e
JJ
13382011-04-18 Jakub Jelinek <jakub@redhat.com>
1339
1340 PR tree-optimization/48616
1341 * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
1342 whether the shift is by scalar or vector based on whether all SLP
1343 scalar stmts have the same rhs.
1344
e54170f4
CLT
13452011-04-17 Chung-Lin Tang <cltang@codesourcery.com>
1346
1347 * config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
1348 memory operands.
1349
b14ee6c9
RS
13502011-04-17 Richard Sandiford <rdsandiford@googlemail.com>
1351
1352 * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
1353 registers.
1354
10158cd3
JH
13552011-04-17 Jan Hubicka <jh@suse.cz>
1356
1357 * cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
7d5fc814
EB
1358 * cgrpahunit.c (cgraph_finalize_function): Do not set
1359 finalized_by_frontend.
10158cd3
JH
1360 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
1361 finalized_by_frontend.
1362
2e9bb6ba
JH
13632011-04-17 Jan Hubicka <jh@suse.cz>
1364
1365 * cgraph.c (cgraph_clone_node): Do not handle vtable_method
1366 * cgraph.h (struct cgraph_local_info): Drop vtable_method.
1367 * cgraphunit.c (cgraph_copy_node_for_versioning): Drop vtable_method.
7d5fc814
EB
1368 * lto-cgraph.c (lto_output_node, input_overwrite_node): Drop vtable
1369 method.
2e9bb6ba
JH
1370 * gimple-fold.c (can_refer_decl_in_current_unit_p): Mention PR20991 in
1371 gimple-fold.c
1372 * varasm.c (mark_decl_referenced): Drop vtable_method handling code.
1373
beb628e1
EB
13742011-04-17 Eric Botcazou <ebotcazou@adacore.com>
1375
1376 PR lto/48538
1377 * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
1378 is non-null before accessing it.
1379 (input_cgraph): Remove trailing spaces.
1380
3e2fdd24
RE
13812011-04-17 Revital Eres <revital.eres@linaro.org>
1382
1383 * params.def (sms-min-sc): New param flag.
1384 * modulo-sched.c (sms_schedule): Use it.
1385 * doc/invoke.texi (sms-min-sc): Document it.
1386
4c0f7679
JH
13872011-04-17 Jan Hubicka <jh@suse.cz>
1388
1389 * lto-symtab.c (lto_cgraph_replace_node): When call statement is
1390 present, also set gimple_call_set_cannot_inline.
1391 * ipa-inline.c: Update toplevel comment.
1392 (MAX_TIME): Remove.
1393 (cgraph_clone_inlined_nodes): Fix linebreaks.
1394 (cgraph_check_inline_limits): Restructure to ...
1395 (caller_growth_limits): ... this one; be more tolerant
1396 on growth in nested inline chains; add explanatory comment;
1397 fix stack accounting thinko introduced by previous patch.
1398 (cgraph_default_inline_p): Remove.
1399 (report_inline_failed_reason): New function.
1400 (can_inline_edge_p): New function.
1401 (can_early_inline_edge_p): New function.
1402 (leaf_node_p): Move upwards in file.
1403 (want_early_inline_function_p): New function.
1404 (want_inline_small_function_p): New function.
1405 (want_inline_self_recursive_call_p): New function.
1406 (cgraph_edge_badness): Rename to ...
1407 (edge_badness) ... this one; fix linebreaks.
1408 (update_edge_key): Update call of edge_baddness; add
1409 detailed dump about queue updates.
1410 (update_caller_keys): Use can_inline_edge_p and
1411 want_inline_small_function_p.
1412 (cgraph_decide_recursive_inlining): Rename to...
1413 (recursive_inlining): Use can_inline_edge_p and
f60c2554
UB
1414 want_inline_self_recursive_call_p; simplify and remove no longer
1415 valid FIXME.
4c0f7679
JH
1416 (cgraph_set_inline_failed): Remove.
1417 (add_new_edges_to_heap): Use can_inline_edge_p and
1418 want_inline_small_function_p.
1419 (cgraph_decide_inlining_of_small_functions): Rename to ...
1420 (inline_small_functions): ... this one; cleanup; use
f60c2554
UB
1421 can/want predicates; cleanup debug ouput; work edges till fibheap
1422 is exhausted and do not stop once unit growth is reached; remove
1423 later loop processing remaining edges.
4c0f7679
JH
1424 (cgraph_flatten): Rename to ...
1425 (flatten_function): ... this one; use can_inline_edge_p
1426 and can_early_inline_edge_p predicates.
1427 (cgraph_decide_inlining): Rename to ...
1428 (ipa_inline): ... this one; remove unreachable nodes before
1429 inlining functions called once; simplify the pass.
1430 (cgraph_perform_always_inlining): Rename to ...
1431 (inline_always_inline_functions): ... this one; use
f60c2554 1432 DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p predicate.
4c0f7679
JH
1433 (cgraph_decide_inlining_incrementally): Rename to ...
1434 (early_inline_small_functions): ... this one; simplify
1435 using new predicates; cleanup; make dumps prettier.
1436 (cgraph_early_inlining): Rename to ...
1437 (early_inliner): newer inline regular functions into always-inlines;
1438 fix updating of call stmt summaries.
1439 (pass_early_inline): Update for new names.
1440 (inline_transform): Fix formating.
1441 (gate_cgraph_decide_inlining): Rename to ...
1442 (pass_ipa_inline): ... this one.
1443 * ipa-inline.h (inline_summary): Remove disregard_inline_limits.
1444 * ipa-inline-analysis.c (dump_inline_summary): Update.
1445 (compute_inline_parameters): Do not compute disregard_inline_limits;
1446 look for mismatching arguments.
1447 (estimate_growth): Fix handlig of non-trivial self recursion.
1448 (inline_read_summary): Do not read info->disregard_inline_limits.
1449 (inline_write_summary): Do not write info->disregard_inline_limits.
beb628e1
EB
1450 * tree-inline.c (inline_forbidden_into_p, tree_can_inline_p): Remove
1451 and move all checks into can_inline_edge_p predicate; re-enable code
1452 comparing optimization levels.
4c0f7679
JH
1453 (expand_call_inline): Do not test inline_forbidden_into_p.
1454 * Makefile.in (ipa-inline.o): Update arguments.
1455
54333b7c
RE
14562011-04-17 Revital Eres <revital.eres@linaro.org>
1457
1458 * ddg.c (free_ddg_all_sccs): Free sccs field in struct ddg_all_sccs.
1459
42c2bf92
RE
14602011-04-17 Revital Eres <revital.eres@linaro.org>
1461
1462 * modulo-sched.c (sms_schedule): Avoid unfreed memory when SMS fails.
1463
b183e9e0
MM
14642011-04-17 Michael Matz <matz@suse.de>
1465
1466 PR tree-optimization/48622
1467 PR lto/48645
1468 * ipa-inline-analysis.c (inline_read_summary): Read size/time
1469 in same order as they're written.
1470
b8a17fa2
JDA
14712011-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1472
1473 * config/pa/predicates.md: Reorganize and simplify predicates.
1474 Eliminate duplicate code checks.
1475 (arith_operand): Rename to arith14_operand
1476 (reg_or_ior_operand): Rename to reg_or_cint_ior_operand.
1477 * config/pa/pa.md: Use renamed operands.
1478 * config/pa/pa-protos.h (symbolic_operand): Delete declaration.
1479 (tls_symbolic_operand, function_label_operand, lhs_lshift_cint_operand,
1480 arith11_operand, adddi3_operand, indexed_memory_operand,
1481 symbolic_memory_operand, int11_operand, reg_or_cint_move_operand,
1482 arith5_operand, uint5_operand, pic_label_operand, plus_xor_ior_operator,
1483 borx_reg_operand, shadd_operand, arith_operand, read_only_operand,
1484 move_dest_operand, move_src_operand, prefetch_cc_operand,
1485 prefetch_nocc_operand, and_operand, ior_operand, arith32_operand,
1486 uint32_operand, reg_before_reload_operand, reg_or_0_operand,
1487 reg_or_0_or_nonsymb_mem_operand, pre_cint_operand, post_cint_operand,
1488 div_operand, int5_operand, movb_comparison_operator,
1489 ireg_or_int5_operand, call_operand_address, ior_operand, fp_reg_operand,
1490 arith_double_operand, ireg_operand, lhs_lshift_operand,
1491 pc_or_label_operand, non_hard_reg_operand, eq_neq_comparison_operator,
1492 integer_store_memory_operand): Likewise.
1493 * config/pa/pa.c (adddi3_operand): Move to predicates.md.
1494 (integer_store_memory_operand, read_only_operand,
1495 function_label_operand, borx_reg_operand,
1496 non_hard_reg_operand): Likewise.
1497 (eq_neq_comparison_operator): Delete unused operator.
1498 (legitimize_pic_address): Use VOIDmode for mode argument in calls to
1499 function_label_operand.
1500 (emit_move_sequence): Likewise.
1501
8dfb9f16
UB
15022011-04-16 Uros Bizjak <ubizjak@gmail.com>
1503
1504 * config/i386/sse.md (sseunpackmode): New mode attribute.
1505 (ssepackmode): Ditto.
1506 (vec_pack_trunc_<mode>): Macroize expander from
1507 vec_pack_trunc_{v8hi,v4si,v2di} using VI248_128 mode iterator.
1508 (vec_unpacks_lo_<mode>): Macroize expander from
1509 vec_unpacks_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
1510 (vec_unpacks_hi_<mode>): Macroize expander from
1511 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
1512 (vec_unpacku_lo_<mode>): Macroize expander from
1513 vec_unpacku_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
1514 (vec_unpacku_hi_<mode>): Macroize expander from
1515 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
1516 * config/i386/i386.c (ix86_expand_sse_unpack): Merge with
1517 ix86_expand_sse4_unpack.
1518 * config/i386/i386-protos.h (ix86_expand_sse4_unpack): Remove.
1519
e7f23018
JH
15202011-04-16 Jan Hubicka <jh@suse.cz>
1521
1522 * cgraphbuild.c: Include ipa-inline.h.
1523 (reset_inline_failed): Use initialize_inline_failed.
1524 * cgraph.c: Include ipa-inline.h.
1525 (cgraph_create_node_1): Do not initialize estimated_growth.
1526 (initialize_inline_failed): More to ipa-inline-analysis.c
1527 (dump_cgraph_node): Do not dump inline flags.
1528 * cgraph.h (cgraph_local_info): Remove inlineable, versionable
1529 and disregard_inline_limits flags.
1530 (cgrpah_global_info): Remove estimated_stack_size, stack_frame_offset,
1531 time, size, estimated_growth.
8dfb9f16
UB
1532 * ipa-cp.c (ipcp_versionable_function_p, ipcp_generate_summary):
1533 Update.
e7f23018
JH
1534 * cgraphunit.c (cgraph_decide_is_function_needed): Use
1535 DECL_DISREGARD_INLINE_LIMITS.
1536 (cgraph_analyze_function): Do not initialize
1537 node->local.disregard_inline_limits.
1538 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
1539 inlinable, versionable and disregard_inline_limits.
1540 * ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
8dfb9f16
UB
1541 cgraph_check_inline_limits, cgraph_default_inline_p,
1542 cgraph_edge_badness, update_caller_keys, update_callee_keys,
1543 add_new_edges_to_heap): Update.
1544 (cgraph_decide_inlining_of_small_function): Update; set
1545 CIF_FUNCTION_NOT_INLINABLE for uninlinable functions.
e7f23018
JH
1546 (cgraph_decide_inlining, cgraph_edge_early_inlinable_p,
1547 cgraph_decide_inlining_incrementally): Update.
8dfb9f16
UB
1548 * ipa-inline.h (inline_summary): Add inlinable, versionable,
1549 disregard_inline_limits, estimated_stack_size, stack_frame_offset,
1550 time, size and estimated_growth parameters.
e7f23018
JH
1551 (estimate_edge_growth): Update.
1552 (initialize_inline_failed): Declare.
1553 * ipa-split.c: Include ipa-inline.h
1554 (execute_split_functions): Update.
1555 * ipa.c (cgraph_postorder): Use DECL_DISREGARD_INLINE_LIMITS.
1556 (cgraph_remove_unreachable_nodes): Do not clear inlinable flag.
1557 (record_cdtor_fn): Use DECL_DISREGARD_INLINE_LIMITS.
1558 * ipa-inline-analysis.c (inline_node_removal_hook): Update; set
1559 estimated_growth to INT_MIN.
1560 (inline_node_duplication_hook): Likewise.
1561 (dump_inline_summary): Dump new fields.
1562 (compute_inline_parameters): Update.
1563 (estimate_edge_time, estimate_time_after_inlining,
1564 estimate_size_after_inlining, estimate_growth, inline_read_summary,
1565 inline_write_summary):
1566 (initialize_inline_failed): Move here from cgraph.c.
1567 * tree-sra.c: Include ipa-inline.h.
1568 (ipa_sra_preliminary_function_checks): Update.
f60c2554
UB
1569 * Makefile.in (cgraph.o, cgraphbuild.o): Add dependency on
1570 ipa-inline.h.
e7f23018 1571
e81b8564
UB
15722011-04-16 Uros Bizjak <ubizjak@gmail.com>
1573
1574 * config/i386/sse.md (V16): New mode iterator.
1575 (VI1, VI8): Ditto.
1576 (AVXMODEQI, AVXMODEDI): Remove.
1577 (sse2, sse3): New mode attribute.
1578 (mov<mode>): Use V16 mode iterator.
1579 (*mov<mode>_internal): Merge with *avx_mov<mode>_internal.
1580 (push<mode>1): Use V16 mode iterator.
1581 (movmisalign<mode>): Ditto.
1582 (<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
1583 <sse>_movu<ssemodesuffix> and avx_movu<ssemodesuffix><avxmodesuffix>.
1584 (*<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
1585 *<sse>_movu<ssemodesuffix> and *avx_movu<ssemodesuffix><avxmodesuffix>.
1586 (<sse2>_movdqu<avxmodesuffix>): Merge from sse2_movdqu and
1587 avx_movdqu<avxmodesuffix>.
1588 (*<sse2>_movdqu<avxmodesuffix>): Merge from *sse2_movdqu and
1589 *avx_movdqu<avxmodesuffix>.
1590 (<sse3>_lddqu<avxmodesuffix>) Merge from sse3_lddqu and
1591 avx_lddqu<avxmodesuffix>.
1592 (<sse>_movnt<mode>): Merge with avx_movnt<AVXMODEF2P:mode>.
1593 (<sse2>_movnt<mode>): Merge from sse2_movntv2di and
1594 avx_movnt<AVXMODEDI:mode>.
1595 * config/i386/i386.c (ix86_expand_vector_move_misalign): Update for
1596 renamed sse_movups, sse2_movupd and sse2_movdqu patterns.
1597
4743d438
BS
15982011-04-16 Bernd Schmidt <bernds@codesourcery.com>
1599
1600 PR target/48629
1601 * haifa-sched.c (prune_ready_list, schedule_block): Use
1602 sched_pressure_p rather than flag_sched_pressure.
1603
eb229cf4
PH
16042011-04-15 Pat Haugen <pthaugen@us.ibm.com>
1605
1606 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
1607 cgraph_get_node instead of cgraph_get_create_node.
1608
2ba172e0
JJ
16092011-04-15 Jakub Jelinek <jakub@redhat.com>
1610
1611 * cfgexpand.c (expand_debug_expr): Use
1612 simplify_gen_{unary,binary,ternary} instead of gen_rtx_*.
1613
63d2a353
MM
16142011-04-15 Michael Matz <matz@suse.de>
1615
1616 * tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
1617 * builtins.c (expand_builtin): Use CALL_ALLOCA_FOR_VAR_P.
1618 * function.c (gimplify_parameters): Ditto.
1619 * gimplify.c (gimplify_vla_decl): Ditto.
1620
1621 * gimple.h (enum gf_mask): Add GF_CALL_ALLOCA_FOR_VAR.
1622 (gimple_call_set_alloca_for_var): New inline function.
1623 (gimple_call_alloca_for_var_p): Ditto.
e81b8564
UB
1624 * gimple.c (gimple_build_call_from_tree): Remember
1625 CALL_ALLOCA_FOR_VAR_P state.
63d2a353
MM
1626 * cfgexpand.c (expand_call_stmt): Restore CALL_ALLOCA_FOR_VAR_P state.
1627
1628 * tree-inline.c (inline_forbidden_p_stmt): Don't reject alloca
1629 calls if they were for VLA objects.
1630
dee74c34
MJ
16312011-04-15 Martin Jambor <mjambor@suse.cz>
1632
1633 * ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling
1634 of ADR_EXPRs.
1635
8e5837bc
MJ
16362011-04-15 Martin Jambor <mjambor@suse.cz>
1637
1638 PR middle-end/48601
1639 * tree-emutls.c (lower_emutls_function_body): Call
1640 cgraph_get_create_node instead of cgraph_get_node. Do not assert the
1641 result is non-NULL.
1642
0dc33c3c
NP
16432011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
1644
1645 * c-decl.c (detect_field_duplicates): Call
1646 objc_detect_field_duplicates instead of objc_get_interface_ivars.
1647
edcdea5b
NF
16482011-04-15 Nathan Froyd <froydnj@codesourcery.com>
1649
1650 * gimple.h (gimple_asm_clobbers_memory_p): Declare.
1651 * gimple.c (gimple_asm_clobbers_memory_p): Define.
1652 * ipa-pure-const.c (check_stmt): Call it.
1653 * tree-ssa-operands.c (get_asm_expr_operands): Likewise.
1654
8456558d
RG
16552011-04-15 Richard Guenther <rguenther@suse.de>
1656
1657 PR tree-optimization/48290
1658 * tree-ssa-copy.c (copy_prop_visit_phi_node): Propagate constants.
1659 Properly decide inhibiting propagation based on the valueized
1660 operand. Do loop-closed SSA form preserving here ...
1661 (init_copy_prop): ... not here.
1662
266446be
L
16632011-04-15 H.J. Lu <hongjiu.lu@intel.com>
1664
1665 PR target/48612
1666 * config/i386/sse.md (*ieee_smin<mode>3): Switch mnemonics.
1667 (*ieee_smax<mode>3): Likewise.
1668
17465c6e
AK
16692011-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1670
1671 * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
1672 Replace match_operand with match_dup for the third operand in
1673 these expanders.
1674
bce204e5
MK
16752011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
1676
1677 * combine.c (subst, combine_simlify_rtx): Add new argument, use it
1678 to track processing of conditionals. Update all callers.
1679 (try_combine, simplify_if_then_else): Update.
1680
3162fdf4
MK
16812011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
1682
1683 * config/m68k/m68k.c (m68k_sched_variable_issue): Handle
1684 -fsched-pressure.
1685
79002a57 16862011-04-15 Georg-Johann Lay <avr@gjlay.de>
e81b8564 1687
79002a57
GJL
1688 * config/avr/avr.md ("rotl<mode>3",mode=HIDI): Use match_dup
1689 instead of match_operand for operand 3.
1690
4fd3a105
RS
16912011-04-15 Richard Sandiford <richard.sandiford@linaro.org>
1692
1693 * recog.h (insn_operand_data): Add an "allows_mem" field.
1694 * genoutput.c (output_operand_data): Initialize it.
1695 * optabs.c (maybe_legitimize_operand_same_code): New function.
1696 (maybe_legitimize_operand): Use it when matching the original
1697 op->value.
1698
ad19c4be
EB
16992011-04-15 Eric Botcazou <ebotcazou@adacore.com>
1700
1701 * gimplify.c: Fix issues in comments throughout.
1702 (voidify_wrapper_expr): Fix long line.
1703 (build_stack_save_restore): Likewise.
1704 (gimplify_loop_expr): Likewise.
1705 (gimplify_compound_lval): Likewise.
1706 (gimplify_init_ctor_eval): Likewise.
1707 (gimplify_modify_expr_rhs): Likewise.
1708 (omp_notice_threadprivate_variable): Likewise.
1709
b25aa0e8 17102011-04-15 Eric Botcazou <ebotcazou@adacore.com>
e7925582 1711
b25aa0e8
EB
1712 * cfgexpand.c (expand_call_stmt): Convert the function type to the
1713 original one if this is not a builtin function.
e7925582 1714
09db7afe
JJ
17152011-04-14 Jakub Jelinek <jakub@redhat.com>
1716
1717 PR target/48605
1718 * config/i386/sse.md (sse4_1_insertps): If operands[2] is a MEM,
1719 offset it as needed based on top 2 bits in operands[3], change
1720 MEM mode to SFmode and mask those 2 bits away from operands[3].
1721
c59633d9
NP
17222011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
1723
1724 * c-parser.c (c_parser_objc_protocol_definition): Updated for
1725 change from objc_declare_protocols() to objc_declare_protocol().
1726
5e60198b
UB
17272011-04-14 Uros Bizjak <ubizjak@gmail.com>
1728
1729 * config/i386/sse.md (sse4_1): New mode attribute.
1730 (<sse4_1>_blend<ssemodesuffix><avxmodesuffix>): Macroize from
1731 avx_blend<ssemodesuffix><avxmodesuffix> and
1732 sse4_1_blend<ssemodesuffix> using VF mode iterator.
1733 (<sse4_1>_blendv<ssemodesuffix><avxmodesuffix>): Macroize from
1734 avx_blendv<ssemodesuffix><avxmodesuffix> and
1735 sse4_1_blendv<ssemodesuffix> using VF mode iterator.
1736 (<sse4_1>_dp<ssemodesuffix><avxmodesuffix>): Macroize from
1737 avx_dp<ssemodesuffix><avxmodesuffix> and
1738 sse4_1_dp<ssemodesuffix> using VF mode iterator.
1739 (sse4_1_mpsadbw): Merge with *avx_mpsadbw.
1740 (sse4_1_packusdw): Merge with *avx_packusdw.
1741 (sse4_1_pblendvb): Merge with *avx_pblendvb.
1742 (sse4_1_pblendw): Merge with *avx_pblendw.
1743 (avx_vtest<ssemodesuffix><avxmodesuffix>): Use VF mode iterator.
1744 (<sse4_1>_round<ssemodesuffix><avxmodesuffix>): Macroize from
1745 avx_round<ssemodesuffix>256 and sse4_1_round<ssemodesuffix> using
1746 VF mode iterator.
1747 (sse4_1_round<ssescalarmodesuffix>): Merge with
1748 *avx_round<ssescalarmodesuffix>.
1749 (aesenc): Merge with *avx_aesenc.
1750 (aesenclast): Merge with *avx_aesenclast.
1751 (aesdec): Merge with *avx_aesdec.
1752 (aesdeclast): Merge with *avx_aesdeclast.
1753 (pclmulqdq): Merge with *pclmulqdq.
1754 * config/i386/predicates.md (reg_not_xmm0_operand_maybe_avx):
1755 New predicate.
1756 (nonimm_not_xmm0_operand_maybe_avx): Ditto.
1757
6f197850
L
17582011-04-14 H.J. Lu <hongjiu.lu@intel.com>
1759
1760 PR middle-end/48608
1761 * cfgexpand.c (get_decl_align_unit): Renamed to ...
1762 (align_local_variable): This. Update DECL_ALIGN.
1763 (add_stack_var): Updated.
1764 (expand_one_stack_var): Likewise.
1765
4a5ba3ed
RG
17662011-04-14 Richard Guenther <rguenther@suse.de>
1767
1768 * tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
1769 Remove.
1770 (dse_initialize_block_local_data, dse_leave_block,
1771 record_voperand_set, get_stmt_uid): Likewise.
1772 (dse_possible_dead_store_p): Allow any kind of killing stmt.
1773 (dse_optimize_stmt): Remove voperand set handling code.
1774 Simplify and improve to handle any kind of killing stmt.
1775 (dse_record_phi): Remove.
1776 (dse_enter_block): Simplify.
1777 (tree_ssa_dse): Likewise.
1778 * tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.
1779
10a5dd5d
JH
17802011-04-14 Jan Hubicka <jh@suse.cz>
1781
1782 * cgraph.c (dump_cgraph_node): Do not dump inline summaries.
1783 * cgraph.h (struct inline_summary): Move to ipa-inline.h
1784 (cgraph_local_info): Remove inline_summary.
1785 * ipa-cp.c: Include ipa-inline.h.
1786 (ipcp_cloning_candidate_p, ipcp_estimate_growth,
1787 ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
1788 accesor.
1789 * lto-cgraph.c (lto_output_node): Do not stream inline summary.
1790 (input_overwrite_node): Do not set inline summary.
1791 (input_node): Do not stream inline summary.
1792 * ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
1793 (cgraph_decide_inlining_incrementally): Do not try to estimate overall
1794 growth; we do not have inline parameters computed for that anyway.
1795 (cgraph_early_inlining): After inlining compute call_stmt_sizes.
1796 * ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
1797 (inline_summary_t): New type and VECtor.
1798 (debug_inline_summary, dump_inline_summaries): Declare.
1799 (inline_summary): Use VOCtor.
1800 (estimate_edge_growth): Kill hack computing call stmt size directly.
1801 * lto-section-in.c (lto_section_name): Add inline section.
1802 * ipa-inline-analysis.c: Include lto-streamer.h
1803 (node_removal_hook_holder, node_duplication_hook_holder): New holders
1804 (inline_node_removal_hook, inline_node_duplication_hook): New functions.
1805 (inline_summary_vec): Define.
1806 (inline_summary_alloc, dump_inline_summary, debug_inline_summary,
1807 dump_inline_summaries): New functions.
5e60198b
UB
1808 (estimate_function_body_sizes): Properly compute size/time of outgoing
1809 calls.
1810 (compute_inline_parameters): Alloc inline_summary; do not compute
1811 size/time of incomming calls.
10a5dd5d
JH
1812 (estimate_edge_time): Avoid missing time summary hack.
1813 (inline_read_summary): Read inline summary info.
1814 (inline_write_summary): Write inline summary info.
1815 (inline_free_summary): Free all hooks and inline summary vector.
1816 * lto-streamer.h: Add LTO_section_inline_summary section.
1817 * Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
1818 * ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.
1819
b602d918
RS
18202011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
1821
1822 * tree-vectorizer.h (vect_strided_store_supported): Add a
1823 HOST_WIDE_INT argument.
1824 (vect_strided_load_supported): Likewise.
1825 (vect_permute_store_chain): Return void.
1826 (vect_transform_strided_load): Likewise.
1827 (vect_permute_load_chain): Delete.
1828 * tree-vect-data-refs.c (vect_strided_store_supported): Take a
1829 count argument. Check that the count is a power of two.
1830 (vect_strided_load_supported): Likewise.
1831 (vect_permute_store_chain): Return void. Update after above changes.
1832 Assert that the access is supported.
1833 (vect_permute_load_chain): Likewise.
1834 (vect_transform_strided_load): Return void.
1835 * tree-vect-stmts.c (vectorizable_store): Update calls after
1836 above interface changes.
1837 (vectorizable_load): Likewise.
1838 (vect_analyze_stmt): Don't check for strided powers of two here.
1839
ab4472fa
RG
18402011-04-14 Richard Guenther <rguenther@suse.de>
1841
1842 PR tree-optimization/48590
1843 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
1844 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
1845 (call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
1846 BUILT_IN_STACK_SAVE.
1847 * tree-ssa-dce.c (propagate_necessity): Handle
1848 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
1849
32dabdaf
NP
18502011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
1851
1852 * c-parser.c (c_parser_objc_class_declaration): Updated call to
1853 objc_declare_class.
1854
daade206
RG
18552011-04-14 Richard Guenther <rguenther@suse.de>
1856
1857 * tree.h (get_object_alignment_1): Declare.
1858 * builtins.c (get_object_alignment_1): Split out worker from ...
1859 (get_object_alignment): ... here.
1860 * fold-const.c (get_pointer_modulus_and_residue): Use
1861 get_object_alignment_1.
1862
920e8172
RS
18632011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
1864
1865 * tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
1866 type parameter.
1867 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
1868 parameter. Generalise code to handle arrays as well as vectors.
1869 (vect_setup_realignment): Update accordingly.
1870 * tree-vect-stmts.c (vectorizable_store): Likewise.
1871 (vectorizable_load): Likewise.
1872
5ce1ee7f
RS
18732011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
1874
1875 * tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain
1876 within the per-copy loop.
1877
6438fe33 18782011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
0ea25ecd
RS
1879
1880 * tree-vect-stmts.c (vectorizable_load): Print the number of copies
1881 in the dump file.
1882
6438fe33 18832011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
77b10485
RS
1884
1885 * doc/options.texi (Negative): Explicitly mention that the
1886 Negative chain must be circular.
1887
61e46a7d
NF
18882011-04-14 Nathan Froyd <froydnj@codesourcery.com>
1889
1890 * function.h (block_chainon): Declare.
1891 * function.c (block_chainon): Define.
1892
43ea6502 18932011-04-14 Anatoly Sokolov <aesok@post.ru>
5e60198b
UB
1894 Eric Weddington <eric.weddington@atmel.com>
1895 Georg-Johann Lay <avr@gjlay.de>
1896
f60c2554 1897 * config/avr/avr.c ("insn-codes.h", "optabs.h", "langhooks.h"):
43ea6502
AS
1898 New Includes
1899 (avr_init_builtins, avr_expand_builtin,
1900 avr_expand_delay_cycles, avr_expand_unop_builtin,
1901 avr_expand_binop_builtin ): New functions.
1902 (avr_builtin_id): New enum
1903 (struct avr_builtin_description): New struct
1904 (bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins.
1905 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
5e60198b 1906
43ea6502 1907 * config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU,
5e60198b 1908 UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR,
43ea6502
AS
1909 UNSPECV_DELAY_CYCLES): new enumeration values
1910 (UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values
1911 ("enable_interrupt"): Use UNSPECV_ENABLE_IRQS
1912 ("disable_interrupt"): Use UNSPECV_ENABLE_IRQS
1913 ("*rotlqi3_4"): rename insn to "rotlqi3_4"
1914 ("delay_cycles_1", "delay_cycles_2", "delay_cycles_3",
1915 "delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls",
1916 "fmulsu"): New insns
5e60198b 1917
43ea6502
AS
1918 * config/avr/avr-c.c: fix line endings
1919 (avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP,
1920 __BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR,
1921 __BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP,
1922 __BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL,
1923 __BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU.
5e60198b 1924
43ea6502
AS
1925 * doc/extend.texi (AVR Built-in Functions): New node
1926 (Target Builtins): Add documentation of AVR
1927 built-in functions.
1928
8a9b55f3
GJL
19292011-04-14 Georg-Johann Lay <avr@gjlay.de>
1930
1931 PR target/44643
1932 * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
1933 alone. Error if non-const data has attribute progmem.
1934
94bd1825
NF
19352011-04-13 Nathan Froyd <froydnj@codesourcery.com>
1936
1937 * tree.h (struct tree_constructor): Include tree_typed instead of
1938 tree_common.
1939 * tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as
1940 TS_TYPED instead of TS_COMMON.
1941
5e60198b 19422011-04-13 Uros Bizjak <ubizjak@gmail.com>
81b1e7eb
UB
1943
1944 * config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
1945 (*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3.
1946 (sse2_psadbw): Merge with *avx_psadbw.
1947 (ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3.
1948 (ssse3_phadddv4si3): Merge with *avx_phadddv4si3.
1949 (ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3.
1950 (ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3.
1951 (ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3.
1952 (ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3.
1953 (ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128.
1954 (*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3.
1955 (ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3.
1956 (ssse3_psign<mode>3): Merge with *avx_psign<mode>3.
1957 (ssse3_palignrti): Merge with *avx_palignrti.
1958
4b1a4694
NF
19592011-04-13 Nathan Froyd <froydnj@codesourcery.com>
1960
1961 * tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
1962 * tree-ssanames.c (fini_ssanames): VEC_free it.
1963 (make_ssa_name_fn): Update for VECness of free_ssanames.
1964 (release_ssa_name, release_dead_ssa_names): Likewise.
1965 * tree.h (struct tree_ssa_name): Include tree_typed instead of
1966 tree_common.
1967 * tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
1968 TS_TYPED instead of TS_COMMON.
1969
4da3b811
NF
19702011-04-13 Nathan Froyd <froydnj@codesourcery.com>
1971
1972 * postreload-gcse.c (gcse_after_reload_main): Add calls to
1973 statistics_counter_event.
1974 * tree-ssa-copyrename.c (stats): Define.
1975 (rename_ssa_copies): Count coalesced SSA_NAMEs. Add call to
1976 statistics_counter_event.
1977 * tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
1978 (bswap_stats, widen_mul_stats): Define.
1979 (insert_reciprocals): Increment rdivs_inserted.
1980 (execute_cse_reciprocals): Zeroize reciprocal_stats. Increment
1981 rfuncs_inserted. Add calls to statistics_counter_event.
1982 (execute_cse_sincos_1): Increment inserted.
1983 (execute_cse_sincos): Zeroize sincos_stats. Add call to
1984 statistics_counter_event.
1985 (execute_optimize_bswap): Zeroize bswap_stats. Increment fields
1986 of bswap_stats. Add calls to statistics_counter_event.
1987 (convert_mult_to_widen): Increment widen_mults_inserted.
1988 (convert_plusminus_to_widen): Increment maccs_inserted.
1989 (convert_mult_to_fma): Increment fmas_inserted.
1990 (execute_optimize_widening_mul): Zeroize widen_mul_stats. Add
1991 calls to statistics_counter_event.
1992
89fa552a
VM
19932011-04-13 Vladimir Makarov <vmakarov@redhat.com>
1994
1995 PR rtl-optimization/48455
1996 * ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
1997 `temp_costs->mem_cost'.
1998
03dfc36d
JH
19992011-04-13 Jan Hubicka <jh@suse.cz>
2000
2001 * ipa-inline.h: New file.
2002 * ipa-inline-analysis.c: New file. Broken out of ...
2003 * ipa-inline.c: ... this file; update toplevel comment;
2004 include ipa-inline.h
2005 (inline_summary): Move to ipa-inline.h
2006 (cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
2007 ipa-inline-analysis.c.
7d4f8d02
EB
2008 (cgraph_estimate_time_after_inlining): Rename to
2009 estiamte_time_after_inlining; move to ipa-inline-analysis.c
03dfc36d
JH
2010 (cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
2011 to estimate_edge_growth.
2012 (cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
2013 rename to estimate_size_after_inlining.
2014 (cgraph_mark_inline_edge): Update for new naming convention.
2015 (cgraph_check_inline_limits): Likewise.
2016 (cgraph_edge_badness): Likewise.
2017 (cgraph_decide_recursive_inlining): Likewise.
2018 (cgraph_decide_inlining_of_small_functions): Likewise.
2019 (cgraph_decide_inlining_incrementally): Likewise.
7d4f8d02
EB
2020 (cgraph_estimate_growth): Rename to estimate_growth; move to
2021 ipa-inline-analysis.c.
03dfc36d
JH
2022 (eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
2023 (estimate_function_body_sizes): Move to ipa-inline-analysis.c.
2024 (compute_inline_parameters): Likewise.
2025 (compute_inline_parameters_for_current): Likewise.
2026 (pass_inline_parameters): Likewise.
2027 (inline_indirect_intraprocedural_analysis): Likewise.
2028 (analyze_function): Rename to inline_analyze_function; likewise.
2029 (add_new_function): Move to ipa-inline-analysis.c.
2030 (inline_generate_summary): Likewise.
2031 (inline_read_summary): Likewise.
2032 (inline_write_summary): Likewise.
2033 * Makefile.in (ipa-inline-analysis.c): New file.
2034
7673c962
RO
20352011-04-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2036
2037 * configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
2038 * configure: Regenerate.
2039
9698252f
NF
20402011-04-13 Nathan Froyd <froydnj@codesourcery.com>
2041
2042 * tree.h (struct tree_int_cst, struct real_value): Include tree_typed
2043 instead of tree_common.
2044 (struct tree_fixed_cst, struct tree_string, struct tree_complex):
2045 Likewise.
2046 * tree.c (initialize_tree_contains_struct): Mark such nodes as being
2047 TS_TYPED rather than TS_COMMON.
2048 * print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.
2049
3a7bfdd5
GJL
20502011-04-01 Georg-Johann Lay <avr@gjlay.de>
2051
2052 PR target/45263
86d83530
GJL
2053 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Don't use
2054 r20 around calls of __tablejump_elpm__
3a7bfdd5 2055
20790697
JJ
20562011-04-13 Jakub Jelinek <jakub@redhat.com>
2057
2058 PR middle-end/48591
2059 * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
2060 NULL.
2061 (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
2062
094d7661
BS
20632011-04-13 Bernd Schmidt <bernds@codesourcery.com>
2064
2065 * dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
2066 (dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
2067 (cfi_vec): New typedef.
2068 (struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
2069 dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
2070 (cie_cfi_vec): New static variable.
2071 (cie_cfi_head): Delete.
2072 (add_cfi): Accept a cfi_vec * as first argument. All callers and
2073 declaration changed. Use vector rather than list operations.
2074 (new_cfi): Don't initialize the dw_cfi_next field.
2075 (add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
2076 rather than list operations.
2077 (lookup_cfa): Use vector rather than list operations.
2078 (output_cfis): New argument upto. Accept a cfi_vec rather than
2079 a dw_cfi_ref list head as argument. All callers changed.
2080 Iterate over the vector using upto as a maximum index.
2081 (output_all_cfis): New static function.
2082 (output_fde): Use vector rather than list operations. Use the
2083 new upto argument for output_cfis rather than manipulating a
2084 list.
2085 (dwarf2out_begin_prologue): Change initializations to match
2086 new struct members.
2087 (dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
2088 from the vector length rather than searching for the end of a list.
2089 Use output_all_cfis.
2090 (convert_cfa_to_fb_loc_list): Use vector rather than list operations.
2091
673a5740
NC
20922011-04-13 Nick Clifton <nickc@redhat.com>
2093
2094 * config/rx/rx.md (movmemsi): Do not use this pattern when
2095 volatile pointers are involved.
2096
1ee8b298
UB
20972011-04-13 Uros Bizjak <ubizjak@gmail.com>
2098
2099 * config/i386/sse.md (pinsrbits): Remove.
2100 (sse2_packsswb): Merge with *avx_packsswb.
2101 (sse2_packssdw): Merge with *avx_packssdw.
2102 (sse2_packuswb): Merge with *avx_packuswb.
2103 (vec_interleave_highv16qi): Merge with *avx_interleave_highv16qi.
2104 (vec_interleave_lowv16qi): Merge with *avx_interleave_lowv16qi.
2105 (vec_interleave_highv8hi): Merge with *avx_interleave_highv8hi.
2106 (vec_interleave_lowv8hi): Merge with *avx_interleave_lowv8hi.
2107 (vec_interleave_highv4si): Merge with *avx_interleave_highv4si.
2108 (vec_interleave_lowv4si): Merge with *avx_interleave_lowv4si.
2109 (*sse4_1_pinsrb): Merge with *avx_pinsr<ssevecsize>.
2110 (*sse2_pinsrw): Merge with *avx_pinsr<ssevecsize>.
2111 (*sse4_1_pinsrd): Merge with *avx_pinsr<ssevecsize>.
2112 (*sse4_1_pinsrq): Merge with *avx_pinsrq.
2113 (sse2_loadld): Merge with *avx_loadld.
2114 (*vec_extractv2di_1_rex64): Merge with *vec_extractv2di_1_rex64_avx.
2115 (*vec_extractv2di_1_sse2): Merge with *vec_extractv2di_1_avx.
2116 (*vec_concatv2si_sse4_1): Merge with *vec_concatv2si_avx.
2117 (*vec_concatv2di_rex64_sse4_1): Merge with *vec_concatv2di_rex64_avx.
2118 (vec_concatv2di): Merge with *vec_concatv2di_avx.
2119
81f653d6
NF
21202011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2121
2122 * c-decl.c (union lang_tree_node): Check for TS_COMMON before
2123 calling TREE_CHAIN.
2124 * print-tree.c (print_node): Likewise.
2125 * tree-inline.c (copy_tree_r): Likewise.
2126 * c-lang.c (LANG_HOOKS_INIT_TS): Define.
2127 * lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
2128 instead of TS_COMMON.
2129 * lto-streamer-out.c (lto_output_tree_pointers): Likewise.
2130 * tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
2131 (copy_node_stat): Zero TREE_CHAIN only if necessary.
2132 (MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
2133 (MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
2134 ...and these...
2135 (MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
2136 * tree.h: ...here.
2137 (TREE_CHAIN): Check for a TS_COMMON structure.
2138 (TREE_TYPE): Check for a TS_TYPED structure.
2139
ed940a4a
PH
21402011-04-12 Pat Haugen <pthaugen@us.ibm.com>
2141
2142 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
2143 cgraph_get_create_node instead of cgraph_node.
2144
eb345401
NP
21452011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
2146
2147 * c-parser.c (c_parser_initelt): Updated call to
2148 objc_build_message_expr.
2149 (c_parser_postfix_expression): Likewise.
2150
a6c46762
KT
21512011-04-12 Kai Tietz <ktietz@redhat.com>
2152
2153 * config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add
2154 MASK_MS_BITFIELD_LAYOUT bit.
2155
b4ccfed9
JJ
21562011-04-12 Jakub Jelinek <jakub@redhat.com>
2157
2158 * combine.c (update_cfg_for_uncondjump): Instead of testing at_end
2159 assert it is always true.
2160 (try_combine): Don't call update_cfg_for_uncondjump for noop non-jump
2161 moves.
2162
0d8a2528
NP
21632011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
2164
2165 * c-parser.c (c_lex_one_token): Rewritten conditional used when
2166 compiling Objective-C to be more efficient.
2167
06bd234a
AF
21682011-04-12 Axel Freyn <axel-freyn@gmx.de>
2169
2170 * opts-common.c (decode_cmdline_options_to_array): Remove variable
2171 argv_copied.
2172
28569ac3
RS
21732011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
2174
2175 * recog.h, genoutput.c, optabs.c: Revert last patch.
2176
ae59e00d
RR
21772011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
2178
81b1e7eb
UB
2179 PR target/48090
2180 * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
ae59e00d 2181
cff1b7e0
RS
21822011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
2183
2184 * recog.h (insn_operand_data): Add an "allows_mem" field.
2185 * genoutput.c (output_operand_data): Initialize it.
2186 * optabs.c (maybe_legitimize_operand_same_code): New function.
2187 (maybe_legitimize_operand): Use it when matching the original
2188 op->value.
2189
77059241
RS
21902011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
2191
2192 * genpreds.c (process_define_predicate): Move most processing
2193 to gensupport.c. Continue to validate the expression.
2194 * genrecog.c (did_you_mean_codes, compute_predicate_codes)
2195 (process_define_predicate): Move processing to gensupport.c.
2196 (main): Remove DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE cases.
2197 * gensupport.c (did_you_mean_codes): Moved from genrecog.c.
2198 (compute_predicate_codes): Moved from genrecog.c. Add lineno
2199 argument.
2200 (valid_predicate_name_p): New function, split out from old
2201 genpreds.c:process_define_predicate.
2202 (process_define_predicate): New function, combining code from
2203 old genpreds.c and genrecog.c functions.
2204 (process_rtx): Call it for DEFINE_PREDICATE and
2205 DEFINE_SPECIAL_PREDICATE.
2206
6308e208
RS
22072011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
2208
2209 * config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
2210 size of a '%A' memory reference.
2211 (T_DREG, T_QREG): New neon_builtin_type_bits.
2212 (arm_init_neon_builtins): Assert that the load and store operands
2213 are neon_struct_operands.
2214 (locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
2215 (NEON_ARG_MEMORY): New builtin_arg.
2216 (neon_dereference_pointer): New function.
2217 (arm_expand_neon_args): Add a neon_builtin_type_bits argument.
2218 Handle NEON_ARG_MEMORY.
2219 (arm_expand_neon_builtin): Update after above interface changes.
2220 Use NEON_ARG_MEMORY for loads and stores.
2221 * config/arm/predicates.md (neon_struct_operand): New predicate.
2222 * config/arm/iterators.md (V_two_elem): Tweak formatting.
2223 (V_three_elem): Use BLKmode for accesses that have no associated mode.
2224 (V_four_elem): Tweak formatting.
2225 * config/arm/neon.md (neon_vld1<mode>, neon_vld1_dup<mode>)
2226 (neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
2227 (neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
2228 (neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
2229 (neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
2230 (neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
2231 (neon_vst4<mode>): Replace pointer operand with a memory operand.
2232 Use %A in the output template.
2233 (neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
2234 (neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
2235 (neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
2236 the width of the memory access. Remove post-increment.
2237 * config/arm/neon-testgen.ml: Allow addresses to have an alignment.
2238
e5db8f2f
NC
22392011-04-12 Nick Clifton <nickc@redhat.com>
2240
2241 * config/v850/v850.c (expand_prologue): Do not use the CALLT
2242 instruction for interrupt handlers if the target is the basic V850
2243 architecture.
2244 (expand_epilogue): Likewise.
2245
74f091d6
JJ
22462011-04-12 Jakub Jelinek <jakub@redhat.com>
2247
2248 PR rtl-optimization/48549
2249 * combine.c (propagate_for_debug): Also stop after BB_END of
2250 this_basic_block. Process LAST and just stop processing after it.
2251 (combine_instructions): If last_combined_insn has been deleted,
2252 set last_combined_insn to its PREV_INSN.
2253
f20ca725
RG
22542011-04-12 Richard Guenther <rguenther@suse.de>
2255
2256 PR tree-optimization/46076
2257 * gimple.h (struct gimple_statement_call): Add fntype field.
2258 (gimple_call_fntype): Adjust.
2259 (gimple_call_set_fntype): New function.
2260 * gimple.c (gimple_build_call_1): Set the call function type.
2261 * gimplify.c (gimplify_call_expr): Preserve the function
2262 type the frontend used for the call.
2263 (gimplify_modify_expr): Likewise.
2264 * lto-streamer-in.c (input_gimple_stmt): Input the call stmts
2265 function type.
2266 * lto-streamer-out.c (output_gimple_stmt): Output the call stmts
2267 function type.
2268 * tree-ssa.c (useless_type_conversion_p): Function pointer
2269 conversions are useless.
2270
a358e188
MJ
22712011-04-12 Martin Jambor <mjambor@suse.cz>
2272
2273 * cgraph.h (cgraph_node): Remove function declaration.
2274 (cgraph_create_node): Declare.
2275 (cgraph_get_create_node): Likewise.
2276 * cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1.
2277 Updated all callers.
2278 (cgraph_node): Renamed to cgraph_create_node, assert that a node for
2279 the decl does not already exist. Call cgraph_get_create_node instead
2280 of cgraph_node.
2281 (cgraph_get_create_node): New function.
2282 (cgraph_same_body_alias): Update comment.
2283 (cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node,
2284 assert it does not return NULL.
2285 (cgraph_update_edges_for_call_stmt): Likewise.
2286 (cgraph_clone_edge): Likewise.
2287 (cgraph_create_virtual_clone): Likewise.
2288 (cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node
2289 instead of cgraph_node.
2290 (cgraph_add_new_function): Call cgraph_create_node or
2291 cgraph_get_create_node instead of cgraph_node.
2292 * cgraphbuild.c (record_reference): Call cgraph_get_create_node
2293 instead of cgraph_node.
2294 (record_eh_tables): Likewise.
2295 (mark_address): Likewise.
2296 (mark_load): Likewise.
2297 (build_cgraph_edges): Call cgraph_get_create_node instead
2298 of cgraph_node.
2299 (rebuild_cgraph_edges): Likewise.
2300 * cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node
2301 instead of cgraph_node.
2302 (cgraph_copy_node_for_versioning): Call cgraph_create_node instead of
2303 cgraph_node.
2304 * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call
2305 cgraph_create_node instead of cgraph_node.
2306 * c-decl.c (finish_function): Call cgraph_get_create_node instead
2307 of cgraph_node.
2308 * lto-cgraph.c (input_node): Likewise.
2309 * lto-streamer-in.c (input_function): Likewise.
2310 * varasm.c (mark_decl_referenced): Likewise.
2311 (assemble_alias): Likewise.
2312
fe660d7b
MJ
23132011-04-12 Martin Jambor <mjambor@suse.cz>
2314
2315 * tree-inline.c (tree_function_versioning): Call cgraph_get_node
2316 instead of cgraph_node and assert it does not return NULL.
2317 * lto-streamer-in.c (lto_read_body): Likewise.
2318 * omp-low.c (new_omp_context): Likewise.
2319 (create_task_copyfn): Likewise.
2320 * tree-emutls.c (lower_emutls_function_body): Likewise.
2321 * matrix-reorg.c (transform_allocation_sites): Likewise.
2322
bae5cddf
JJ
23232011-04-12 Jakub Jelinek <jakub@redhat.com>
2324
2325 PR c/48552
2326 * c-typeck.c (build_asm_expr): Error out on attempts to use
2327 void type outputs or inputs for constraints that allow reg or
2328 don't allow memory.
2329
06eb52ca
CLT
23302011-04-11 Chung-Lin Tang <cltang@codesourcery.com>
2331 Richard Earnshaw <rearnsha@arm.com>
2332
2333 PR target/48250
2334 * config/arm/arm.c (arm_legitimize_reload_address): Update cases
2335 to use sign-magnitude offsets. Reject unsupported unaligned
2336 cases. Add detailed description in comments.
2337 * config/arm/arm.md (reload_outdf): Disable for ARM mode; change
2338 condition from TARGET_32BIT to TARGET_ARM.
2339
648a616b
NF
23402011-04-11 Nathan Froyd <froydnj@codesourcery.com>
2341
2342 * tree.h (struct typed_tree): New.
2343 (struct tree_common): Include it instead of tree_base.
2344 (TREE_TYPE): Update for new location of type field.
2345 (TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly.
2346 (DECL_USER_ALIGN, DECL_PACKED): Likewise.
2347 (union tree_node): Add typed field.
2348 * treestruct.def (TS_TYPED): New.
2349 * lto-streamer.c (check_handled_ts_structures): Handle it.
2350 * tree.c (MARK_TS_TYPED): New macro.
2351 (MARK_TS_COMMON): Call it instead of MARK_TS_BASE.
2352
1e6d1da0
EB
23532011-04-11 Eric Botcazou <ebotcazou@adacore.com>
2354
2355 * cfghooks.c (redirect_edge_and_branch_force): Localize variable.
2356 (force_nonfallthru): Do not alter the loop nest if no basic block
2357 was created.
2358
23592011-04-11 Uros Bizjak <ubizjak@gmail.com>
d8700b1c
UB
2360
2361 * config/i386/sse.md (VI): New mode iterator.
2362 (SSEMODEI): Remove.
2363 (AVX256MODEI): Ditto.
2364 (AVXMODEF4P): Ditto.
2365 (avxvecpsmode): Ditto.
2366 (one_cmpl<mode>2): Enable for TARGET_SSE. Use VI mode iterator.
2367 (sse2_andnot<mode>3): New expander.
2368 (*andnot<mode>3): Merge with *sse2_andnot<mode>3 and
2369 *avx_andnot<mode>3. Enable for TARGET_SSE. Use VI mode iterator.
2370 (<any_logic:code><mode>3): Use VI mode iterator.
2371 (*<any_logic:code><mode>3): Merge with *sse2_<any_logic:code><mode>3
2372 and *avx_<any_logic:code><mode>3. Use VI mode iterator.
2373 (*andnottf3): Handle AVX three-operand constraints.
2374 (*<any_logic:code>tf3): Handle AVX three-operand constraints.
2375
b1372d5d 23762011-04-11 Joseph Myers <joseph@codesourcery.com>
d8700b1c 2377 Robert Millan <rmh@gnu.org>
b1372d5d
JM
2378
2379 * config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
2380 * config/i386/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER32,
2381 GNU_USER_DYNAMIC_LINKER64): Define.
2382 (REG_NAME): Don't undefine.
2383 (MD_UNWIND_SUPPORT): Undefine.
2384 * config/i386/knetbsd-gnu.h (GNU_USER_LINK_EMULATION): Define.
2385 (REG_NAME): Don't undefine.
2386 (MD_UNWIND_SUPPORT): Undefine.
d8700b1c 2387 * config/i386/kopensolaris-gnu.h (GNU_USER_LINK_EMULATION): Define.
b1372d5d 2388
761c0c6e
JM
23892011-04-11 Joseph Myers <joseph@codesourcery.com>
2390
2391 * config/i386/gnu.h (GNU_USER_LINK_EMULATION): Define.
2392 (CPP_SPEC, CC1_SPEC, ENDFILE_SPEC): Remove.
2393
26e0228f
XDL
23942011-04-11 Xinliang David Li <davidxl@google.com>
2395
2396 * value-profile.c (check_ic_target): New function.
2397 (gimple_ic_transform): Sanity check indirect call target.
2398 * gimple-low.c (gimple_check_call_args): Interface change.
2399 (gimple_check_call_matching_types): New function.
2400 * tree-inline.c (tree_can_inline_p): Call new function.
6075765d
BS
2401
24022011-04-11 Basile Starynkevitch <basile@starynkevitch.net>
2403
2404 * Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h
2405 tree-pretty-print.h & realmpfr.h.
2406
a58dfa49
VM
24072011-04-11 Vladimir Makarov <vmakarov@redhat.com>
2408
2409 PR middle-end/48464
2410 * ira.c (setup_pressure_classes): Fix typo in loop condition.
2411 (setup_allocno_and_important_classes): Ditto.
2412
107fd1c1
JM
24132011-04-11 Joseph Myers <joseph@codesourcery.com>
2414
2415 * config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
2416 GNU_USER_DYNAMIC_LINKER.
2417 * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
2418 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2419 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
2420 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
2421 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
2422 GNU_USER_TARGET_OS_CPP_BUILTINS.
2423 * config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
2424 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2425 * config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
2426 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2427 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
2428 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
2429 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
2430 GNU_USER_TARGET_OS_CPP_BUILTINS.
2431 * config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
2432 GNU_USER_DYNAMIC_LINKER.
2433 * config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
2434 GNU_USER_TARGET_OS_CPP_BUILTINS.
2435 * config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
2436 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2437 * config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
2438 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2439 * config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
2440 * config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
2441 GNU_USER_DYNAMIC_LINKER64): Remove.
2442 * config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
2443 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2444 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
2445 GNU_USER_DYNAMIC_LINKER.
2446 * config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
2447 GNU_USER_TARGET_OS_CPP_BUILTINS.
2448 * config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
2449 GNU_USER_TARGET_OS_CPP_BUILTINS.
2450 * config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
2451 to GNU_USER_TARGET_OS_CPP_BUILTINS.
2452 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
2453 GNU_USER_TARGET_OS_CPP_BUILTINS.
2454 (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
2455 (LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
2456 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
2457 * config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
2458 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2459 * config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
2460 GNU_USER_DYNAMIC_LINKER.
2461 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
2462 GNU_USER_TARGET_OS_CPP_BUILTINS.
2463 * config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
2464 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2465 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
2466 GNU_USER_DYNAMIC_LINKER.
2467 * config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
2468 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2469 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
2470 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2471 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
2472 GNU_USER_DYNAMIC_LINKER.
2473 * config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
2474 GNU_USER_DYNAMIC_LINKERN32.
2475 (LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
2476 GNU_USER_DYNAMIC_LINKERN32. Change LINUX_DYNAMIC_LINKER64 to
2477 GNU_USER_DYNAMIC_LINKER64. Change LINUX_DYNAMIC_LINKER32 to
2478 GNU_USER_DYNAMIC_LINKER32.
2479 * config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change
2480 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2481 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
2482 GNU_USER_DYNAMIC_LINKER.
2483 * config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
2484 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2485 * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
2486 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 2487 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1
JM
2488 * config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
2489 GNU_USER_DYNAMIC_LINKER32.
2490 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
2491 * config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
2492 GNU_USER_DYNAMIC_LINKER.
2493 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
2494 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2495 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
2496 GNU_USER_DYNAMIC_LINKER32. Change LINUX_DYNAMIC_LINKER64 to
2497 GNU_USER_DYNAMIC_LINKER64.
2498 * config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
2499 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2500 (SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
2501 GNU_USER_DYNAMIC_LINKER.
2502 * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
2503 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2504 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
2505 GNU_USER_DYNAMIC_LINKER.
2506 * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
2507 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2508 (LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
2509 GNU_USER_DYNAMIC_LINKER32.
2510 (LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
2511 GNU_USER_DYNAMIC_LINKER64.
2512 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
2513 GNU_USER_DYNAMIC_LINKER64.
2514 * config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
2515 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
2516 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
2517 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 2518 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1 2519
e24609cf
JM
25202011-04-11 Joseph Myers <joseph@codesourcery.com>
2521
2522 * config/i386/gnu-user.h: Copy from linux.h. Update comments.
2523 (LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
2524 (SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
2525 GNU_USER_DYNAMIC_LINKER.
2526 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
2527 * config/i386/gnu-user64.h: Copy from linux64.h. Update comments.
2528 (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
2529 (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
2530 GNU_USER_DYNAMIC_LINKER64.
2531 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
2532 * config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
2533 GNU_USER_LINK_EMULATION.
2534 * config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
2535 DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
2536 ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
2537 MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
2538 PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
2539 CPP_SPEC, CC1_SPEC): Remove.
2540 (LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
2541 (GNU_USER_DYNAMIC_LINKER): Define.
2542 (ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
2543 ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
2544 ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
2545 LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
2546 TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
2547 STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
2548 TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
2549 * config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
2550 CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
2551 TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
2552 LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
2553 LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
2554 (GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
2555 (STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
2556 TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
2557 TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
2558 * config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
2559 GNU_USER_DYNAMIC_LINKER.
2560 * config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
2561 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
2562 * config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
2563 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
2564 * config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
2565 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
2566 * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
2567 i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
2568 i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
d8700b1c 2569 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new headers.
e24609cf 2570
b8ce4e94
KT
25712011-04-11 Kai Tietz <ktietz@redhat.com>
2572
2573 PR target/9601
2574 PR target/11772
2575 * config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
2576 * config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
2577 comment.
2578 (ix86_is_msabi_thiscall): Removed.
2579 (ix86_is_type_thiscall): Likewise.
2580 (ix86_get_callcvt): New function.
2581 (ix86_comp_type_attributes): Simplify check.
2582 (ix86_function_regparm): Use ix86_get_callcvt for calling
2583 convention attribute checks.
2584 (ix86_return_pops_args): Likewise.
2585 (ix86_static_chain): Likewise.
2586 (x86_this_parameter): Likewise.
2587 (x86_output_mi_thunk): Likewise.
2588 (ix86_function_type_abi): Optimize check for types without attributes.
2589 * config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
2590 IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
2591 IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
2592 by flag-values.
2593 (IX86_BASE_CALLCVT): Helper macro.
2594 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
2595 Use ix86_get_callcvt for calling convention attribute checks and avoid
2596 symbol-decoration for stdcall in TARGET_RTD case.
2597 * config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
2598 Likewise.
2599 (gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
2600 for declaration.
2601
798dd0ba
UB
26022011-04-11 Uros Bizjak <ubizjak@gmail.com>
2603
2604 * config/i386/sse.md (VI_128): New mode iterator.
2605 (VI12_128): Rename from SSEMODE12.
2606 (VI14_128): Rename from SSEMODE14.
2607 (VI124_128): New mode iterator.
2608 (VI24_128): Rename from SSEMODE248.
2609 (VI248_128): Rename from SSEMODE248.
2610 (SSEMODE124C8): Remove.
2611 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
2612 (*sse2_<plusminus_insn><mode>3): Merge with
2613 *avx_<plusminus_insn><mode>3.
2614 (*mulv8hi3): Merge with *avx_mulv8hi3.
2615 (*<s>mulv8hi3_highpart): Merge with *avx_<s>mulv8hi3_highpart.
2616 (*sse2_umulv2siv2di3): Merge with *avx_umulv2siv2di3.
2617 (*sse2_pmaddwd): Merge with *avx_pmaddwd.
2618 (*sse4_1_mulv4si3): Merge with *avx_mulv4si3.
2619 (ashr<mode>3): Merge with *avx_ashr<mode>3.
2620 (lshr<mode>3): Merge with *avx_lshr<mode>3.
2621 (ashl<mode>3): Merge with *avx_ashl<mode>3.
2622 (sse2_ashlv1ti3): Merge with *avx_ashlv1ti3.
2623 (sse2_lshrv1ti3): Merge with *avx_lshrv1ti3.
2624 (*sse4_1_<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
2625 (*<smaxmin:code>v8hi3): Ditto.
2626 (*sse4_1_<umaxmin:code><mode>3): Merge with *avx_<umaxmin:code><mode>3.
2627 (*<smaxmin:code>v16qi3): Ditto.
2628 (*sse4_1_eqv2di3): Merge with *avx_eq<mode>3.
2629 (*sse2_eq<mode>3): Ditto.
2630 (*sse4_2_eqv2di3): Merge with *avx_gt<mode>3.
2631 (*sse2_gt<mode>3): Ditto.
2632 (vcondv2di): Split out of vcond<mode>.
2633 (vconduv2di): Split out of vcondu<mode>.
2634
956011be
RG
26352011-04-11 Richard Guenther <rguenther@suse.de>
2636
2637 * gimplify.c (gimple_fold_indirect_ref): Check host_integerp
2638 before calling tree_low_cst.
2639
e6313a78
RG
26402011-04-11 Richard Guenther <rguenther@suse.de>
2641
2642 * stor-layout.c (layout_type): Compute all array index size operations
2643 in the original type.
2644 (initialize_sizetypes): Add comment.
2645 (set_sizetype): Do not set TREE_TYPE of a TREE_VEC.
2646
e69d7376
JM
26472011-04-11 Joseph Myers <joseph@codesourcery.com>
2648
2649 * common.opt (Tbss=, Tdata=, Ttext=): New options.
2650
9f9ebcdf
MJ
26512011-04-11 Martin Jambor <mjambor@suse.cz>
2652
2653 * cgraph.c (cgraph_local_info): Call cgraph_get_node instead
2654 of cgraph_node, handle NULL return value.
2655 (cgraph_global_info): Likewise.
2656 (cgraph_rtl_info): Likewise.
2657 * tree-inline.c (estimate_num_insns): Likewise.
2658 * gimplify.c (unshare_body): Likewise.
2659 (unvisit_body): Likewise.
2660 (gimplify_body): Likewise.
2661 * predict.c (optimize_function_for_size_p): Likewise.
2662 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
2663 (call_may_clobber_ref_p_1): Likewise.
2664 * varasm.c (function_section_1): Likewise.
2665 (assemble_start_function): Likewise.
2666
581985d7
MJ
26672011-04-11 Martin Jambor <mjambor@suse.cz>
2668
2669 * except.c (set_nothrow_function_flags): Call cgraph_get_node instead
2670 of cgraph_node.
2671 * final.c (rest_of_clean_state): Likewise.
2672 * gimple-iterator.c (update_call_edge_frequencies): Likewise.
2673 * passes.c (pass_init_dump_file): Likewise.
2674 (execute_all_ipa_transforms): Likewise.
2675 (function_called_by_processed_nodes_p): Likewise.
2676 * predict.c (maybe_hot_frequency_p): Likewise.
2677 (probably_never_executed_bb_p): Likewise.
2678 (compute_function_frequency): Likewise.
2679 * tree-nested.c (check_for_nested_with_variably_modified): Likewise.
2680 (unnest_nesting_tree_1): Likewise.
2681 (lower_nested_functions): Likewise.
2682 * tree-optimize.c (execute_fixup_cfg): Likewise.
2683 (tree_rest_of_compilation): Likewise.
2684 * tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
2685 * tree-sra.c (ipa_early_sra): Likewise.
2686 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
2687 * config/i386/i386.c (ix86_compute_frame_layout): Likewise.
2688 * ipa.c (record_cdtor_fn): Likewise.
2689 * ipa-inline.c (cgraph_early_inlining): Likewise.
2690 (compute_inline_parameters_for_current): Likewise.
2691 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
2692 * ipa-pure-const.c (local_pure_const): Likewise.
2693 * ipa-split.c (split_function): Likewise.
2694 (execute_split_functions): Likewise.
2695 * cgraphbuild.c (build_cgraph_edges): Likewise.
2696 (rebuild_cgraph_edges): Likewise.
2697 (cgraph_rebuild_references): Likewise.
2698 (remove_cgraph_callee_edges): Likewise.
2699 * cgraphunit.c (cgraph_mark_if_needed): Likewise.
2700 (verify_cgraph_node): Likewise.
2701 (cgraph_analyze_functions): Likewise.
2702 (cgraph_preserve_function_body_p): Likewise.
2703 (save_inline_function_body): Likewise.
2704 (save_inline_function_body): Likewise.
2705 * tree-inline.c (copy_bb): Likewise.
2706 (optimize_inline_calls): Likewise.
2707
57dbdc5a
MJ
27082011-04-11 Martin Jambor <mjambor@suse.cz>
2709
2710 PR tree-optimization/48195
2711 * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
2712 ipa_check_create_edge_args.
2713 (ipcp_generate_summary): Do not call ipa_check_create_node_params and
2714 ipa_check_create_edge_args.
2715 * ipa-inline.c (inline_generate_summary): Do not call
2716 ipa_check_create_node_params and ipa_check_create_edge_args.
2717 * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
2718 ipa_check_create_edge_args.
2719
d108e679
AS
27202011-04-09 Anatoly Sokolov <aesok@post.ru>
2721
2722 * expr.c (expand_expr_real_1): Use add_to_hard_reg_set function
2723 instead of loop.
2724 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
2725 * function.c (record_hard_reg_sets): Likewise.
2726 * ira.c (compute_regs_asm_clobbered): Likewise.
2727 * sched-deps.c (sched_analyze_1): Likewise.
2728 * reload1.c (mark_reload_reg_in_use, choose_reload_regs): Likewise.
2729
3411bc59
XDL
27302011-04-09 Xinliang David Li <davidxl@google.com>
2731
2732 PR tree-optimization/PR48484
2733 * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): Set
2734 has_valid_pred lazily
2735
b365495a
DS
27362011-04-09 Duncan Sands <baldrick@free.fr>
2737
2738 * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
2739
68bc509a
EB
27402011-04-08 Eric Botcazou <ebotcazou@adacore.com>
2741
2742 * combine.c (combine_validate_cost): Adjust comments. Set registered
2743 cost of I0 to zero at the end, if any.
2744
041e059f
XDL
27452011-04-08 Xinliang David Li <davidxl@google.com>
2746
68bc509a
EB
2747 * ipa-cp.c (ipcp_update_profiling): Correct negative scale factor due
2748 to insane profile data.
041e059f 2749
444b3995
XDL
27502011-04-08 Xinliang David Li <davidxl@google.com>
2751
2752 * ipa-cp.c (ipcp_update_profiling): Correct
2753 negative scale factor due to insane profile data.
2754
6a801cf2
XDL
27552011-04-08 Xinliang David Li <davidxl@google.com>
2756
2757 * final.c (dump_basic_block_info): New function.
2758 (final): Dump basic block.
2759 (final_scan_insn): Remove old dump.
2760
d5f3624e
SK
27612011-04-08 Steven G. Kargl <kargl@gcc.gnu.org>
2762
68bc509a
EB
2763 PR target/47829
2764 * config.gcc (i386-*-freebsd): Disable unwind table generation for
2765 crtbegin/crtend.
d5f3624e 2766
42821aff
MM
27672011-04-08 Michael Matz <matz@suse.de>
2768
2769 PR middle-end/48389
2770 * jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
2771 functions.
2772 (rebuild_jump_labels): Call rebuild_jump_labels_1.
2773 * rtl.h (rebuild_jump_labels_chain): Declare.
2774 * cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
2775 insns inserted on edges.
2776
ad7be009
JM
27772011-04-08 Joseph Myers <joseph@codesourcery.com>
2778
2779 * config.gcc (arm*-*-*): Add arm/arm-tables.opt to extra_options.
2780 * config/arm/arm-arches.def: New.
2781 * config/arm/arm-opts.h: New.
2782 * config/arm/genopt.sh: New.
2783 * config/arm/arm-tables.opt: New (generated).
2784 * config/arm/arm.c (arm_handle_option, arm_target_help,
2785 TARGET_HANDLE_OPTION, TARGET_HELP, arm_find_cpu): Remove.
2786 (all_architectures): Get most table contents from arm-arches.def.
2787 (arm_option_override): Set arm_selected_arch, arm_selected_cpu and
2788 arm_selected_tune here.
2789 * config/arm/arm.h (enum processor_type): Move to arm-opts.h.
2790 * config/arm/arm.opt (config/arm/arm-opts.h): New HeaderInclude.
2791 (march=, mcpu=, mtune=): Use Enum and Var.
2792 * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt): New.
2793 (arm.o): Update dependencies.
ecbb6fb7 2794
42821aff 27952011-04-08 Basile Starynkevitch <basile@starynkevitch.net>
ecbb6fb7
BS
2796
2797 * gengtype.c (write_typed_alloc_def): New argument f. Use it instead
2798 of header_file.
2799 (write_typed_struct_alloc_def, write_typed_typedef_alloc_def)
2800 (write_typed_alloc_defns): Likewise.
2801 (main): Calls write_typed_alloc_defns with output_header.
2802
8d189b3f
VM
28032011-04-08 Vladimir Makarov <vmakarov@redhat.com>
2804
68bc509a 2805 PR inline-asm/48435
8d189b3f
VM
2806 * ira-color.c (setup_profitable_hard_regs): Add comments.
2807 Don't take prohibited hard regs into account.
2808 (setup_conflict_profitable_regs): Rename to
2809 get_conflict_profitable_regs.
2810 (check_hard_reg_p): Check prohibited hard regs.
2811
44f370bf
NF
28122011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2813
2814 * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
2815 * config/xtensa/xtensa.c (xtensa_call_tls_desc): Likewise.
2816 * config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise.
2817
483d7ad3
JDA
28182011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2819
2820 PR target/48366
2821 * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
b8a17fa2 2822 move from floating point to shift amount register.
483d7ad3
JDA
2823 (emit_move_sequence): Remove secondary reload support for floating
2824 point to shift amount amount register copies.
2825 (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
2826 amount register copies.
2827 * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
2828 register, return false if mode isn't a scalar integer mode.
2829 * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
2830
97e03fa1
RG
28312011-04-08 Richard Guenther <rguenther@suse.de>
2832
2833 * gimple.c (gimple_call_flags): Remove kludge.
2834
9d40778b
AM
28352011-04-08 Alexander Monakov <amonakov@ispras.ru>
2836
2837 * sel-sched.c (sel_region_init): Move call to
2838 sel_setup_region_sched_flags after setup_current_loop_nest.
2839
19ac7892
AB
28402011-04-08 Andrey Belevantsev <abel@ispras.ru>
2841
2842 PR rtl-optimization/48272
19ac7892
AB
2843 * sched-deps.c (setup_insn_reg_pressure_info): Export and rename to
2844 init_insn_reg_pressure_info. Adjust a caller.
2845 * sched-int.h (init_insn_reg_pressure_info): Declare.
2846 * haifa-sched.c (haifa_init_insn): Call init_insn_reg_pressure_info
2847 when sched-pressure is enabled.
2848
0f8c63cc
RG
28492011-04-08 Richard Guenther <rguenther@suse.de>
2850
2851 * gimple.c (gimple_set_modified): Do not queue calls to
2852 MODIFIED_NORETURN_CALLS here ...
2853 * tree-ssa-operands.c (update_stmt_operands): ... but here.
2854
5e5a425e
RG
28552011-04-08 Richard Guenther <rguenther@suse.de>
2856
2857 PR lto/48467
2858 * toplev.c (lang_dependent_init): Do not open asm_out_file
2859 in WPA mode, nor perform debug machinery initialization.
2860 (finalize): Do not unlink asm_out_file in WPA mode.
2861
9bfc434b
RG
28622011-04-08 Richard Guenther <rguenther@suse.de>
2863
2864 * gimple.h (gimple_call_fntype): New function.
2865 (gimple_call_return_type): Use it.
2866 * expr.c (expand_expr_real_1): Use gimple_call_fntype.
2867 * gimple-low.c (gimple_check_call_args): Likewise.
2868 * gimple.c (gimple_call_flags): Likewise.
2869 (gimple_call_arg_flags): Likewise.
2870 (gimple_call_return_flags): Likewise.
2871 * tree-cfg.c (verify_gimple_call): Likewise.
2872 (do_warn_unused_result): Likewise.
2873 * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
2874 * value-prof.c (gimple_ic_transform): Fix fndecl check.
2875
7c1f0b40
DM
28762011-04-08 Dmitry Melnik <dm@ispras.ru>
2877
2878 PR rtl-optimization/48235
2879 * sel-sched.c (code_motion_process_successors): Recompute the last
2880 insn in basic block if control flow changed.
2881 (code_motion_path_driver): Ditto. Recompute the first insn as well.
2882 Update condition for ilist_remove.
2883
ea4d630f
AM
28842011-04-08 Alexander Monakov <amonakov@ispras.ru>
2885
2886 PR rtl-optimization/48302
2887 * sel-sched-ir.h (sel_add_loop_preheaders): Update prototype.
2888 * sel-sched-ir.c (sel_add_loop_preheaders): Add 'bbs' argument. Use
2889 it to record added preheader blocks.
2890 * sel-sched.c (setup_current_loop_nest): Add 'bbs' argument. Pass it
2891 on to sel_add_loop_preheaders.
2892 (sel_region_init): Move call to setup_current_loop_nest after
2893 sel_init_bbs.
2894
07643d76
AM
28952011-04-08 Alexander Monakov <amonakov@ispras.ru>
2896
2897 PR target/48273
2898 * cfgloop.h (loop_has_exit_edges): New helper.
2899 * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
2900 non-clonable.
2901 * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
2902 that have no exit edges.
2903
1f3b2b4e
AM
29042011-04-08 Alexander Monakov <amonakov@ispras.ru>
2905
2906 PR rtl-optimization/48442
2907 * sel-sched.c (init_seqno): Remove number_of_insns argument. Update
2908 all callers. Adjust assert.
2909
554f1948
JJ
29102011-04-08 Jakub Jelinek <jakub@redhat.com>
2911
2912 PR tree-optimization/48377
2913 * tree-vect-data-refs.c (vector_alignment_reachable_p): Set
2914 is_packed to true even for types with smaller TYPE_ALIGN than
2915 TYPE_SIZE.
2916
ddf72388
RG
29172011-04-08 Richard Guenther <rguenther@suse.de>
2918
2919 PR bootstrap/48513
2920 * doc/tm.texi: Re-generate.
2921
0c27e2d8
WG
29222011-04-08 Wei Guozhi <carrot@google.com>
2923
2924 PR target/47855
2925 * config/arm/arm-protos.h (arm_attr_length_push_multi): New prototype.
2926 * config/arm/arm.c (arm_attr_length_push_multi): New function.
2927 * config/arm/arm.md (*push_multi): Change the length computation to
2928 call a C function.
2929
07c5f94e
AS
29302011-04-08 Anatoly Sokolov <aesok@post.ru>
2931
2932 * doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
2933 (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation.
2934 * doc/tm.texi: Regenerate.
2935 * system.h (ASM_OUTPUT_BSS): Poison.
2936 * varasm.c (asm_output_bss): Remove function.
2937 (emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro.
798dd0ba 2938
07c5f94e
AS
2939 * config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment.
2940 * config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise.
2941 * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise.
2942 * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
2943 Likewise.
2944 * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
2945 Likewise.
2946 * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
2947 Likewise.
2948 * config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2949
5f2c36e1
JM
29502011-04-07 Joseph Myers <joseph@codesourcery.com>
2951
2952 * config/rx/rx.opt (rx610, rx200, rx600): Use Enum not Name on
2953 EnumValue lines.
2954
39e7722b
JM
29552011-04-07 Joseph Myers <joseph@codesourcery.com>
2956
2957 * config/m68k/m68k.c (m68k_handle_option): Don't handle
2958 OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
2959 OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
2960 OPT_mcpu32.
2961 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
2962 handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
2963 -m68030, -m68040, -m68060, -mcpu32 and -m68332.
2964 * config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
2965 m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
2966 * config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
2967 (MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
2968 (MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
2969 options. Don't map other m68k options manually. Don't handle
2970 old-style options as canonical.
2971 (MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
798dd0ba 2972 * doc/install.texi (m68k-*-*): Document binutils version requirement.
39e7722b 2973
cf103ca4
EB
29742011-04-07 Eric Botcazou <ebotcazou@adacore.com>
2975
2976 * basic-block.h (force_nonfallthru): Move to...
2977 * cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
2978 (force_nonfallthru): ...here.
2979 * cfghooks.c (force_nonfallthru): New function.
2980 * cfgrtl.c (force_nonfallthru): Rename into...
2981 (rtl_force_nonfallthru): ...this.
2982 (commit_one_edge_insertion): Do not set AUX field.
2983 (commit_edge_insertions): Do not discover new basic blocks.
2984 (rtl_cfg_hooks): Add rtl_force_nonfallthru.
2985 (cfg_layout_rtl_cfg_hooks): Likewise.
2986 * function.c (thread_prologue_and_epilogue_insns): Remove bogus
2987 ATTRIBUTE_UNUSED. Discover new basic blocks in the prologue insns.
2988 * tree-cfg.c (gimple_cfg_hooks): Add NULL for force_nonfallthru.
2989
14431f58
AS
29902011-04-07 Anatoly Sokolov <aesok@post.ru>
2991
2992 * config/mips/mips.h (REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
2993 Remove macros.
2994
3729983c
UB
29952011-04-07 Uros Bizjak <ubizjak@gmail.com>
2996
2997 * config/i386/sse.md: Update copyright year.
2998 (avxcvtvecmode): Remove.
2999 (sse_movhlps): Merge with *avx_movhlps.
3000 (sse_movlhps): Merge with *avx_movlhps.
3001 (vec_interleave_highv4sf): Merge with *avx_interleave_highv4sf.
3002 (vec_interleave_lowv4sf): Merge with *avx_interleave_lowv4sf.
3003 (sse_shufps_<mode>): Merge with *avx_shufps_<mode>.
3004 (sse_loadhps): Merge with *avx_loadhps.
3005 (sse_storelps): Merge with *avx_storelps.
3006 (sse_loadlps): Merge with *avx_loadlps.
3007 (sse_movss): Merge with *avx_movss.
3008 (*vec_concatv2sf_sse4_1): Merge with *vec_concatv2sf_avx.
3009 (*vec_concatv4sf_sse): Merge with *vec_concatv4sf_avx.
3010 (*vec_set<mode>_0_sse4_1): Merge with *vec_set<mode>_0_avx.
3011 (*vec_set<mode>_0_sse2): Split multi-unit alternative.
3012 (vec_set<mode>_0): Ditto.
3013 (*vec_setv4sf_sse4_1): Merge with *vec_setv4sf_avx.
3014 (sse4_1_insertps): Merge with *avx_insertps.
3015 (*sse3_interleave_highv2df): Merge with *avx_interleave_highv2df.
3016 (*sse3_interleave_lowv2df): Merge with *avx_interleave_lowv2df.
3017 (vec_interleave_highv2di): Merge with *avx_interleave_highv2di.
3018 (sse2_shufpd_<mode>): Merge with *avx_shufpd_<mode>.
3019 (sse2_storehpd): Merge with *avx_storehpd.
3020 (sse2_loadhpd): Merge with *avx_loadhpd.
3021 (sse2_loadlpd): Merge with *avx_loadlpd.
3022 (sse2_movsd): Merge with *avx_movsd.
3023 (*vec_concatv2df): Merge with *vec_concatv2df.
3024
4e626909
JJ
30252011-04-07 Jakub Jelinek <jakub@redhat.com>
3026
3027 PR debug/48343
3028 * combine.c (combine_instructions): Add last_combined_insn,
3729983c 3029 update it if insn is after it, pass it to all try_combine calls.
4e626909
JJ
3030 (try_combine): Add last_combined_insn parameter, pass it instead of
3031 i3 to propagate_for_debug.
3032
3729983c 30332011-04-07 Nick Clifton <nickc@redhat.com>
5a10b0a9
NC
3034
3035 * config/mn10300/mn10300.md (movqi_internal): Add alternatives
3036 to handle MDR <-> data register transfers.
3037 (movhi_internal): Likewise.
3038
20c03367
AM
30392011-04-07 Alan Modra <amodra@gmail.com>
3040
3041 * config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
3042 previous stack info.
3043
bf22920b
TV
30442011-04-07 Tom de Vries <tom@codesourcery.com>
3045
3046 PR target/43920
3047 * cfgcleanup.c (try_crossjump_to_edge): Add dir parameter. Pass dir to
3048 flow_find_cross_jump. Swap variables to implement backward replacement.
3049 (try_crossjump_bb): Add argument to try_crossjump_to_edge.
3050
823918ae
TV
30512011-04-07 Tom de Vries <tom@codesourcery.com>
3052
3053 PR target/43920
3054 * cfgcleanup.c (walk_to_nondebug_insn): New function.
3729983c
UB
3055 (flow_find_cross_jump): Use walk_to_nondebug_insn. Recalculate bb1
3056 and bb2.
3057 (try_crossjump_to_edge): Handle case that newpos1 or newpos2 is not
3058 src1 or src2. Redirect edges to the last basic block. Update
3059 frequency and count on multiple basic blocks in case of fallthru.
823918ae 3060
472c95f5
TV
30612011-04-07 Tom de Vries <tom@codesourcery.com>
3062
3063 PR target/43920
3064 * cfgcleanup.c (equal_different_set_p, can_replace_by, merge_dir): New
3065 function.
3729983c
UB
3066 (old_insns_match_p): Change return type. Replace return false/true
3067 with return dir_none/dir_both. Use can_replace_by.
3068 (flow_find_cross_jump): Add dir_p parameter. Init replacement
3069 direction from dir_p. Register replacement direction in dir, last_dir
3070 and afterlast_dir. Handle new return type of old_insns_match_p using
472c95f5
TV
3071 merge_dir. Return replacement direction in dir_p.
3072 (flow_find_head_matching_sequence, outgoing_edges_match): Handle new
3073 return type of old_insns_match_p.
3074 (try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
3075 * ifcvt.c ( cond_exec_process_if_block): Add argument to call to
3076 flow_find_cross_jump.
3077 * basic-block.h (enum replace_direction): New type.
3078 (flow_find_cross_jump): Add parameter to declaration.
3079
a95d4000
UB
30802011-04-06 Uros Bizjak <ubizjak@gmail.com>
3081
3082 * config/i386/sse.md (AVXMODEDCVTDQ2PS): Remove.
3083 (AVXMODEDCVTPS2DQ): Ditto.
3084 (VEC_FLOAT_MODE): Ditto.
3085 (<sse>_andnot<mode>3): Merge with avx_andnot<mode>3. Use VF mode
3086 iterator. Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
3087 (<any_logic:code><mode>3): Use VF mode iterator.
3088 (*<any_logic:code><mode>3): Merge with *avx_<any_logic:code><mode>3.
3089 Use VF mode iterator.
3090 (copysign<mode>3): Use VF mode iterator.
3091 (*andnot<MODEF:mode>3): Merge with *avx_andnot<MODEF:mode>3. Handle
3092 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
3093 (*<any_logic:code><MODEF:mode>3): Merge with
3094 *avx_<any_logic:code><MODEF:mode>3.
3095 (sse_cvtsi2ss): Merge with *avx_cvtsi2ss.
3096 (sse_cvtsi2ssq): Merge with *avx_cvtsi2ssq.
3097 (avx_cvtdq2ps256): Split from avx_cvtdq2ps<avxmodesuffix>.
3098 (avx_cvtdq2ps<avxmodesuffix>): Remove.
3099 (sse2_cvtdq2ps): Use %v modifier.
3100 (avx_cvtps2dq256): Split from avx_cvtps2dq<avxmodesuffix>.
3101 (avx_cvtps2dq<avxmodesuffix>): Remove.
3102 (sse2_cvtps2dq): Use %v modifier.
3103 (avx_cvttps2dq256): Split from avx_cvttps2dq<avxmodesuffix>.
3104 (avx_cvttps2dq<avxmodesuffix>): Remove.
3105 (sse2_cvttps2dq): Use %v modifier.
3106 (sse2_cvtsi2sd): Merge with *avx_cvtsi2sd.
3107 (sse2_cvtsi2sdq): Merge with *avx_cvtsi2sdq.
3108 (sse2_cvtsd2siq): Fix insn template.
3109 (sse2_cvtsd2siq_2): Ditto.
3110 (sse2_cvttsd2siq): Ditto.
3111 (sse2_cvtsd2ss): Merge with *avx_cvtsd2ss.
3112 (sse2_cvtss2sd): Merge with *avx_cvtss2sd.
3113
ad01c437
JM
31142011-04-06 Joseph Myers <joseph@codesourcery.com>
3115
3116 * gcov-io.c: Use GCC Runtime Library Exception.
3117
fe846284
JJ
31182011-04-06 Jakub Jelinek <jakub@redhat.com>
3119
3120 PR debug/48466
3121 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
3122 as base_reg whatever register reg has been eliminated to, instead
3123 of hardcoding STACK_POINTER_REGNUM.
3124
acce4e77
JM
31252011-04-06 Joseph Myers <joseph@codesourcery.com>
3126
3127 * doc/tm.texi.in: Document C target hooks as separate from general
3128 target hooks.
3129 * doc/tm.texi: Regenerate.
3130 * genhooks.c (struct hook_desc): Add docname field.
3131 (HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize
3132 docname field.
3133 (hook_array): Include c-target.def.
3134 (emit_documentation): Use docname field in output.
3135 (emit_init_macros): Take docname argument. Only emit definitions
3136 for hooks matching docname.
3137 (main): Expect additional arguments in all cases. Pass argument
3138 to emit_init_macros.
3139 * target.def: Move initial macro definitions and comments to
3140 target-hooks-macros.h.
3141 (gcc_targetcm): Move to c-family/c-target.def.
3142 * target.h (targetcm): Move declaration to c-family/c-target.h.
3143 * targhooks.c (default_handle_c_option): Move to
3144 c-family/c-opts.c.
3145 * targhooks.h (default_handle_c_option): Move declaration to
3146 c-family/c-common.h.
3147 * target-hooks-macros.h: New file.
3148 * config.gcc (target_has_targetcm): Define and use to add to
3149 c_target_objs and cxx_target_objs.
3150 * config/default-c.c: New file.
3151 * config/darwin-c.c: Include c-target.h and c-target-def.h instead
3152 of target.h and target-def.h.
3153 (TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
3154 (darwin_objc_construct_string, darwin_cfstring_ref_p,
3155 darwin_check_cfstring_format_arg): Make static.
3156 (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
3157 TARGET_STRING_OBJECT_REF_TYPE_P,
3158 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
3159 * config/darwin-protos.h (darwin_objc_construct_string,
3160 darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
3161 declare.
3162 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
3163 TARGET_STRING_OBJECT_REF_TYPE_P,
a95d4000 3164 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM): Remove.
acce4e77
JM
3165 * config/t-darwin (darwin-c.o): Update dependencies.
3166 * system.h (TARGET_HAS_TARGETCM): Poison.
3167 * Makefile.in (TARGET_H): Update.
3168 (TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
3169 (c-family/c-format.o, c-family/c-opts.o): Update dependencies.
3170 (default-c.o): New target.
3171 (s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
a95d4000 3172 (c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New targets.
acce4e77
JM
3173 (s-tm-texi): Pass -d option to genhooks. Also test timestamp on
3174 c-target.def.
3175 (build/genhooks.o): Update dependencies.
3176
275b4baa 31772011-04-06 Richard Guenther <rguenther@suse.de>
a95d4000 3178
275b4baa
RG
3179 * ipa-inline.c (enum inlining_mode): Remove.
3180 (cgraph_flatten): Use some other token.
3181 (cgraph_edge_early_inlinable_p): New function, split out from ...
3182 (cgraph_perform_always_inlining): New function, split out from ...
3183 (cgraph_decide_inlining_incrementally): ... here.
3184 (cgraph_mark_inline_edge): Adjust.
3185 (cgraph_early_inlining): Re-structure.
3186 (pass_early_inline): Require SSA form.
3187
f15b8bdf 31882011-04-06 Andrew Stubbs <ams@codesourcery.com>
9adc580c
AS
3189 Julian Brown <julian@codesourcery.com>
3190 Mark Shinwell <shinwell@codesourcery.com>
3191
3192 * config/arm/arm.h (arm_class_likely_spilled_p): Check against
3193 LO_REGS only for Thumb-1.
3194 (MODE_BASE_REG_CLASS): Restrict base registers to those which can
3195 be used in short instructions when optimising for size on Thumb-2.
3196
516426da
EB
31972011-04-06 Eric Botcazou <ebotcazou@adacore.com>
3198
3199 * gimple-low.c (lower_gimple_return): When not optimizing, force labels
3200 associated with user returns to be preserved.
3201
96621ebf
TG
32022011-04-06 Tristan Gingold <gingold@adacore.com>
3203
f15b8bdf
EB
3204 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index,
3205 symbol_queue_size, DBXOUT_DECR_NESTING,
96621ebf
TG
3206 (DBXOUT_DECR_NESTING_AND_RETURN): Also define
3207 if XCOFF_DEBUGGING_INFO.
3208
07c0852e
UB
32092011-04-06 Uros Bizjak <ubizjak@gmail.com>
3210
3211 * config/i386/i386.md (attribute isa): New.
3212 (attribute enabled): New.
3213 (setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
3214 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
3215 (*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
3216 (*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
3217 (*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
3218 (<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
3219 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
3220 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.
3221
3222 * config/i386/sse.md (VF): New mode iterator.
3223 (VF1): Ditto.
3224 (VF2): Ditto.
3225 (VF_128): Ditto.
3226 (SSEMODEF4): Remove.
3227 (attribute sse): Handle V8SF and V4DF modes.
3228 (<absneg:code><mode>2): Use VF mode iterator.
3229 (*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2. Use VF
3230 mode iterator.
3231 (<plusminus_insn><mode>3): Use VF mode iterator.
3232 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
3233 Use VF mode iterator.
3234 (<sse>_vm<plusminus_insn><mode>3): Merge with
3235 *avx_vm<plusminus_insn><mode>3. Use VF_128 mode iterator.
3236 (mul<mode>3): Use VF mode iterator.
3237 (*mul<mode>3): Merge with *avx_mul<mode>3. Use VF mode iterator.
3238 (<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3. Use VF_128
3239 mode iterator.
3240 (div<VF2:mode>3): Merge from divv2df3 and divv4df3.
3241 (div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
3242 (<sse>_div<mode>3): Merge with *avx_div<mode>3. Use VF mode iterator.
3243 (<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3. Use VF_128
3244 mode iterator.
3245 (<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
3246 Use VF1 mode iterator.
3247 (sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
3248 (sqrt<VF2:mode>2): New expander.
3249 (sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
3250 (<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
3251 and sqrtv2df2. Use VF mode iterator.
3252 (<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2. Use VF_128
3253 mode iterator.
3254 (rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
3255 (<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
3256 Use VF1 mode iterator.
3257 (sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
3258 (<smaxmin:code><mode>3): Use VF mode iterator.
3259 (*<smaxmin:code><mode>3_finite): Merge with
3260 *avx_<smaxmin:code><mode>3_finite. Use VF mode iterator.
3261 (*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
3262 (<sse>_vm<smaxmin:code><mode>2): Merge with
3263 *avx_vm<smaxmin:code><mode>2. Use VF_128 mode iterator.
3264 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3. Use VF
3265 mode iterator.
3266 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3. Use VF
3267 mode iterator.
3268 (sse3_addsubv2df3): Merge with *avx_addsubv2df3.
3269 (sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
3270 (sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
3271 (sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
3272 (avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3. Use
3273 VF mode iterator.
3274 (avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
3275 Use VF_128 mode iterator.
3276 (<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3. Use VF
3277 mode iterator.
3278 (<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3. Use
3279 VF_128 mode iterator.
3280 (vcond<mode>): Use VF mode iterator.
3281 * config/i386/predicates.md (sse_comparison_operator): Merge with
3282 avx_comparison_float_operator. Do not declare as special_predicate.
3283 * config/i386/i386.c (struct builtin_description): Update for renamed
3284 compare patterns.
3285 (ix86_expand_args_builtin): Ditto.
3286 (ix86_expand_sse_compare_mask): Ditto.
3287
ff5d142c
RG
32882011-04-06 Richard Guenther <rguenther@suse.de>
3289
3290 * tree-inline.c (estimate_num_insns): For calls simply account
3291 for all passed arguments and a used return value.
3292
d7d1d041 32932011-04-06 Richard Guenther <rguenther@suse.de>
07c0852e 3294
d7d1d041
RG
3295 PR tree-optimization/47663
3296 * cgraph.h (struct cgraph_edge): Add call_stmt_size and
3297 call_stmt_time fields.
3298 (cgraph_edge_inlinable_p): Declare.
3299 (cgraph_edge_recursive_p): New inline function.
3300 * cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
3301 (cgraph_clone_edge): Copy it.
3302 * ipa-inline.c (cgraph_estimate_edge_time): New function.
3303 Account for call stmt time.
3304 (cgraph_estimate_time_after_inlining): Take edge argument.
3305 (cgraph_estimate_edge_growth): Account call stmt size.
3306 (cgraph_estimate_size_after_inlining): Take edge argument.
3307 (cgraph_mark_inline_edge): Adjust.
3308 (cgraph_check_inline_limits): Likewise.
3309 (cgraph_recursive_inlining_p): Remove.
3310 (cgraph_edge_badness): Use cgraph_edge_recursive_p.
3311 (cgraph_decide_recursive_inlining): Take edge argument and
3312 adjust.
3313 (cgraph_decide_inlining_of_small_functions): Do not avoid
3314 diags for recursive inlining here.
3315 (cgraph_flatten): Adjust.
3316 (cgraph_decide_inlining_incrementally): Likewise.
3317 (estimate_function_body_sizes): Remove call cost handling.
3318 (compute_inline_parameters): Initialize caller edge call costs.
3319 (cgraph_estimate_edge_growth): New function.
3320 (cgraph_estimate_growth): Use it.
3321 (cgraph_edge_badness): Likewise.
3322 (cgraph_check_inline_limits): Take an edge argument.
3323 (cgraph_decide_inlining_of_small_functions): Adjust.
3324 (cgraph_decide_inlining): Likewise.
3325 * tree-inline.c (estimate_num_insns): Only account for call
3326 return value if it is used.
3327 (expand_call_inline): Avoid diagnostics on recursive inline
3328 functions here.
3329 * lto-cgraph.c (lto_output_edge): Output edge call costs.
3330 (input_edge): Input edge call costs.
3331
2feb95f7
RO
33322011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3333
3334 * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
3335
26fbd9c2
JW
33362011-04-06 Jonathan Wakely <jwakely.gcc@gmail.com>
3337
3338 * doc/invoke.texi (Spec Files): Fix typo.
3339
694dc0ca
EB
33402011-04-06 Eric Botcazou <ebotcazou@adacore.com>
3341
3342 * profile.c (branch_prob): Move declaration of local variable. Remove
3343 obsolete ??? comment. Expand the location explicitly instead of using
3344 the LOCATION_FILE and LOCATION_LINE macros.
3345
4925d0d5
WG
33462011-04-06 Wei Guozhi <carrot@google.com>
3347
3348 PR target/47855
3349 * config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
3350 (arm_cond_branch): Likewise.
3351 (arm_cond_branch_reversed): Likewise.
3352 (arm_jump): Likewise.
3353 (push_multi): Likewise.
3354 * config/arm/constraints.md (Py): New constraint.
3355
f55dfa2f
NF
33562011-04-05 Nathan Froyd <froydnj@codesourcery.com>
3357
3358 PR bootstrap/48471
3359 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
3360 Move these...
3361 (symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
3362 (DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
3363 #ifdef DBX_DEBUGGING_INFO.
3364
fca96842
BS
33652011-04-05 Bernd Schmidt <bernds@codesourcery.com>
3366
3367 PR bootstrap/48403
3368 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
3369 if old and new states differ.
3370
30b83e38
JM
33712011-04-05 Joseph Myers <joseph@codesourcery.com>
3372
3373 * config/m68k/m68k.c (m68k_handle_option): Don't handle OPT_m5200,
3374 OPT_m5206e, OPT_m528x, OPT_m5307, OPT_m5407 and OPT_mcfv4e.
3375 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
3376 handle -m5200, -m5206e, -m528x, -m5307, -m5407 and -mcfv4e.
3377 * config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407,
3378 mcfv4e): Use Alias.
3379 * config/m68k/t-mlibs (MULTILIB_MATCHES): Don't map legacy
3380 ColdFire options to -mcpu= options.
3381
277a9aa5
JL
33822011-04-05 Jeff Law <law@redhat.com>
3383
3384 * tree-ssa-threadupdate.c (determine_bb_domination_status): Always
3385 check if BB is a successor of LOOP->header and return
3386 NONDOMINATING if it is not, regardless of ENABLE_CHECKING.
3387
c1e2610e
SB
33882011-04-05 Steven Bosscher <steven@gcc.gnu.org>
3389
3390 * cprop.c (struct reg_use): Remove.
3391 (reg_use_table): Make an array of RTX.
3392 (find_used_regs, constprop_register, local_cprop_pass,
3393 bypass_block): Simplify users of reg_use_table.
3394 (cprop_insn): Likewise. Iterate if copy propagation succeeded
3395 on one of the uses found by find_used_regs.
3396
e532f586
NF
33972011-04-05 Nathan Froyd <froydnj@codesourcery.com>
3398
3399 PR bootstrap/48469
3400 * combine.c (combine_instructions): #ifdef AUTO_INC_DEC links
3401 declaration.
3402
3fb7c055
NF
34032011-04-05 Nathan Froyd <froydnj@codesourcery.com>
3404
3405 * combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
3406 as an rtx.
3407 (try_combine) [AUTO_INC_DEC]: Declare a local link rtx.
3408
b71b43d9
SB
34092011-04-05 Steven Bosscher <steven@gcc.gnu.org>
3410
3411 PR middle-end/48441
3412 * cprop.c (one_cprop_pass): Do not mark_oprs_set of deleted insns.
3413
b405b274
NF
34142011-04-05 Nathan Froyd <froydnj@codesourcery.com>
3415
3416 * combine.c: Include obstack.h.
3417 (struct insn_link): Define.
3418 (uid_log_links): Adjust type.
3419 (FOR_EACH_LOG_LINK): New macro.
3420 (insn_link_obstack): Declare.
3421 (alloc_insn_link): Define.
3422 (create_log_links): Call it. Use FOR_EACH_LOG_LINK and adjust
3423 type of link variables.
3424 (find_single_use, insn_a_feeds_b, combine_instructions): Likewise.
3425 (try_combine, record_promoted_values, distribute_notes): Likewise.
3426 (distribute_links): Likewise. Tweak prototype.
3427 (clear_log_links): Delete.
3428 (adjust_for_new_dest): Call alloc_insn_link.
3429 * Makefile.in (combine.o): Depend on $(OBSTACK_H).
3430
6409abe3
NF
34312011-04-05 Nathan Froyd <froydnj@codesourcery.com>
3432
3433 * gcse.c (modify_mem_list): Convert to an array of VECs.
3434 (canon_modify_mem_list, compute_transp): Tweak formatting.
3435 (alloc_gcse_mem): Likewise. Adjust for modify_mem_list change.
3436 (load_killed_in_block_p): Likewise.
3437 (record_last_mem_set_info): Likewise.
3438 (clear_modify_mem_tables): Likewise.
3439
170d8157
TV
34402011-04-05 Tom de Vries <tom@codesourcery.com>
3441
3442 PR middle-end/48461
3443 * function.c (emit_use_return_register_into_block): Only define if
3444 HAVE_return.
3445
c5911a55
EB
34462011-04-05 Eric Botcazou <ebotcazou@adacore.com>
3447
3448 * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
3449
abd016e6
JM
34502011-04-05 Joseph Myers <joseph@codesourcery.com>
3451
3452 * config/rx/rx-opts.h: New.
3453 * config/rx/rx.c (rx_cpu_type): Remove.
3454 (rx_handle_option): Don't assert that global structures are in
3455 use. Access variables via opts pointer. Defer most handling of
3456 OPT_mint_register_. Use error_at.
3457 (rx_option_override): Handle deferred OPT_mint_register_ here.
3458 * config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
3459 * config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
3460 (mcpu=): Use Enum and specifiy rx_cpu_type with Var.
3461 (rx_cpu_types): New Enum and EnumValue entries.
3462 (mint-register=): Use Defer and use Var accordingly.
3463
1ed13f83
NF
34642011-04-05 Nathan Froyd <froydnj@codesourcery.com>
3465
3466 * debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
3467 (debug_free_queue, debug_nesting, symbol_queue_index): Delete.
3468 * final.c (debug_flush_symbol_queue, debug_queue_symbol):
3469 Move these...
3470 (debug_free_queue, debug_nesting, symbol_queue_index):
3471 ...and these...
3472 * dbxout.c: ...to here. Make static.
3473
6ce1edcf
NF
34742011-04-05 Nathan Froyd <froydnj@codesourcery.com>
3475
3476 * gcse.c (modify_pair): Define. Define a VEC of it.
3477 (canon_modify_mem_list): Convert to an array of VECs.
3478 (free_insn_expr_list_list): Delete.
3479 (clear_modify_mem_tables): Call VEC_free instead.
3480 (record_last_mem_set_info): Don't modify canon_modify_mem_list.
3481 (alloc_gcse_mem): Adjust for canon_modify_mem_list change.
3482 (canon_list_insert, compute_transp): Likewise.
3483
c201ac94
TV
34842011-04-05 Tom de Vries <tom@codesourcery.com>
3485
3486 PR target/43920
3487 * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
3488 for size.
3489
4c029f40
TV
34902011-04-05 Tom de Vries <tom@codesourcery.com>
3491
3492 PR target/43920
3493 * function.c (emit_use_return_register_into_block): New function.
3494 (thread_prologue_and_epilogue_insns): Use
3495 emit_use_return_register_into_block.
3496
2a562b0a
TV
34972011-04-05 Tom de Vries <tom@codesourcery.com>
3498
3499 PR target/43920
3500 * cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
3501 insn.
3502
0248bceb
TV
35032011-04-05 Tom de Vries <tom@codesourcery.com>
3504
3505 * cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.
3506
ffa94123
YZ
35072011-04-05 Yufeng Zhang <yufeng.zhang@arm.com>
3508
798dd0ba
UB
3509 * config/arm/arm.md (define_constants for unspec): Replace with
3510 define_c_enum.
3511 (define_constants for unspecv): Replace with define_c_enum.
3512 * config/arm/neon.md (define_constants for unspec): Replace with
3513 define_c_enum.
ffa94123 3514
3b8f9b46
RH
35152011-04-04 Richard Henderson <rth@redhat.com>
3516
720cf80f 3517 PR bootstrap/48400
3b8f9b46
RH
3518 * dwarf2out.c (output_line_info): Always emit line info from
3519 at least one section.
3520 (dwarf2out_init): Create text_section_line_info here ...
3521 (set_cur_line_info_table): ... not here.
3522
720cf80f 35232011-04-04 Vladimir Makarov <vmakarov@redhat.com>
e5b0e1ca
VM
3524
3525 PR target/48380
3526 * ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
720cf80f 3527 not called.
e5b0e1ca 3528
720cf80f 3529 * ira-emit.c (emit_move_list): Update reg_equiv_init insn list.
e5b0e1ca 3530
196565d4
SB
35312011-04-04 Steven Bosscher <steven@gcc.gnu.org>
3532
b77f9eab
SB
3533 * cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
3534 (expr_equiv_p): Remove.
3535 (insert_set_in_table): Look at <dest, src> pair instead of expr.
3536 (hash_scan_set): Update call to insert_set_in_table.
3537 (dump_hash_table): Dump <dest, src> pair.
3538 (lookup_set): Simplify. Lookup <dest, src> pair.
3539 (compute_transp): Remove, fold heavily simplified code into...
3540 (compute_local_properties): ...here. Expect COMP and TRANSP
3541 unconditionally.
3542 (find_avail_set): Take set directly from struct expr.
3543 (find_bypass-set): Likewise.
3544 (bypass_block): Likewise.
3545 (cprop_insn): Likewise. Remove redundant INSN_P test.
3546
384d7a55
SB
3547 * cprop.c (implicit_set_cond_p): Assume nothing about COND, move
3548 checks on form of COND from find_implicit_sets to here.
3549 (find_implicit_sets): Cleanup control flow. Split critical edges
3550 if it exposes implicit sets. Allocate/resize implicit_sets as
3551 necessary.
3552 (one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
3553 changed something. Run df_analyze after find_implicit_sets if any
3554 edges were split. Do not allocate implicit_sets here.
3555
3084ce69
SB
3556 * cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
3557 (gcse_obstack): Renamed to cprop_obstack.
3558 (GNEW, GNEWVEC, GNEWVAR): Remove.
3559 (gmalloc): Remove.
3560 (alloc_hash_table): Use XNEWVAR instead of GNEWVAR.
3561 (GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming.
3562 (gcse_alloc): Likewise, and rename to cprop_alloc.
3563 (alloc_gcse_men, free_gcse_mem): Remove.
3564 (gcse_constant_p): Rename to cprop_constant_p, and adjust all callers.
3565 (compute_hash_table_work): Allocate and free reg_set_bitmap here.
3566 (one_cprop_pass): Likewise. Adjust for gcse_obstack renaming.
3567
196565d4
SB
3568 * cprop.c (oprs_not_set_p): Remove.
3569 (mark_set, mark_clobber): Remove.
3570 (mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache.
3571 (reg_not_set_p): New function.
3572 (find_avail_set): Use reg_not_set_p instead of oprs_not_set_p.
3573 (cprop_insn): Likewise.
3574 (cprop_jump): Use FOR_EACH_EDGE.
3575
9b69cf83
BS
35762011-04-04 Bernd Schmidt <bernds@codesourcery.com>
3577
3578 PR bootstrap/48403
3579 * haifa-sched.c (nonscheduled_insns_begin): New static variable.
3580 (rank_for_schedule): Use scheduled_insns vector instead of
3581 last_scheduled_insn.
3582 (ok_for_early_queue_removal): Likewise.
3583 (queue_to_ready): Search forward in nonscheduled_insns_begin if
3584 we have a dbg_cnt.
3585 (choose_ready): Likewise.
3586 (commit_schedule): Use VEC_iterate.
3587 (schedule_block): Initialize nonscheduled_insns_begin. If we have
3588 a dbg_cnt, use it and ensure the first insn is in the ready list.
3589 (haifa_sched_init): Allocate scheduled_insns.
3590 (sched_extend_ready_list): Don't allocate it; reserve space.
3591 (haifa_sched_finish): Free it.
3592
24f48c2f
JM
35932011-04-04 Joseph Myers <joseph@codesourcery.com>
3594
3595 * optc-gen.awk: Always remove type from Variable entry before
3596 recording in var_seen.
3597
8effe856
EB
35982011-04-04 Eric Botcazou <ebotcazou@adacore.com>
3599
3600 * cfghooks.c (tidy_fallthru_edges): Add ??? comment.
3601 * tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove
3602 call to tidy_fallthru_edges.
3603
413519ae
JM
36042011-04-04 Joseph Myers <joseph@codesourcery.com>
3605
3606 * doc/options.texi (ToLower): Document.
3729983c 3607 * opt-functions.awk (switch_bit_fields): Initialize cl_tolower field.
413519ae
JM
3608 * opts-common.c (decode_cmdline_option): Handle cl_tolower.
3609 * opts.h (cl_option): Add cl_tolower field.
3610 * config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu=
3611 arguments with lowercase strings.
3612 * config/rx/rx.opt (mcpu=): Add ToLower.
3613 * config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu=
3614 argument.
3615
7d34a1b0
RS
36162011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
3617
3618 * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.
3619
c30e7434
RS
36202011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
3621
3622 * config/vax/vax.c: Include reload.h.
3623
112a861d
AS
36242011-04-04 Anatoly Sokolov <aesok@post.ru>
3625
3626 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove.
3627 * config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
3628 (sparc_preferred_reload_class): New function.
3629
e8c6bb74
JJ
36302011-04-04 Jakub Jelinek <jakub@redhat.com>
3631
2aeaa366 3632 PR debug/48401
e8c6bb74
JJ
3633 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
3634 Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.
3635
2c081caf
NF
36362011-04-03 Nathan Froyd <froydnj@codesourcery.com>
3637
3638 * tree.h (struct tree_const_decl): Inherit from tree_decl_common.
3639 * tree.c (initialize_tree_contains_struct): Adjust accordingly.
3640
53802f27
AS
36412011-04-03 Anatoly Sokolov <aesok@post.ru>
3642
3643 * config/avr/avr.h (ASM_OUTPUT_BSS): Remove.
3644 (ASM_OUTPUT_ALIGNED_BSS): Define.
3645
e89964e3
MM
36462011-04-03 Michael Matz <matz@suse.de>
3647
3648 * lto-streamer.h (struct lto_streamer_cache_d): Remove offsets
3649 and next_slot members.
3650 (lto_streamer_cache_insert, lto_streamer_cache_insert_at,
3651 lto_streamer_cache_lookup, lto_streamer_cache_get): Adjust prototypes.
3652 (lto_streamer_cache_append): Declare.
3653 * lto-streamer.c (lto_streamer_cache_add_to_node_array): Use
3654 unsigned index, remove offset parameter, ensure that we append
3655 or update existing entries.
3656 (lto_streamer_cache_insert_1): Use unsigned index, remove offset_p
3657 parameter, update next_slot for append.
3658 (lto_streamer_cache_insert): Use unsigned index, remove offset_p
3659 parameter.
3660 (lto_streamer_cache_insert_at): Likewise.
3661 (lto_streamer_cache_append): New function.
3662 (lto_streamer_cache_lookup): Use unsigned index.
3663 (lto_streamer_cache_get): Likewise.
3664 (lto_record_common_node): Don't test tree_node_can_be_shared.
3665 (preload_common_node): Adjust call to lto_streamer_cache_insert.
3666 (lto_streamer_cache_delete): Don't free offsets member.
3667 * lto-streamer-out.c (eq_string_slot_node): Use memcmp.
3668 (lto_output_string_with_length): Use lto_output_data_stream.
3669 (lto_output_tree_header): Remove ix parameter, don't write it.
3670 (lto_output_builtin_tree): Likewise.
3671 (lto_write_tree): Adjust callers to above, don't track and write
3672 offset, write unsigned index.
3673 (output_unreferenced_globals): Don't emit all global vars.
3674 (write_global_references): Use unsigned indices.
3675 (lto_output_decl_state_refs): Likewise.
3676 (write_symbol): Likewise.
3677 * lto-streamer-in.c (lto_input_chain): Move earlier.
3678 (input_function): Use unsigned index.
3679 (input_alias_pairs): Don't read and then ignore all global vars.
3680 (lto_materialize_tree): Remove ix_p parameter, don't read index,
3681 don't pass it back, use lto_streamer_cache_append.
3682 (lto_register_var_decl_in_symtab): Use unsigned index.
3683 (lto_register_function_decl_in_symtab): Likewise.
3684 (lto_get_pickled_tree): Don't read in or handle offset, read unsigned
3685 index.
3686 (lto_get_builtin_tree): Don't read index, use
3687 lto_streamer_cache_append.
3688 (lto_read_tree): Adjust call to lto_materialize_tree.
3689
3690 * ipa-inline.c (cgraph_edge_badness): Move growth calculaton,
3691 don't use function calls in arguments to MIN.
3692
3693 * varasm.c (decl_binds_to_current_def_p): Don't check TREE_PUBLIC
3694 twice.
3695
3696 * gimple.c (gimple_type_leader_entry): Mark deletable.
3697
b9a5b5b2
AM
36982011-04-03 Alan Modra <amodra@gmail.com>
3699
3700 * dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
3701
ac6a641b
MM
37022011-04-03 Michael Matz <matz@suse.de>
3703
3704 * tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not
3705 an integer.
3706 * tree.h (tree_decl_non_common.vindex): Adjust comment.
3707
0038d4e0
MM
37082011-04-03 Michael Matz <matz@suse.de>
3709
e9c18386 3710 * cgraphbuild.c (record_reference): Canonicalize constructor values.
0038d4e0
MM
3711 * gimple-fold.c (canonicalize_constructor_val): Accept being called
3712 without function context.
3713 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
3714 current_function_decl and cfun.
3715
91f2fae8
MM
37162011-04-03 Michael Matz <matz@suse.de>
3717
3718 * tree.c (decl_init_priority_insert): Don't create entry for
3719 default priority.
3720 (decl_fini_priority_insert): Ditto.
3721 (fields_compatible_p, find_compatible_field): Remove.
3722 * tree.h (fields_compatible_p, find_compatible_field): Remove.
3723 * gimple.c (gimple_compare_field_offset): Adjust block comment.
3724
da29e070
EB
37252011-04-03 Eric Botcazou <ebotcazou@adacore.com>
3726
3727 * combine.c (try_combine): Remove useless local variable.
3728
4979c28b 37292011-04-03 Richard Guenther <rguenther@suse.de>
91f2fae8 3730 Ira Rosen <ira.rosen@linaro.org>
4979c28b
RG
3731
3732 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
3733 non-variable offsets and compare the remaining bases of the two
3734 accesses instead of looking for exact same data-ref.
3735
b4ddcaee
KT
37362011-04-02 Kai Tietz <ktietz@redhat.com>
3737
f90298e1
KT
3738 PR target/48416
3739 * i386.c (ix86_function_arg_boundary): Fix printf formatter.
3740
b4ddcaee
KT
3741 * i386.c (ix86_is_msabi_thiscall): New helper function.
3742 (ix86_is_type_thiscall): New helper function.
3743 (ix86_comp_type_attributes): Handle thiscall for method-functions
3744 special.
3745 (init_cumulative_args): Likewise.
3746 (find_drap_reg): Likewise.
3747 (ix86_static_chain): Likewise.
3748 (x86_this_parameter): Likewise.
3749 (x86_output_mi_thunk): Likewise.
3750
2a9d769a 37512011-04-01 Olivier Hainque <hainque@adacore.com>
91f2fae8
MM
3752 Nicolas Setton <setton@adacore.com>
3753 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
3754
3755 * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
3756 (add_gnat_descriptive_type_attribute): New function.
3757 (gen_array_type_die): Call it.
3758 (gen_enumeration_type_die): Likewise.
3759 (gen_struct_or_union_type_die): Likewise.
3760 (modified_type_die): Likewise.
3761 * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
3762 * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
3763 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
3764
15a03a11
JJ
37652011-04-01 Jakub Jelinek <jakub@redhat.com>
3766
3767 PR bootstrap/48148
3768 * dwarf2out.c (resolve_addr): Don't call force_decl_die
3769 if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
3770
3771 Revert:
3772 2011-03-17 Richard Guenther <rguenther@suse.de>
3773
3774 PR bootstrap/48148
3775 * lto-cgraph.c (input_overwrite_node): Clear the abstract
3776 origin for decls in other ltrans units.
3777 (input_varpool_node): Likewise.
3778
19228b93
JJ
37792011-04-01 Jakub Jelinek <jakub@redhat.com>
3780
3781 PR middle-end/48335
3782 * expr.c (expand_assignment): Handle all possibilities
3783 if TO_RTX is CONCAT.
e9c18386 3784 * expmed.c (store_bit_field_1): Avoid trying to create invalid SUBREGs.
19228b93
JJ
3785 (store_split_bit_field): If SUBREG_REG (op0) or
3786 op0 itself has smaller mode than word, return it
3787 for offset 0 and const0_rtx for out-of-bounds stores.
3788 If word is const0_rtx, skip it.
3789
88cb339e
N
37902011-04-01 Naveen H.S <naveen.S@kpitcummins.com>
3791
3792 * config/h8300/h8300.c (print_operand_address): Rename to...
3793 (h8300_print_operand_address): ...this. Make static. Adjust comments.
3794 Call h8300_print_operand and h8300_print_operand_address instead of
3795 print_operand and print_operand_address. Declare.
3796 (print_operand): Renake to...
3797 (h8300_print_operand): ...this. Make static. Adjust comments.
3798 Call h8300_print_operand instead of print_operand. Declare.
3799 (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
3800 (h8300_register_move_cost): Likewise.
3801 (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
3802 TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
3803 * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
3804 PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
3805 * config/h8300/h8300-protos.h (print_operand): Delete.
3806 (print_operand_address): Delete.
3807
756d6ee9
RH
38082011-04-01 Richard Henderson <rth@redhat.com>
3809
3810 PR 48400
3811 * dwarf2out.c (dwarf2out_source_line): Disable discriminators
3812 in strict mode before dwarf4. Re-order tests to early out
3813 before switching sections.
3814
ceaaaeab
NF
38152011-04-01 Nathan Froyd <froydnj@codesourcery.com>
3816
3817 * config/h8300/constraints.md: New file.
3818 * config/h8300/h8300.md: Include it. Use satisfies_constraint_J,
3819 satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
3820 (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
3821 * config/h8300/predicates.md (bit_operand): Likewise.
3822 (incdec_operand): Use satisfies_constraint_M and
3823 satisfies_constraint_O. Don't use C code block.
3824 * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
3825 * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
3826 (compute_mov_length): Use satisfies_constraint_G.
3827 (fix_bit_operand): Use satisfies_constraint_U.
3828 * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
3829 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
3830 (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
3831 (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
3832 (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
3833 (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
3834 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
3835 (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
3836 (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
3837 (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
3838 (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
3839 (EXTRA_MEMORY_CONSTRAINT): Delete.
3840
08ae38e0
AP
38412011-04-01 Andrew Pinski <pinskia@gmail.com>
3842 Michael Meissner <meissner@linux.vnet.ibm.com>
3843
3844 PR target/48262
3845 * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
3846 operands, as per the specifications.
3847
3848 * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
3849 (vec_extract_evenv4sf): Ditto.
3850 (vec_extract_evenv8hi): Ditto.
3851 (vec_extract_evenv16qi): Ditto.
3852 (vec_extract_oddv4si): Ditto.
3853
bdb0b0f6
MW
38542011-03-31 Mark Wielaard <mjw@redhat.com>
3855
3856 * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
3857 high_pc attribute if the CU has no associated code. Only output
3858 DW_AT_entry_pc for CU if not generating strict dwarf and
3859 dwarf_version < 4.
3860
722279e4
BS
38612011-04-01 Bernd Schmidt <bernds@codesourcery.com>
3862
3863 * dwarf2out.h (dwarf2out_frame_debug_init): Declare.
3864 * dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
3865 out of ...
3866 (dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
3867 * final.c (final_start_function): Call the new function rather
3868 than using a NULL argument for dwarf2out_frame_debug.
3869
c5dd277d
BS
3870 * ifcvt.c (cond_exec_process_insns): Disallow converting a block
3871 that contains the prologue.
3872
ec4efea9
BS
3873 * haifa-sched.c (queue_insn): New arg REASON. All callers
3874 changed. Print it in debugging output.
3875
2a6a0d80
BS
3876 * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
3877
86014d07
BS
3878 * sched-ebb.c (begin_schedule_ready): Remove second argument.
3879 Split most of the code into...
3880 (begin_move_insn): ... here. New function.
3881 (ebb_sched_info): Add a pointer to it.
3882 * haifa-sched.c (scheduled_insns): New static variable.
3883 (sched_extend_ready_list): Allocate it.
3884 (schedule_block): Use it to record the order of scheduled insns.
3885 Perform RTL changes to move insns only after all scheduling
3886 decisions have been made.
3887 * modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
3888 begin_move_insn field.
3889 * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
3890 * sched-int.h (struct haifa_sched_info): Remove second argument
3891 from begin_schedule_ready hook. Add new member begin_move_insn.
3892 * sched-rgn.c (begin_schedule_ready): Remove second argument.
3893 (rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
3894
9d701248
BS
3895 * haifa-sched.c (prune_ready_list): New function, broken out of
3896 schedule_block.
3897 (schedule_block): Use it.
3898
1ca1dad5
UW
38992011-04-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3900
3901 * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
3902
49568e45
KT
39032011-04-01 Kai Tietz <ktietz@redhat.com>
3904
3905 * config.gcc (*-*-mingw*): Allow as option the
3906 posix threading model.
07c0852e 3907 * config/i386/mingw32.h (SPEC_PTHREAD1, SPEC_PTHREAD2):
49568e45
KT
3908 New macros defined dependent to TARGET_USE_PTHREAD_BY_DEFAULT
3909 definition.
3910 (CPP_SPEC): Add pthread/no-pthread handling.
3911 (LIB_SPEC): Likewise.
3912 * config/i386/mingw-w64.h (CPP_SPEC):Likewise.
3913 (LIB_SPEC): Likewise.
3914 * config/i386/t-cygming (SHLIB_PTHREAD_CFLAG): New
3915 flag to pass -pthread option for shared libgcc build.
3916 (SHLIB_PTHREAD_LDFLAG): New option to pass -lpthread
3917 for shared libgcc build.
3918 * config/i386/t-mingw-pthread: New file.
3919 * config/i386/mingw-pthread.h (TARGET_USE_PTHREAD_BY_DEFAULT):
3920 New define to enable use of library pthread by default.
3921 * config/i386/mingw.opt (pthread): New driver option.
3922 (no-pthread): New driver option.
e9c18386 3923 * config/i386/cygming.opt: Make sure trailing empty line is retained.
49568e45
KT
3924 * config/i386/mingw-w64.opt: Likewise.
3925
636b4106
GF
39262011-04-01 Gary Funck <gary@intrepid.com>
3927
3928 * c-decl.c (grokdeclarator): Fix formatting.
3929
f04713ee
RS
39302011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
3931
3932 * expr.c (emit_block_move_via_movmem): Use n_generator_args
3933 instead of n_operands.
3934 (set_storage_via_setmem): Likewise.
3935 * optabs.c (maybe_gen_insn): Likewise.
3936 * config/arm/arm.c (arm_init_neon_builtins): Likewise.
3937 * config/mips/mips.c (mips_expand_builtin_compare_1): Likewise.
3938 (mips_expand_builtin_direct): Likewise.
3939 * config/spu/spu.c (expand_builtin_args): Likewise.
3940
b29387ee
RS
39412011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
3942
3943 * recog.h (insn_data_d): Add n_generator_args.
3944 * genoutput.c (data): Likewise.
3945 (output_insn_data): Print it.
3946 (max_opno, num_dups): Delete.
3947 (scan_operands): Just fill in "d->operand[...]".
3948 (gen_insn, gen_peephole, gen_expand, gen_split): Use get_pattern_stats.
3949
e792559a
RS
39502011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
3951
3952 * gensupport.h (pattern_stats): New structure.
3953 * gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
3954 * genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
3955 (max_operand_1, max_operand_vec): Delete.
3956 (gen_insn, gen_expand, gen_split): Use get_pattern_stats.
3957
e8110d6f
NF
39582011-03-31 Nathan Froyd <froydnj@codesourcery.com>
3959
3960 * emit-rtl.c (emit_pattern_after_setloc): New function.
3961 (emit_insn_after_setloc, emit_jump_insn_after_setloc): Call it.
3962 (emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise.
3963 (emit_pattern_after): New function.
3964 (emit_insn_after, emit_jump_insn_after): Call it.
3965 (emit_call_insn_after, emit_debug_insn_after): Likewise.
3966 (emit_pattern_before_setloc): New function.
3967 (emit_insn_before_setloc, emit_jump_insn_before_setloc): Call it.
3968 (emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
3969 Likewise.
3970 (emit_pattern_before): New function.
3971 (emit_insn_before, emit_jump_insn_before): Call it.
3972 (emit_call_insn_before, emit_debug_insn_before): Likewise.
3973
576f85f1
RH
39742011-03-31 Richard Henderson <rth@redhat.com>
3975
3976 * dwarf2out.c (dw_separate_line_info_ref): Remove.
3977 (dw_separate_line_info_entry): Remove.
3978 (enum dw_line_info_opcode): New.
3979 (dw_line_info_entry): Use it.
3980 (dw_line_info_table, dw_line_info_table_p): New.
3981 (DWARF_LINE_OPCODE_BASE): Include dwarf3 opcodes.
3982 (line_info_table, line_info_label_num): Remove.
3983 (line_info_table_in_use): Remove.
3984 (separate_line_info_table): Remove.
3985 (separate_line_info_table_allocated): Remove.
3986 (separate_line_info_table_in_use): Remove.
3987 (LINE_INFO_TABLE_INCREMENT): Remove.
3988 (line_info_label_num): New.
3989 (cur_line_info_table): New.
3990 (text_section_line_info, cold_text_section_line_info): New.
3991 (separate_line_info): New.
3992 (SEPARATE_LINE_CODE_LABEL): Remove.
3993 (print_dwarf_line_table): Remove.
3994 (debug_dwarf): Don't dump it.
3995 (output_one_line_info_table): New.
3996 (output_line_info): Use it.
3997 (new_line_info_table): New.
3998 (set_cur_line_info_table): New.
3999 (dwarf2out_switch_text_section): Use it.
4000 (dwarf2out_begin_function): Likewise.
4001 (push_dw_line_info_entry): New.
4002 (dwarf2out_source_line): Rewrite for new line info tables.
4003 (dwarf2out_init): Remove dead initailizations.
4004
300d83d9
JM
40052011-03-31 Joseph Myers <joseph@codesourcery.com>
4006
4007 * opts.h (cl_option): Add comments to fields. Add bit-fields for
4008 various flags.
4009 (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK,
4010 CL_SEPARATE_ALIAS, CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE,
4011 CL_DISABLED, CL_REPOR, CL_REJECT_NEGATIVE, CL_MISSING_OK,
4012 CL_UINTEGER, CL_NEGATIVE_ALIAS): Remove.
4013 (CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED): Update bit positions.
4014 * opt-functions.awk (flag_init, switch_bit_fields): New.
4015 (switch_flags): Don't handle flags moved to bit-fields. Don't
4016 generate CL_MISSING_OK or CL_SAVE.
4017 * optc-gen.awk: Update to generate bit-field output as well as
4018 flags field.
4019 * gcc.c (driver_wrong_lang_callback): Use cl_reject_driver
4020 bit-field instead of CL_REJECT_DRIVER flag.
4021 * opts-common.c (generate_canonical_option,
4022 decode_cmdline_option): Use bit-fields instead of CL_* flags.
4023 * opts.c (maybe_default_option): Use cl_reject_negative bit-field
4024 instead of CL_REJECT_NEGATIVE flag.
4025 * toplev.c (print_switch_values): Use cl_report bit-field instead
4026 of CL_REPORT flag.
4027
d4d73ce2
EB
40282011-03-31 Eric Botcazou <ebotcazou@adacore.com>
4029
4030 * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
4031 a zero minimum index only if it is redundant.
4032
b8faca75
VM
40332011-03-31 Vladimir Makarov <vmakarov@redhat.com>
4034
4035 PR rtl-optimization/48381
4036 * ira-color.c (assign_hard_reg): Use hard reg set intersection
4037 instead of ira_class_hard_reg_index for calculating conflicting
4038 hard registers.
4039
7d11cebe
SB
40402011-03-31 Steven Bosscher <steven@gcc.gnu.org>
4041
4042 * cprop.c: Clean up hash table building.
4043 (reg_avail_info): Remove.
4044 (oprs_available_p): Remove.
4045 (record_last_reg_set_info): Remove.
4046 (record_last_set_info): Remove.
4047 (reg_available_p): New function.
4048 (gcse_constant_p): Do not treat unfolded conditions as constants.
4049 (make_set_regs_unavailable): New function.
4050 (hash_scan_set): Simplify with new reg_available_p.
4051 (compute_hash_table_work): Traverse insns stream only once.
4052 Do not compute reg_avail_info. Traverse insns in reverse order.
4053 Record implicit sets after recording explicit sets from the block.
4054
98faf84f
MM
40552011-03-31 Michael Matz <matz@suse.de>
4056
e9c18386 4057 * builtins.c (build_va_arg_indirect_ref): Use build_simple_mem_ref_loc.
98faf84f 4058
f52d97da
AS
40592011-03-31 Anatoly Sokolov <aesok@post.ru>
4060
4061 * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove macro.
4062 * config/h8300/h8300-protos.h (h8300_get_index): Remove.
4063 * config/h8300/h8300.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
4064 (h8300_mode_dependent_address_p): New function.
4065 (h8300_get_index): Make static.
4066
e16b6fd0
JL
40672011-03-31 Jeff Law <law@redhat.com>
4068
10c51983
JL
4069 * reload1.c (elimination_effects): Fix typo in recent change.
4070
e9c18386 4071 * tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid
e16b6fd0
JL
4072 typo potentially leading to null pointer dereference.
4073
4074 * caller-save.c (new_saved_hard_reg): Eliminate return value.
4075 (setup_save_areas): Corresponding changes to avoid useless
4076 assignments.
4077
4078 * jump.c (reversed_comparison_code_parts): Avoid successive return
4079 statements when REVERSE_CONDITION is defined.
4080
4081 * expr.c (expand_assignment): Avoid useless assignments.
4082 (expand_expr_real_1): Likewise.
4083 (expand_expr_real_2): Avoid useless statements.
4084
4085 * tree-ssa-phiopt.c (minmax_replacement): Avoid useless statement.
4086
4087 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
4088
4089 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Avoid useless
4090 statements.
4091
4092 * stmt.c (expand_expr_stmt): Avoid useless assignment.
4093
eb1eb914
JM
40942011-03-31 Joseph Myers <joseph@codesourcery.com>
4095
4096 PR target/47109
4097 * doc/tm.texi.in (TARGET_VERSION): Remove.
4098 * doc/tm.texi: Regenerate.
4099 * system.h (TARGET_VERSION, MACHINE_TYPE): Poison.
4100 * collect2.c (main): Don't use TARGET_VERSION.
4101 * mips-tdump.c (main): Don't use TARGET_VERSION.
4102 * mips-tfile.c (main): Don't use TARGET_VERSION.
e9c18386 4103 * config.gcc (powerpc-wrs-vxworksae): Don't use rs6000/vxworksae.h.
eb1eb914
JM
4104 * config/rs6000/vxworksae.h: Remove.
4105 * config/alpha/alpha.h (TARGET_VERSION): Remove.
4106 * config/alpha/freebsd.h (TARGET_VERSION): Remove.
4107 * config/alpha/linux-elf.h (TARGET_VERSION): Remove.
4108 * config/alpha/netbsd.h (TARGET_VERSION): Remove.
4109 * config/alpha/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
4110 * config/arm/arm.h (TARGET_VERSION): Remove.
4111 * config/arm/coff.h (TARGET_VERSION): Remove.
4112 * config/arm/ecos-elf.h (TARGET_VERSION): Remove.
4113 * config/arm/elf.h (TARGET_VERSION): Remove.
4114 * config/arm/freebsd.h (TARGET_VERSION): Remove.
4115 * config/arm/linux-elf.h (TARGET_VERSION): Remove.
4116 * config/arm/netbsd-elf.h (TARGET_VERSION): Remove.
4117 * config/arm/pe.h (TARGET_VERSION): Remove.
4118 * config/arm/rtems-elf.h (TARGET_VERSION): Remove.
4119 * config/arm/semi.h (TARGET_VERSION): Remove.
4120 * config/arm/uclinux-elf.h (TARGET_VERSION): Remove.
4121 * config/arm/unknown-elf.h (TARGET_VERSION): Remove.
4122 * config/arm/vxworks.h (TARGET_VERSION): Remove.
4123 * config/avr/avr.h (TARGET_VERSION): Remove.
4124 * config/bfin/bfin.h (TARGET_VERSION): Remove.
4125 * config/fr30/fr30.h (TARGET_VERSION): Remove.
4126 * config/frv/frv.h (TARGET_VERSION): Remove.
4127 * config/h8300/h8300.h (TARGET_VERSION): Remove.
4128 * config/i386/cygwin.h (TARGET_VERSION): Remove.
4129 * config/i386/darwin.h (TARGET_VERSION): Remove.
4130 * config/i386/darwin64.h (TARGET_VERSION): Remove.
4131 * config/i386/djgpp.h (TARGET_VERSION): Remove.
4132 * config/i386/freebsd.h (TARGET_VERSION): Remove.
4133 * config/i386/freebsd64.h (TARGET_VERSION): Remove.
4134 * config/i386/gnu.h (TARGET_VERSION): Remove.
4135 * config/i386/i386-interix.h (TARGET_VERSION): Remove.
4136 * config/i386/i386elf.h (TARGET_VERSION): Remove.
4137 * config/i386/linux.h (TARGET_VERSION): Remove.
4138 * config/i386/linux64.h (TARGET_VERSION): Remove.
4139 * config/i386/lynx.h (TARGET_VERSION): Remove.
4140 * config/i386/mingw32.h (TARGET_VERSION): Remove.
4141 * config/i386/netbsd-elf.h (TARGET_VERSION): Remove.
4142 * config/i386/netbsd64.h (TARGET_VERSION): Remove.
4143 * config/i386/netware.h (TARGET_VERSION): Remove.
4144 * config/i386/nto.h (TARGET_VERSION): Remove.
4145 * config/i386/openbsd.h (TARGET_VERSION): Remove.
4146 * config/i386/vxworks.h (TARGET_VERSION): Remove.
4147 * config/ia64/elf.h (TARGET_VERSION): Remove.
4148 * config/ia64/freebsd.h (TARGET_VERSION): Remove.
4149 * config/ia64/hpux.h (TARGET_VERSION): Remove.
4150 * config/ia64/linux.h (TARGET_VERSION): Remove.
4151 * config/ia64/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
4152 * config/iq2000/iq2000.h (IQ2000_VERSION, MACHINE_TYPE,
4153 TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
4154 * config/lm32/lm32.h (TARGET_VERSION): Remove.
4155 * config/lm32/uclinux-elf.h (TARGET_VERSION): Remove.
4156 * config/m32c/m32c.h (TARGET_VERSION): Remove.
4157 * config/m32r/linux.h (LINUX_DEFAULT_ELF, TARGET_VERSION): Remove.
4158 * config/m32r/m32r.h (TARGET_VERSION): Remove.
4159 * config/m68k/linux.h (TARGET_VERSION): Remove.
4160 * config/m68k/m68k.h (TARGET_VERSION): Remove.
4161 * config/m68k/netbsd-elf.h (TARGET_VERSION): Remove.
4162 * config/m68k/uclinux.h (TARGET_VERSION): Remove.
4163 * config/mcore/mcore-elf.h (TARGET_VERSION): Remove.
4164 * config/mep/mep.h (TARGET_VERSION): Remove.
4165 * config/microblaze/microblaze.h (MICROBLAZE_VERSION,
4166 MACHINE_TYPE, TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
4167 * config/mips/iris6.h (MACHINE_TYPE): Remove.
4168 * config/mips/linux.h (TARGET_VERSION): Remove.
4169 * config/mips/netbsd.h (MACHINE_TYPE): Remove.
4170 * config/mips/vxworks.h (TARGET_VERSION): Remove.
4171 * config/mmix/mmix.h (TARGET_VERSION): Remove.
4172 * config/mn10300/linux.h (TARGET_VERSION): Remove.
4173 * config/mn10300/mn10300.h (TARGET_VERSION): Remove.
4174 * config/pa/pa.h (TARGET_VERSION): Remove.
4175 * config/pdp11/pdp11.h (TARGET_VERSION): Remove.
4176 * config/picochip/picochip.h (TARGET_VERSION): Remove.
4177 * config/rs6000/aix.h (TARGET_VERSION): Remove.
4178 * config/rs6000/darwin.h (TARGET_VERSION): Remove.
4179 * config/rs6000/darwin64.h (TARGET_VERSION): Remove.
4180 * config/rs6000/eabi.h (TARGET_VERSION): Remove.
4181 * config/rs6000/eabialtivec.h (TARGET_VERSION): Remove.
4182 * config/rs6000/eabisim.h (TARGET_VERSION): Remove.
4183 * config/rs6000/eabispe.h (TARGET_VERSION): Remove.
4184 * config/rs6000/freebsd.h (TARGET_VERSION): Remove.
4185 * config/rs6000/linux.h (TARGET_VERSION): Remove.
4186 * config/rs6000/linux64.h (TARGET_VERSION): Remove.
4187 * config/rs6000/linuxaltivec.h (TARGET_VERSION): Remove.
4188 * config/rs6000/linuxspe.h (TARGET_VERSION): Remove.
4189 * config/rs6000/lynx.h (TARGET_VERSION): Remove.
4190 * config/rs6000/netbsd.h (TARGET_VERSION): Remove.
4191 * config/rs6000/sysv4.h (TARGET_VERSION): Remove.
4192 * config/rs6000/vxworks.h (TARGET_VERSION): Remove.
4193 * config/s390/linux.h (TARGET_VERSION): Remove.
4194 * config/s390/s390.h (TARGET_VERSION): Remove.
4195 * config/s390/tpf.h (TARGET_VERSION): Remove.
4196 * config/score/score.h (TARGET_VERSION): Remove.
4197 * config/sh/linux.h (TARGET_VERSION): Remove.
4198 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN,
4199 TARGET_VERSION_CPU, TARGET_VERSION): Remove.
4200 * config/sh/sh.h (TARGET_VERSION): Remove.
4201 * config/sh/sh64.h (TARGET_VERSION): Remove.
4202 * config/sh/superh.h (TARGET_VERSION): Remove.
4203 * config/sh/vxworks.h (TARGET_VERSION): Remove.
4204 * config/sparc/freebsd.h (TARGET_VERSION): Remove.
4205 * config/sparc/linux.h (TARGET_VERSION): Remove.
4206 * config/sparc/linux64.h (TARGET_VERSION): Remove.
4207 * config/sparc/netbsd-elf.h (TARGET_VERSION, TARGET_NAME64,
4208 TARGET_NAME32, TARGET_NAME): Remove.
4209 * config/sparc/openbsd64.h (TARGET_VERSION): Remove.
4210 * config/sparc/sp-elf.h (TARGET_VERSION): Remove.
4211 * config/sparc/sp64-elf.h (TARGET_VERSION): Remove.
4212 * config/sparc/sysv4.h (TARGET_VERSION): Remove.
4213 * config/sparc/vxworks.h (TARGET_VERSION): Remove.
4214 * config/spu/spu.h (TARGET_VERSION): Remove.
4215 * config/stormy16/stormy16.h (TARGET_VERSION): Remove.
4216 * config/v850/v850.h (TARGET_VERSION): Remove.
4217 * config/vax/linux.h (TARGET_VERSION): Remove.
4218 * config/vax/vax.h (TARGET_NAME, TARGET_VERSION): Remove.
4219 * config/xtensa/elf.h (TARGET_VERSION): Remove.
4220 * config/xtensa/linux.h (TARGET_VERSION): Remove.
4221
ace31bca
EB
42222011-03-31 Eric Botcazou <ebotcazou@adacore.com>
4223
4224 PR target/48142
4225 * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
4226 frame-related from frame-unrelated adjustments to the stack pointer.
4227
76f9db36
JJ
42282011-03-31 Jakub Jelinek <jakub@redhat.com>
4229
4230 * common.opt (fdebug-types-section): Move earlier.
4231 * doc/invoke.texi: Fix up -fno-debug-types-section documentation.
4232
b7826465
AT
42332011-03-31 Andreas Tobler <andreast@fgznet.ch>
4234
4235 * config/rs6000/rs6000.c (rs6000_handle_option): Remove unused isel
4236 var.
4237
1290e54c
NF
42382011-03-30 Nathan Froyd <froydnj@codesourcery.com>
4239
4240 * tree.h (CASE_CHAIN): Define.
4241 * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
4242 (gimple_redirect_edge_and_branch): Likewise.
4243
bddc98e1
VM
42442011-03-30 Vladimir Makarov <vmakarov@redhat.com>
4245
4246 PR middle-end/48367
4247 * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
4248 calculation.
4249
c865e437
JL
42502011-03-30 Jeff Law <law@redhat.com>
4251
b3750213 4252 * PR bootstrap/48371
c865e437
JL
4253 * reload1.c (reload): Fix botch in last change.
4254
4255 * reload.h (struct reload): Fix typo introduced in last change.
4256
2cdf9574
JM
42572011-03-30 Joseph Myers <joseph@codesourcery.com>
4258
4259 * config/arm/arm.opt (mhard-float, msoft-float): Mark
4260 Undocumented. Remove help text.
4261 * doc/invoke.texi (ARM Options): Don't document -msoft-float and
4262 -mhard-float.
4263
666a21a2
JM
42642011-03-30 Joseph Myers <joseph@codesourcery.com>
4265
4266 * doc/options.texi (NegativeAlias): Document.
4267 (Alias): Mention NegativeAlias.
4268 * opt-functions.awk: Handle NegativeAlias.
e9c18386 4269 * optc-gen.awk: Disallow NegativeAlias with multiple Alias arguments.
666a21a2
JM
4270 * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
4271 * opts.h (CL_NEGATIVE_ALIAS): Define.
4272 * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
4273 (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
4274 OPT_mspe_.
4275 * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
4276 Alias entries.
4277 * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
4278 mno-spe and mno-isel instead of mspe=no and -misel=no.
4279
0fa4e351
MW
42802011-03-29 Mark Wielaard <mjw@redhat.com>
4281
4282 * common.opt (fdebug-types-section): New flag.
4283 * doc/invoke.texi: Document new -fno-debug-types-section flag.
4284 * dwarf2out.c (use_debug_types): New define.
4285 (struct die_struct): Mark die_id with GTY desc use_debug_types.
4286 (print_die): Guard output of type unit signatures using
4287 use_debug_types.
4288 (build_abbrev_table): Replace assert of dwarf_version >= 4
4289 with assert on use_debug_types.
4290 (size_of_die): Likewise.
4291 (unmark_dies): Likewise.
4292 (value_format): Decide AT_ref_external form on use_debug_types.
4293 (output_die): Replace dwarf_version version check guard with
4294 use_debug_types where appropriate.
4295 (modified_type_die): Likewise.
4296 (gen_reference_type_die): Likewise.
4297 (dwarf2out_start_source_file): Likewise.
4298 (dwarf2out_end_source_file): Likewise.
4299 (prune_unused_types_walk_attribs): Likewise.
4300 (dwarf2out_finish): Likewise.
4301
4648deb4
VM
43022011-03-30 Vladimir Makarov <vmakarov@redhat.com>
4303
4304 * ira-color.c (ira_assign_hard_reg): Use only one variable 'mode'.
4305
4f431835
RS
43062011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
4307
4308 PR rtl-optimization/48332
4309 * optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
4310 mode of input operand N and modeN to its actual mode.
4311
f2034d06
JL
43122011-03-30 Jeff Law <law@redhat.com>
4313
4314 * reload.h (reg_equiv_constant): Move into new structure reg_equivs,
4315 define accessor macro.
4316 (reg_equiv_invariant, reg_equiv_memory_loc): Likewise.
4317 (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise.
4318 (reg_equiv_init): Likewise.
4319 (reg_equivs_size): New variable.
4320 (reg_equiv_init_size): Remove.
4321 (allocate_initial_values): Move prototype to here from....
4322 * integrate.h (allocate_initial_values): Remove prototype.
4323 * integrate.c: Include reload.h.
4324 (allocate_initial_values): Corresponding changes.
4325 * ira.c (find_reg_equiv_invariant_cost): Corresponding changes.
4326 (fix_reg_equiv_init, no_equiv): Corresponding changes.
4327 (update_equiv_regs): Corresponding changes.
4328 (ira): Corresponding changes.
4329 * reload.c (push_reg_equiv_alt_mem): Corresponding changes.
4330 (push_secondary_reload): Corresponding changes.
4331 (push_reload, find_reloads, find_reloads_toplev): Corresponding changes.
4332 (make_memloc, find_reloads_address): Corresponding changes.
4333 (subst_reg_equivs, subst_indexed_address): Corresponding changes.
4334 (find_reloads_address_1): Corresponding changes.
4335 (find_reloads_subreg_address, subst_reloads): Corresponding changes.
4336 (refers_to_regno_for_reload_p): Corresponding changes.
4337 (reg_overlap_mentioned_for_reload_p): Corresponding changes.
4338 (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes.
4339 * reload1.c: Include ggc.h.
4340 (grow_reg_equivs): New function.
4341 (replace_pseudos_in, reload): Corresponding changes.
4342 (calculate_needs_all_insns, alter_regs): Corresponding changes.
4343 (eliminate_regs_1, elimination_effects): Corresponding changes.
4344 (emit_input_reload_insns, emit_output_reload_insns): Likewise.
4345 (delete_output_reload): Likewise.
4346 * caller-save.c (mark_referenced_regs): Corresponding changes.
4347 * alpha/alpha.c (resolve_reload_operand): Corresponding changes.
4348 * frv/predicates.md (frv_load_operand): Corresponding changes.
4349 * microblaze/microblaze.c (double_memory_operand): Corresponding
4350 changes.
4351 * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes.
4352 * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes.
e9c18386 4353 * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding changes.
f2034d06
JL
4354 * m68k/m68k.c (emit_move_sequence): Corresponding changes.
4355 * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding
4356 changes.
4357 * pa/pa.c (emit_move_sequence): Corresponding changes.
4358 * vax/vax.c (nonindexed_address_p): Corresponding changes.
4359
159b81b0
RS
43602011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
4361
4362 PR target/47551
4363 * config/arm/arm.c (coproc_secondary_reload_class): Handle
4364 structure modes. Don't check neon_vector_mem_operand for
4365 vector or structure modes.
4366
a6217191
RS
43672011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
4368 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
4369
4370 PR target/43590
4371 * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
4372 operand 1 and reshuffle the operands to match.
4373 (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.
4374
bd837408
CS
43752011-03-30 Christian Schüler <cschueler@gmx.de>
4376
6955d771 4377 PR driver/48208
bd837408 4378 * config/c.opt (F): Added 'Driver' to -F option.
e9c18386 4379
6955d771 4380 PR driver/48260
bd837408
CS
4381 * config/darwin-driver.c (darwin_driver_init): Add '-arch' to
4382 handler function.
4383 * config/darwin.opt: Added '-arch' option.
4384
e9c0470a
NC
43852011-03-30 Nick Clifton <nickc@redhat.com>
4386
4387 * config/rx/rx.md: Add peepholes and patterns to combine
4388 extending loads and simple arithmetic instructions.
4389 * config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
e9c18386
UB
4390 * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
4391 * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
e9c0470a 4392 modes to use pre-decrement and post-increment addressing.
e9c18386 4393 (rx_is_restricted_memory_address): Add range checking of REG+INT
e9c0470a 4394 addresses.
e9c18386
UB
4395 (rx_print_operand): Add support for %Q. Fix handling of %Q.
4396 (rx_memory_move_cost): Adjust cost of stores.
4397 (rx_adjust_insn_length): New function.
e9c0470a 4398
8a87e7ab
JJ
43992011-03-30 Jakub Jelinek <jakub@redhat.com>
4400
4401 PR c/48305
4402 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
4403 arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
4404 matching arg00/arg01 types.
4405
12486e03
EB
44062011-03-30 Eric Botcazou <ebotcazou@adacore.com>
4407
4408 * cfglayout.c (insn_locators_alloc): Initialize curr_location and
4409 last_location to UNKNOWN_LOCATION.
4410
0b99eef6
L
44112011-03-30 H.J. Lu <hongjiu.lu@intel.com>
4412
4413 PR target/48349
4414 * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
4415 FLOAT_SSE_REGS.
4416
023592aa
JM
44172011-03-30 Joseph Myers <joseph@codesourcery.com>
4418 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4419
4420 PR bootstrap/48337
4421 * config/sparc/sparc.opt (sparc_cpu_and_features): Add
4422 Init(PROCESSOR_V7).
4423 (sparc_cpu): Likewise.
4424 * config/sparc/sparc.c (sparc_option_override): Replace 0 by
4425 PROCESSOR_V7.
4426
ad3b266b
VM
44272011-03-29 Vladimir Makarov <vmakarov@redhat.com>
4428
4429 PR target/48336
4430 PR middle-end/48342
4431 PR rtl-optimization/48345
4432 * ira-color.c (setup_conflict_profitable_regs): Exclude prohibited
4433 hard regs for given mode from profitable regs when doing secondary
4434 allocation.
4435
633c9126
JL
44362011-03-29 Jeff Law <law@redhat.com>
4437
4438 PR bootstrap/48327
4439 * tree-ssa-threadupdate.c (struct redirection_data): Remove
4440 do_not_duplicate field.
4441 (lookup_redirection_data): Corresponding changes.
4442 (create_duplicates): Always create a template block.
4443 (redirect_edges): Remove code which reused the original block
4444 when it was going to become unreachable code.
4445 (thread_block): Don't set do_not_duplicate field.
4446
eb50f63a
JM
44472011-03-29 Joseph Myers <joseph@codesourcery.com>
4448
4449 * lto-opts.c (register_user_option_p, lto_register_user_option):
4450 Make type argument unsigned.
4451 * lto-streamer.h (lto_register_user_option): Make type argument
4452 unsigned.
4453 * opth-gen.awk: Make CL_* macros unsigned.
4454 * opts-common.c (find_opt): Make lang_mask argument unsigned.
4455 * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
4456 CL_TARGET, CL_COMMON, CL_SEPARATE_NARGS_MASK, CL_SEPARATE_ALIAS,
4457 CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE, CL_DISABLED,
4458 CL_REPORT, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE,
4459 CL_MISSING_OK, CL_UINTEGER, CL_UNDOCUMENTED): Make unsigned.
4460 (find_opt): Make lang_mask argument unsigned.
4461
76763a6d
VM
44622011-03-29 Vladimir Makarov <vmakarov@redhat.com>
4463
4464 PR rtl-optimization/48331
4465 PR rtl-optimization/48334
4466 * ira-color.c (color_allocnos): Call setup_profitable_hard_regs
4467 for any used algorithm.
4468
5c82436e
VM
44692011-03-29 Vladimir Makarov <vmakarov@redhat.com>
4470
4471 * ira-conflicts.c (build_object_conflicts): Add unused attribute
4472 to parent_max.
4473
7a81008b
UB
44742011-03-29 Uros Bizjak <ubizjak@gmail.com>
4475
4476 * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
4477 (alpha_option_override): Don't set alpha_sr_alias_set.
4478 (emit_frame_store_1): Use gen_frame_mem rather than calling
4479 set_mem_alias_set.
4480 (alpha_expand_epilogue): Ditto.
4481
86c8d1f6
IR
44822011-03-29 Ira Rosen <ira.rosen@linaro.org>
4483
4484 PR tree-optimization/48290
4485 * tree-vect-loop.c (vect_analyze_loop_operations): In outer loop
4486 vectorization, check that relevant phis in the basic block after
4487 the inner loop are really inner loop's exit phis.
4488
0d12220f
RS
44892011-03-29 Richard Sandiford <richard.sandiford@linaro.org>
4490
e8cf17e7 4491 PR debug/48190
0d12220f
RS
4492 * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
4493 (cached_dw_loc_list_def): New structure.
4494 (cached_dw_loc_list): New typedef.
4495 (cached_dw_loc_list_table): New variable.
4496 (cached_dw_loc_list_table_hash): New function.
4497 (cached_dw_loc_list_table_eq): Likewise.
4498 (add_location_or_const_value_attribute): Take a bool cache_p.
4499 Cache the list when the parameter is true.
4500 (gen_formal_parameter_die): Update caller.
4501 (gen_variable_die): Likewise.
4502 (dwarf2out_finish): Likewise.
4503 (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
4504 while generating debug info for the decl.
4505 (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
4506 (dwarf2out_init): Initialize cached_dw_loc_list_table.
4507 (resolve_addr): Cache the result of resolving a chain of
4508 location lists.
4509
1756cb66
VM
45102011-03-28 Vladimir Makarov <vmakarov@redhat.com>
4511
4512 * ira-color.c (update_left_conflict_sizes_p): Don't assume that
4513 conflict object hard regset nodes have intersecting hard reg sets.
7a81008b 4514
1756cb66
VM
4515 * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
4516 after regstat_init_n_sets_and_refs.
4517
4518 * ira.c: Add more comments at the top.
4519 (setup_stack_reg_pressure_class, setup_pressure_classes):
4520 Add comments how we compute the register pressure classes.
4521 (setup_allocno_and_important_classes): Add more comments.
4522 (setup_class_translate_array, reorder_important_classes)
4523 (setup_reg_class_relations): Add comments.
4524
4525 * ira-emit.c: Add 2011 to the Copyright line. Add comments at the
4526 start of the file.
4527
4528 * ira-color.c: Add 2011 to the Copyright line.
4529 (assign_hard_reg): Add more comments.
4530 (improve_allocation): Ditto.
4531
4532 * ira-costs.c: Add 2011 to the Copyright line.
4533 (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
4534 comments.
4535 (setup_regno_cost_classes_by_mode): Ditto.
4536
4537 Initial patches from ira-improv branch:
4538
4539 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
4540
f60c2554 4541 * ira-build.c (ira_create_object): Remove initialization of
1756cb66
VM
4542 OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA.
4543 (ira_create_allocno): Remove initialization of
4544 ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
4545 ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
4546 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
4547 ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
4548 ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
4549 Initialize ALLOCNO_ADD_DATA.
4550 (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
4551 and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
4552 ALLOCNO_REG.
4553 (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of
4554 ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
4555
4556 * ira.c (ira_reallocate): Remove.
4557 (setup_pressure_classes): Call
4558 ira_init_register_move_cost_if_necessary. Use
4559 ira_register_move_cost instead of ira_get_register_move_cost.
4560 (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
4561 (ira): Call ira_initiate_emit_data and ira_finish_emit_data.
4562
4563 * ira-color.c: Use ALLOCNO_COLOR_DATA instead of
4564 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
4565 ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
4566 ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
4567 instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
4568 OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
4569 Fix formatting.
7a81008b 4570 (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h.
1756cb66
VM
4571 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
4572 (struct allocno_color_data): New.
4573 (allocno_color_data_t): New typedef.
4574 (allocno_color_data): New definition.
4575 (ALLOCNO_COLOR_DATA): New macro.
4576 (struct object_color_data): New.
4577 (object_color_data_t): New typedef.
4578 (object_color_data): New definition.
4579 (OBJECT_COLOR_DATA): New macro.
4580 (update_copy_costs, calculate_allocno_spill_cost): Call
4581 ira_init_register_move_cost_if_necessary. Use
4582 ira_register_move_cost instead of ira_get_register_move_cost.
4583 (move_spill_restore, update_curr_costs): Ditto.
4584 (allocno_spill_priority): Make it inline.
7a81008b 4585 (color_pass): Allocate and free allocno_color_dat and object_color_data.
1756cb66
VM
4586 (struct coalesce_data, coalesce_data_t): New.
4587 (allocno_coalesce_data): New definition.
4588 (ALLOCNO_COALESCE_DATA): New macro.
4589 (merge_allocnos, coalesced_allocno_conflict_p): Use
4590 ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
4591 ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
4592 (coalesce_allocnos): Ditto.
4593 (setup_coalesced_allocno_costs_and_nums): Ditto.
4594 (collect_spilled_coalesced_allocnos): Ditto.
4595 (slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
4596 (setup_slot_coalesced_allocno_live_ranges): Ditto.
4597 (coalesce_spill_slots): Ditto.
4598 (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and
4599 free allocno_coalesce_data.
4600
4601 * ira-conflicts.c: Fix formatting.
4602 (process_regs_for_copy): Call
4603 ira_init_register_move_cost_if_necessary. Use
4604 ira_register_move_cost instead of ira_get_register_move_cost.
4605 (build_object_conflicts): Optimize.
4606
4607 * ira-costs.c (record_reg_classes): Optimize. Call
4608 ira_init_register_move_cost_if_necessary. Use
4609 ira_register_move_cost, ira_may_move_in_cost, and
4610 ira_may_move_out_cost instead of ira_get_register_move_cost and
4611 ira_get_may_move_cost.
4612 (record_address_regs): Ditto.
4613 (scan_one_insn): Optimize.
4614 (find_costs_and_classes): Optimize.
4615 (process_bb_node_for_hard_reg_moves): Call
4616 ira_init_register_move_cost_if_necessary. Use
4617 ira_register_move_cost instead of ira_get_register_move_cost.
4618
4619 * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
4620 ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
4621 ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
4622 (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
4623 definitions.
4624 (ira_initiate_emit_data, ira_finish_emit_data)
4625 (create_new_allocno): New functions.
7a81008b 4626 (modify_move_list): Call create_new_alloc instead of ira_create_allocno.
1756cb66
VM
4627 (emit_move_list): Call ira_init_register_move_cost_if_necessary.
4628 Use ira_register_move_cost instead of ira_get_register_move_cost.
4629
4630 * ira-int.h: Fix some comments.
7a81008b
UB
4631 (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c.
4632 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
1756cb66
VM
4633 (struct ira_object): Remove profitable_hard_regs, hard_regs_node,
4634 hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member
4635 add_data.
4636 (struct ira_allocno): Make mode and aclass a bitfield. Move other
4637 bitfield after mode. Make hard_regno a short int. Make
4638 hard_regno short. Remove first_coalesced_allocno and
4639 next_coalesced_allocno. Move mem_optimized_dest_p,
4640 somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
4641 into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p,
4642 available_regs_num, next_bucket_allocno, prev_bucket_allocno,
4643 temp, colorable_p. Add new member add_data.
4644 (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
4645 (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
4646 (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
4647 (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
4648 (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
4649 (ALLOCNO_ADD_DATA): New macro.
4650 (ira_emit_data_t): New typedef.
4651 (struct ira_emit_data): New. Move mem_optimized_dest_p,
4652 somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
4653 from struct ira_allocno.
4654 (ALLOCNO_EMIT_DATA): New macro.
4655 (ira_allocno_emit_data, allocno_emit_reg): New.
4656 (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
7a81008b 4657 (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove.
1756cb66
VM
4658 (OBJECT_ADD_DATA): New macro.
4659 (ira_reallocate): Remove.
4660 (ira_initiate_emit_data, ira_finish_emit_data): New.
4661 (ira_get_register_move_cost, ira_get_may_move_cost): Remove.
4662 (ira_init_register_move_cost_if_necessary): New.
4663 (ira_object_conflict_iter_next): Merge into
4664 ira_object_conflict_iter_cond.
7a81008b 4665 (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
1756cb66 4666
f60c2554 4667 * ira-live.c (process_single_reg_class_operands): Call
1756cb66
VM
4668 ira_init_register_move_cost_if_necessary. Use
4669 ira_register_move_cost instead of ira_get_register_move_cost.
4670
4671 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
4672
4673 * ira-int.h (struct target_ira_int): Remove x_cost_classes.
4674
4675 * ira-costs.c: Fix formatting.
4676 (cost_classes, cost_classes_num): Remove.
4677 (struct cost_classes, cost_classes_t, const_cost_classes_t): New.
4678 (regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
4679 (cost_classes_del, cost_classes_htab): New.
4680 (cost_classes_aclass_cache, cost_classes_mode_cache): New.
4681 (initiate_regno_cost_classes, setup_cost_classes): New.
4682 (setup_regno_cost_classes_by_aclass): New.
7a81008b 4683 (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New.
1756cb66
VM
4684 (record_reg_classes): Use regno_cost_classes instead of
4685 cost_classes. Move checking opposite operand up.
4686 (record_address_regs): Use regno_cost_classes
4687 instead of cost_classes.
4688 (scan_one_insn): Ditto. Use always general register.
4689 (print_allocno_costs): Use regno_cost_classes instead of
4690 cost_classes.
4691 (print_pseudo_costs): Ditto. Use Reg_N_REFS.
4692 (find_costs_and_classes): Set up cost classes for each registers.
4693 Use also their mode for this. Use regno_cost_classes instead of
4694 cost_classes.
4695 (setup_allocno_class_and_costs): Use regno_cost_classes instead of
4696 cost_classes.
4697 (free_ira_costs, ira_init_costs): Don't use cost_classes.
4698 (ira_costs, ira_set_pseudo_classes): Call
4699 initiate_regno_cost_classes and finish_regno_cost_classes.
4700
4701 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
4702
4703 * target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
4704
4705 * target.def (ira_cover_classes): Remove.
4706
7a81008b 4707 * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES.
1756cb66
VM
4708
4709 * doc/tm.texi.in: Ditto.
4710
4711 * ira-conflicts.c: Remove mentioning cover classes from the file.
4712 Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use
7a81008b 4713 ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting.
1756cb66
VM
4714
4715 * targhooks.c (default_ira_cover_classes): Remove.
4716
4717 * targhooks.h (default_ira_cover_classes): Ditto.
4718
4719 * haifa-sched.c: Remove mentioning cover classes from the file.
4720 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
4721 ira_pressure_classes and ira_pressure_classes_num instead of
4722 ira_reg_class_cover_size and ira_reg_class_cover. Use
4723 sched_regno_pressure_class instead of sched_regno_cover_class.
4724 (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
4725 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
4726
4727 * ira-int.h: Add 2010 to Copyright. Remove mentioning cover
4728 classes from the file.
4729 (object_hard_regs_t, object_hard_regs_node_t): New typedefs.
4730 (struct object_hard_regs, struct object_hard_regs_node): New.
4731 (struct ira_object): New members profitable_hard_regs,
4732 hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
4733 (struct ira_allocno): Rename cover_class to aclass. Rename
4734 cover_class_cost and updated_cover_class_cost to class_cost and
4735 updated_class_cost. Remove splay_removed_p and
4736 left_conflict_size. Add new members colorable_p.
4737 (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
4738 (ALLOCNO_COLORABLE_P): New macro.
4739 (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
4740 (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
4741 Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
4742 (OBJECT_...): Rename parameter C to O.
4743 (OBJECT_PROFITABLE_HARD_REGS): New macro.
4744 (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
4745 (OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
4746 (struct target_ira_int): New members x_ira_max_memory_move_cost,
4747 x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
4748 x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
4749 x_ira_reg_pressure_class_p, x_ira_important_class_nums,
4750 x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to
4751 x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to
4752 x_ira_reg_class_subunion.
4753 (ira_max_memory_move_cost, ira_max_register_move_cost)
4754 (ira_max_may_move_in_cost, ira_max_may_move_out_cost)
4755 (ira_reg_allocno_class_p, ira_reg_pressure_class_p)
4756 (ira_important_class_nums, ira_reg_class_superunion): New macros.
7a81008b 4757 (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs.
1756cb66
VM
4758 (ira_reg_class_union): Rename to ira_reg_class_subunion.
4759 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
4760 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
4761 (ira_tune_allocno_costs_and_cover_classes): Rename to
4762 ira_tune_allocno_costs.
4763 (ira_debug_hard_regs_forest): New.
4764 (ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
4765 (ira_object_conflict_iter_next): Fix comments.
7a81008b 4766 (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions.
1756cb66
VM
4767 (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
4768 cover_class to aclass.
4769 (ira_allocate_and_accumulate_costs): Ditto.
4770 (ira_allocate_and_set_or_copy_costs): Ditto.
4771
4772 * opts.c (decode_options): Remove ira_cover_class check.
4773
4774 * ira-color.c: Remove mentioning cover classes from the file. Use
4775 ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
4776 instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
4777 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
4778 (splay-tree.h): Remove include.
4779 (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
4780 before copy_freq_compare_func.
4781 (allocnos_for_spilling, removed_splay_allocno_vec): Remove.
4782 (object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
4783 New definitions.
4784 (hard_regs_roots, hard_regs_node_vec): Ditto.
4785 (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
4786 (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
4787 (finish_object_hard_regs, object_hard_regs_compare): Ditto.
4788 (create_new_object_hard_regs_node): Ditto.
4789 (add_new_object_hard_regs_node_to_forest): Ditto.
7a81008b 4790 (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto.
1756cb66
VM
4791 (setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
4792 Ditto.
4793 (print_hard_reg_set, print_hard_regs_subforest): Ditto.
4794 (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
4795 (remove_unused_object_hard_regs_nodes): Ditto.
4796 (enumerate_object_hard_regs_nodes): Ditto.
4797 (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
4798 (object_hard_regs_subnode_t): Ditto.
4799 (struct object_hard_regs_subnode): Ditto.
4800 (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
4801 (setup_object_hard_regs_subnode_index): Ditto.
4802 (get_object_hard_regs_subnodes_num): Ditto.
4803 (form_object_hard_regs_nodes_forest): Ditto.
4804 (finish_object_hard_regs_nodes_tree): Ditto.
4805 (finish_object_hard_regs_nodes_forest): Ditto.
4806 (allocnos_have_intersected_live_ranges_p): Rename to
7a81008b 4807 allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func.
1756cb66
VM
4808 (pseudos_have_intersected_live_ranges_p): Rename to
4809 conflict_by_live_ranges_p. Move before copy_freq_compare_func.
4810 (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
4811 (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
4812 (update_copy_costs): Remove assert. Skip cost update if the hard
4813 reg does not belong the class.
4814 (assign_hard_reg): Process only profitable hard regs.
4815 (uncolorable_allocnos_num): Make it scalar.
4816 (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
4817 and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
4818 and ira_reg_class_max_nregs.
4819 (bucket_allocno_compare_func): Check frequency first.
4820 (sort_bucket): Add compare function as a parameter.
4821 (add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
4822 (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
4823 (push_allocno_to_stack): Rewrite for checking new allocno
4824 colorability.
7a81008b 4825 (remove_allocno_from_bucket_and_push): Print cost too. Remove assert.
1756cb66
VM
4826 (push_only_colorable): Pass new parameter to sort_bucket.
4827 (push_allocno_to_spill): Remove.
4828 (allocno_spill_priority_compare): Make it inline and rewrite.
4829 (splay_tree_allocate, splay_tree_free): Remove.
4830 (allocno_spill_sort_compare): New function.
4831 (push_allocnos_to_stack): Sort allocnos for spilling once. Don't
4832 build and use splay tree. Choose first allocno in uncolorable
4833 allocno bucket to spill. Remove setting spill cost.
4834 (all_conflicting_hard_regs): Remove.
4835 (setup_allocno_available_regs_num): Check only profitable hard
4836 regs. Print info about hard regs nodes.
4837 (setup_allocno_left_conflicts_size): Remove.
4838 (put_allocno_into_bucket): Don't call
7a81008b 4839 setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p.
1756cb66
VM
4840 (improve_allocation): New.
4841 (color_allocnos): Call setup_profitable_hard_regs,
4842 form_object_hard_regs_nodes_forest, improve_allocation,
4843 finish_object_hard_regs_nodes_forest. Setup spill cost.
4844 (print_loop_title): Use pressure classes.
4845 (color_allocnso): Ditto.
4846 (do_coloring): Remove allocation and freeing splay_tree_node_pool
4847 and allocnos_for_spilling.
4848 (ira_sort_regnos_for_alter_reg): Don't setup members
4849 {first,next}_coalesced_allocno.
4850 (color): Remove allocating and freeing removed_splay_allocno_vec.
4851 (fast_allocation): Use ira_prohibited_class_mode_regs instead of
4852 prohibited_class_mode_regs.
4853
4854 * ira-lives.c: Remove mentioning cover classes from the file. Fix
4855 formatting.
4856 (update_allocno_pressure_excess_length): Use pressure classes.
4857 (inc_register_pressure, dec_register_pressure): Check for pressure
4858 class.
4859 (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
4860 pressure class. Use ira_reg_class_nregs instead of
4861 ira_reg_class_max_nregs.
4862 (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
4863 (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
4864 (single_reg_class): Use ira_reg_class_nregs instead of
4865 ira_reg_class_max_nregs.
4866 (process_bb_node_lives): Use pressure classes.
4867
4868 * ira-emit.c: Remove mentioning cover classes from the file. Use
4869 ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting.
4870 (change_loop): Use pressure classes.
4871 (modify_move_list): Call ira_set_allocno_class instead of
4872 ira_set_allocno_cover_class.
4873
4874 * ira-build.c: Remove mentioning cover classes from the file. Use
4875 ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
4876 ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use
4877 ALLOCNO_UPDATED_CLASS_COST instead of
4878 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
4879 (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
4880 (ira_create_allocno): Remove initialization of
4881 ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize
4882 ALLOCNO_COLORABLE_P.
4883 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
4884 Update conflict regs for the objects.
4885 (create_cap_allocno): Remove assert. Don't propagate
4886 ALLOCNO_AVAILABLE_REGS_NUM.
4887 (ira_free_allocno_costs): New function.
4888 (finish_allocno): Change a part of code into call of
4889 ira_free_allocno_costs.
4890 (low_pressure_loop_node_p): Use pressure classes.
4891 (object_range_compare_func): Don't compare classes.
4892 (setup_min_max_conflict_allocno_ids): Ditto.
4893
4894 * loop-invariant.c: Remove mentioning cover classes from the file.
4895 Use ira_pressure_classes and ira_pressure_classes_num instead of
4896 ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting.
7a81008b
UB
4897 (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs.
4898 Use ira_reg_class_max_nregs instead of ira_reg_class_nregs.
4899 Use reg_allocno_class instead of reg_cover_class.
1756cb66
VM
4900 (get_inv_cost): Use instead ira_stack_reg_pressure_class of
4901 STACK_REG_COVER_CLASS.
4902 (get_regno_cover_class): Rename to get_regno_pressure_class.
4903 (move_loop_invariants): Initialize and finalize regstat.
4904
4905 * ira.c: Remove mentioning cover classes from the file. Add
4906 comments about coloring without cover classes. Use ALLOCNO_CLASS
4907 instead of ALLOCNO_COVER_CLASS. Fix formatting.
4908 (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
4909 setup_class_subset_and_memory_move_costs.
4910 (setup_stack_reg_pressure_class, setup_pressure_classes): New.
4911 (setup_cover_and_important_classes): Rename to
4912 setup_allocno_and_important_classes.
4913 (setup_class_translate_array): New.
4914 (setup_class_translate): Call it for allocno and pressure classes.
4915 (cover_class_order): Rename to allocno_class_order.
4916 (comp_reg_classes_func): Use ira_allocno_class_translate instead
4917 of ira_class_translate.
4918 (reorder_important_classes): Set up ira_important_class_nums.
4919 (setup_reg_class_relations): Set up ira_reg_class_superunion.
4920 (print_class_cover): Rename to print_classes. Add parameter.
4921 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
4922 Print pressure classes too.
4923 (find_reg_class_closure): Rename to find_reg_classes. Don't call
4924 setup_reg_subclasses.
7a81008b 4925 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
4926 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
4927 (setup_prohibited_class_mode_regs): Use
7a81008b 4928 ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs.
1756cb66
VM
4929 (clarify_prohibited_class_mode_regs): New function.
4930 (ira_init_register_move_cost): Set up ira_max_register_move_cost,
4931 ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
4932 (ira_init_once): Initialize them.
4933 (free_register_move_costs): Process them.
4934 (ira_init): Move calls of find_reg_classes and
4935 setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
4936 Call clarify_prohibited_class_mode_regs.
4937 (ira_no_alloc_reg): Remove.
4938 (too_high_register_pressure_p): Use pressure classes.
4939
4940 * sched-deps.c: Remove mentioning cover classes from the file.
4941 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
4942 ira_pressure_classes and ira_pressure_classes_num instead of
4943 ira_reg_class_cover_size and ira_reg_class_cover.
4944 (mark_insn_hard_regno_birth, mark_hard_regno_death): Use
4945 sched_regno_pressure_class instead of sched_regno_cover_class.
4946 (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use
4947 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
4948
4949 * ira.h: Add 2010 to Copyright.
4950 (ira_no_alloc_reg): Remove external.
4951 (struct target_ira): Rename x_ira_hard_regno_cover_class,
4952 x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
4953 x_ira_class_translate to x_ira_hard_regno_allocno_class,
4954 x_ira_allocno_classes_num, x_ira_allocno_classes, and
4955 x_ira_allocno_class_translate. Add x_ira_pressure_classes_num,
4956 x_ira_pressure_classes, x_ira_pressure_class_translate, and
4957 x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to
4958 x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and
4959 x_ira_no_alloc_regs.
7a81008b 4960 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
4961 (ira_reg_class_cover_size, ira_reg_class_cover): Rename to
4962 ira_allocno_classes_num and ira_allocno_classes.
4963 (ira_class_translate): Rename to ira_allocno_class_translate.
4964 (ira_pressure_classes_num, ira_pressure_classes): New definitions.
4965 (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
4966 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
4967 (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
4968 (ira_no_alloc_regs): New.
4969
4970 * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover
4971 classes from the file. Use ALLOCNO_CLASS instead of
4972 ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of
4973 ALLOCNO_COVER_CLASS_COST.
4974 (regno_cover_class): Rename to regno_aclass.
4975 (record_reg_classes): Use ira_reg_class_subunion instead of
4976 ira_reg_class_union.
4977 (record_address_regs): Check overflow.
4978 (scan_one_insn): Ditto.
7a81008b 4979 (print_allocno_costs): Print total mem cost fore regional allocation.
1756cb66
VM
4980 (print_pseudo_costs): Use REG_N_REFS.
4981 (find_costs_and_classes): Use classes intersected with them on the
4982 1st pass. Check overflow. Use ira_reg_class_subunion instead of
4983 ira_reg_class_union. Use ira_allocno_class_translate and
4984 regno_aclass instead of ira_class_translate and regno_cover_class.
4985 Modify code for finding regno_aclass. Setup preferred classes for
4986 the next pass.
4987 (setup_allocno_cover_class_and_costs): Rename to
4988 setup_allocno_class_and_costs. Use regno_aclass instead of
4989 regno_cover_class. Use ira_set_allocno_class instead of
4990 ira_set_allocno_cover_class.
4991 (init_costs, finish_costs): Use regno_aclass instead of
4992 regno_cover_class.
4993 (ira_costs): Use setup_allocno_class_and_costs instead of
4994 setup_allocno_cover_class_and_costs.
4995 (ira_tune_allocno_costs_and_cover_classes): Rename to
4996 ira_tune_allocno_costs. Check overflow. Skip conflict hard regs
4997 by processing objects. Use ira_reg_class_max_nregs instead of
4998 ira_reg_class_nregs.
4999
5000 * rtl.h (reg_cover_class): Rename to reg_allocno_class.
5001
5002 * sched-int.h: Remove mentioning cover classes from the file.
5003 (sched_regno_cover_class): Rename to sched_regno_pressure_class.
5004
5005 * reginfo.c: Add 2010 to Copyright. Remove mentioning cover
5006 classes from the file.
5007 (struct reg_pref): Rename coverclass into allocnoclass.
5008 (reg_cover_class): Rename to reg_allocno_class.
5009
7a81008b 5010 * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies.
1756cb66
VM
5011
5012 * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
5013
5014 * config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
5015
5016 * config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
5017
5018 * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
5019
5020 * config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
5021
5022 * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
5023
5024 * config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
5025
5026 * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
5027
5028 * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
5029
5030 * config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
5031 (i386_ira_cover_classes): Ditto.
5032
5033 * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
5034
5035 * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
5036
5037 * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
5038
5039 * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
5040
5041 * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
5042
5043 * config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
5044
5045 * config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
5046 (mips_ira_cover_classes): Ditto.
5047
5048 * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
5049
5050 * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
5051
5052 * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
5053
5054 * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
5055
5056 * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
5057
5058 * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
5059 (IRA_COVER_CLASSES_VSX): Ditto.
5060
5061 * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
5062 (rs6000_ira_cover_classes): Ditto.
5063
5064 * config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
5065
5066 * config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
5067
5068 * config/score/score.h (IRA_COVER_CLASSES): Ditto.
5069
5070 * config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
5071
5072 * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
5073
5074 * config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
5075
5076 * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
5077
5078 * config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
5079
5080 * config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
5081
5082 * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
5083
2b80199f
JJ
50842011-03-29 Jakub Jelinek <jakub@redhat.com>
5085
71dae1fe
JJ
5086 PR debug/48253
5087 * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
5088 dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
5089 dw_fde_unlikely_section_end_label, cold_in_std_section,
5090 dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
5091 Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
5092 fields.
5093 (output_fde): Use dw_fde_second_{begin,end} if second is
5094 true, otherwise dw_fde_{begin,end}.
5095 (output_call_frame_info): Test dw_fde_second_begin != NULL
5096 instead of dw_fde_switched_sections.
5097 (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
5098 fields, initialize new fields. Initialize in_std_section
5099 unconditionally from the first partition.
5100 (dwarf2out_end_epilogue): Don't override dw_fde_end when
5101 dw_fde_second_begin is non-NULL.
5102 (dwarf2out_switch_text_section): Stop initializing removed
5103 dw_fde_struct fields, initialize new fields, initialize
5104 also dw_fde_end here. Set dw_fde_switch_cfi even when
5105 dwarf2out_do_cfi_asm (). Call var_location_switch_text_section.
5106 (struct var_loc_list_def): Add last_before_switch field.
5107 (arange_table, arange_table_allocated, arange_table_in_use,
5108 ARANGE_TABLE_INCREMENT, add_arange): Removed.
5109 (size_of_aranges): Count !in_std_section and !second_in_std_section
5110 hunks in fdes, instead of looking at arange_table_in_use.
5111 (output_aranges): Add aranges_length argument, don't call
5112 size_of_aranges here. Instead of using aranges_table*
5113 emit ranges for fdes when !in_std_section resp.
5114 !second_in_std_section.
5115 (dw_loc_list): Break ranges crossing section switch.
5116 (convert_cfa_to_fb_loc_list): Likewise. If switched sections,
7a81008b 5117 use dw_fde_second_end instead of dw_fde_end as end of last range.
71dae1fe
JJ
5118 (gen_subprogram_die): Don't call add_arange. Use
5119 dw_fde_{begin,end} for first partition and if switched
5120 section dw_fde_second_{begin,end} for the second.
5121 (var_location_switch_text_section_1,
5122 var_location_switch_text_section): New functions.
5123 (dwarf2out_begin_function): Initialize cold_text_section even
5124 when function_section () isn't text_section.
5125 (prune_unused_types): Don't walk arange_table.
5126 (dwarf2out_finish): Don't needlessly test
5127 flag_reorder_blocks_and_partition when testing cold_text_section_used.
5128 If info_section_emitted, call size_of_aranges and if it indicates
5129 non-empty .debug_aranges, call output_aranges with the computed
5130 size. Stop using removed dw_fde_struct fields, use
5131 dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
5132 for second.
5133
2b80199f
JJ
5134 PR debug/48203
5135 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Only
5136 create ENTRY_VALUE if incoming or address of incoming's MEM
5137 is a hard REG.
5138 * dwarf2out.c (mem_loc_descriptor): Don't emit
5139 DW_OP_GNU_entry_value of DW_OP_fbreg.
5140 * var-tracking.c (vt_add_function_parameter): Ensure cselib_lookup
5141 on ENTRY_VALUE is able to find the canonical parameter VALUE.
5142 * cselib.c (rtx_equal_for_cselib_1) <case ENTRY_VALUE>: Use
5143 rtx_equal_p instead of rtx_equal_for_cselib_1 to compare
5144 ENTRY_VALUE_EXPs.
5145 (cselib_hash_rtx) <case ENTRY_VALUE>: If ENTRY_VALUE_EXP
5146 is a REG_P or MEM_P with REG_P address, compute hash directly
5147 instead of calling cselib_hash_rtx on ENTRY_VALUE_EXP.
5148 (preserve_only_constants): Don't clear VALUES forwaring
5149 ENTRY_VALUE to some other VALUE.
5150
8a445129
RS
51512011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
5152
5153 * builtins.c (expand_builtin_memset_args): Use gen_int_mode
5154 instead of GEN_INT.
5155
c82fee88
EB
51562011-03-28 Eric Botcazou <ebotcazou@adacore.com>
5157
5158 * cfgexpand.c (expand_gimple_cond): Always set the source location and
5159 block before expanding the statement.
5160 (expand_gimple_stmt_1): Likewise. Set them here...
5161 (expand_gimple_stmt): ...and not here. Tidy.
5162 * cfglayout.c (curr_insn_locator): Return 0 if the current location is
5163 unknown.
5164
e45425ec
SB
51652011-03-28 Steven Bosscher <steven@gcc.gnu.org>
5166
5167 * Makefile.in: New rule for cprop.o.
5168 * gcse.c: Move constant/copy propagation to cprop.c.
5169 (compute_local_properties): Only handle expression tables.
5170 (hash_scan_set, compute_hash_table_work, alloc_hash_table,): Likewise.
5171 (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
5172 (hash_set, insert_set_in_table, gcse_constant_p, lookup_set,
5173 next_set, reset_opr_set_tables, oprs_not_set_p, mark_call, mark_set,
7a81008b 5174 mark_clobber, mark_oprs_set, alloc_cprop_mem, free_cprop_mem,
e45425ec
SB
5175 compute_cprop_data, find_used_regs, try_replace_reg,
5176 find_avail_set, cprop_jump, constprop_register, cprop_insn,
5177 local_cprop_find_used_regs, do_local_cprop, local_cprop_pass,
5178 fis_get_condition, implicit_set_cond_p, find_implicit_sets,
5179 find_bypass_set, reg_killed_on_edge, bypass_block,
5180 bypass_conditional_jumps, one_cprop_pass, gate_rtl_cprop,
5181 execute_rtl_cprop, pass_rtl_cprop): Move to...
5182 * cprop.c: ...here. New file, constant/copy propagation for RTL
5183 moved from gcse.c to here with minor cleanups in duplicated code.
5184
c09d5426
L
51852011-03-28 H.J. Lu <hongjiu.lu@intel.com>
5186
5187 * config/i386/i386.c (flag_opts): Fix a typo in
5188 -mavx256-split-unaligned-store.
5189
9eaa7740
AS
51902011-03-28 Anatoly Sokolov <aesok@post.ru>
5191
5192 * config/h8300/h8300.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
5193 LIBCALL_VALUE): Remove macros.
5194 * config/h8300/h8300.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
5195 TARGET_FUNCTION_VALUE_REGNO_P): Define.
5196 (h8300_function_value, h8300_libcall_value,
5197 h8300_function_value_regno_p): New functions.
5198
dcec2be2
AS
51992011-03-28 Anatoly Sokolov <aesok@post.ru>
5200
5201 * config/h8300/h8300.h (ASM_OUTPUT_BSS): Remove macro.
5202
520af9ec
JL
52032011-03-28 Jeff Law <law@redhat.com>
5204
5205 * tree-ssa-threadupdate.c (redirect_edges): Call
5206 create_edge_and_update_destination_phis as needed.
5207 (create_edge_and_update_destination_phis): Accept new BB argument.
5208 All callers updated.
5209 (thread_block): Do not update the profile when threading around
5210 intermediate blocks.
5211 (thread_single_edge): Likewise.
5212 (determine_bb_domination_status): If BB is not a successor of the
5213 loop header, return NONDOMINATING.
5214 (register_jump_thread): Note when we register a jump thread around
5215 an intermediate block.
5216 * tree-ssa-threadedge.c (thread_around_empty_block): New function.
5217 (thread_across_edge): Use it.
5218
7450b54f
TG
52192011-03-28 Tristan Gingold <gingold@adacore.com>
5220
5221 * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
5222 when for_return is 2.
5223
649beb33
JL
52242011-03-28 Jeff Law <law@redhat.com>
5225
5226 * var-tracking.c (canonicalize_values_mark): Delete unused
5227 lhs assignment.
5228 (canonicalize_values_star, set_variable_part): Likewise.
5229 (clobber_variable_part, delete_variable_part): Likewise.
5230
d5b8da97
SB
52312011-03-28 Steven Bosscher <steven@gcc.gnu.org>
5232
5233 * gcse.c (free_gcse_mem): Free reg_set_bitmap.
5234
322dd859
MJ
52352011-03-28 Martin Jambor <mjambor@suse.cz>
5236
5237 * tree-inline.c (expand_call_inline): Do not check that destination
5238 node is analyzed.
5239 (optimize_inline_calls): Assert that destination node is analyzed.
5240 * cgraph.c (cgraph_add_new_function): Call cgraph_analyze_function, do
5241 not call tree_lowering_passes.
5242 * cgraph.h (cgraph_analyze_function): Declare.
5243 * cgraphunit.c (cgraph_analyze_function): Make public.
5244
aa53e58b
JM
52452011-03-28 Joseph Myers <joseph@codesourcery.com>
5246
5247 * config/sparc/sparc-opts.h: New.
5248 * config/sparc/sparc.c (sparc_handle_option, sparc_select,
5249 sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
5250 (sparc_option_override): Store processor_type enumeration rather
5251 than string in cpu_default. Remove name and enumeration from
5252 cpu_table. Directly default -mcpu then default -mtune from -mcpu
5253 without using sparc_select. Use target_flags_explicit instead of
5254 fpu_option_set.
5255 * config/sparc/sparc.h (enum processor_type): Move to
5256 sparc-opts.h.
5257 (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
5258 * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
5259 HeaderInclude entry.
5260 (mcpu=, mtune=): Use Var and Enum.
5261 (sparc_processor_type): New Enum and EnumValue entries.
5262
dd350eba
RO
52632011-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5264 Iain Sandoe <iains@gcc.gnu.org>
5265
5266 PR target/48245
5267 * config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.
5268
1b29f05e
EB
52692011-03-28 Eric Botcazou <ebotcazou@adacore.com>
5270
5271 * tree-vectorizer.h (vect_create_data_ref_ptr): Adjust prototype.
5272 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add GSI parameter.
5273 Insert new statements at it in lieu of STMT.
5274 (vect_setup_realignment): Adjust call to vect_create_data_ref_ptr.
5275 * tree-vect-stmts.c (vectorizable_store): Likewise.
5276 (vectorizable_load): Likewise.
5277
506e6808
UB
52782011-03-28 Uros Bizjak <ubizjak@gmail.com>
5279
5280 * config/alpha/alpha.md (addtf3): Change mode of operands to TFmode.
5281 (divtf3): Ditto.
5282 (multf3): Ditto.
5283 (subtf3): Ditto.
5284
2e939ee9
L
52852011-03-27 H.J. Lu <hongjiu.lu@intel.com>
5286
5287 * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
5288 unaligned 256bit load/store.
5289 (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
5290 (*avx_movdqu<avxmodesuffix>): Likewise.
5291
5e85ab88
JDA
52922011-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5293
5294 PR target/48288
5295 * config/pa/predicates.md (reg_or_ior_operand): New predicate.
5296 * config/pa/pa.md (iordi3): Use new predicate in expander.
5297 (iorsi3): Likewise.
5298
47be3d6d
AS
52992011-03-27 Anatoly Sokolov <aesok@post.ru>
5300
506e6808 5301 * config/mips/mips.h (LIBCALL_VALUE, FUNCTION_VALUE,
47be3d6d 5302 FUNCTION_VALUE_REGNO_P): Remove macros.
506e6808
UB
5303 * config/mips/mips-protos.h (mips_function_value): Remove.
5304 * config/mips/mips.c (mips_function_value): Rename to...
47be3d6d
AS
5305 (mips_function_value_1): ... this. Make static. Handle receiving
5306 the function type in 'fn_decl_or_type' argument.
5307 (mips_function_value, mips_libcall_value,
5308 mips_function_value_regno_p): New function.
5309 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
5310 TARGET_FUNCTION_VALUE_REGNO_P): Define.
5311
d253656a
L
53122011-03-27 H.J. Lu <hongjiu.lu@intel.com>
5313
5314 * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
5315 and -mavx256-split-unaligned-store.
5316 (ix86_option_override_internal): Split 32-byte AVX unaligned
5317 load/store by default.
5318 (ix86_avx256_split_vector_move_misalign): New.
5319 (ix86_expand_vector_move_misalign): Use it.
5320
5321 * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
5322 -mavx256-split-unaligned-store.
5323
5324 * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
5325 256bit load/store. Generate unaligned store on misaligned memory
5326 operand.
5327 (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
5328 256bit load/store.
5329 (*avx_movdqu<avxmodesuffix>): Likewise.
5330
5331 * doc/invoke.texi: Document -mavx256-split-unaligned-load and
5332 -mavx256-split-unaligned-store.
5333
1ea9206a
RS
53342011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
5335
5336 PR target/38598
5337 * config/mips/mips.md (extendsidi2): Add an "l" alternative.
5338 Update commentary.
5339
b99ce2a8
RS
53402011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
5341
5342 * config/mips/mips.c (mips_prepare_builtin_arg): Replace icode and
5343 opno arguments with an expand_operand. Use create_input_operand.
5344 (mips_prepare_builtin_target): Delete.
5345 (mips_expand_builtin_insn, mips_expand_builtin_compare_1): New
5346 functions.
5347 (mips_expand_builtin_direct): Use create_output_operand and
5348 mips_expand_builtin_insn. Update call to mips_prepare_builtin_arg.
5349 (mips_expand_builtin_movtf): Likewise. Use mips_expand_fp_comparison.
5350 (mips_expand_builtin_compare): Use mips_expand_fp_comparison.
5351
69d52339
IR
53522011-03-27 Ira Rosen <ira.rosen@linaro.org>
5353
5354 * config/arm/arm.c (arm_autovectorize_vector_sizes): New
5355 function.
5356 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
5357
ba5e9aca
EB
53582011-03-26 Eric Botcazou <ebotcazou@adacore.com>
5359
5360 * basic-block.h (fixup_abnormal_edges): Adjust prototype.
5361 * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover
5362 basic blocks and call commit_edge_insertions directly.
5363 (fixup_abnormal_edges): Move from here to...
5364 * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions
5365 on the edges and return whether some have actually been inserted.
5366 * reg-stack.c (convert_regs): Fix up abnormal edges before inserting
5367 compensation code.
5368
5d369d58
AB
53692011-03-26 Andrey Belevantsev <abel@ispras.ru>
5370
5371 PR rtl-optimization/48144
5372 * sel-sched-ir.c (merge_history_vect): Factor out from ...
5373 (merge_expr_data): ... here.
5374 (av_set_intersect): Rename to av_set_code_motion_filter.
5375 Update all callers. Call merge_history_vect when an expression
5376 is found in both sets.
5377 * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
5378
f082c000
AM
53792011-03-26 Alan Modra <amodra@gmail.com>
5380
5381 * config/rs6000/predicates.md (word_offset_memref_op): Handle
5382 cmodel medium addresses.
5383 * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
5384 64-bit gpr loads and stores.
5385 (rs6000_secondary_reload_ppc64): New function.
5386 * config/rs6000/rs6000-protos.h: Declare it.
5387 * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
5388
8ac5e12e
AM
53892011-03-26 Alan Modra <amodra@gmail.com>
5390
5391 PR target/47487
5392 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
5393 GNU Go in traceback table.
5394
c2654ded
RH
53952011-03-25 Richard Henderson <rth@redhat.com>
5396
5397 * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
5398 if there are exactly 6 operands.
5399 (set_storage_via_setmem): Similarly.
5400
ba78087b
KT
54012011-03-25 Kai Tietz <ktietz@redhat.com>
5402
5403 * collect2.c (write_c_file_stat): Handle backslash
5404 as right-hand directory separator.
5405 (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
5406 checking just for slash.
5407 * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
5408 instead of checking for trailing slash.
5409 * gcc.c (record_temp_file): Use filename_cmp instead
5410 of strcmp.
5411 (do_spec_1): Likewise.
5412 (replace_outfile_spec_function): Likewise.
5413 (is_directory): Use filename_ncmp instead of strncmp.
5414 (print_multilib_info): Likewise.
5415 * gcov.c (find_source): Use filename_cmp instead
5416 instead of strcmp.
5417 (make_gcov_file_name): Fix order of slash/backslash
5418 checks.
5419 * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
5420 (add_standard_paths): Likewise.
5421 * mips-tfile.c (saber_stop): Handle backslash.
5422 * prefix.c (update_path): Use filename_ncmp instead of
5423 strncmp.
5424 * profile.c (output_location): Use filename_cmp instead
5425 of strcmp.
5426 * read-md.c (handle_toplevel_file): Handle backslash.
5427 * tlink.c (frob_extension): Likewise.
5428 * tree-cfg.c (same_line_p): Use filename_cmp instead of
5429 strcmp.
5430 * tree-dump.c (dequeue_and_dump): Handle backslash.
5431 * tree.c (get_file_function_name): Likewise.
5432 * gengtype.c (read_input_list): Likewise.
5433 (get_file_realbasename): Likewise.
5434 (get_output_file_with_visibility): Use filename_cmp
5435 instead of strcmp.
5436
75f6ec9a
RS
54372011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
5438
5439 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
5440 case to VFPv1.
5441
6c4e2997
NF
54422011-03-25 Nathan Froyd <froydnj@codesourcery.com>
5443
5444 * fold-const.c (expr_location_or): New function.
5445 (fold_truth_not_expr): Call it.
5446
0edf1bb2
JL
54472011-03-25 Jeff Law <law@redhat.com>
5448
5449 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
5450 va_end.
5451 * c-family/c-common.c (def_fn_type): Likewise.
5452 * ada/gcc-interface/utils.c (def_fn_type): Likewise.
5453 * emit-rtl.c (gen_rtvec): Likewise.
5454 * lto/lto-lang.c (def_fn_type): Likewise.
5455
fdc2de95
RG
54562011-03-25 Richard Guenther <rguenther@suse.de>
5457
5458 * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
5459 also generate copies.
5460 (fini_copy_prop): Handle constant values properly.
5461
21385db0
JJ
54622011-03-25 Jakub Jelinek <jakub@redhat.com>
5463
5464 * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
5465 mode size instead of bitsize with DWARF2_ADDR_SIZE.
5466 (hash_loc_operands, compare_loc_operands): Handle
5467 DW_OP_GNU_entry_value.
5468
6510e8bb
KT
54692011-03-25 Kai Tietz <ktietz@redhat.com>
5470
5471 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
5472 (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
5473 * config/i386/i386.c (ix86_conditional_register_usage): Adjust
5474 comment and use macro TARGET_64BIT_MS_ABI instead.
5475 (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
5476 and change default behavior for 32-bit MS_ABI.
5477 (ix86_reg_parm_stack_space): Check additionally for bit-ness.
5478 (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
5479 32-bit, too.
5480 (ix86_cfun_abi): Likewise.
5481 (ix86_maybe_switch_abi): Adjust comment.
5482 (init_cumulative_args): Check for bit-ness in MS_ABI case.
5483 (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
5484 instead of checking for SYSV_ABI.
5485 (ix86_nsaved_sseregs): Likewise.
5486 (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
5487 to 16 bytes.
5488 (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
5489 * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
5490 (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
5491 (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
5492 * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
5493
34019e28
RG
54942011-03-25 Richard Guenther <rguenther@suse.de>
5495
5496 * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
5497 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
5498 (verify_gimple): Remove.
5499 * tree-cfg.c (verify_gimple_call): Merge verification
5500 from verify_stmts.
5501 (verify_gimple_phi): Merge verification from verify_stmts.
5502 (verify_gimple_label): New function.
5503 (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
5504 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
5505 (verify_stmt): Merge into verify_gimple_in_cfg and callees.
5506 (verify_stmts): Rename to verify_gimple_in_cfg.
5507 (verify_gimple_in_cfg): New function.
5508 * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
5509 * tree-ssa.c (verify_ssa): Likewise.
5510 * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
5511
605896f5
RG
55122011-03-25 Richard Guenther <rguenther@suse.de>
5513
5514 * passes.c (init_optimization_passes): Add FRE pass after
5515 early SRA.
5516
7baa7c13
BS
55172011-03-25 Bernd Schmidt <bernds@codesourcery.com>
5518 Andrew Stubbs <ams@codesourcery.com>
5519
5520 * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
5521 for Cortex-A8.
5522 (arm_movdi_vfp_cortexa8): New pattern.
5523 * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
5524 iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
5525 instructions when tuning for Cortex-A8. Set attribute "arch".
5526 * config/arm/arm.md: Move include arm-tune.md up a bit.
5527 (define_attr "arch"): Add "onlya8" and "nota8" values.
5528 (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
5529
45dbce1b
NF
55302011-03-25 Nathan Froyd <froydnj@codesourcery.com>
5531
4ff08abf 5532 PR bootstrap/48282
45dbce1b
NF
5533 Revert:
5534 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
5535
5536 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
5537 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
5538 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
5539 * passes.c (init_optimization_passes): Move
5540 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
5541
ac9a30ae
KT
55422011-03-25 Kai Tietz <ktietz@redhat.com>
5543
5544 * c-typeck.c (comptypes_internal): Replace target
5545 hook call of comp_type_attributes by version in tree.c file.
5546 * gimple.c (gimple_types_compatible_p_1): Likewise.
5547 * tree-ssa.c (useless_type_conversion_p): Likewise.
5548 * tree.c (build_type_attribute_qual_variant): Likewise.
5549 (attribute_value_equal): New static helper function.
5550 (comp_type_attributes): New function.
5551 (merge_attributes): Use attribute_value_equal for comparison.
5552 (attribute_list_contained): Likewise.
5553 * tree.h (comp_type_attributes): New prototype.
5554
afdac116
RG
55552011-03-25 Richard Guenther <rguenther@suse.de>
5556
5557 * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
5558 of complex types at -O0.
5559 (verify_gimple_assign_binary): Likewise.
5560 (verify_gimple_assign_ternary): Likewise.
5561
ec6165f8
MW
55622011-03-24 Mark Wielaard <mjw@redhat.com>
5563
5564 * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
5565 (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
5566
2a5ac39a
MW
55672011-03-24 Mark Wielaard <mjw@redhat.com>
5568
5569 PR debug/48041
5570 * dwarf2out.c (output_abbrev_section): Only write table when
5571 abbrev_die_table_in_use > 1.
5572
e533b2a4
RH
55732011-02-24 Richard Henderson <rth@redhat.com>
5574
5575 * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
5576 (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
5577 (alpha_expand_unaligned_load_words): Use extql.
5578 (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
5579 (emit_insxl): Handle all modes for consistency.
5580
0b2a7367
RH
55812011-02-24 Richard Henderson <rth@redhat.com>
5582
5583 * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
5584 (alpha_expand_unaligned_load): Likewise.
5585 (alpha_expand_unaligned_store): Likewise.
5586 (alpha_expand_unaligned_load_words): Likewise.
5587 (alpha_expand_unaligned_store_words): Likewise.
5588 (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
5589 (alpha_split_lock_test_and_set_12): Likewise.
5590 (print_operand, alpha_fold_builtin_extxx): Likewise.
5591 (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
5592 * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
5593 (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
5594 (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
5595 (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
5596 (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
5597 (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
5598 (unaligned_storeqi_be, unaligned_storehi_be): Remove.
5599 (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
5600 (extwl, extll, extql): Similarly.
5601 (inswh, inslh, insqh): Similarly.
5602 (mskbl, mskwl, mskll, mskql): Similarly.
5603 (mskwh, msklh, mskqh): Similarly.
5604
315b2bef
RH
56052011-02-24 Richard Henderson <rth@redhat.com>
5606
5607 * config/alpha/alpha.md (attribute isa): Add er, ner.
5608 (attribute enabled): Handle them.
5609 (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
5610
67102517
RH
56112011-02-24 Richard Henderson <rth@redhat.com>
5612
5613 * config/alpha/alpha.md (attribute isa): Add vms.
5614 (attribute enabled): Handle it.
5615 (*movsf): Merge *movsf_{nofix,fix,nofp}.
5616 (*movdf): Merge *movdf_{nofix,fix,nofp}.
5617 (*movtf): Rename from *movtf_internal for consistency.
5618 (*movsi): Merge with *movsi_nt_vms.
5619 (*movhi): Merge *movhi_nobwx, *movhi_bwx.
5620 (*movqi): Merge *movqi_nobwx, *movqi_bwx.
5621 (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
5622 * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
5623
6aba5cb4
RH
56242011-02-24 Richard Henderson <rth@redhat.com>
5625
5626 * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
5627 (extendqisi2, extendhisi2): Likewise.
5628 (extendqidi2): Simplify BWX/non-BWX expansions.
5629 (extendhidi2): Similarly.
5630
bdfb351b
RH
56312011-02-24 Richard Henderson <rth@redhat.com>
5632
5633 * config/alpha/alpha.md (attribute isa): New.
5634 (attribute enabled): New.
5635 (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
5636 (zero_extendqisi2, zero_extendqidi2): Similarly.
5637 (zero_extendhisi2, zero_extendhidi2): Similarly.
5638 * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
5639
6abe71eb
RH
56402011-02-24 Richard Henderson <rth@redhat.com>
5641
5642 * config/alpha/predicates.md (input_operand): Revert last change;
5643 update comment to mention 32-bit VMS rather than Windows.
5644
7114321e
NF
56452011-03-24 Nathan Froyd <froydnj@codesourcery.com>
5646
5647 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
5648 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
5649 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
5650 * passes.c (init_optimization_passes): Move
5651 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
5652
c8679567
EB
56532011-03-24 Eric Botcazou <ebotcazou@adacore.com>
5654
5655 * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
5656
27173058
UB
56572011-03-24 Uros Bizjak <ubizjak@gmail.com>
5658
5659 * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
5660 correctly.
5661
6f0c9f06
JJ
56622011-03-24 Jakub Jelinek <jakub@redhat.com>
5663
5664 PR debug/48204
5665 * simplify-rtx.c (simplify_const_unary_operation): Call
5666 real_convert when changing mode class with FLOAT_EXTEND.
5667
662666e5
NC
56682011-03-24 Nick Clifton <nickc@redhat.com>
5669
5670 * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
5671 (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
5672 * config/rx/rx.c (rx_option_override): Set align_jumps,
5673 align_loops and align_labels if not set by the user.
5674 (rx_align_for_label): New function.
5675 (rx_max_skip_for_label): New function.
5676 (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
5677 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
5678 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
5679 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
5680 * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
5681
2b99b2b8
RS
56822011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
5683
5684 PR rtl-optimization/48263
5685 * optabs.c (expand_binop_directly): Reinstate convert_modes code
5686 and original commutative_p handling. Use maybe_gen_insn.
5687
ccecd6ea
AK
56882011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5689
5690 * reload.c (find_reloads_subreg_address): Add address_reloaded
5691 parameter and return true there if the full address has been
5692 reloaded.
5693 (find_reloads_toplev): Pass address_reloaded flag.
5694 (find_reloads_address_1): Don't use address_reloaded parameter.
5695
67295642
JL
56962011-03-24 Jeff Law <law@redhat.com>
5697
5698 * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
5699 unused variable "ann".
5700 (remove_unused_locals): Likewise.
5701
5702 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
5703 statement.
5704
5705 * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
5706 after it is freed.
5707
212aa74f
AK
57082011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5709
5710 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
5711 for invalid symbolic addresses.
5712 (s390_secondary_reload): Don't use s390_check_symref_alignment for
5713 larl operands.
5714
fe784e0d
EB
57152011-03-24 Eric Botcazou <ebotcazou@adacore.com>
5716
5717 * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
5718 the argument in calls to fold_truth_not_expr.
5719
63ee8641
NF
57202011-03-24 Nathan Froyd <froydnj@codesourcery.com>
5721
5722 * tree.c (record_node_allocation_statistics): New function.
5723 (make_node_stat, copy_node_stat, build_string): Call it.
5724 (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
5725 (build1_stat, build_omp_clause): Likewise.
5726
61be2a1c
RS
57272011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
5728
5729 * builtins.c (expand_movstr): Fix endp == 1 adjustment after
5730 last commit.
5731
a881aaa7
RG
57322011-03-24 Richard Guenther <rguenther@suse.de>
5733
5734 PR tree-optimization/48271
5735 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
5736 blocks that still exist.
5737
dbaa912c
RG
57382011-03-24 Richard Guenther <rguenther@suse.de>
5739
5740 PR tree-optimization/48270
5741 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
5742 not free datarefs before ddrs.
5743
1d60cc55
EB
57442011-03-24 Eric Botcazou <ebotcazou@adacore.com>
5745
5746 * tree-sra.c (build_ref_for_offset): Strip useless type conversions
5747 from the address built for a reference with variable offset.
5748
c78dd519
UB
57492011-03-24 Uros Bizjak <ubizjak@gmail.com>
5750
5751 PR target/48237
5752 * config/i386/i386.md (*movdf_internal_rex64): Do not split
5753 alternatives that can be handled with movq or movabsq insn.
5754 (*movdf_internal): Disable for !TARGET_64BIT.
5755 (*movdf_internal_nointeger): Ditto.
5756 * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
5757
b25b9e8f
NF
57582011-03-24 Nathan Froyd <froydnj@codesourcery.com>
5759
5760 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
5761 (FUNCTION_ARG_ADVANCE): Likewise.
5762 * tm.texi.in: Change references to them to hook references.
5763 * tm.texi: Regenerate.
c78dd519 5764 * targhooks.c (default_function_arg): Eliminate check for target macro.
b25b9e8f
NF
5765 (default_function_incoming_arg): Likewise.
5766 (default_function_arg_advance): Likewise.
c78dd519 5767 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
b25b9e8f
NF
5768 (function_arg_advance): Likewise.
5769 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
5770
190b2187
RG
57712011-03-24 Richard Guenther <rguenther@suse.de>
5772
5773 PR middle-end/48269
5774 * tree-object-size.c (addr_object_size): Do not double-account
5775 for MEM_REF offsets.
5776
a183b5c7
DN
57772011-03-24 Diego Novillo <dnovillo@google.com>
5778
5779 * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
c78dd519 5780 * lto-streamer-in.c (input_string_internal): Add clarifying comments.
a183b5c7
DN
5781 (lto_input_data_block): Move from lto-opts.c. Make extern.
5782 Update all users.
5783 (lto_input_string): Rename from input_string. Make extern.
5784 Update all users.
5785 * lto-streamer-out.c (lto_output_string_with_length): Rename from
5786 output_string_with_length.
5787 Output 0 to indicate a non-NULL string. Update all callers to
5788 not emit 0.
5789 (lto_output_string): Rename from output_string. Make extern.
5790 Update all users.
5791 (lto_output_decl_state_streams): Make extern.
5792 (lto_output_decl_state_refs): Make extern.
5793 * lto-streamer.h (lto_input_string): Declare.
5794 (lto_input_data_block): Declare.
5795 (lto_output_string): Declare.
5796 (lto_output_string_with_length): Declare.
5797 (lto_output_decl_state_streams): Declare.
5798 (lto_output_decl_state_refs): Declare.
5799
cfef45c8
RG
58002011-03-24 Richard Guenther <rguenther@suse.de>
5801
5802 PR tree-optimization/46562
5803 * tree.c (build_invariant_address): New function.
5804 * tree.h (build_invariant_address): Declare.
5805 * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
5806 a renamed function moved ...
5807 * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
5808 Take valueization callback parameter.
5809 * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
5810 * gimple-fold.h: New file.
5811 * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
5812 (ccp_fold, fold_const_aggregate_ref,
5813 fold_ctor_reference, fold_nonarray_ctor_reference,
5814 fold_array_ctor_reference, fold_string_cst_ctor_reference,
5815 get_base_constructor): Move ...
5816 * gimple-fold.c: ... here.
5817 (gimple_fold_stmt_to_constant_1): New function
5818 split out from ccp_fold. Take a valueization callback parameter.
5819 Valueize all operands.
5820 (gimple_fold_stmt_to_constant): New wrapper function.
5821 (fold_const_aggregate_ref_1): New function split out from
5822 fold_const_aggregate_ref. Take a valueization callback parameter.
5823 (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
5824 * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
5825 invariant POINTER_PLUS_EXPRs to invariant form.
5826 (vn_valueize): New function.
5827 (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
5828 * tree-vrp.c (vrp_valueize): New function.
5829 (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
5830 to fold statements to constants.
5831 * tree-ssa-pre.c (eliminate): Properly guard propagation of
5832 function declarations.
5833 * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
5834 tree-ssa-ccp.o): Add gimple-fold.h dependencies.
5835
5e0a7e40
RS
58362011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
5837
5838 * config/h8300/predicates.md (jump_address_operand): Fix register
5839 mode check.
5840
bfe068c3
IR
58412011-03-24 Ira Rosen <ira.rosen@linaro.org>
5842
5843 * doc/invoke.texi (max-stores-to-sink): Document.
5844 * params.h (MAX_STORES_TO_SINK): Define.
5845 * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
5846 if either vectorization or if-conversion is disabled.
5847 * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
5848 tree-vect-data-refs.c vect_equal_offsets.
5849 (dr_equal_offsets_p): New function.
5850 (find_data_references_in_bb): Remove static.
5851 * tree-data-ref.h (find_data_references_in_bb): Declare.
5852 (dr_equal_offsets_p): Likewise.
5853 * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
5854 (vect_drs_dependent_in_basic_block): Update calls to
5855 vect_equal_offsets.
5856 (vect_check_interleaving): Likewise.
5857 * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
5858 (cond_if_else_store_replacement): Rename to...
5859 (cond_if_else_store_replacement_1): ... this. Change arguments and
5860 documentation.
5861 (cond_if_else_store_replacement): New function.
5862 * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
5863 * params.def (PARAM_MAX_STORES_TO_SINK): Define.
5864
4908b0bf
CLT
58652011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
5866
5867 PR target/46934
5868 * config/arm/arm.md (casesi): Use the gen_int_mode() function
5869 to subtract lower bound instead of GEN_INT().
5870
2be478a2
JW
58712011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
5872
5873 PR other/48179
5874 PR other/48221
5875 PR other/48234
5876 * doc/extend.texi (Alignment): Move section to match order in TOC.
5877 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
5878 (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
5879
0c617be4
JL
58802011-03-23 Jeff Law <law@redhat.com>
5881
5882 * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
5883 before removing the edge.
5884
5885 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
5886 it may have been freed by redirect_branch_edge or
5887 redirect_edge_succ_nodup.
5888
58da96fe
RG
58892011-03-23 Richard Guenther <rguenther@suse.de>
5890
c78dd519 5891 * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
58da96fe
RG
5892 (check_va_list_escapes): Likewise.
5893 (check_all_va_list_escapes): Likewise.
5894
b8beb4d1
RG
58952011-03-23 Richard Guenther <rguenther@suse.de>
5896
5897 * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
5898 (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
5899 (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
5900 (alias.o): Likewise.
5901 (ipa-type-escape.o): Remove.
5902 (ipa-struct-reorg.o): Likewise.
5903 (GTFILES): Remove ipa-struct-reorg.c.
5904 * alias.c: Do not include ipa-type-escape.h.
5905 * tree-ssa-alias.c: Likewise.
5906 * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
5907 * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
5908 * passes.c (init_optimization_passes): Remove ipa-struct-reorg
5909 and ipa-type-escape passes.
5910 * tree-pass.h (pass_ipa_type_escape): Remove.
5911 (pass_ipa_struct_reorg): Likewise.
5912 * ipa-struct-reorg.h: Remove.
5913 * ipa-struct-reorg.c: Likewise.
5914 * ipa-type-escape.h: Likewise.
5915 * ipa-type-escape.c: Likewise.
5916 * doc/invoke.texi (-fipa-struct-reorg): Remove.
5917 (--param struct-reorg-cold-struct-ratio): Likewise.
5918 * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
5919 * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
5920 * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
5921
f137aa63
AK
59222011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5923
5924 * config/s390/2084.md: Enable all insn reservations also for z9_ec
5925 cpu attribute value.
5926 * config/s390/s390-opts.h (enum s390_arch_option): Remove.
5927 (enum processor_type): Add PROCESSOR_2094_Z9_EC.
5928 * config/s390/s390.c (processor_flags_table): New constant array.
5929 (s390_handle_arch_option): Remove.
5930 (s390_handle_option): Remove s390_handle_arch_option invocations
5931 and OPT_mwarn_framesize_ handling.
5932 (s390_option_override): Remove s390_handle_arch_option invocation.
5933 (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
5934 warnings.
5935 * config/s390/s390.md (cpu attribute): Add z9_ec value.
5936 * config/s390/s390.opt (s390_tune, s390_arch)
5937 (march=): Replace s390_arch_option enum and values with
5938 processor_type. Set variable name to s390_arch. Set
5939 initialization value.
5940 (mtune=): Replace s390_arch_option with processor_type. Set
5941 variable name to s390_tune. Set initialization value.
5942
bf90208f
JB
59432011-03-23 Julian Brown <julian@codesourcery.com>
5944
5945 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
5946 accesses which are not naturally aligned.
5947
3460fdf3
RS
59482011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
5949
5950 PR target/47553
5951 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
5952
a5c7d693
RS
59532011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
5954
5955 * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
5956 parameter from "int" to "enum insn_code".
5957 (expand_operand_type): New enum.
5958 (expand_operand): New structure.
5959 (create_expand_operand): New function.
5960 (create_fixed_operand, create_output_operand): Likewise
5961 (create_input_operand, create_convert_operand_to): Likewise.
5962 (create_convert_operand_from, create_address_operand): Likewise.
5963 (create_integer_operand): Likewise.
5964 (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
5965 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
5966 (expand_insn, expand_jump_insn): Likewise.
5967 * builtins.c (expand_builtin_prefetch): Use the new interfaces.
5968 (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
5969 (expand_movstr, expand_builtin___clear_cache): Likewise.
5970 (expand_builtin_lock_release): Likewise.
5971 * explow.c (allocate_dynamic_stack_space): Likewise.
5972 (probe_stack_range): Likewise. Allow check_stack to FAIL,
5973 and use the default handling in that case.
5974 * expmed.c (check_predicate_volatile_ok): Delete.
5975 (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
5976 (emit_cstore): Likewise.
5977 * expr.c (emit_block_move_via_movmem): Likewise.
5978 (set_storage_via_setmem, expand_assignment): Likewise.
5979 (emit_storent_insn, try_casesi): Likewise.
5980 (emit_single_push_insn): Likewise. Allow the expansion to fail.
5981 * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
5982 (expand_vec_shift_expr, expand_binop_directly): Likewise.
5983 (expand_twoval_unop, expand_twoval_binop): Likewise.
5984 (expand_unop_direct, emit_indirect_jump): Likewise.
5985 (emit_conditional_move, vector_compare_rtx): Likewise.
5986 (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
5987 (expand_sync_operation, expand_sync_fetch_operation): Likewise.
5988 (expand_sync_lock_test_and_set): Likewise.
5989 (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
5990 (emit_unop_insn): Likewise.
5991 (expand_copysign_absneg): Change icode to an insn_code.
5992 (create_convert_operand_from_type): New function.
5993 (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
5994 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
5995 (expand_insn, expand_jump_insn): Likewise.
5996 * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
5997 than const_int_operand for operand 2.
5998
78fadbab
AK
59992011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6000
6001 * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
6002 if possible.
6003
5f02387d
NF
60042011-03-22 Nathan Froyd <froydnj@codesourcery.com>
6005
6006 * emit-rtl.c (emit_pattern_before_noloc): New function.
6007 (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
6008 (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
6009 (emit_pattern_after_noloc): New function.
6010 (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
6011 (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
6012
fdf3e18a
NF
60132011-03-22 Nathan Froyd <froydnj@codesourcery.com>
6014
6015 * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
6016 (__ffsDI2): Likewise.
6017
42d085c1
RH
60182011-03-22 Richard Henderson <rth@redhat.com>
6019
6020 * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
6021 of !TARGET_ABI_OPEN_VMS.
6022 (alpha_trampoline_init, alpha_start_function): Likewise.
6023 (alpha_expand_epilogue, alpha_file_start): Likewise.
6024 * config/alpha/alpha.md (divsi3, modsi3): Likewise.
6025 (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
6026 (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
6027 (*divmodsi_internal, *divmoddi_internal_er): Likewise.
6028 (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
6029
cabbe12a
JM
60302011-03-22 Joseph Myers <joseph@codesourcery.com>
6031
6032 * config/s390/s390-opts.h: New.
6033 * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
6034 s390_arch_flags, s390_warn_framesize, s390_stack_size,
6035 s390_stack_guard): Remove.
6036 (s390_handle_arch_option): Return void. Take enum
6037 s390_arch_option value instead of string and searching array.
6038 (s390_handle_option): Don't assert that global structures are in
6039 use. Access variables via opts pointer. Use error_at. Don't use
6040 sscanf for -mstack-guard= or -mstack-size=. Update call to
6041 s390_handle_arch_option.
6042 (s390_option_override): Update call to s390_handle_arch_option.
6043 (s390_emit_prologue): Use %d format for s390_stack_size in
6044 diagnostic. Use %wd for HOST_WIDE_INT.
6045 * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
6046 (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
6047 * config/s390/s390.opt (config/s390/s390-opts.h): New
6048 HeaderInclude entry.
6049 (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
6050 s390_arch_flags, s390_warn_framesize): New Variable entries.
6051 (s390_arch_option): New Enum and EnumValue entries.
6052 (march=): Use Enum instead of Var.
6053 (mstack-guard=, mstack-size=): Use UInteger and Var.
6054 (mtune=): Use Enum.
6055
05b12036
JM
60562011-03-22 Joseph Myers <joseph@codesourcery.com>
6057
6058 * config/score/score.c (score_handle_option): Don't assert that
6059 global structures are in use. Access target_flags via opts
6060 pointer. Use value of -march= option to determine target_flags
6061 settings.
6062 * config/score/score.opt (march=): Use Enum.
6063 (score_arch): New Enum and EnumValue entries.
6064
dd51e35a
JM
60652011-03-22 Joseph Myers <joseph@codesourcery.com>
6066
6067 * config/mep/mep.c (option_mtiny_specified): Remove.
6068 (mep_option_override): Move register handling for -mivc2 from
6069 mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
6070 instead of option_mtiny_specified.
6071 (mep_handle_option): Access target_flags via opts pointer. Don't
6072 assert that global structures are in use. Defer part of -mivc2
6073 handling and move it to mep_option_override.
6074 * config/mep/mep.opt (IVC2): New Mask entry.
6075 (mivc2): Use Var and Defer instead of Mask.
6076
4a8d3d91
JM
60772011-03-22 Joseph Myers <joseph@codesourcery.com>
6078
6079 * config/v850/v850-opts.h: New.
6080 * config/v850/v850.c (small_memory): Replace with
6081 small_memory_physical_max array. Make that array static const.
6082 (v850_handle_memory_option): Take integer value of argument. Take
6083 gcc_options pointer, option text and location. Return void.
6084 Update for changes to small memory structures.
6085 (v850_handle_option): Access target_flags via opts pointer. Don't
6086 assert that global structures are in use. Update calls to
6087 v850_handle_memory_option.
c78dd519
UB
6088 (v850_encode_data_area): Update references to small memory settings.
6089 * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
4a8d3d91
JM
6090 (enum small_memory_type): Move to v850-opts.h.
6091 * config/v850/v850.opt (config/v850/v850-opts.h): New
6092 HeaderInclude entry.
6093 (small_memory_max): New Variable entry.
6094 (msda): Replace by pair of options msda= and msda-. Use UInteger.
6095 (mtda, mzda): Likewise.
6096
117fdbfa
JM
60972011-03-22 Joseph Myers <joseph@codesourcery.com>
6098
6099 * config/sh/sh.c (sh_handle_option): Access target_flags via opts
6100 pointer. Don't assert that global structures are in use.
6101
d715091c
JM
61022011-03-22 Joseph Myers <joseph@codesourcery.com>
6103
6104 * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
6105 via opts pointer. Don't assert that global structures are in use.
6106
1bb721dc
JM
61072011-03-22 Joseph Myers <joseph@codesourcery.com>
6108
6109 * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
6110 (munix=93): Use Var.
6111 * config/pa/pa-hpux1010.opt (munix=95): Use Var.
6112 * config/pa/pa-hpux1111.opt (munix=98): Use Var.
6113 * config/pa/pa-opts.h: New.
6114 * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
6115 (pa_handle_option): Don't assert that global structures are in
6116 use. Access target_flags via opts pointer. Don't handle
6117 OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
6118 OPT_munix_98 here.
6119 (pa_option_override): Handle deferred OPT_mfixed_range_.
6120
cd8d8754
JM
61212011-03-22 Joseph Myers <joseph@codesourcery.com>
6122
6123 * config/mn10300/mn10300-opts.h: New.
6124 * config/mn10300/mn10300.c (mn10300_processor,
6125 mn10300_tune_string): Remove.
6126 (mn10300_handle_option): Don't assert that global structures are
6127 in use. Access mn10300_processor via opts pointer. Don't handle
6128 OPT_mtune_ here.
6129 * config/mn10300/mn10300.h (enum processor_type): Move to
6130 mn10300-opts.h.
6131 (mn10300_processor): Remove.
6132 * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
6133 HeaderInclude entry.
6134 (mn10300_processor): New Variable entry.
6135 (mtune=): Use Var.
6136
24e6e6b1
JM
61372011-03-22 Joseph Myers <joseph@codesourcery.com>
6138
6139 * config/microblaze/microblaze.c: Don't include opts.h.
6140 (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
6141 * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
6142 (mno-clearbss): Use Var and Warn.
6143
8a784afb
JM
61442011-03-22 Joseph Myers <joseph@codesourcery.com>
6145
6146 * config/m32r/m32r-opts.h: New.
6147 * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
6148 (m32r_handle_option): Don't assert that global structures are in
6149 use. Access target_flags and m32r_cache_flush_func via opts
6150 pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
6151 OPT_mno_flush_trap here.
6152 * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
6153 include of m32r-opts.h.
6154 * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
6155 HeaderInclude entry.
6156 (m32r_model_selected, m32r_sdata_selected): New Variable entries.
6157 (mmodel=): Use Enum and Var.
6158 (m32r_model): New Enum and EnumValue entries.
6159 (mno-flush-trap): Use Var.
6160 (msdata=): Use Enum and Var.
6161 (m32r_sdata): New Enum and EnumValue entries.
6162
bbfc9a8c
JM
61632011-03-22 Joseph Myers <joseph@codesourcery.com>
6164
6165 * config/m32c/m32c.c: Don't include opts.h.
6166 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
6167 m32c_handle_option): Remove.
6168 (m32c_option_override): Check global_options_set.x_target_memregs
6169 instead of target_memregs_set.
6170 * config/m32c/m32c.h (target_memregs): Remove.
6171 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
6172 variable.
6173
e24b8335
JM
61742011-03-22 Joseph Myers <joseph@codesourcery.com>
6175
6176 * config/iq2000/iq2000-opts.h: New.
6177 * config/iq2000/iq2000.c: Don't include opts.h.
6178 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 6179 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
e24b8335
JM
6180 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
6181 HeaderInclude entry.
6182 (iq2000_tune): New Variable entry.
6183 (march=): Add comment. Use Enum.
6184 (iq2000_arch): New Enum and EnumValue entries.
6185 (mcpu=): Use Enum and Var.
6186 (iq2000_tune): New Enum and EnumValue entries.
6187
e6cc0c98
JM
61882011-03-22 Joseph Myers <joseph@codesourcery.com>
6189
6190 * config/ia64/ia64-opts.h: New.
6191 * config/ia64/ia64.c (ia64_tune): Remove.
6192 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
6193 here. Use error_at.
6194 (ia64_option_override): Handle deferred OPT_mfixed_range_.
6195 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
6196 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
6197 HeaderInclude entry.
6198 (ia64_tune): New Variable entry.
6199 (mfixed-range=): Use Defer and Var.
6200 (mtune=): Use Enum and Var.
6201 (ia64_tune): New Enum and EnumValue entries.
6202
db25893c
JM
62032011-03-22 Joseph Myers <joseph@codesourcery.com>
6204
6205 * config/frv/frv-opts.h: New.
6206 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
6207 frv-opts.h.
6208 (frv_cpu_type): Remove.
6209 * config/frv/frv.c: Don't include opts.h.
6210 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 6211 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
db25893c
JM
6212 (frv_cpu_type): New Variable entry.
6213 (frv_cpu): New Enum and EnumValue entries.
6214
6c223f5d
JM
62152011-03-22 Joseph Myers <joseph@codesourcery.com>
6216
6217 * config/cris/cris.c (cris_handle_option): Access target_flags via
6218 opts pointer. Don't assert that global structures are in use.
6219 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
6220 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
6221
bbd399cf
JM
62222011-03-22 Joseph Myers <joseph@codesourcery.com>
6223
6224 * config/bfin/bfin-opts.h: New.
6225 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
6226 bfin_si_revision, bfin_workarounds): Remove.
6227 (bfin_cpus): Make static const.
6228 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
6229 not bfin_lib_id_given.
6230 (bfin_handle_option): Don't set bfin_lib_id_given. Access
6231 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
c78dd519 6232 pointer. Use error_at. Don't assert that global structures are in use.
bbd399cf
JM
6233 * config/bfin/bfin.h: Include bfin-opts.h.
6234 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
6235 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
6236 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
6237 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
6238 entries.
6239
5e1b4d5a
JM
62402011-03-22 Joseph Myers <joseph@codesourcery.com>
6241
6242 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
6243 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
6244 or -msoft-float here.
6245 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
6246 -msoft-float and -mhard-float.
c78dd519 6247 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
5e1b4d5a
JM
6248 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
6249 msoft-float.
6250 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
6251 -msoft-float.
6252 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
6253 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
6254 not mhard-float.
6255 (LIBGCC_SPEC): Don't handle -msoft-float.
6256 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
6257 -mhard-float.
6258 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
6259 msoft-float.
6260 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
6261 -mfloat-abi=*, not -msoft-float and -mhard-float.
6262 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
6263 -msoft-float.
6264 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
6265 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
6266 mhard-float and msoft-float.
6267 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
6268 mfloat-abi=soft in comments, not mhard-float and msoft-float.
6269 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
6270 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
6271 mhard-float.
6272 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
6273 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
6274 msoft-float.
6275 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
6276 not mhard-float.
6277 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
6278 not msoft-float.
6279
800d1de1
RH
62802011-03-22 Richard Henderson <rth@redhat.com>
6281
6282 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
6283 TARGET_ABI_WINDOWS_NT.
6284 (alpha_output_function_end_prologue): Likewise.
6285 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
6286 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
6287 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
6288 (trap, *movsi_nt_vms): Likewise.
6289 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
6290 (*tablejump_osf_nt_internal): Remove.
6291 * config/alpha/predicates.md (input_operand): Only test Pmode.
6292
c59ddd2b
JM
62932011-03-22 Joseph Myers <joseph@codesourcery.com>
6294
6295 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
6296 via opts pointer. Use error_at. Don't assert that global
6297 structures are in use.
6298
1333f97f
JM
62992011-03-22 Joseph Myers <joseph@codesourcery.com>
6300
6301 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
6302 (ix86_handle_option): Access ix86_isa_flags and
6303 ix86_isa_flags_explicit via opts pointer. Don't assert that
6304 global structures are in use.
6305 (ix86_function_specific_save, ix86_function_specific_restore):
6306 Update ix86_isa_flags_explicit field name.
c78dd519 6307 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
1333f97f
JM
6308 (ix86_isa_flags_explicit): Rename TargetSave entry to
6309 x_ix86_isa_flags_explicit.
6310
75db85d8
RH
63112011-03-22 Richard Henderson <rth@redhat.com>
6312
6313 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
6314 (alpha_option_override, direct_return): Likewise.
6315 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
6316 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
6317 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
6318 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
6319 (alpha_expand_epilogue, alpha_end_function): Likewise.
6320 (alpha_init_libfuncs): Likewise.
6321 (struct machine_function): Remove unicosmk members.
6322 (print_operand) ['t']: Remove.
6323 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
6324 unicosmk_output_module_name, unicosmk_output_common,
6325 current_section_align, unicosmk_output_text_section_asm_op,
6326 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
6327 unicosmk_section_type_flags, unicosmk_unique_section,
6328 unicosmk_asm_named_section, unicosmk_insert_attributes,
6329 unicosmk_output_align, unicosmk_defer_case_vector,
6330 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
6331 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
6332 unicosmk_output_ssib, unicosmk_add_call_info_word,
6333 unicosmk_extern_head, unicosmk_output_default_externs,
6334 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
6335 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
6336 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
6337 * config/alpha/alpha-protos.h: Update.
6338 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
6339 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
6340 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
6341 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
6342 (*mulsi_se, mulvsi3): Likewise.
6343 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
6344 (*divmodsi_internal, call, call_value, realign): Likewise.
6345 (moddi3, umoddi3): Likewise; remove duplicate expander.
6346 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
6347 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
6348 (*movdi_nofix): Remove r/U alternative.
6349 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
6350 * config/alpha/constraints.md ("U"): Remove.
6351 * config/alpha/predicates.md (call_operand"): Don't test
6352 TARGET_ABI_UNICOSMK.
6353
96e45421
JM
63542011-03-22 Joseph Myers <joseph@codesourcery.com>
6355
6356 * target.def (handle_option): Take gcc_options and
6357 cl_decoded_option pointers and location_t.
6358 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
6359 * doc/tm.texi: Regenerate.
6360 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
6361 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
6362 * lto-opts.c (lto_reissue_options): Generate option structure for
6363 targetm.handle_option call.
6364 * opts.c (target_handle_option): Update call to
6365 targetm.handle_option. Remove assertions about values now passed
6366 down to hook.
6367 * targhooks.c (default_target_handle_option): New.
6368 * targhooks.h (default_target_handle_option): Declare.
6369 * config/alpha/alpha.c: Include opts.h.
6370 (alpha_handle_option): Update to new hook interface.
6371 * config/arm/arm.c: Include opts.h.
6372 (arm_handle_option): Update to new hook interface.
6373 * config/arm/t-arm (arm.o): Update dependencies.
6374 * config/bfin/bfin.c: Include opts.h.
6375 (bfin_handle_option): Update to new hook interface.
6376 * config/cris/cris.c: Include opts.h.
6377 (cris_handle_option): Update to new hook interface.
6378 * config/frv/frv.c: Include opts.h.
6379 (frv_handle_option): Update to new hook interface.
6380 * config/i386/i386.c: Include opts.h.
6381 (ix86_handle_option): Update to new hook interface.
6382 (ix86_valid_target_attribute_inner_p): Generate option structure
6383 for call to ix86_handle_option.
6384 * config/i386/t-i386 (i386.o): Update dependencies.
6385 * config/ia64/ia64.c: Include opts.h.
6386 (ia64_handle_option): Update to new hook interface.
6387 * config/ia64/t-ia64 (ia64.o): Update dependencies.
6388 * config/iq2000/iq2000.c: Include opts.h.
6389 (iq2000_handle_option): Update to new hook interface.
6390 * config/m32c/m32c.c: Include opts.h.
6391 (m32c_handle_option): Update to new hook interface.
6392 * config/m32r/m32r.c: Include opts.h.
6393 (m32r_handle_option): Update to new hook interface.
6394 * config/m68k/m68k.c: Include opts.h.
6395 (m68k_handle_option): Update to new hook interface.
6396 * config/mep/mep.c: Include opts.h.
6397 (mep_handle_option): Update to new hook interface.
6398 * config/microblaze/microblaze.c: Include opts.h.
6399 (microblaze_handle_option): Update to new hook interface.
6400 * config/mips/mips.c: Include opts.h.
6401 (mips_handle_option): Update to new hook interface.
6402 * config/mn10300/mn10300.c: Include opts.h.
6403 (mn10300_handle_option): Update to new hook interface.
6404 * config/pa/pa.c: Include opts.h.
6405 (pa_handle_option): Update to new hook interface.
6406 * config/pdp11/pdp11.c: Include opts.h.
6407 (pdp11_handle_option): Update to new hook interface.
6408 * config/rs6000/rs6000.c: Include opts.h.
6409 (rs6000_handle_option): Update to new hook interface.
6410 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
6411 * config/rx/rx.c: Include opts.h.
6412 (rx_handle_option): Update to new hook interface.
6413 * config/s390/s390.c: Include opts.h.
6414 (s390_handle_option): Update to new hook interface.
6415 * config/score/score.c: Include opts.h.
6416 (score_handle_option): Update to new hook interface.
6417 * config/sh/sh.c: Include opts.h.
6418 (sh_handle_option): Update to new hook interface.
6419 * config/sparc/sparc.c: Include opts.h.
6420 (sparc_handle_option): Update to new hook interface.
6421 * config/v850/v850.c: Include opts.h.
6422 (v850_handle_option): Update to new hook interface.
6423
66017846
JM
64242011-03-22 Joseph Myers <joseph@codesourcery.com>
6425
6426 * gcc.c (driver_unknown_option_callback): Only permit and save
6427 unknown -Wno- options.
6428 (driver_wrong_lang_callback): Save options directly instead of via
6429 driver_unknown_option_callback.
6430
e8b97ccd
EB
64312011-03-22 Eric Botcazou <ebotcazou@adacore.com>
6432
6433 * combine.c (simplify_set): Try harder to find the best CC mode when
6434 simplifying a nested COMPARE on the RHS.
6435
ebb9f8b0
JM
64362011-03-22 Joseph Myers <joseph@codesourcery.com>
6437
6438 * config/alpha/gnu.h: Remove.
6439 * config/arc: Remove directory.
6440 * config/arm/netbsd.h: Remove.
6441 * config/arm/t-pe: Remove.
6442 * config/crx: Remove directory.
6443 * config/i386/netbsd.h: Remove.
6444 * config/m68hc11: Remove directory.
6445 * config/m68k/uclinux-oldabi.h: Remove.
6446 * config/mcore/mcore-pe.h: Remove.
6447 * config/mcore/t-mcore-pe: Remove.
6448 * config/netbsd-aout.h: Remove.
6449 * config/rs6000/gnu.h: Remove.
6450 * config/sh/sh-symbian.h: Remove.
6451 * config/sh/symbian-base.c: Remove.
6452 * config/sh/symbian-c.c: Remove.
6453 * config/sh/symbian-cxx.c: Remove.
6454 * config/sh/symbian-post.h: Remove.
6455 * config/sh/symbian-pre.h: Remove.
6456 * config/sh/t-symbian: Remove.
6457 * config/svr3.h: Remove.
6458 * config/vax/netbsd.h: Remove.
6459 * config.build: Don't handle i[34567]86-*-pe.
6460 * config.gcc: Remove handling of deprecations for most deprecated
6461 targets.
6462 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
6463 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
6464 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
6465 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
6466 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
6467 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
6468 Remove cases.
6469 * config.host: Don't handle i[34567]86-*-pe.
6470 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
6471 (ASM_SPEC32): Don't handle -mcall-gnu.
6472 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
6473 -mcall-gnu.
6474 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
6475 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
6476 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
6477 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
6478 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
6479 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
6480 conditional on SYMBIAN.
6481 * configure.ac: Don't handle powerpc*-*-gnu*.
6482 * configure: Regenerate.
6483 * doc/extend.texi (interrupt attribute): Don't mention CRX.
6484 * doc/install-old.texi (m6811, m6812): Don't mention.
6485 * doc/install.texi (arc-*-elf*): Don't document multilib option.
6486 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
6487 (m68k-uclinuxoldabi): Don't mention.
6488 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
6489 Remove.
6490 (-mcall-gnu): Remove.
6491 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
6492 families): Remove constraint documentation.
6493
999a7d80
MS
64942011-03-22 Marius Strobl <marius@FreeBSD.org>
6495
6496 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
6497 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
6498 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
6499
980a0ff4
GJL
65002011-03-21 Georg-Johann Lay <avr@gjlay.de>
6501
6502 * config/avr/avr-protos.h (expand_epilogue): Change prototype
6503 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
6504 * config/avr/avr.c (init_cumulative_args)
6505 (avr_function_arg_advance): Use it.
6506 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
6507 sibcall epilogues.
6508 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
6509 (avr_function_ok_for_sibcall): ...this new function.
6510 (avr_lookup_function_attribute1): New static Function.
6511 (avr_naked_function_p, interrupt_function_p)
6512 (signal_function_p, avr_OS_task_function_p)
6513 (avr_OS_main_function_p): Use it.
6514 * config/avr/avr.md ("sibcall", "sibcall_value")
6515 ("sibcall_epilogue"): New expander.
6516 ("*call_insn", "*call_value_insn"): New insn.
6517 ("call_insn", "call_value_insn"): Remove
6518 ("call", "call_value", "epilogue"): Change expander to handle
6519 sibling calls.
6520
49168734
NC
65212011-03-21 Nick Clifton <nickc@redhat.com>
6522
6523 * doc/invoke.texi (Overall Options): Move closing brace to end of
6524 options list.
6525 (Optimization Options): Add missing @gol.
6526 (Directory Options): Likewise.
6527 (i386 and x86-64 Options): Likewise.
6528 (RS6000 and PowerPC Options): Likewise.
6529 (i386 and x86-64 Windows Options): Likewise.
6530 (V850 Options): Add text missing from descriptions.
6531
bdfe906f
RH
65322011-03-22 Richard Henderson <rth@redhat.com>
6533
6534 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
6535 (avr_incoming_return_addr_rtx): New.
6536 (emit_push_byte): New.
6537 (expand_prologue): Use it. Remove incorrect dwarf annotation for
6538 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
6539 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
6540 (emit_pop_byte): New.
6541 (expand_epilogue): Use it. Pop frame pointer by bytes.
6542 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
6543 (INCOMING_RETURN_ADDR_RTX): New.
6544 (INCOMING_FRAME_SP_OFFSET): New.
6545 (ARG_POINTER_CFA_OFFSET): New.
6546 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
6547 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
6548 (pophi): Remove.
6549
d090a5aa
RH
6550 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
6551
fdf3e18a
NF
65522011-03-22 Nathan Froyd <froydnj@codesourcery.com>
6553
6554 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
6555 (FUNCTION_ARG_ADVANCE): Likewise.
6556 * tm.texi.in: Change references to them to hook references.
6557 * tm.texi: Regenerate.
6558 * targhooks.c (default_function_arg): Eliminate check for target
6559 macro.
6560 (default_function_incoming_arg): Likewise.
6561 (default_function_arg_advance): Likewise.
c78dd519 6562 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
fdf3e18a
NF
6563 (function_arg_advance): Likewise.
6564 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
6565
009d3fcf
NF
65662011-03-22 Nathan Froyd <froydnj@codesourcery.com>
6567
6568 * tree.c (build_call_1): New function.
6569 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
6570
7bec30e1
RG
65712011-03-22 Richard Guenther <rguenther@suse.de>
6572
6573 PR tree-optimization/48228
6574 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
6575 for single-arg PHIs.
6576
0b7e851b
AB
65772011-03-22 Andrey Belevantsev <abel@ispras.ru>
6578
6579 PR rtl-optimization/48143
6580 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
6581 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
6582 sse2_cvtps2pd): Likewise.
6583
d89afca5
AK
65842011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6585
6586 * recog.c (canonicalize_change_group): Use validate_unshare_change.
6587
f471fe72
RG
65882011-03-22 Richard Guenther <rguenther@suse.de>
6589
6590 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
6591 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
6592 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
6593 and REALIGN_LOAD_EXPR.
6594 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
6595 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
6596 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
6597 DOT_PROD_EXPR case ...
6598 (expand_expr_real_2): ... here.
6599 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
6600 and REALIGN_LOAD_EXPR.
6601 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
6602 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
6603 (vect_create_epilog_for_reduction): Likewise.
6604 (vectorizable_reduction): Likewise.
6605 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
6606 * tree-vect-stmts.c (vectorizable_load): Likewise.
6607
f2f81d57
EB
66082011-03-22 Eric Botcazou <ebotcazou@adacore.com>
6609
6610 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
6611
ab081dd6
AK
66122011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6613
6614 * config/s390/s390.c (s390_delegitimize_address): Fix offset
6615 handling for PLTOFF/GOTOFF.
6616
6fd5332b
NC
66172011-03-22 Nick Clifton <nickc@redhat.com>
6618
6619 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
6620 trailing backslash from the end of the macro definition.
6621
01841ac0
AK
66222011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6623
6624 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
6625 and PLT unspecs.
6626
2ef6ce06
RS
66272011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
6628
6629 * expr.h (prepare_operand): Move to...
6630 * optabs.h (prepare_operand): ...here and change the insn code
6631 parameter from "int" to "enum insn_code".
6632 (insn_operand_matches): Declare.
6633 * expr.c (init_expr_target): Use insn_operand_matches.
6634 (compress_float_constant): Likewise.
6635 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
6636 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
6637 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
c78dd519
UB
6638 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
6639 Likewise.
2ef6ce06
RS
6640 (gen_cond_trap): Likewise.
6641 (prepare_operand): Likewise. Change icode to an insn_code.
6642 (insn_operand_matches): New function.
6643 * reload.c (find_reloads_address_1): Use insn_operand_matches.
6644 * reload1.c (gen_reload): Likewise.
6645 * targhooks.c (default_secondary_reload): Likewise.
6646
9e43ad68
UB
66472011-03-21 Uros Bizjak <ubizjak@gmail.com>
6648
9a96da32
UB
6649 * config/alpha/alpha.md (unspec): New define_c_enum.
6650 (unspecv): Ditto.
6651
66522011-03-21 Uros Bizjak <ubizjak@gmail.com>
6653
6654 PR debug/48214
9e43ad68
UB
6655 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
6656 between a call and its CALL_ARG_LOCATION note.
6657
31408f60
EB
66582011-03-21 Eric Botcazou <ebotcazou@adacore.com>
6659
6660 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
6661
66622011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
6663
6664 PR c/42544
6665 PR c/48197
6666 * c-common.c (shorten_compare): If primopN is first sign-extended
6667 to opN and then zero-extended to result type, set primopN to opN.
6668
9dfd55f5
DJ
66692011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
6670
6671 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
6672 for barrier handlers.
6673
f3c33d9d
MM
66742011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
6675
6676 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
6677 UNSPEC constants to be in the unspec enumeration, and redefine
6678 all UNSPECV constants to be in the unspecv enumeration, so that
6679 dumps print which unspec/unspec_volatile this is.
6680 * config/rs6000/vector.md (UNSPEC_*): Ditto.
6681 * config/rs6000/paired.md (UNSPEC_*): Ditto.
6682 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
6683 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
6684 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
6685
6686 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
6687 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
6688 UNSPECV_LWSYNC, since these are used as unspec_volatile.
6689 * config/rs6000/sync.md (isync, lwsync): Ditto.
6690
ac43f774
RG
66912011-03-21 Richard Guenther <rguenther@suse.de>
6692
6693 * params.def (lto-min-partition): Fix typo.
6694
411cdbd8
RG
66952011-03-21 Richard Guenther <rguenther@suse.de>
6696
6697 PR c/47939
6698 * c-decl.c (grokdeclarator): Drop to the main variant only
6699 for array types. Drop flag_gen_aux_info check.
6700
1cd9e416
RG
67012011-03-21 Richard Guenther <rguenther@suse.de>
6702
6703 PR translation/47911
6704 * params.def (lto-partitions): Fix typo.
6705 (lto-min-partition): Fix wording.
6706
ada5ad67
AT
67072011-03-21 Andreas Tobler <andreast@fgznet.ch>
6708
6709 * config/rs6000/t-freebsd: Remove duplication from file.
6710
f9613c9a
RG
67112011-03-21 Richard Guenther <rguenther@suse.de>
6712
6713 PR middle-end/47661
6714 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
6715
9bfbc1eb
RG
67162011-03-21 Richard Guenther <rguenther@suse.de>
6717
6718 PR lto/48210
6719 * params.def (lto-partitions): Require at least 1 partition.
6720
a2268084
RO
67212011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6722
6723 * gthr-solaris.h: Remove.
6724 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
6725 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
6726 (LIB_SPEC): Likewise.
6727 * config/sol2.opt (threads): Remove.
9e43ad68 6728 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
6729 (sparc*-*-solaris2*): Likewise.
6730 * configure.ac (enable_threads): Enable solaris support.
6731 * configure: Regenerate.
9e43ad68 6732 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
6733 * doc/install.texi (Configuration, --enable-threads=lib): Remove
6734 solaris.
6735
c43d9a1b
RO
67362011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6737
6738 * config.gcc: Obsolete *-*-solaris2.8*.
6739 * doc/install.texi (Specific, *-*-solaris2*): Document it.
6740
084239f4
RO
67412011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6742
6743 PR bootstrap/48135
6744 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
6745 reference. Solaris 8 perl works.
6746
64cadbe7
RO
67472011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6748
6749 PR bootstrap/48135
6750 * doc/install.texi (Prerequisites): Move jar etc. up.
6751 Explain support library version requirements.
6752
eb975109
RO
67532011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6754
6755 PR bootstrap/48135
6756 * doc/install.texi (Prerequisites): Move Perl to build
6757 requirements. Always necessary on Solaris 2 with Sun ld.
6758
8a509ffd
RO
67592011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6760
6761 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
6762 binutils 2.21.
6763 (Specific, i?86-*-solaris2.[89]): Likewise.
6764 (Specific, i?86-*-solaris2.10): Likewise.
6765 (Specific, mips-sgi-irix6): Likewise.
6766 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
6767 Update for binutils 2.21.
6768
8fbc58a1
RO
67692011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6770
6771 * configure.ac (gcc_cv_lto_plugin): Fix typo.
6772 Allow -fuse-linker-plugin for non-default plugin linker.
6773 * configure: Regenerate.
6774
7e84ad0b
NP
67752011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
6776
6777 PR bootstrap/48167
6778 * gengtype.c (files_rules): Added rule for cp/parser.h.
6779
2f36e14b
JJ
67802011-03-21 Jakub Jelinek <jakub@redhat.com>
6781
6782 PR target/48213
6783 * config/s390/s390.c (s390_delegitimize_address): Don't call
6784 lowpart_subreg if orig_x has BLKmode.
6785
62d784f7
KT
67862011-03-21 Kai Tietz <ktietz@redhat.com>
6787
6788 PR target/12171
9e43ad68
UB
6789 * doc/plugins.texi: Adjust documentation for plugin register_callback.
6790 * tree.h (attribute_spec): Add new member affects_type_identity.
6791 * attribs.c (empty_attribute_table): Adjust attribute_spec
6792 initializers.
62d784f7
KT
6793 * config/alpha/alpha.c: Likewise.
6794 * config/arc/arc.c: Likewise.
6795 * config/arm/arm.c: Likewise.
6796 * config/avr/avr.c: Likewise.
6797 * config/bfin/bfin.c: Likewise.
6798 * config/crx/crx.c: Likewise.
6799 * config/darwin.h: Likewise.
6800 * config/h8300/h8300.c: Likewise.
6801 * config/i386/cygming.h: Likewise.
6802 * config/i386/i386.c: Likewise.
6803 * config/ia64/ia64.c: Likewise.
6804 * config/m32c/m32c.c: Likewise.
6805 * config/m32r/m32r.c: Likewise.
6806 * config/m68hc11/m68hc11.c: Likewise.
6807 * config/m68k/m68k.c: Likewise.
6808 * config/mcore/mcore.c: Likewise.
6809 * config/mep/mep.c: Likewise.
6810 * config/microblaze/microblaze.c: Likewise.
6811 * config/mips/mips.c: Likewise.
6812 * config/rs6000/rs6000.c: Likewise.
6813 * config/rx/rx.c: Likewise.
6814 * config/sh/sh.c: Likewise.
6815 * config/sol2.h: Likewise.
6816 * config/sparc/sparc.c: Likewise.
6817 * config/spu/spu.c: Likewise.
6818 * config/stormy16/stormy16.c: Likewise.
6819 * config/v850/v850.c: Likewise.
6820
54833ec0
CLT
68212011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
6822
6823 * simplify-rtx.c (simplify_binary_operation_1): Handle
6824 (xor (and A B) C) case when B and C are both constants.
6825
14a41392
MX
68262011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
6827
6828 * tree-dfa.c (add_referenced_var): Fix typo in comment.
6829
806c3492
EB
68302011-03-20 Eric Botcazou <ebotcazou@adacore.com>
6831
6832 PR bootstrap/48168
6833 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
6834
65e0a0f3
JJ
68352011-03-20 Jakub Jelinek <jakub@redhat.com>
6836
6837 PR rtl-optimization/48156
6838 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
6839 assume df and df_lr are not NULL.
6840
b6a75dda
RR
68412011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
6842
6843 PR debug/48023
6844 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
6845 between a call and its CALL_ARG_LOCATION note.
6846
5969b52d
KK
68472011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
6848
6849 PR debug/48178
6850 * config/sh/sh.c (find_barrier): Don't emit a constant pool
6851 between a call and its corresponding CALL_ARG_LOCATION note.
6852
f773c2bd
AS
68532011-03-19 Anatoly Sokolov <aesok@post.ru>
6854
6855 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
6856 instead of loop. Use HARD_REGISTER_NUM_P predicate.
6857 * haifa-sched.c (setup_ref_regs): Ditto.
6858 * caller-save.c (add_used_regs_1): Ditto.
6859 * dse.c (look_for_hardregs): Ditto.
6860 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
6861 * sched-rgn.c (check_live_1): Ditto.
6862
8bf872f9
JM
68632011-03-18 Joseph Myers <joseph@codesourcery.com>
6864
6865 * c-decl.c (diagnose_mismatched_decls): Give an error for
6866 redefining a typedef with variably modified type.
6867
ff8e2159
JM
68682011-03-18 Joseph Myers <joseph@codesourcery.com>
6869
6870 * c-decl.c (grokfield): Don't allow typedefs for structures or
6871 unions with no tag by default.
6872 * doc/extend.texi (Unnamed Fields): Update.
6873
16cc4440
UB
68742011-03-18 Uros Bizjak <ubizjak@gmail.com>
6875
6876 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
6877 Rewrite using indirect functions.
6878 (lwp_slwpcb): Ditto.
6879 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
6880 (avx_vinsertf128<mode>): Ditto.
6881
e101e12e
AK
68822011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6883
6884 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
6885 unspecs.
6886
4627c7fb
AK
68872011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6888
6889 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 6890 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 6891
2d36b47f
MK
68922011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
6893
6894 PR rtl-optimization/48170
6895 * gcse.c (hoist_code): Remove bogus asserts.
6896
2a3d7659
JL
68972011-03-18 Georg-Johann Lay <avr@gjlay.de>
6898
6899 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
6900 computation for prologue/epilogue.
6901
34c3ef05
RO
69022011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6903
6904 * Makefile.in (check-consistency): Remove.
6905
81f2b976
JJ
69062011-03-18 Jakub Jelinek <jakub@redhat.com>
6907
6908 PR debug/48176
6909 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
6910 arange_table_in_use is 0, but either text_section_used or
6911 cold_text_section_used is true. Don't call it if
6912 !info_section_emitted.
6913
68fd7765
AS
69142011-03-18 Anatoly Sokolov <aesok@post.ru>
6915
6916 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
6917 FUNCTION_VALUE_REGNO_P): Remove.
6918 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
6919 Remove.
6920 * config/avr/avr.c (avr_ret_register): Make static inline.
6921 (avr_function_value_regno_p): New function.
6922 (avr_libcall_value): Make static. Add 'func' argument.
6923 (avr_function_value): Make static. Rename 'func' argument to
6924 'fn_decl_or_type', forward it to avr_libcall_value. Call
6925 avr_ret_register function instead of RET_REGISTER macro.
6926 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
6927
b4ef8aac
JM
69282011-03-18 Jason Merrill <jason@redhat.com>
6929
6930 PR c++/23372
6931 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
6932
09a52fc3
RG
69332011-03-18 Richard Guenther <rguenther@suse.de>
6934
6935 * doc/install.texi (--enable-gold): Remove.
6936 (--with-plugin-ld): Document.
6937 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
6938
2a3d7659 69392011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
6940
6941 PR middle-end/47790
6942 * expr.c (optimize_bitfield_assignment_op): Revamp to work
6943 again after expansion changes.
6944
2abbb0fe
CLT
69452011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
6946
6947 * combine.c (try_combine): Do simplification only call of
6948 subst() on i2 even when i1 is present. Update comments.
6949
2efd0aa6
KK
69502011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
6951
6952 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
6953 and UNSPEC_PCREL_SYMOFF.
6954
30a49b23
AK
69552011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6956
6957 * config/s390/s390.md: Use define_c_enum for the unspec constant
6958 definitions.
6959
419e1853
JJ
69602011-03-18 Richard Henderson <rth@redhat.com>
6961 Jakub Jelinek <jakub@redhat.com>
6962
6963 PR bootstrap/48161
6964 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
6965 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
6966
37875856
L
69672011-03-17 H.J. Lu <hongjiu.lu@intel.com>
6968
6969 PR middle-end/47725
6970 * combine.c (cant_combine_insn_p): Don't check zero/sign
6971 extended hard registers.
6972
76069764
L
69732011-03-17 H.J. Lu <hongjiu.lu@intel.com>
6974
6975 PR middle-end/47725
6976 * combine.c (cant_combine_insn_p): Check zero/sign extended
6977 hard registers.
6978
24da2019
AS
69792011-03-17 Anatoly Sokolov <aesok@post.ru>
6980
6981 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
6982 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
6983 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
6984 Change return type to bool.
6985 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
6986
a82ff31f
JJ
69872011-03-17 Jakub Jelinek <jakub@redhat.com>
6988
8b29c87a
JJ
6989 PR debug/48163
6990 * var-tracking.c (prepare_call_arguments): If CALL target
6991 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
6992 pc instead of looking it up using cselib_lookup and use
6993 Pmode for it if x has VOIDmode.
6994 * dwarf2out.c (gen_subprogram_die): If also both first and
6995 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
6996
a82ff31f
JJ
6997 PR debug/48163
6998 * function.c (assign_parms): For data.passed_pointer parms
6999 use MEM of data.entry_parm instead of data.entry_parm itself
7000 as DECL_INCOMING_RTL.
7001 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
7002 also when passed and declared mode is the same, DECL_RTL
7003 is a MEM with pseudo as address and DECL_INCOMING_RTL is
7004 a MEM too.
7005
82ce305c
JL
70062011-03-16 Jeff Law <law@redhat.com>
7007
7008 PR rtl-optimization/37273
7009 * ira-costs.c (scan_one_insn): Detect constants living in memory and
7010 handle them like argument loads from stack slots. Do not double
7011 count memory for memory constants and argument loads from stack slots.
7012
fe58e02b
L
70132011-03-17 H.J. Lu <hongjiu.lu@intel.com>
7014
7015 PR debug/48160
7016 * var-tracking.c (prepare_call_arguments): Check SUBREG.
7017
6fc4dbc7
L
70182011-03-17 H.J. Lu <hongjiu.lu@intel.com>
7019
7020 PR target/48171
7021 * config/i386/i386.opt: Add Save to -mavx and -mfma.
7022
db3ed0b3
JJ
70232011-03-17 Jakub Jelinek <jakub@redhat.com>
7024
8054a389
JJ
7025 PR bootstrap/48153
7026 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
7027 if dwarf_strict.
7028 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
7029 Clear call_arg_locations and call_arg_loc_last always.
7030
db3ed0b3
JJ
7031 PR middle-end/48152
7032 * var-tracking.c (prepare_call_arguments): If argument needs to be
7033 passed by reference, adjust argtype and mode.
7034
1bce4ff3
RG
70352011-03-17 Richard Guenther <rguenther@suse.de>
7036
7037 PR middle-end/48134
7038 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
7039 a value make sure to fold the statement.
7040
7c71147d
CLT
70412011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
7042
7043 PR target/43872
7044 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
7045 return condition with !cfun->calls_alloca.
7046
0e1ee172
RG
70472011-03-17 Richard Guenther <rguenther@suse.de>
7048
7049 PR bootstrap/48148
7050 * lto-cgraph.c (input_overwrite_node): Clear the abstract
7051 origin for decls in other ltrans units.
7052 (input_varpool_node): Likewise.
7053
f8bce518
RG
70542011-03-17 Richard Guenther <rguenther@suse.de>
7055
7056 PR middle-end/48165
7057 * tree-object-size.c (compute_object_offset): Properly return
7058 the offset operand of MEM_REFs as sizetype.
7059
1b6fa860
JJ
70602011-03-17 Jakub Jelinek <jakub@redhat.com>
7061
dabd47e7
JJ
7062 PR rtl-optimization/48141
7063 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
7064 * dse.c: Include params.h.
7065 (active_local_stores_len): New variable.
7066 (add_wild_read, dse_step1): Clear it when setting active_local_stores
7067 to NULL.
7068 (record_store, check_mem_read_rtx): Decrease it when removing
7069 from the chain.
7070 (scan_insn): Likewise. Increase it when adding to chain, if it
7071 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
7072 set active_local_stores to NULL before the addition.
7073 * Makefile.in (dse.o): Depend on $(PARAMS_H).
7074
1b6fa860
JJ
7075 PR rtl-optimization/48141
7076 * dse.c (record_store): If no positions are needed in an insn
7077 that cannot be deleted, at least unchain it from active_local_stores.
7078
7b5cb7d6
DS
70792011-03-16 Dodji Seketeli <dodji@redhat.com>
7080
7081 PR debug/47510
7082 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
7083 (lookup_type_die_strip_naming_typedef): ... here.
7084 (get_context_die): Use it.
7085 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
7086 the anonymous struct named by the naming typedef.
7087
585e9d9d
L
70882011-03-16 H.J. Lu <hongjiu.lu@intel.com>
7089
7090 PR target/48154
7091 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
7092 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
7093
6261ab0e
JL
70942011-03-16 Jeff Law <law@redhat.com>
7095
7096 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 7097 check for operands of conditional. Allow type to be a pointer.
6261ab0e 7098
0b0081ec
RG
70992011-03-16 Richard Guenther <rguenther@suse.de>
7100
7101 PR tree-optimization/48149
7102 * fold-const.c (fold_binary_loc): Fold
7103 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
7104
64a3d647
RG
71052011-03-16 Richard Guenther <rguenther@suse.de>
7106
7107 PR tree-optimization/26134
7108 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
7109 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
7110 (non_rewritable_mem_ref_base): Handle complex type component
7111 accesses, constrain offsets for vector and complex extracts
7112 more properly.
7113
ef13324e
RG
71142011-03-16 Richard Guenther <rguenther@suse.de>
7115
7116 PR tree-optimization/48146
7117 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
7118 operands avoiding the need for renaming.
7119
f0eddb90
RG
71202011-03-16 Richard Guenther <rguenther@suse.de>
7121
7122 * gimple-fold.c (maybe_fold_reference): Open-code relevant
7123 constant folding. Move MEM_REF canonicalization first.
7124 Rely on fold_const_aggregate_ref for initializer folding.
7125 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
7126
e42348b8
JJ
71272011-03-16 Jakub Jelinek <jakub@redhat.com>
7128
29f10e71
JJ
7129 PR middle-end/48136
7130 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
7131 arg0/arg1 or their arguments are always fold converted to matching
7132 types.
7133
e42348b8
JJ
7134 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
7135 to nargs.
7136
55b46574
RO
71372011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7138
7139 PR lto/46944
7140 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
7141 Handle in-tree gold.
7142 (ld_vers): Extract binutils version for gold.
7143 (gcc_cv_ld_hidden): Handle gold here.
7144 (gcc_cv_lto_plugin): Determine level of linker plugin support.
7145 * configure: Regenerate.
7146 * config.in: Regenerate.
7147 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
7148 -fuse-linker-plugin otherwise.
7149 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
7150 (LINK_COMMAND_SPEC): Use it.
7151 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
7152
2b1c5433
JJ
71532011-03-16 Jakub Jelinek <jakub@redhat.com>
7154
c2969d8e
JJ
7155 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
7156 * calls.c: Remove debug.h include.
7157 (emit_call_1): Don't call virtual_call_token debug hook.
7158 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
7159 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
7160 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
7161 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
7162 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
7163 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
7164 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
7165 dwarf2out_virtual_call): Remove.
7166 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
7167 copy_call_info and virtual_call hooks.
7168 (dwarf2out_init): Don't initialize vcall_insn_table,
7169 debug_dcall_section and debug_vcall_section.
7170 (prune_unused_types): Don't mark nodes from dcall_table.
7171 (dwarf2out_finish): Don't output dcall or vcall tables.
7172 * final.c (final_scan_insn): Don't call direct_call or
7173 virtual_call debug hooks.
7174 * debug.h (struct gcc_debug_hooks): Remove direct_call,
7175 virtual_call_token, copy_call_info and virtual_call hooks.
7176 (debug_nothing_uid): Remove prototype.
7177 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
7178 copy_call_info and virtual_call hooks.
7179 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
7180 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
7181 * debug.c (do_nothing_debug_hooks): Likewise.
7182 (debug_nothing_uid): Remove.
7183 * doc/invoke.texi (-fenable-icf-debug): Remove.
7184 * common.opt (-fenable-icf-debug): Likewise.
7185
325f5379
JJ
7186 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
7187 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
7188 call's MEM. Handle functions returning aggregate through a hidden
7189 first pointer. For virtual calls add clobbered pc to call arguments
7190 chain.
7191 * dwarf2out.c (gen_subprogram_die): Emit
7192 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
7193 can't be emitted.
7194
a58a8e4b
JJ
7195 PR debug/45882
7196 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
7197 * rtl.h (ENTRY_VALUE_EXP): Define.
7198 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
7199 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
7200 * print-rtl.c (print_rtx): Likewise.
7201 * gengtype.c (adjust_field_rtx_def): Likewise.
7202 * var-tracking.c (vt_add_function_parameter): Adjust
7203 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
7204 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
7205 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
7206 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
7207 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
7208
2b1c5433
JJ
7209 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
7210 Call var_location debug hook even on CALL_INSNs.
7211 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
7212 * rtl.def (ENTRY_VALUE): New.
7213 * dwarf2out.c: Include cfglayout.h.
7214 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
7215 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
7216 (struct call_arg_loc_node): New type.
7217 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
7218 tail_call_site_count): New variables.
7219 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
7220 DW_TAG_GNU_call_site_parameter.
7221 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
7222 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
7223 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
7224 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
7225 and DW_AT_GNU_all_source_call_sites.
7226 (mem_loc_descriptor): Handle ENTRY_VALUE.
7227 (add_src_coords_attributes): Don't add enything if
7228 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
7229 (dwarf2out_abstract_function): Save and clear call_arg_location,
7230 call_site_count and tail_call_site_count around dwarf2out_decl call.
7231 (gen_call_site_die): New function.
7232 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
7233 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
7234 (dwarf2out_function_decl): Clear call_arg_locations,
7235 call_arg_loc_last, set call_site_count and tail_call_site_count
7236 to -1 and free block_map.
7237 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
7238 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
7239 followed by any real instructions.
7240 (dwarf2out_begin_function): Set call_site_count and
7241 tail_call_site_count to 0.
7242 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
7243 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
7244 attempt to force a DIE for it and worst case remove the attribute.
7245 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
7246 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
7247 the decl itself.
7248 * var-tracking.c: Include tm_p.h.
7249 (vt_stack_adjustments): For calls call note_register_arguments.
7250 (argument_reg_set): New variable.
7251 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
7252 ensure the VALUE is resolved.
7253 (call_arguments): New variable.
7254 (prepare_call_arguments): New function.
7255 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
7256 (struct expand_loc_callback_data): Add ignore_cur_loc field.
7257 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
7258 always use the best expression.
7259 (vt_expand_loc): Add ignore_cur_loc argument.
7260 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
7261 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
7262 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
7263 note for all calls.
7264 (vt_add_function_parameter): Use cselib_lookup_from_insn.
7265 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
7266 argument. Don't call cselib_preserve_only_values and
7267 cselib_reset_table.
7268 (note_register_arguments): New function.
7269 (vt_initialize): Compute argument_reg_set. Call
7270 vt_add_function_parameters before processing basic blocks instead of
7271 afterwards. For calls call prepare_call_arguments before calling
7272 cselib_process_insn.
7273 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
7274 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
7275 (var-tracking.o): Depend on $(TM_P_H).
7276 * cfglayout.h (insn_scope): New prototype.
7277 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
7278 * cfglayout.c (insn_scope): No longer static.
7279 * insn-notes.def (CALL_ARG_LOCATION): New.
7280 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
7281 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
7282 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
7283 nothing for DECL_EXTERNAL BLOCK_VARS.
7284
9ef13bd0
AM
72852011-03-16 Alan Modra <amodra@gmail.com>
7286
7287 PR target/45844
7288 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
7289 create invalid offset address for vsx splat insn.
7290 * config/rs6000/predicates.md (splat_input_operand): New.
7291 * config/rs6000/vsx.md (vsx_splat_*): Use it.
7292
56b67510
XDL
72932011-03-15 Xinliang David Li <davidxl@google.com>
7294
7295 PR c/47837
7296 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
7297 (normalize_preds): New function.
7298 (is_use_properly_guarded): Normalize def predicates.
7299
80fffdef
RR
73002011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
7301
732f37c6 7302 PR target/46788
80fffdef
RR
7303 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
7304 in the output template.
7305
930672ad
RG
73062011-03-15 Richard Guenther <rguenther@suse.de>
7307
7308 PR middle-end/47650
7309 * tree-pretty-print.c (dump_function_declaration): Properly
7310 dump unprototyped and varargs function types.
7311
c7ee7b45
RG
73122011-03-15 Richard Guenther <rguenther@suse.de>
7313
7314 PR tree-optimization/13954
7315 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
7316 and friends.
7317
b2ad5e37
RG
73182011-03-15 Richard Guenther <rguenther@suse.de>
7319
7320 PR tree-optimization/48037
7321 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
7322 selects into BIT_FIELD_REFs.
7323 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
7324 vector select.
7325
7ee93d4e
JJ
73262011-03-15 Jakub Jelinek <jakub@redhat.com>
7327
7328 PR tree-optimization/48129
7329 * builtins.c (fold_builtin_snprintf): Convert to type of
7330 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
7331 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
7332
e106efc7
RG
73332011-03-15 Richard Guenther <rguenther@suse.de>
7334
7335 PR tree-optimization/41490
7336 * tree-ssa-dce.c (propagate_necessity): Handle returns without
7337 value but with VUSE.
7338 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
7339 return statements.
7340 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
7341 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
7342 * tree-tailcall.c (find_tail_calls): Ignore returns.
7343
17dea42f
RG
73442011-03-15 Richard Guenther <rguenther@suse.de>
7345
7346 PR middle-end/48031
7347 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
7348 or variable-indexed array accesses when in gimple form.
7349
01c77a60
RG
73502011-03-15 Richard Guenther <rguenther@suse.de>
7351
16cc4440 7352 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 7353
77b0791e
AM
73542011-03-15 Alan Modra <amodra@gmail.com>
7355
7356 PR target/48032
7357 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
7358 presume symbol_refs without a symbol_ref_decl are suitably
7359 aligned, nor other trees we may see here. Handle anchor symbols.
7360 (legitimate_constant_pool_address_p): Comment. Add mode param.
7361 Check cmodel=medium addresses. Adjust all calls.
7362 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
7363 creating cmodel=medium optimized access to locals.
7364 * config/rs6000/constraints.md (R): Pass QImode to
7365 legitimate_constant_pool_address_p.
7366 * config/rs6000/predicates.md (input_operand): Pass mode to
7367 legitimate_constant_pool_address_p.
7368 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
7369 Update prototype.
7370
35f61ba4
MM
73712011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
7372
7373 PR target/48053
7374 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
7375 64-bit constants being loaded into registers other than GPRs such
7376 as loading 0 into a VSX register.
7377
07332e6d
RO
73782011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7379
16cc4440 7380 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 7381
de888d90
JJ
73822011-03-14 Jakub Jelinek <jakub@redhat.com>
7383
ba3ceb2d
JJ
7384 PR middle-end/47917
7385 * builtins.c (fold_builtin_snprintf): New function.
7386 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
7387 (fold_builtin_4): Likewise.
7388
2e64f8b8
JJ
7389 PR middle-end/38878
7390 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
7391 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
7392 and C - X == X also strip nops from +/-/p+ operand.
7393 When optimizing -X == C, fold C to arg0's type.
7394
de888d90
JJ
7395 PR debug/47946
7396 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
7397 emit it as add_AT_int instead of add_AT_unsigned.
7398
73992011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
7400
7401 * unwind-dw2.c: Include sys/sdt.h if it exists.
7402 (_Unwind_DebugHook): Use STAP_PROBE2.
7403 * config.in, configure: Rebuild.
7404 * configure.ac: Check for sys/sdt.h.
7405
d34abfd2
UB
74062011-03-14 Uros Bizjak <ubizjak@gmail.com>
7407
7408 * config/i386/i386.md (ROUND_FLOOR): New constant.
7409 (ROUND_CEIL): Ditto.
7410 (ROUND_TRUNC): Ditto.
7411 (ROUND_MXCSR): Ditto.
7412 (ROUND_NO_EXC): Ditto.
7413 (rint<mode>2): Use new defines instead of numerical constants.
7414 (floor<mode>2): Ditto.
7415 (ceil<mode>2): Ditto.
7416 (btrunc<mode>2): Ditto.
7417 * config/i386/i386-builtin-types.def: Define ROUND function type
7418 aliases.
7419 * config/i386/i386.c (enum ix86_builtins): Add
7420 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
7421 (struct builtin_description): Add
7422 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
7423 (ix86_expand_sse_round): New static function.
7424 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
7425 function types.
7426 (ix86_builtin_vectorized_function): Handle
7427 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
7428
87f9e23d
TT
74292011-03-14 Tom Tromey <tromey@redhat.com>
7430
7431 * c-parser.c (c_parser_asm_string_literal): Clear
7432 warn_overlength_strings.
7433
b3ab9ea2
TT
74342011-03-14 Tom Tromey <tromey@redhat.com>
7435
7436 * c-parser.c (disable_extension_diagnostics): Save
7437 warn_overlength_strings.
7438 (restore_extension_diagnostics): Restore warn_overlength_strings.
7439
6bd73dd8
JJ
74402011-03-14 Jakub Jelinek <jakub@redhat.com>
7441
7442 * BASE-VER: Change to 4.7.0.
7443
7f4d6e1b
RG
74442011-03-14 Richard Guenther <rguenther@suse.de>
7445
7446 PR middle-end/48098
7447 * tree.c (build_vector_from_val): Adjust assert to requirements
7448 and reality.
7449
c6104ef1
JJ
74502011-03-14 Jakub Jelinek <jakub@redhat.com>
7451
7452 PR bootstrap/48102
d34abfd2 7453 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 7454
dfa95e19
AT
74552011-03-14 Andreas Tobler <andreast@fgznet.ch>
7456
f60c2554 7457 * config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP): Define in
dfa95e19
AT
7458 terms of target_flags_explicit. Adjust copyright year.
7459
7460 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
7461 * config/rs6000/t-freebsd: New file. Add override for
7462 LIB2FUNCS_EXTRA.
7463
bb322018
CD
74642011-03-13 Chris Demetriou <cgd@google.com>
7465
7466 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
7467 (-fno-diagnostics-show-option): this, to reflect current default.
7468 (-Werror=): Update text about -fno-diagnostics-show-option.
7469
12b1c80b
PB
74702011-03-12 Peter Bergner <bergner@vnet.ibm.com>
7471
7472 PR target/48053
7473 * config/rs6000/predicates.md (easy_vector_constant_add_self,
7474 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
7475 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
7476 mode is not V2DImode or V2DFmode.
7477 (vspltis_constant): Do not handle V2DImode and V2DFmode.
7478 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
7479 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
7480 registers to 0.
7481 (movdi_internal64): Likewise.
7482
57d598f7
SP
74832011-03-12 Sebastian Pop <sebastian.pop@amd.com>
7484
7485 PR tree-optimization/47127
7486 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
7487 parameter.
7488 (set_cloog_options): Same.
7489 (scop_to_clast): Same.
7490 (print_clast_stmt): Do not call cloog_state_malloc and
7491 cloog_state_free.
7492 (print_generated_program): Same.
7493 (gloog): Same.
7494 * graphite-clast-to-gimple.h (cloog_state): Declared.
7495 (scop_to_clast): Adjust declaration.
7496 * graphite.c (cloog_state): Defined here.
7497 (graphite_initialize): Call cloog_state_malloc.
7498 (graphite_finalize): Call cloog_state_free.
7499
f231b5ff
JM
75002011-03-11 Jason Merrill <jason@redhat.com>
7501
7502 * attribs.c (lookup_attribute_spec): Take const_tree.
7503 * tree.h: Adjust.
7504
6a4e2bd5
JM
75052011-03-11 Joseph Myers <joseph@codesourcery.com>
7506
7507 * config/sparc/sparc.c (sparc_option_override): Use
7508 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
7509
a758fd67
RG
75102011-03-11 Richard Guenther <rguenther@suse.de>
7511
7512 PR tree-optimization/48067
7513 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
7514 multiplication result will be only used once on the target
7515 stmt.
7516
03dfda54
RG
75172011-03-11 Richard Guenther <rguenther@suse.de>
7518
7519 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
7520
5f11a50a
RG
75212011-03-11 Richard Guenther <rguenther@suse.de>
7522
7523 PR lto/48073
7524 * tree.c (find_decls_types_r): Do not walk types only reachable
7525 from IDENTIFIER_NODEs.
7526
4074f163
JJ
75272011-03-11 Jakub Jelinek <jakub@redhat.com>
7528
7529 PR middle-end/48044
7530 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
7531 all vnode->force_output nodes as needed.
7532
30f7cdcd
JM
75332011-03-11 Jason Merrill <jason@redhat.com>
7534
7535 PR c++/48069
7536 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
7537 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
7538
62ecfeb8
MJ
75392011-03-11 Martin Jambor <mjambor@suse.cz>
7540
7541 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
7542 cgraph_node.
7543
e89e03ab
JJ
75442011-03-11 Jakub Jelinek <jakub@redhat.com>
7545
7546 PR tree-optimization/48063
7547 * ipa-inline.c (cgraph_decide_inlining): Don't try to
7548 inline functions called once if !tree_can_inline_p (node->callers).
7549
efbe978b 75502011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 7551
efbe978b
EB
7552 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
7553 extra_objs.
9d6193a7
CL
7554 * config/score/score3.c: Delete.
7555 * config/score/score3.h: Delete.
7556 * config/score/mul-div.S: Delete.
7557 * config/score/sfp-machine.h: Add new file.
7558 * config/score/constraints.md: Add new file.
7559 * config/score/t-score-softfp: Add new file.
efbe978b 7560 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
7561 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
7562 (score7_extra_constraint): Delete.
efbe978b 7563 (score7_option_override): Remove unused code.
9d6193a7
CL
7564 * config/score/score.c: Remove score3 and score5 define and code.
7565 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 7566 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
7567 * config/score/score.opt: Remove score3 and score5 options.
7568
5de27cca
JDA
75692011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7570
7571 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
7572 when _HPUX_SOURCE is defined.
7573 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
7574
18d92053
JM
75752011-03-10 Jason Merrill <jason@redhat.com>
7576
7577 PR c++/48029
7578 * stor-layout.c (layout_type): Don't set structural equality
7579 on arrays of incomplete type.
7580 * tree.c (type_hash_eq): Handle comparing them properly.
7581
67a2f76d
JJ
75822011-03-10 Jakub Jelinek <jakub@redhat.com>
7583
7584 PR debug/48043
18d92053 7585 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
7586 result mode matches original rtl mode.
7587
d845b2f9
NC
75882011-03-10 Nick Clifton <nickc@redhat.com>
7589
7590 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 7591 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 7592
db7ec035
JJ
75932011-03-09 Jakub Jelinek <jakub@redhat.com>
7594
7595 PR rtl-optimization/47866
7596 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
7597 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
7598 if target wasn't scalar.
7599 * function.c (assign_stack_temp_for_type): Assert that neither
7600 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
7601 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
7602 macro.
7603 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
7604
5d304e47
AK
76052011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7606
7607 * config/s390/s390-protos.h (s390_label_align): New prototype.
7608 * config/s390/s390.c (s390_label_align): New function.
7609 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
7610
93b826f0
MM
76112011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
7612
7613 PR target/47755
7614 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
7615 V2DI/V2DF constants. Only all 0's or all 1's are easy.
7616 (output_vec_const_move): Ditto.
7617
ef78aed6
AS
76182011-03-08 Anatoly Sokolov <aesok@post.ru>
7619
7620 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
7621 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
7622 * config/mips/mips.c (mips_preferred_reload_class): Make static.
7623 Change 'rclass' argument and result type to reg_class_t.
7624 (TARGET_PREFERRED_RELOAD_CLASS): Define.
7625
5f892aa0
GJL
76262011-03-08 Georg-Johann Lay <avr@gjlay.de>
7627
9e43ad68
UB
7628 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
7629 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
7630 (TARGET_MEMORY_MOVE_COST): Define.
7631 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 7632
32bd2409
JJ
76332011-03-08 Jakub Jelinek <jakub@redhat.com>
7634
530a4800
JJ
7635 PR debug/47881
7636 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
7637 removed anything.
7638
32bd2409
JJ
7639 PR tree-optimization/48022
7640 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
7641 for EQ/NE_EXPR.
7642
c7148991
JJ
76432011-03-07 Jakub Jelinek <jakub@redhat.com>
7644
7645 PR debug/47991
7646 * var-tracking.c (find_use_val): Return NULL for
7647 cui->sets && cui->store_p BLKmode MEMs.
7648
43070a6e
AS
76492011-03-07 Anatoly Sokolov <aesok@post.ru>
7650
7651 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
7652 Remove.
7653 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
7654 xstormy16_print_operand_address): Remove.
7655 * config/stormy16/stormy16.c (xstormy16_print_operand,
7656 xstormy16_print_operand_address): Make static.
7657 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
7658
efbe978b 76592011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
7660
7661 PR target/47862
7662 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
7663 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
7664 before definition.
7665
cec8ac0b
ZD
76662011-03-07 Zdenek Dvorak <ook@ucw.cz>
7667
7668 PR bootstrap/48000
7669 * cfgloopmanip.c (fix_bb_placements): Return immediately
7670 if FROM is BASE_LOOP's header.
7671
59527282
PW
76722011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
7673
7674 * gimplify.c (gimplify_function_tree): Fix building calls
7675 to __builtin_return_address.
7676
617718f7
AM
76772011-03-07 Alan Modra <amodra@gmail.com>
7678
7679 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
7680 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
7681 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
7682 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
7683 return_mode args.
7684 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
7685 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
7686 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
7687 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
7688 * config/rs6000/rs6000.c
7689 (rs6000_elf_end_indicate_exec_stack): Rename to..
7690 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
7691 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
7692 (rs6000_file_start): ..here.
7693 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
7694 file scope variables.
7695 (call_ABI_of_interest): New function.
7696 (init_cumulative_args): Set above vars when function return value
7697 is a float, vector, or small struct.
7698 (rs6000_function_arg_advance_1): Likewise for function args.
7699 (rs6000_va_start): Set rs6000_passes_float if variable arg function
7700 references float args.
7701
38528d50
MX
77022011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
7703
7704 * doc/cfg.texi: Remove "See" before @ref.
7705 * doc/invoke.texi: Likewise.
7706
f42cf4f4
JM
77072011-03-05 Jason Merrill <jason@redhat.com>
7708
7709 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
7710
804a304d
AG
77112011-03-05 Anthony Green <green@moxielogic.com>
7712
7713 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
7714
634ee309
ZD
77152011-03-05 Zdenek Dvorak <ook@ucw.cz>
7716
7717 PR rtl-optimization/47899
7718 * cfgloopmanip.c (fix_bb_placements): Fix first argument
7719 to flow_loop_nested_p when moving the loop upward.
7720
6fe471c8
RE
77212011-03-05 Richard Earnshaw <rearnsha@arm.com>
7722
7723 PR target/47719
7724 * arm.md (movhi_insn_arch4): Accept any immediate constant.
7725
cc58ceee
JJ
77262011-03-05 Jakub Jelinek <jakub@redhat.com>
7727
7728 PR tree-optimization/47967
7729 * ipa-cp.c (build_const_val): Return NULL instead of creating
7730 VIEW_CONVERT_EXPR for mismatching sizes.
7731 (ipcp_create_replace_map): Return NULL if build_const_val failed.
7732 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
7733 give up on versioning.
7734
ea868305
AM
77352011-03-05 Alan Modra <amodra@gmail.com>
7736
7737 PR target/47986
7738 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
7739 full cmodel medium/large lo_sum + high addresses.
7740
bc6ce334
AK
77412011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7742
7743 * config/s390/s390.c (s390_decompose_address): Reject non-literal
7744 pool references in UNSPEC_LTREL_OFFSET.
7745
87e7b310
JH
77462011-03-04 Jan Hubicka <jh@suse.cz>
7747
7748 PR lto/47497
7749 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
7750 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
7751 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
7752 Add node pointers.
87e7b310
JH
7753 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
7754 cgraph_add_thunk): Add node pointers.
7755 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
7756 associated to right node.
7757 (input_node): Update use of cgraph_same_body_alias
7758 and cgraph_add_thunk.
7759
d9c64246
CF
77602011-03-04 Changpeng Fang <changpeng.fang@amd.com>
7761
7762 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
7763 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
7764 modes when the flag -mprefer-avx128 is on.
d9c64246 7765
08707076
RS
77662011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
7767
7768 * dwarf2out.c (compare_loc_operands): Fix address handling.
7769
52517c81
AM
77702011-03-04 Alan Modra <amodra@gmail.com>
7771
7772 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
7773
b147c5b9
RG
77742011-03-04 Richard Guenther <rguenther@suse.de>
7775
7776 PR middle-end/47968
7777 * expmed.c (extract_bit_field_1): Prefer vector modes that
7778 vec_extract patterns can handle.
7779
8750672f
RG
77802011-03-04 Richard Guenther <rguenther@suse.de>
7781
7782 PR middle-end/47975
7783 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
7784
9eac0f2a
RH
77852011-03-04 Richard Henderson <rth@redhat.com>
7786
7787 * explow.c (emit_stack_save): Remove 'after' parameter.
7788 (emit_stack_restore): Likewise.
7789 * expr.h: Update to match.
7790 * builtins.c, calls.c, stmt.c: Likewise.
7791 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
7792 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
7793 * function.c (expand_function_end): Insert the emit_stack_save
7794 sequence before parm_birth_insn instead of after.
7795
dfee1406
UB
77962011-03-03 Uros Bizjak <ubizjak@gmail.com>
7797
7798 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
7799 (ssse3_pmaddubsw128): Ditto.
7800 (ssse3_pmaddubsw): Ditto.
7801
f1d4c3de
SE
78022011-03-03 Steve Ellcey <sje@cup.hp.com>
7803
7804 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
7805
71f3a3f5
JJ
78062011-03-03 Jakub Jelinek <jakub@redhat.com>
7807
423ed416
JJ
7808 PR c/47963
7809 * gimplify.c (omp_add_variable): Only call omp_notice_variable
7810 on TYPE_SIZE_UNIT if it is a DECL.
7811
71f3a3f5
JJ
7812 PR debug/47283
7813 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
7814 first operand is not is_gimple_mem_ref_addr, try to fold it.
7815 If the operand still isn't is_gimple_mem_ref_addr, clear
7816 MEM_EXPR on op0.
7817
4b1a5c0d
RG
78182011-03-03 Richard Guenther <rguenther@suse.de>
7819
7820 PR middle-end/47283
7821 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
7822 match comment.
7823 (refs_may_alias_p_1): For release branches return true if
7824 we are confused by our input.
7825
b46616fd
AK
78262011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7827
7828 * config/s390/s390.c (s390_function_value): Rename to ...
7829 (s390_function_and_libcall_value): ... this.
7830 (s390_function_value): New function.
7831 (s390_libcall_value): New function.
dfee1406 7832 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
7833 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
7834 target macro definitions.
7835 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
7836
46d8fabb
JM
78372011-03-02 Joseph Myers <joseph@codesourcery.com>
7838
7839 * config/i386/freebsd64.h (CC1_SPEC): Define.
7840 * config/i386/linux64.h (CC1_SPEC): Define.
7841 * config/i386/x86-64.h (CC1_SPEC): Don't define.
7842
6b1ce545
AS
78432011-03-02 Anatoly Sokolov <aesok@post.ru>
7844
7845 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
7846 Remove.
7847 * config/stormy16/stormy16.c: Include reload.h.
7848 (xstormy16_memory_move_cost): New function.
7849 (TARGET_MEMORY_MOVE_COST): Define.
7850
34161e98
RS
78512011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
7852
7853 PR rtl-optimization/47925
7854 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
7855 with side effects. Remove the more-specific check for volatile asms.
7856
f60a97cf
AM
78572011-03-02 Alan Modra <amodra@gmail.com>
7858
7859 PR target/47935
7860 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
7861 toc relative addresses for valid offsets.
7862
f2ca11ca
RG
78632011-03-01 Richard Guenther <rguenther@suse.de>
7864
7865 PR tree-optimization/47890
7866 * tree-vect-loop.c (get_initial_def_for_induction): Set
7867 related stmt properly.
7868
7a00d9ea
RG
78692011-03-01 Richard Guenther <rguenther@suse.de>
7870
7871 PR lto/47924
7872 * lto-streamer.c (lto_record_common_node): Also register
7873 the canonical type.
7874
06c7edcc
RG
78752011-03-01 Richard Guenther <rguenther@suse.de>
7876
7877 PR lto/46911
7878 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
7879 Do not stream DECL_ABSTRACT_ORIGIN.
7880 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
7881 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
7882 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
7883 Do not stream DECL_ABSTRACT_ORIGIN.
7884 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
7885 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
7886
998871e9
AS
78872011-02-28 Anatoly Sokolov <aesok@post.ru>
7888
7889 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
7890 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 7891 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
7892 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
7893 Add 'outgoing' argument.
7894 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
7895 function.
7896 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
7897 TARGET_FUNCTION_VALUE_REGNO_P): Define.
7898
94369251
KT
78992011-02-28 Kai Tietz <kai.tietz@onevision.com>
7900
7901 PR debug/28047
7902 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
7903 (lookup_filename): Likewise.
b2e2ea67 7904 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 7905
80a832cd
JJ
79062011-02-28 Bernd Schmidt <bernds@codesourcery.com>
7907 Jakub Jelinek <jakub@redhat.com>
7908
7909 PR middle-end/47893
7910 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
7911 (assign_stack_local_1): Change last argument type to int.
7912 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
7913 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 7914 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
7915 (assign_stack_local): Adjust caller.
7916 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
7917 of assign_stack_local, pass 0 as last argument.
7918 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
7919 callers.
7920
1b500976
JJ
79212011-02-28 Jakub Jelinek <jakub@redhat.com>
7922
f61c6f34
JJ
7923 PR debug/47283
7924 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
7925 Use target address_mode and pointer_mode hooks instead of hardcoded
7926 Pmode and ptr_mode. Handle some simple cases of extending if
7927 POINTERS_EXTEND_UNSIGNED < 0.
7928 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
7929 Call convert_debug_memory_address.
7930 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
7931 convert_debug_memory_address.
7932
1b500976
JJ
7933 PR middle-end/46790
7934 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
7935 * configure: Regenerated.
7936 * config.in: Regenerated.
7937 * varasm.c (default_function_section): Return NULL
b2e2ea67 7938 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 7939
2f2935b6
MJ
79402011-02-28 Martin Jambor <mjambor@suse.cz>
7941
7942 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
7943 the description to match the printed values.
7944
474086eb
RG
79452011-02-28 Richard Guenther <rguenther@suse.de>
7946
7947 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
7948 of the copied scope tree.
7949
15bf6f3a
RW
79502011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7951
7952 * doc/extend.texi (Function Attributes): Avoid deeply (and
7953 wrongly) nested tables.
7954
f6b439c9
JJ
79552011-02-27 Jakub Jelinek <jakub@redhat.com>
7956
7957 PR middle-end/47903
7958 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
7959 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
7960 r isn't op0 nor op1.
7961
1d8ca2c7
GJL
79622011-02-23 Georg-Johann Lay <avr@gjlay.de>
7963
7964 * config/avr/avr.md: Remove magic comment for emacs.
7965
593fca4b
GJL
79662011-02-23 Georg-Johann Lay <avr@gjlay.de>
7967
7968 PR target/45261
7969 * config/avr/avr.c (avr_option_override): Use error on bad options.
7970 (avr_help): New function.
7971 (TARGET_HELP): Define.
7972
6609216e
GJL
79732011-02-22 Georg-Johann Lay <avr@gjlay.de>
7974
7975 PR target/42240
7976 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
7977 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
7978
03d458af
GP
79792011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
7980
7981 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
7982 (ARM Options): Ditto.
7983 (i386 and x86-64 Options): Ditto.
7984 (RX Options): Ditto.
7985 (SPARC Options): Ditto.
7986
1c379b78
TC
79872011-02-26 Tijl Coosemans <tijl@coosemans.org>
7988
7989 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
7990 FreeBSD 6 and later. Generally use cpu generic.
7991
d5ed058c 79922011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 7993
d5ed058c
GP
7994 * doc/cpp.texi: Update copyright years.
7995
509d65dd 79962011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 7997
509d65dd 7998 PR target/46898
308d39cd
SB
7999 * config/lm32/lm32.md (ashrsi3): Added needed variable.
8000
509d65dd 80012011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 8002
509d65dd 8003 PR target/46898
308d39cd
SB
8004 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
8005 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
8006 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
8007 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 8008 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
8009 (gen_int_relational): Move declarations to start of function.
8010
822ba6d7
EB
80112011-02-25 Eric Botcazou <ebotcazou@adacore.com>
8012
8013 PR tree-optimization/45470
8014 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
8015 can throw internally only.
8016 * tree-vect-stmts.c (vectorizable_call): Likewise.
8017
ef795fc2
AS
80182011-02-24 Anatoly Sokolov <aesok@post.ru>
8019
8020 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
8021 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
8022 * config/stormy16/stormy16-protos.h
8023 (xstormy16_preferred_reload_class): Remove.
8024 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
8025 static. Change 'rclass' argument and return type to reg_class_t.
8026 (TARGET_PREFERRED_RELOAD_CLASS,
8027 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
8028
1c3277ee
RG
80292011-02-24 Richard Guenther <rguenther@suse.de>
8030
8031 * lto-streamer-in.c (input_bb): Do not find referenced vars
8032 in debug statements.
8033
67e18edb
JM
80342011-02-23 Jason Merrill <jason@redhat.com>
8035
8036 * common.opt (fabi-version): Document v5 and v6.
8037
b14fad9d
RG
80382011-02-23 Richard Guenther <rguenther@suse.de>
8039
8040 PR tree-optimization/47849
8041 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
8042
7fcf46f5
JZ
80432011-02-23 Jie Zhang <jie@codesourcery.com>
8044
8045 * opts-common.c (decode_cmdline_option): Print empty string
8046 argument as "" in decoded->orig_option_with_args_text.
8047 * gcc.c (execute): Print empty string argument as ""
8048 in the verbose output.
8049 (do_spec_1): Keep empty string argument.
8050
f85b70fd
NF
80512011-02-23 Nathan Froyd <froydnj@codesourcery.com>
8052
8053 * config.gcc: Declare score-* and crx-* obsolete.
8054
b152a615
JZ
80552011-02-23 Jie Zhang <jie@codesourcery.com>
8056
8057 PR rtl-optimization/47763
8058 * web.c (web_main): Ignore naked clobber when replacing register.
8059
bb6e77bc
AS
80602011-02-22 Anatoly Sokolov <aesok@post.ru>
8061
8062 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
8063 Remove.
8064
68bf6491
SP
80652011-02-22 Sebastian Pop <sebastian.pop@amd.com>
8066
8067 PR doc/47848
8068 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
8069
88ee1fc7
MS
80702011-02-22 Mike Stump <mikestump@comcast.net>
8071
8072 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
8073 assembler.
8074 * configure: Regenerate.
8075
6042d1dd
CLT
80762011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
8077
8078 PR rtl-optimization/46002
8079 * ira-color.c (update_copy_costs): Change class intersection
8080 test to reg_class_contents[] test of 'hard_regno'.
8081
7de97f9e
JM
80822011-02-21 Joseph Myers <joseph@codesourcery.com>
8083
8084 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
8085 than Driver option.
8086 * config/hpux11.opt (mt): Likewise.
8087 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
8088 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
8089 * config/vax/elf.opt (mno-asm-pic): Likewise.
8090 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
8091
d1d46f9f
MS
80922011-02-21 Mike Stump <mikestump@comcast.net>
8093
8094 PR target/47822
8095 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
8096 tree so we can get save the type.
8097 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
8098 for CFString instead of trying to use past the end of the builtins.
8099 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
8100 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
8101 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
8102 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
8103 Rename to darwin_builtin_cfstring.
8104 (darwin_init_cfstring_builtins): Return the built type.
8105
23e0d930
UB
81062011-02-21 Uros Bizjak <ubizjak@gmail.com>
8107
8108 PR target/47840
8109 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
8110 (_mm256_insert_epi64): Use _mm_insert_epi64.
8111
192997cf
AS
81122011-02-21 Anatoly Sokolov <aesok@post.ru>
8113
8114 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
8115 * config/stormy16/stormy16-protos.h
8116 (xstormy16_mode_dependent_address_p): Remove.
8117 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
8118 Make static. Change return type to bool. Change argument type to
8119 const_rtx. Remove dead code.
8120 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
8121
e292d003
RG
81222011-02-21 Richard Guenther <rguenther@suse.de>
8123
8124 PR lto/47820
8125 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
8126 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
8127 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
8128 TUs context.
23e0d930 8129 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
8130 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
8131
77f846e9
RG
81322011-02-20 Richard Guenther <rguenther@suse.de>
8133
8134 PR lto/47822
8135 * tree.c (free_lang_data_in_decl): Clean builtins from
8136 the TU decl BLOCK_VARS.
23e0d930 8137
b2cddfc8
AO
81382011-02-19 Alexandre Oliva <aoliva@redhat.com>
8139
8140 PR debug/47620
8141 PR debug/47630
8142 * haifa-sched.c (fix_tick_ready): Skip tick computation
8143 for debug insns.
8144
becf4c11
RG
81452011-02-19 Richard Guenther <rguenther@suse.de>
8146
8147 PR lto/47647
8148 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
8149 Remove lazy BLOCK_VARS streaming.
8150 (lto_input_ts_block_tree_pointers): Likewise.
8151 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
8152
27f98305
JM
81532011-02-19 Joseph Myers <joseph@codesourcery.com>
8154
8155 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
8156
064bf3f4
JM
81572011-02-19 Joseph Myers <joseph@codesourcery.com>
8158
8159 * config/i386/biarch32.h, config/i386/mach.h,
8160 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
8161
9215ddc3
JJ
81622011-02-19 Jakub Jelinek <jakub@redhat.com>
8163
8164 PR target/47800
8165 * config/i386/i386.md (peephole2 for shift and plus): Use
8166 operands[1] original mode in the first insn.
8167
8b021004
MS
81682011-02-18 Mike Stump <mikestump@comcast.net>
8169
65ded153 8170 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 8171
f84ae14c
JH
81722011-02-18 Jan Hubicka <jh@suse.cz>
8173
8174 PR middle-end/47788
65ded153
EB
8175 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
8176 to zero when the function is not inlinable at all.
f84ae14c 8177
eddabc80
JDA
81782011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8179
8180 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
8181 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
8182 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
8183 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
8184 * config/pa/t-pa64: Likewise.
8185 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
8186
ca3da783
JJ
81872011-02-18 Jakub Jelinek <jakub@redhat.com>
8188
8189 PR driver/47787
8190 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
8191
430aa868
JDA
81922011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8193
8194 PR target/47792
8195 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
8196
4bf7ff7e
AS
81972011-02-18 Anatoly Sokolov <aesok@post.ru>
8198
8199 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
8200 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
8201 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
8202 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
8203 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
8204 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
8205 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
8206 m32r_load_postinc_p, m32r_store_preinc_predec_p,
8207 m32r_legitimate_address_p): New functions.
8208 * config/m32r/constraints.md (constraint "S"): Don't use
8209 STORE_PREINC_PREDEC_P.
8210 (constraint "U"): Don't use LOAD_POSTINC_P.
8211
7efcf910
CLT
82122011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
8213
8214 PR rtl-optimization/46178
8215 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
8216 compute ira_hard_regno_cover_class[].
8217
237d6259
RG
82182011-02-18 Richard Guenther <rguenther@suse.de>
8219
8220 PR lto/47798
8221 * lto-streamer.h (lto_global_var_decls): Declare.
8222 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
8223 statics for global var processing.
8224
12d80acc
RG
82252011-02-18 Richard Guenther <rguenther@suse.de>
8226
8227 PR tree-optimization/47737
8228 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
8229 edge dominance check.
8230
abfea58d
JJ
82312011-02-18 Jakub Jelinek <jakub@redhat.com>
8232
8233 PR debug/47780
8234 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
8235 avoid invalid rtx sharing.
8236
f73c8882
GP
82372011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
8238
8239 * doc/cpp.texi (Obsolete Features): Add background on the
8240 origin of assertions.
8241
d764a8e6
IS
82422011-02-17 Iain Sandoe <iains@gcc.gnu.org>
8243
8244 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 8245 objc_abi == 2.
d764a8e6
IS
8246 * config/darwin.c (output_objc_section_asm_op): Added support for
8247 ABI v1 and v2.
8248 (is_objc_metadata): New.
8249 (darwin_objc2_section): New.
8250 (darwin_objc1_section): New.
8251 (machopic_select_section): Added support for ABI v1 and v2.
8252 (darwin_emit_objc_zeroed): New.
8253 (darwin_output_aligned_bss): Detect objc metadata and treat it
8254 appropriately.
8255 (darwin_asm_output_aligned_decl_common): Same.
8256 (darwin_asm_output_aligned_decl_local): Same.
8257 * config/darwin-sections.def: Updated for ABI v1 and v2.
8258 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
8259 compiling Objective-C code for the NeXT runtime, default to using
8260 ABI version 0 for 32-bit, and version 2 for 64-bit.
8261
0a8134ca
JM
82622011-02-17 Joseph Myers <joseph@codesourcery.com>
8263
8264 * common.opt (optimize_fast): New Variable.
8265 * opts.c (default_options_optimization): Use opts->x_optimize_fast
8266 instead of local variable ofast.
8267
0a256240
NP
82682011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
8269
8270 * doc/invoke.texi (fobjc-abi-version): Documented.
8271 (fobjc-nilcheck): Documented.
8272 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
8273 version.
8274
fa381cb2
JM
82752011-02-17 Joseph Myers <joseph@codesourcery.com>
8276
8277 PR driver/47390
8278 * common.opt (export-dynamic): New Driver option.
8279 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
8280
5437eaa6
JM
82812011-02-17 Joseph Myers <joseph@codesourcery.com>
8282
8283 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
8284
bb7e6d55
AO
82852011-02-17 Alexandre Oliva <aoliva@redhat.com>
8286 Jan Hubicka <jh@suse.cz>
8287
8288 PR debug/47106
8289 PR debug/47402
8290 * cfgexpand.c (account_used_vars_for_block): Remove.
8291 (estimated_stack_frame_size): Use referenced vars.
8292 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
8293 that were referenced in the original function. Test src_fn
8294 rather than cfun. Drop redundant get_var_ann.
8295 (setup_one_parameter): Drop redundant get_var_ann.
8296 (declare_return_variable): Likewise.
8297 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
8298 (copy_arguments_for_versioning): Drop redundant get_var_ann.
8299 * ipa-inline.c (compute_inline_parameters): Do not compute
8300 disregard_inline_limits here.
bb7e6d55
AO
8301 (compute_inlinable_for_current, pass_inlinable): New.
8302 (pass_inline_parameters): Require PROP_referenced_vars.
8303 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 8304 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
8305 (cgraph_analyze_function): Set .disregard_inline_limits.
8306 * tree-sra.c (convert_callers): Compute inliner parameters
8307 only for functions already in SSA form.
8308
f181a8a7
JM
83092011-02-17 Joseph Myers <joseph@codesourcery.com>
8310
8311 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
8312 -mlittle-endian-data.
8313
c6869789
JM
83142011-02-17 Joseph Myers <joseph@codesourcery.com>
8315
8316 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
8317 -mno-fpu, not -fpu and -no-fpu.
8318 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
8319 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
8320
fbf4bfd3
UB
83212011-02-17 Uros Bizjak <ubizjak@gmail.com>
8322
8323 PR target/43653
8324 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
8325 input reload with PLUS RTX.
8326
70be5dc7
JM
83272011-02-16 Joseph Myers <joseph@codesourcery.com>
8328
8329 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
8330 of InverseVar(MDMX).
8331
30b1646e
JM
83322011-02-16 Joseph Myers <joseph@codesourcery.com>
8333
8334 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
8335 --m4-340.
8336
ab7b71e9
JM
83372011-02-16 Joseph Myers <joseph@codesourcery.com>
8338
8339 * config/mn10300/mn10300.opt (mno-crt0): New.
8340
466f3f08
JM
83412011-02-16 Joseph Myers <joseph@codesourcery.com>
8342
8343 * config/m68k/uclinux.opt (static-libc): New Driver option.
8344
8226cd7b
JM
83452011-02-16 Joseph Myers <joseph@codesourcery.com>
8346
8347 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
8348
45cab1d7
JM
83492011-02-16 Joseph Myers <joseph@codesourcery.com>
8350
8351 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
8352 %{muser-extend-enabled}.
8353
65aab64f
RG
83542011-02-16 Richard Guenther <rguenther@suse.de>
8355
8356 PR tree-optimization/47738
8357 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
8358 the TODO from tree_predictive_commoning.
8359
fc2fa4fb
JL
83602011-02-15 Jeff Law <law@redhat.com>
8361
8362 Revert
8363 2011-01-25 Jeff Law <law@redhat.com>
8364
8365 PR rtl-optimization/37273
8366 * ira-costs.c (scan_one_insn): Detect constants living in memory and
8367 handle them like argument loads from stack slots. Do not double
8368 count memory for memory constants and argument loads from stack slots.
8369
4e380b8e
L
83702011-02-15 H.J. Lu <hongjiu.lu@intel.com>
8371
8372 PR middle-end/47725
8373 * combine.c (cant_combine_insn_p): Revert the last change.
8374
e3a69bb4
MM
83752011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
8376
8377 PR target/47755
8378 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
8379 mode for vector constants. Remove code that checks for TImode.
8380
de650422
AO
83812011-02-15 Alexandre Oliva <aoliva@redhat.com>
8382
8383 PR debug/47106
8384 PR debug/47402
8385 * cgraph.h (compute_inline_parameters): Return void.
8386 * ipa-inline.c (compute_inline_parameters): Adjust.
8387
30925d94
AO
83882011-02-15 Alexandre Oliva <aoliva@redhat.com>
8389
8390 PR debug/47106
8391 PR debug/47402
8392 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
8393 rather than decl.
8394 * cfgexpand.c (estimated_stack_frame_size): Likewise.
8395 * ipa-inline.c (compute_inline_parameters): Adjust.
8396
1b9a784a
AO
83972011-02-15 Alexandre Oliva <aoliva@redhat.com>
8398
8399 PR debug/47106
8400 PR debug/47402
8401 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
8402 Adjust all users. Pass FN to...
8403 * tree-flow-inline.h (first_referenced_var): ... this. Add
8404 fn argument.
8405 * ipa-struct-reorg.c: Adjust.
8406 * tree-dfa.c: Adjust.
8407 * tree-into-ssa.c: Adjust.
8408 * tree-sra.c: Adjust.
8409 * tree-ssa-alias.c: Adjust.
8410 * tree-ssa-live.c: Adjust.
8411 * tree-ssa.c: Adjust.
8412 * tree-ssanames.c: Adjust.
8413 * tree-tailcall.c: Adjust.
8414
27c6b086
AO
84152011-02-15 Alexandre Oliva <aoliva@redhat.com>
8416
8417 PR debug/47106
8418 PR debug/47402
8419 * tree-flow.h (referenced_var_lookup): Add fn parameter.
8420 Adjust all callers.
8421 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
8422 * tree-flow-inline.h: Adjust.
8423 * gimple-pretty-print.c: Adjust.
8424 * tree-into-ssa.c: Adjust.
8425 * tree-ssa.c: Adjust.
8426 * cfgexpand.c: Adjust.
8427
679e8183
NF
84282011-02-15 Nathan Froyd <froydnj@codesourcery.com>
8429
fbf4bfd3
UB
8430 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
8431 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
8432 (EXTRA_CONSTRAINT): Delete.
8433 * config/iq2000/constraints.md: New file.
8434 * config/iq2000/iq2000.md: Include it.
679e8183
NF
8435 (define_insn ""): Delete.
8436 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
8437 unsupported constraint letters from patterns.
8438 (call_value, call_value_internal1): Likewise.
8439 (call_value_multiple_internal1): Likewise.
8440
a45d420a
NC
84412011-02-15 Nick Clifton <nickc@redhat.com>
8442
8443 * config/mn10300/mn10300.c: Include tm-constrs.h.
8444 (struct liw_data): New data structure describing an LIW candidate
8445 instruction.
8446 (extract_bundle): Use struct liw_data. Allow small integer
8447 operands for some instructions.
8448 (check_liw_constraints): Use struct liw_data. Remove swapped
8449 parameter. Add comments describing the checks. Fix bug when
8450 assigning the source of liw1 to the source of liw2.
8451 (liw_candidate): Delete. Code moved into extract_bundle.
8452 (mn10300_bundle_liw): Use struct liw_data. Check constraints
8453 before swapping.
8454 * config/mn10300/predicates.md (liw_operand): New predicate.
8455 Allows registers and small integer constants.
8456 * config/mn10300/constraints.md (O): New constraint. Accetps
8457 integers in the range -8 to +7 inclusive.
8458 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
8459 for moving a small integer into a register. Give this alternative
8460 LIW attributes.
8461 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
8462 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
8463 using the J,K,L and M constraints,
8464 (liw): Remove SI mode on second operands to allow for HI and QI
8465 mode values.
8466 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
8467 instruction.
8468
8a73faf1
L
84692011-02-15 H.J. Lu <hongjiu.lu@intel.com>
8470
8471 PR middle-end/47725
8472 * combine.c (cant_combine_insn_p): Check zero/sign extended
8473 hard registers.
8474
48feba28
RG
84752011-02-15 Richard Guenther <rguenther@suse.de>
8476
8477 PR tree-optimization/47743
8478 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
8479 for a non-type-compatible VN lookup bail out.
8480
ad1c1eeb
NF
84812011-02-15 Nathan Froyd <froydnj@codesourcery.com>
8482
8483 * config/fr30/constraints.md: New file.
8484 * config/fr30/fr30.md: Include it.
8485 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
8486 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
8487 (EXTRA_CONSTRAINT): Delete.
8488
49ac143d
NF
84892011-02-15 Nathan Froyd <froydnj@codesourcery.com>
8490
8491 * config/frv/constraints.md: New file.
8492 * config/frv/predicates.md: Include it.
8493 * config/frv/frv.c (reg_class_from_letter): Delete.
8494 (frv_option_override): Don't initialize it.
8495 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
8496 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
8497 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
8498 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
8499 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
8500 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
8501 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
8502 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
8503 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
8504 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
8505 (REG_CLASS_FROM_CONSTRAINT): Delete.
8506
c95f9494
JJ
85072011-02-15 Jakub Jelinek <jakub@redhat.com>
8508
8509 PR middle-end/47581
8510 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
8511 if frame size is 0 in a leaf function.
8512
13aed611
RO
85132011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8514
8515 PR pch/14940
8516 * config/alpha/host-osf.c: New file.
8517 * config/alpha/x-osf: New file.
8518 * config.host (alpha*-dec-osf*): Use it.
8519
b09c3081
AS
85202011-02-14 Anatoly Sokolov <aesok@post.ru>
8521
8522 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
8523 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
8524 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
8525 (rx_mode_dependent_address_p): ...this. Make static. Change argument
8526 type to const_rtx.
8527 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
8528
d634083b
NF
85292011-02-14 Nathan Froyd <froydnj@codesourcery.com>
8530
8531 * config/stormy16/constraints.md: New file.
8532 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
8533 Use satisfies_constraint_Q and satisfies_constraint_R.
8534 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
8535 Delete.
8536 (xstormy16_legitiamte_address_p): Declare.
8537 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
8538 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
8539 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 8540 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
8541 Un-staticize.
8542 (xstormy16_extra_constraint_p): Delete.
8543
c7dd803e
EB
85442011-02-14 Eric Botcazou <ebotcazou@adacore.com>
8545
8546 PR tree-optimization/46494
8547 * loop-unroll.c (split_edge_and_insert): Adjust comment.
8548 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
8549 (pass_rtl_loop_done): Add TODO_verify_flow.
8550 * fwprop.c (pass_rtl_fwprop): Likewise.
8551 * modulo-sched.c (pass_sms): Likewise.
8552 * tree-ssa-dom.c (pass_dominator): Likewise.
8553 * tree-ssa-loop-ch.c (pass_ch): Likewise.
8554 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
8555 (pass_tree_loop_done): Likewise.
8556 * tree-ssa-pre.c (execute_pre): Likewise.
8557 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
8558 * tree-ssa-sink.c (pass_sink_code): Likewise.
8559 * tree-vrp.c (pass_vrp): Likewise.
8560
c6150df6
NF
85612011-02-14 Nathan Froyd <froydnj@codesourcery.com>
8562
c7dd803e
EB
8563 * config/v850/constraints.md: New file.
8564 * config/v850/v850.md: Include it.
8565 * config/v850/predicates.md (reg_or_0_operand): Use
8566 satisfies_constraint_G.
8567 (special_symbolref_operand): Use satisfies_constraint_K.
8568 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
8569 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
8570 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
8571 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
8572 (EXTRA_CONSTRAINT): Delete.
8573 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
8574 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
8575 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 8576
30dd1ea3
AS
85772011-02-14 Anatoly Sokolov <aesok@post.ru>
8578
8579 PR target/47696
8580 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
8581 description.
8582
944f4bb3
NF
85832011-02-14 Nathan Froyd <froydnj@codesourcery.com>
8584
8585 * config/mcore/constraints.md: New file.
8586 * config/mcore/mcore.md: Include it.
8587 * config/mcore/mcore.c (reg_class_from_letter): Delete.
8588 * config/mcore/mcore.h (reg_class_from_letter): Delete.
8589 (REG_CLASS_FROM_LETTER): Delete.
8590 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
8591 insn_const_int_ok_for_constraint.
8592 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
8593 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
8594 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
8595 (EXTRA_CONSTRAINT): Delete.
8596
ad56a54c
RO
85972011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8598
8599 PR ada/41929
8600 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
8601 (IS_SIGHANDLER): Define.
8602 (sparc64_is_sighandler): New function, split off from
8603 sparc64_fallback_frame_state.
8604 (sparc_is_sighandler): New function, split off from
8605 sparc_fallback_frame_state.
8606 (sparc64_fallback_frame_state): Merge with ...
8607 (sparc_fallback_frame_state): ... this into ...
8608 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
8609 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
8610 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
8611 stack instead of hardcoded offsets.
ad56a54c 8612
fbf4bfd3 86132011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
8614
8615 PR target/45808
8616 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
8617
029c8f3e
RW
86182011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8619
8620 * configure: Regenerate.
8621
a016dc83
JM
86222011-02-12 Joseph Myers <joseph@codesourcery.com>
8623
8624 PR driver/45731
8625 * gcc.c (asm_options): Correct spec matching --target-help.
8626
8957a0ec
MJ
86272011-02-12 Martin Jambor <mjambor@suse.cz>
8628
8629 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
8630 to gimple call error.
8631
6ef828bc
MS
86322011-02-12 Mike Stump <mikestump@comcast.net>
8633
8634 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
8635 comments in backslash regions.
8636
a4015be5
MS
86372011-02-12 Mike Stump <mikestump@comcast.net>
8638 Jakub Jelinek <jakub@redhat.com>
8639 Iain Sandoe <iains@gcc.gnu.org>
8640
8641 PR target/47324
8642 * dwarf2out.c (output_cfa_loc): When required, apply the
8643 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
8644 (output_loc_sequence): Likewise.
8645 (output_loc_operands_raw): Likewise.
8646 (output_loc_sequence_raw): Likewise.
8647 (output_cfa_loc): Likewise.
8648 (output_loc_list): Suppress register number adjustment when
8649 calling output_loc_sequence()
8650 (output_die): Likewise.
8651
5378dda2
AS
86522011-02-12 Anatoly Sokolov <aesok@post.ru>
8653
8654 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
8655 Remove macros.
8656 * config/xtensa/xtensa.c (xtensa_register_move_cost,
8657 xtensa_memory_move_cost): New functions.
8658 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
8659
f3d533d3
AO
86602011-02-12 Alexandre Oliva <aoliva@redhat.com>
8661
8662 PR lto/47225
8663 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
8664 in the current directory.
8665 * configure: Rebuilt.
8666
9d53403c
IS
86672011-02-12 Iain Sandoe <iains@gcc.gnu.org>
8668
8669 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 8670 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
8671 correct indents of the preceding block.
8672
a350a6c8
IS
86732011-02-12 Iain Sandoe <iains@gcc.gnu.org>
8674
8675 * gcc.c (driver_handle_option): Concatenate the argument to -F with
8676 the switch.
8677
bab79a40
JM
86782011-02-11 Joseph Myers <joseph@codesourcery.com>
8679
8680 * common.opt (nostartfiles): New Driver option.
8681
1bbc6693
XDL
86822011-02-11 Xinliang David Li <davidxl@google.com>
8683
8684 PR tree-optimization/47707
8685 * tree-chrec.c (convert_affine_scev): Keep type precision.
8686
1da7d8c0
EB
86872011-02-11 Eric Botcazou <ebotcazou@adacore.com>
8688
8689 PR tree-optimization/47420
8690 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
8691
86922011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
8693
8694 PR rtl-optimization/47614
8695 * rtl.h (check_for_inc_dec): Declare.
8696 * dse.c (check_for_inc_dec): Externalize...
8697 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
8698 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
8699
4df47bca
JM
87002011-02-11 Joseph Myers <joseph@codesourcery.com>
8701
8702 PR driver/47678
8703 * gcc.c (main): Do not compile inputs if there were errors in
8704 option handling.
8705 * opts-common.c (read_cmdline_option): Check for wrong language
8706 after other error checks.
8707
61502ca8
NF
87082011-02-11 Nathan Froyd <froydnj@codesourcery.com>
8709
8710 * cgraph.c: Fix comment typos.
8711 * cgraph.h: Likewise.
8712 * cgraphunit.c: Likewise.
8713 * ipa-cp.c: Likewise.
8714 * ipa-inline.c: Likewise.
8715 * ipa-prop.c: Likewise.
8716 * ipa-pure-const.c: Likewise.
8717 * ipa-ref.c: Likewise.
8718 * ipa-reference.c: Likewise.
8719
b63f974e
JJ
87202011-02-11 Jakub Jelinek <jakub@redhat.com>
8721
d50c5e0c
JJ
8722 PR debug/47684
8723 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 8724
6dd2a13c
RO
87252011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8726
8727 PR testsuite/47400
8728 * doc/sourcebuild.texi (Require Support): Document
8729 dg-require-ascii-locale.
8730
4a087ccf
MX
87312011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
8732
8733 * doc/lto.texi (Write summary): Fix missing parentheses.
8734
a4403164
DD
87352011-02-10 DJ Delorie <dj@redhat.com>
8736
8737 * config/m32c/m32c.c (m32c_option_override): Disable
8738 -fcombine-stack-adjustments until flag value tracking and compare
8739 optimization can be rewritten.
8740
4fac45bd
PB
87412011-02-10 Peter Bergner <bergner@vnet.ibm.com>
8742
8743 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
8744 PROCESSOR_POWER7.
8745 (PROCESSOR_DEFAULT64): Likewise.
8746
72602cd1
RH
87472011-02-10 Richard Henderson <rth@redhat.com>
8748
8749 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
8750 change from 2011-02-03.
8751 * config/rx/rx.c (flags_from_code): Likewise.
8752 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
8753 is valid, n/pz otherwise.
8754 (rx_select_cc_mode): Return CCmode if Y is not zero.
8755
ea57f573
RG
87562011-02-10 Richard Guenther <rguenther@suse.de>
8757
ea4c3e65 8758 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 8759
92b1d23b
RG
87602011-02-10 Richard Guenther <rguenther@suse.de>
8761
8762 PR tree-optimization/47677
8763 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
8764
525a2d06
JJ
87652011-02-10 Jakub Jelinek <jakub@redhat.com>
8766
8767 PR target/47665
8768 * combine.c (make_compound_operation): Only change shifts into
8769 multiplication for SCALAR_INT_MODE_P.
8770
06c969bd
JZ
87712011-02-10 Jie Zhang <jie@codesourcery.com>
8772
8773 PR testsuite/47622
8774 Revert
8775 2011-02-05 Jie Zhang <jie@codesourcery.com>
8776 PR debug/42631
8777 * web.c (entry_register): Don't clobber the number of the
8778 first uninitialized reference in used[].
8779
282ec48e
RG
87802011-02-09 Richard Guenther <rguenther@suse.de>
8781
8782 PR tree-optimization/47664
8783 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
8784 all edges again.
8785
df98c3e8
DE
87862011-02-09 David Edelsohn <dje.gcc@gmail.com>
8787
d0f21cd6
DE
8788 PR target/46481
8789 PR target/47032
df98c3e8
DE
8790 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
8791 PROCESSOR_POWER7.
8792 (PROCESSOR_DEFAULT64): Same.
8793 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
8794
67b6839f
RO
87952011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8796
8797 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
8798
4fd73214
MJ
87992011-02-09 Martin Jambor <mjambor@suse.cz>
8800
8801 PR middle-end/45505
8802 * tree-sra.c (struct access): New flags grp_scalar_read and
8803 grp_scalar_write. Changed description of assignment read and write
8804 flags.
8805 (dump_access): Dump new flags, reorder all of them.
8806 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
8807 to detect multiple scalar reads.
8808 (analyze_access_subtree): Use the new scalar read write flags instead
8809 of the old flags. Adjusted comments.
8810
91140cd3
DD
88112011-02-08 DJ Delorie <dj@redhat.com>
8812
8813 PR target/47548
8814 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
8815 patterns.
8816
4254bbfe
JM
88172011-02-08 Joseph Myers <joseph@codesourcery.com>
8818
8819 * config/m68k/uclinux.opt: New.
8820 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
8821
f1fda84e
JM
88222011-02-08 Joseph Myers <joseph@codesourcery.com>
8823
8824 * config/cris/elf.opt (sim): New Driver option.
8825
4933ae74
JM
88262011-02-08 Joseph Myers <joseph@codesourcery.com>
8827
8828 * config/xtensa/elf.opt: New.
8829 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
8830
4ad70280
JM
88312011-02-08 Joseph Myers <joseph@codesourcery.com>
8832
8833 * config/vax/elf.opt: New.
8834 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
8835
20893707
JM
88362011-02-08 Joseph Myers <joseph@codesourcery.com>
8837
8838 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
8839
b8e7038e
JM
88402011-02-08 Joseph Myers <joseph@codesourcery.com>
8841
8842 * config/gnu-user.opt: New.
8843 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
8844 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
8845 *-*-uclinux*): Use gnu-user.opt.
8846
e1c5225a
TS
88472011-02-08 Thomas Schwinge <thomas@schwinge.name>
8848
8849 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
8850 * config/i386/gnu.h (CPP_SPEC): Likewise.
8851
5e46b0c6
ILT
88522011-02-08 Ian Lance Taylor <iant@google.com>
8853
8854 * common.opt (fcx-limited-range): Add SetByCombined flag.
8855 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
8856 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
8857 (fassociative-math, freciprocal-math): Likewise.
8858 (funsafe-math-optimizations): Likewise.
8859 * opth-gen.awk: Handle SetByCombined.
8860 * optc-gen.awk: Likewise.
ea4c3e65 8861 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
8862 (set_unsafe_math_optimizations_flags): Likewise.
8863 * doc/options.texi (Option properties): Document SetByCombined.
8864
32243d46
JM
88652011-02-08 Joseph Myers <joseph@codesourcery.com>
8866
8867 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
8868 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
8869 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
8870 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
8871 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
8872
479c1fb3
SP
88732011-02-08 Sebastian Pop <sebastian.pop@amd.com>
8874
8875 PR tree-optimization/46834
8876 PR tree-optimization/46994
8877 PR tree-optimization/46995
8878 * graphite-sese-to-poly.c (used_outside_reduction): New.
8879 (detect_commutative_reduction): Call used_outside_reduction.
8880 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
8881 translate_scalar_reduction_to_array only when at least one
8882 loop-phi/close-phi tuple has been detected.
8883
3865a06f
RG
88842011-02-08 Richard Guenther <rguenther@suse.de>
8885
8886 PR middle-end/47639
8887 * tree-vect-generic.c (expand_vector_operations_1): Update
8888 stmts here ...
8889 (expand_vector_operations): ... not here. Cleanup EH info
8890 and the CFG if required.
8891
62902f3f
RG
88922011-02-08 Richard Guenther <rguenther@suse.de>
8893
8894 PR tree-optimization/47641
8895 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
8896 require type compatibility.
8897
0efb9d64
AK
88982011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8899
8900 * gimple-low.c (lower_function_body): Don't remove the location of
8901 the return statement here.
8902 (lower_gimple_return): Do it here instead but only if the return
8903 statement is actually used twice.
8904
034b8ae4
RG
89052011-02-08 Richard Guenther <rguenther@suse.de>
8906
8907 PR tree-optimization/47632
8908 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
8909 unused up_to_stmt parameter, return whether cfg-cleanup is
8910 necessary, remove EH info properly.
8911 (forward_propagate_into_gimple_cond): Adjust caller.
8912 (forward_propagate_into_cond): Likewise.
8913 (forward_propagate_comparison): Likewise.
8914 (tree_ssa_forward_propagate_single_use_vars): Make
8915 forward_propagate_comparison case similar to the two others.
8916
298362c8
NC
89172011-02-08 Nick Clifton <nickc@redhat.com>
8918
8919 * config/mn10300/mn10300.opt (mliw): New command line option.
8920 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
8921 (liw_bundling): New automaton.
8922 (liw): New attribute.
8923 (liw_op): New attribute.
8924 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
8925 (movsi_internal): Add LIW attributes.
8926 (andsi3): Likewise.
8927 (iorsi3): Likewise.
8928 (xorsi3): Likewise.
8929 (addsi3): Separate register and immediate alternatives.
8930 Add LIW attributes.
8931 (subsi3): Likewise.
8932 (cmpsi): Likewise.
8933 (aslsi3): Likewise.
8934 (lshrsi3): Likewise.
8935 (ashrsi3): Likewise.
8936 (liw): New pattern.
8937 * config/mn10300/mn10300.c (liw_op_names): New
8938 (mn10300_print_operand): Handle 'W' operand descriptor.
8939 (extract_bundle): New function.
8940 (check_liw_constraints): New function.
8941 (liw_candidate): New function.
8942 (mn10300_bundle_liw): New function.
8943 (mn10300_reorg): New function.
8944 (TARGET_MACHINE_DEPENDENT_REORG): Define.
8945 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
8946 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
8947 __LIW__ or __NO_LIW__.
8948 * doc/invoke.texi: Describe the -mliw command line option.
8949
90488014
JDA
89502011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8951
8952 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
8953 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
8954 pthread_mutex_unlock): Remove.
8955 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
8956 * config/pa/t-pa64: Likewise.
8957 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
8958 shared libc if not linking against libpthread.
8959 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
8960
689ff841
IS
89612011-02-07 Iain Sandoe <iains@gcc.gnu.org>
8962
8963 PR target/47558
8964 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
8965 on 10.6 and later to ensure that we always use the unwinder from
8966 the system. Only add -no_compact_unwind when tarteting darwin
8967 10.6 or later.
8968
821014aa
SE
89692011-02-07 Steve Ellcey <sje@cup.hp.com>
8970
8971 PR target/46997
8972 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
8973 (vec_interleave_lowv2sf): Ditto.
8974 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
8975 (vec_extract_oddv2sf): Ditto.
8976
41cf94fb
MS
89772011-02-07 Mike Stump <mikestump@comcast.net>
8978
62dea57d 8979 PR target/42333
41cf94fb
MS
8980 Add __ieee_divdc3 entry point.
8981 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
8982 entry point.
8983 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
8984 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
8985 * config/darwin.c (darwin_rename_builtins): Add.
8986 * config/darwin-protos.h (darwin_rename_builtins): Add.
8987
ee09a3dd
MM
89882011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
8989
8990 PR target/47636
8991 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
8992 for the condition.
8993
83296cd0
MS
89942011-02-07 Mike Stump <mikestump@comcast.net>
8995
ea4c3e65 8996 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 8997
0f4e946f
DC
89982011-02-07 Denis Chertykov <chertykov@gmail.com>
8999
9000 PR target/47534
9001 * config/avr/libgcc.S (exit): Move .endfunc
9002
1ec87690
RG
90032011-02-07 Richard Guenther <rguenther@suse.de>
9004
9005 PR tree-optimization/47615
9006 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
9007 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
9008 (run_scc_vn): Initialize it.
9009 (visit_reference_op_load): Use it.
9010 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
9011
b46ae6da
UW
90122011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9013
9014 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
9015 DImode trapping arithmetic libfuncs.
9016
c0aae19c
RG
90172011-02-07 Richard Guenther <rguenther@suse.de>
9018
9019 PR tree-optimization/47621
9020 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
9021 two duplicates ...
9022 (execute_update_addresses_taken): ... here. Make it more
9023 conservative in what we accept.
9024
295d926b
JM
90252011-02-06 Joseph Myers <joseph@codesourcery.com>
9026
9027 * config/sparc/freebsd.h (ASM_SPEC): Define.
9028 * config/sparc/vxworks.h (ASM_SPEC): Define.
9029
bdeb2471
JM
90302011-02-06 Joseph Myers <joseph@codesourcery.com>
9031
9032 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
9033
d5d3781a
SB
90342011-02-06 Steven Bosscher <steven@gcc.gnu.org>
9035
9036 * doc/invoke.texi: Remove reference to compiler internals from
9037 user documentation.
9038
9039 * reg-notes.def: Remove REG_VALUE_PROFILE.
9040 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
9041
c42c09fc
JJ
90422011-02-05 Jakub Jelinek <jakub@redhat.com>
9043
9044 PR middle-end/47610
9045 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 9046 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 9047
beea2755
JZ
90482011-02-05 Jie Zhang <jie@codesourcery.com>
9049
9050 PR debug/42631
9051 * web.c (entry_register): Don't clobber the number of the
9052 first uninitialized reference in used[].
9053
a130584a
SP
90542011-02-04 Sebastian Pop <sebastian.pop@amd.com>
9055
9056 PR tree-optimization/46194
9057 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
9058 (build_classic_dist_vector_1): Do not represent classic distance
9059 vectors when the access functions are variating in different loops.
9060
962101ac
JM
90612011-02-04 Joseph Myers <joseph@codesourcery.com>
9062
9063 * config/mips/iris6.opt: New.
9064 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
9065
55eaaa5b
RH
90662011-02-04 Richard Henderson <rth@redhat.com>
9067 Steve Ellcey <sje@cup.hp.com>
9068
9069 PR target/46997
9070 * config/ia64/predicates.md (mux1_brcst_element): New.
9071 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
9072 * config/ia64/ia64.c (ia64_unpack_assemble): New.
9073 (ia64_unpack_sign): New.
9074 (ia64_expand_unpack): Rewrite using new routines.
9075 (ia64_expand_widen_sum): Ditto.
9076 (ia64_expand_dot_prod_v8qi): Ditto.
9077 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
9078 routines, add endian check.
9079 (pmpy2_even): Rename from pmpy2_r, add endian check.
9080 (pmpy2_odd): Rename from pmpy2_l, add endian check.
9081 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
9082 (vec_widen_smult_hi_v4hi): Ditto.
9083 (vec_widen_umult_lo_v4hi): Ditto.
9084 (vec_widen_umult_hi_v4hi): Ditto.
9085 (mulv2si3): Change endian checks.
9086 (sdot_prodv4hi): Rewrite with new calls.
9087 (udot_prodv4hi): New.
9088 (vec_pack_ssat_v4hi): Add endian check.
9089 (vec_pack_usat_v4hi): Ditto.
9090 (vec_pack_ssat_v2si): Ditto.
9091 (max1_even): Rename from max1_r, add endian check.
9092 (max1_odd): Rename from max1_l, add endian check.
9093 (*mux1_rev): Format change.
9094 (*mux1_mix): Ditto.
9095 (*mux1_shuf): Ditto.
9096 (*mux1_alt): Ditto.
9097 (*mux1_brcst_v8qi): Use new predicate.
9098 (vec_extract_evenv8qi): Remove endian check.
9099 (vec_extract_oddv8qi): Ditto.
9100 (vec_interleave_lowv4hi): Format change.
9101 (vec_interleave_highv4hi): Ditto.
9102 (mix2_even): Rename from mix2_r, add endian check.
9103 (mix2_odd): Rename from mux2_l, add endian check.
9104 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
9105 (vec_extract_evenodd_helper): Format change.
9106 (vec_extract_evenv4hi): Remove endian check.
9107 (vec_extract_oddv4hi): Remove endian check.
9108 (vec_interleave_lowv2si): Format change.
9109 (vec_interleave_highv2si): Format change.
9110 (vec_initv2si): Remove endian check.
9111 (vecinit_v2si): Add endian check.
9112 (reduc_splus_v2sf): Add endian check.
9113 (reduc_smax_v2sf): Ditto.
9114 (reduc_smin_v2sf): Ditto.
9115 (vec_initv2sf): Remove endian check.
9116 (fpack): Add endian check.
9117 (fswap): Add endian check.
9118 (vec_interleave_highv2sf): Add endian check.
9119 (vec_interleave_lowv2sf): Add endian check.
9120 (fmix_lr): Add endian check.
9121 (vec_setv2sf): Format change.
9122 (*vec_extractv2sf_0_be): Use shift to extract operand.
9123 (*vec_extractv2sf_1_be): New.
9124 (vec_pack_trunc_v4hi): Add endian check.
9125 (vec_pack_trunc_v2si): Format change.
9126
dcde5957
JJ
91272011-02-04 Jakub Jelinek <jakub@redhat.com>
9128
9129 PR inline-asm/23200
9130 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 9131 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
9132 (stmt_is_replaceable_p): New function.
9133 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
9134 callers.
9135 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
9136 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
9137 SSA_NAME_DEF_STMT.
9138 * tree-flow.h (stmt_is_replaceable_p): New prototype.
9139
a64a8e5a
JM
91402011-02-04 Joseph Myers <joseph@codesourcery.com>
9141
9142 * config/rs6000/xilinx.opt: New.
9143 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
9144
4da2ed2f
JM
91452011-02-04 Joseph Myers <joseph@codesourcery.com>
9146
9147 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
9148
a6e508f9
AS
91492011-02-03 Anatoly Sokolov <aesok@post.ru>
9150
9151 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
9152 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
9153 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
9154 secondary_reload_info, xtensa_secondary_reload): Remove.
9155 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
9156 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
9157 (xtensa_preferred_reload_class): Make static. Change return and
9158 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
9159 Use CONST_DOUBLE_P predicate.
9160 (xtensa_preferred_output_reload_class): New function.
9161 (xtensa_secondary_reload): Make static.
9162
82dc0de3
JM
91632011-02-03 Joseph Myers <joseph@codesourcery.com>
9164
9165 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
9166 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
9167 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
9168
7fece979
JJ
91692011-02-03 Jakub Jelinek <jakub@redhat.com>
9170
9171 PR middle-end/31490
9172 * output.h (SECTION_RELRO): Define.
9173 (SECTION_MACH_DEP): Adjust.
9174 (get_variable_section): New prototype.
9175 * varpool.c (varpool_finalize_named_section_flags): New function.
9176 (varpool_assemble_pending_decls): Call it.
9177 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
9178 * cgraphunit.c (cgraph_output_in_order): Call
9179 varpool_finalize_named_section_flags.
9180 * varasm.c (get_section): Allow section flags conflicts between
9181 relro and read-only sections if the section hasn't been declared yet.
9182 Set SECTION_OVERRIDE after diagnosing section type conflict.
9183 (get_variable_section): No longer static.
9184 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
9185 readonly sections that need relocations.
9186 (decl_readonly_section_1): New function.
9187 (decl_readonly_section): Use it.
9188
9189 Revert:
509d65dd 9190 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
9191 Steve Ellcey <sje@cup.hp.com>
9192
9193 PR middle-end/31490
9194 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
9195 if section attribute used.
9196
d18d5478
JJ
91972011-02-03 Jakub Jelinek <jakub@redhat.com>
9198
9199 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
9200 * config/darwin.c (SECTION_NO_ANCHOR): Define.
9201 (darwin_init_sections): Remove assertion.
9202
6479ed4b
NC
92032011-02-03 Nick Clifton <nickc@redhat.com>
9204
9205 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
9206 lt and ge.
38be4072 9207 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
9208 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
9209 instead of "n" and "pz".
9210 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
9211 CC_FLAG_S.
9212
89843f5d
JJ
92132011-02-03 Jakub Jelinek <jakub@redhat.com>
9214
65450d64
JJ
9215 PR target/47312
9216 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
9217 fma, expand FMA_EXPR as fma{,f,l} call.
9218
7d58701c
JJ
9219 PR lto/47274
9220 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
9221 copy them into a unsigned char variable and pass address of it to
9222 lto_output_data_stream.
9223
89843f5d
JJ
9224 PR target/47564
9225 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
9226 around backend_init_target and lang_dependent_init_target calls.
9227 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
9228 (verify_cgraph_node): Don't call set_cfun here. Use
9229 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
9230 Set error_found for incorrectly represented calls to thunks.
9231
4deef538
AO
92322011-02-03 Alexandre Oliva <aoliva@redhat.com>
9233
9234 PR debug/43092
9235 PR rtl-optimization/43494
9236 * rtl.h (for_each_inc_dec_fn): New type.
9237 (for_each_inc_dec): Declare.
9238 * rtlanal.c (struct for_each_inc_dec_ops): New type.
9239 (for_each_inc_dec_find_inc_dec): New fn.
9240 (for_each_inc_dec_find_mem): New fn.
9241 (for_each_inc_dec): New fn.
9242 * dse.c (struct insn_size): Remove.
9243 (replace_inc_dec, replace_inc_dec_mem): Remove.
9244 (emit_inc_dec_insn_before): New fn.
9245 (check_for_inc_dec): Use it, along with for_each_inc_dec.
9246 (canon_address): Pass mem modes to cselib_lookup.
9247 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
9248 (cselib_lookup_from_insn): Likewise.
9249 (cselib_subst_to_values): Likewise.
9250 * cselib.c (find_slot_memmode): New var.
9251 (cselib_find_slot): New fn. Use it instead of
9252 htab_find_slot_with_hash everywhere.
9253 (entry_and_rtx_equal_p): Use find_slot_memmode.
9254 (autoinc_split): New fn.
9255 (rtx_equal_for_cselib_p): Rename and implement in terms of...
9256 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
9257 Deal with autoinc. Special-case recursion into MEMs.
9258 (cselib_hash_rtx): Likewise.
9259 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
9260 address and MEM modes.
9261 (cselib_subst_to_values): Add memmode, pass it on.
9262 Deal with autoinc.
9263 (cselib_lookup): Add memmode argument, pass it on.
9264 (cselib_lookup_from_insn): Add memmode.
9265 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
9266 (struct cselib_record_autoinc_data): New.
9267 (cselib_record_autoinc_cb): New fn.
9268 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
9269 mode to cselib_lookup. Reset autoinced REGs here instead of...
9270 (cselib_process_insn): ... here.
9271 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
9272 to cselib_lookup.
9273 (add_uses): Likewise, also to cselib_subst_to_values.
9274 (add_stores): Likewise.
9275 * sched-deps.c (add_insn_mem_dependence): Pass mode to
9276 cselib_subst_to_values.
9277 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
9278 * gcse.c (do_local_cprop): Adjusted.
9279 * postreload.c (reload_cse_simplify_set): Adjusted.
9280 (reload_cse_simplify_operands): Adjusted.
9281 * sel-sched-dump (debug_mem_addr_value): Pass mode.
9282
1551d44a
AO
92832011-02-03 Alexandre Oliva <aoliva@redhat.com>
9284
9285 PR tree-optimization/45122
9286 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
9287 unsafe assumptions when there's more than one loop exit.
9288
c9485473
MM
92892011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
9290
9291 PR target/47272
9292 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
9293 Document using vector double with the load/store builtins, and
9294 that the load/store builtins always use Altivec instructions.
9295
9296 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
9297 to use altivec memory instructions, even on VSX.
9298 (vector_altivec_store_<mode>): Ditto.
9299
9300 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
9301 function.
9302
9303 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
9304 V2DF, V2DI support to load/store overloaded builtins.
9305
9306 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
9307 altivec load/store builtins for V2DF/V2DI types.
9308
9309 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
9310 set avoid indexed addresses on power6 if -maltivec.
9311 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
9312 vector_altivec_load/vector_altivec_store builtins.
9313 (altivec_expand_st_builtin): Ditto.
9314 (altivec_expand_builtin): Add VSX memory builtins.
9315 (rs6000_init_builtins): Add V2DI types to internal types.
9316 (altivec_init_builtins): Add support for V2DF/V2DI altivec
9317 load/store builtins.
9318 (rs6000_address_for_altivec): Insure memory address is appropriate
9319 for Altivec.
9320
9321 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
9322 vec_vsx_ld and vec_vsx_st.
9323 (vsx_store_<mode>): Ditto.
9324
9325 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
9326 variables to hold long long types for VSX vector memory builtins.
9327 (RS6000_BTI_unsigned_long_long): Ditto.
9328 (long_long_integer_type_internal_node): Ditti.
9329 (long_long_unsigned_type_internal_node): Ditti.
9330
9331 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
9332 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
9333 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
9334
9335 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
9336 short cuts.
9337 (vec_vsx_st): Ditto.
9338
b24d1acf
JM
93392011-02-02 Joseph Myers <joseph@codesourcery.com>
9340
9341 * config/pa/pa-hpux10.opt: New.
9342 * config/hpux11.opt (pthread): New Driver option.
9343 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
9344 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
9345
aa18dd0f
JM
93462011-02-02 Joseph Myers <joseph@codesourcery.com>
9347
9348 * config/ia64/vms.opt: New.
9349 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
9350
28fc3eee
MM
93512011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
9352
9353 PR target/47580
9354 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
9355 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
9356 generator functions.
9357 (vsx_floatuns<VSi><mode>2): Ditto.
9358 (vsx_fix_trunc<mode><VSi>2): Ditto.
9359 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
9360
b5838b1f
JM
93612011-02-02 Joseph Myers <joseph@codesourcery.com>
9362
9363 * config/i386/djgpp.opt (posix): New Driver option.
9364
0db8fa89
GP
93652011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
9366
9367 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
9368 Move to the unsupported targets list.
9369
9cd4f22a
PB
93702011-02-02 Peter Bergner <bergner@vnet.ibm.com>
9371
9372 PR rtl-optimization/47525
9373 * df-scan.c: Update copyright years.
9374 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
9375 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
9376
9ed8059c
RO
93772011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9378
9379 * config/i386/sysv4.h (TARGET_VERSION): Remove.
9380 (SUBTARGET_RETURN_IN_MEMORY): Remove.
9381 (ASM_OUTPUT_ASCII): Remove.
9382 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
9383
2a737389
JL
93842011-02-02 Jeff Law <law@redhat.com>
9385
9386 PR middle-end/47543
9387 * reload.c (find_reloads_address): Handle reg+d address where both
9388 components are invalid by reloading the entire address.
9389
9dac82c4
SP
93902011-02-02 Sebastian Pop <sebastian.pop@amd.com>
9391 Richard Guenther <rguenther@suse.de>
9392
9393 PR tree-optimization/40979
9394 PR bootstrap/47044
9395 * passes.c (init_optimization_passes): After LIM call copy_prop
9396 and DCE to clean up.
9397 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
9398
14dd9aab
SP
93992011-02-02 Sebastian Pop <sebastian.pop@amd.com>
9400
9401 PR tree-optimization/47576
9402 PR tree-optimization/47555
9403 * doc/invoke.texi (scev-max-expr-complexity): Documented.
9404 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
9405 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
9406 * tree-scalar-evolution.c (follow_ssa_edge): Use
9407 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
9408
5cbf5c20
RG
94092011-02-02 Richard Guenther <rguenther@suse.de>
9410
9411 PR tree-optimization/47566
9412 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
9413
83d70792
AO
94142011-02-02 Alexandre Oliva <aoliva@redhat.com>
9415
e829c321
AO
9416 PR debug/47106
9417 PR debug/47402
9418 * tree-inline.c (declare_return_variable): Remove unused caller
9419 variable.
9420
83d70792
AO
9421 PR debug/47106
9422 PR debug/47402
9423 * tree-flow-inline.h (clear_is_used, is_used_p): New.
9424 * cfgexpand.c (account_used_vars_for_block): Use them.
9425 * tree-nrv.c (tree_nrv): Likewise.
9426 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
9427 (dump_scope_block): Likewise.
9428 (remove_unused_locals): Likewise.
9429
aaa2ac93
AO
9430 PR debug/47106
9431 PR debug/47402
9432 * tree-inline.c (declare_return_variable): Add result decl to
9433 local decls only once.
9434 * gimple-low.c (record_vars_into): Mark newly-created variables
9435 as referenced.
9436
a59d15cf
AO
94372011-02-02 Alexandre Oliva <aoliva@redhat.com>
9438
9439 PR debug/47498
9440 PR debug/47501
9441 PR debug/45136
9442 PR debug/45130
9443 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
9444 debug insns.
9445 (no_real_insns_p, schedule_block, set_priorities): Drop special
9446 treatment of boundary debug insns.
38be4072 9447 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
9448 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
9449 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
9450 (BOUNDARY_DEBUG_INSN_P): Likewise.
9451 (SCHEDULE_DEBUG_INSN_P): Likewise.
9452 * sched-rgn.c (init_ready_list): Drop special treatment of
9453 boundary debug insns.
9454 * final.c (rest_of_clean_state): Clear notes' BB.
9455
6fc2f091
JM
94562011-02-01 Joseph Myers <joseph@codesourcery.com>
9457
9458 * config/openbsd.opt (assert=): New Driver option.
9459
fc523387
JM
94602011-02-01 Joseph Myers <joseph@codesourcery.com>
9461
9462 * config/i386/nto.opt: New.
9463 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
9464
6d9821e5
JM
94652011-02-01 Joseph Myers <joseph@codesourcery.com>
9466
9467 * config/i386/netware.opt: New.
9468 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
9469
cef932d4
JM
94702011-02-01 Joseph Myers <joseph@codesourcery.com>
9471
9472 * config/interix.opt (posix): New Driver option.
9473
22843acd
DD
94742011-02-01 DJ Delorie <dj@redhat.com>
9475
56490b74
DD
9476 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
9477
22843acd
DD
9478 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
9479 class for A0/A1.
9480
199c8f2f
SP
94812011-02-01 Sebastian Pop <sebastian.pop@amd.com>
9482
9483 PR tree-optimization/47561
9484 * toplev.c (process_options): Print the Graphite flags. Add
9485 flag_loop_flatten to the list of options requiring Graphite.
9486
926bcf22
JM
94872011-02-01 Joseph Myers <joseph@codesourcery.com>
9488
9489 * config/i386/cygming.opt (posix): New Driver option.
9490
59793c51
JM
94912011-02-01 Joseph Myers <joseph@codesourcery.com>
9492
9493 * config/arm/vxworks.opt: New.
9494 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
9495
183c38a4
JM
94962011-02-01 Joseph Myers <joseph@codesourcery.com>
9497
9498 * config/alpha/elf.opt: New.
9499 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
9500 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
9501
9939e416
RG
95022011-02-01 Richard Guenther <rguenther@suse.de>
9503
9504 PR tree-optimization/47559
9505 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
9506 store-motion on references that can throw.
9507
4a3c9687
BS
95082011-02-01 Bernd Schmidt <bernds@codesourcery.com>
9509
9510 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
9511 * tree-pass.h (TDF_CSELIB): New macro.
9512 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
9513 cselib_lookup): Check for it rather than for TDF_DETAILS.
9514
dd3b31fb
L
95152011-02-01 H.J. Lu <hongjiu.lu@intel.com>
9516
9517 PR driver/47547
9518 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
9519 is HOST_BIT_BUCKET.
9520
9521 * opts.c (finish_options): Don't add x_aux_base_name if it is
9522 HOST_BIT_BUCKET.
9523
34c1de79
RG
95242011-02-01 Richard Guenther <rguenther@suse.de>
9525
9526 PR tree-optimization/47555
9527 Revert
9528 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
9529
9530 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
9531
dd2804d2
SB
95322011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
9533
9534 PR gcc/46692
9535 * config/lm32/t-lm32: Add multilib for all CPU options.
9536
3fd3b156
RG
95372011-02-01 Richard Guenther <rguenther@suse.de>
9538
9539 PR tree-optimization/47541
9540 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
9541 sure to have a field at offset zero.
9542
f16072b6
JM
95432011-01-31 Joseph Myers <joseph@codesourcery.com>
9544
9545 * config/arc/arc.opt (EB, EL): New Driver options.
9546
6456cf2e
JM
95472011-01-31 Joseph Myers <joseph@codesourcery.com>
9548
9549 * config/alpha/osf5.opt: New.
9550 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
9551
cdde6ab4
JM
95522011-01-31 Joseph Myers <joseph@codesourcery.com>
9553
9554 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
9555
7633415c
SP
95562011-01-31 Sebastian Pop <sebastian.pop@amd.com>
9557
9558 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
9559 -floop-interchange.
9560 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
9561 is an alias of -floop-interchange and that it requires the
9562 Graphite infrastructure.
9563 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
9564 flag_loop_interchange based on the value of flag_tree_loop_linear.
9565
0425d6f5
JJ
95662011-01-31 Jakub Jelinek <jakub@redhat.com>
9567 Richard Guenther <rguenther@suse.de>
9568
9569 PR tree-optimization/47538
9570 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
9571 type instead of r1type, except for comparisons. For right
9572 shifts and comparisons punt if there are mismatches in
9573 sizetype vs. non-sizetype types.
9574
500b16c3
RO
95752011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9576
9577 * doc/sourcebuild.texi (Effective-Target Keywords): Document
9578 avx_runtime.
9579
e279edb0
RO
95802011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9581
9582 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
9583 version number.
9584 * configure: Regenerate.
9585
c6092243
RO
95862011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9587
9588 * configure.ac (gcc_cv_ld_static_option): Define.
9589 (gcc_cv_ld_dynamic_option): Define.
9590 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
9591 instead.
9592 (HAVE_LD_STATIC_DYNAMIC): Update message.
9593 (LD_STATIC_OPTION): Define.
9594 (LD_DYNAMIC_OPTION): Define.
9595 * configure: Regenerate.
9596 * config.in: Regenerate.
9597 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
9598 HAVE_LD_STATIC_DYNAMIC]: Use them.
9599
d7862be3
NC
96002011-01-31 Nick Clifton <nickc@redhat.com>
9601
9602 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
9603 registers inside interrupt handlers if the handler is not a leaf
9604 function.
9605
ba4ec0e0
NC
96062011-01-31 Nick Clifton <nickc@redhat.com>
9607
9608 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
9609 reg_renumber returning an INVALID_REGNUM.
9610
29a63921
AO
96112011-01-31 Alexandre Oliva <aoliva@redhat.com>
9612
9613 PR libgcj/44341
9614 * doc/install.texi: Document host options discarded when cross
9615 configuring target libraries.
9616
ef591d3f
AO
96172011-01-31 Alexandre Oliva <aoliva@redhat.com>
9618
9619 Reverted:
9620 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
9621 PR debug/45136
9622 PR debug/45130
9623 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
9624 debug insns.
9625 (no_real_insns_p, schedule_block, set_priorities): Drop special
9626 treatment of boundary debug insns.
38be4072 9627 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
9628 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
9629 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
9630 (BOUNDARY_DEBUG_INSN_P): Likewise.
9631 (SCHEDULE_DEBUG_INSN_P): Likewise.
9632 * sched-rgn.c (init_ready_list): Drop special treatment of
9633 boundary debug insns.
9634 * final.c (rest_of_clean-state): Clear notes' BB.
9635
61052244
AM
96362011-01-31 Alan Modra <amodra@gmail.com>
9637
9638 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
9639 toc relative expressions as we do in print_operand_address.
9640
c4c8962b
KH
96412011-01-30 Kazu Hirata <kazu@codesourcery.com>
9642
9643 * doc/extend.texi: Follow spelling conventions.
9644 * doc/invoke.texi: Fix a typo.
9645
e543b94c
JM
96462011-01-30 Joseph Myers <joseph@codesourcery.com>
9647
9648 * config/hpux11.opt: New.
9649 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
9650 ia64*-*-hpux*): Use hpux11.opt.
9651
509d65dd 96522011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
9653
9654 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
9655 to tmake_file.
9656
7be03a0e
GP
96572011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
9658
9659 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
9660 support sites.
9661
419d1d37
GP
96622011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
9663
b596ed64
GP
9664 * doc/install.texi (Binaries): Remove outdated reference for
9665 Motorola 68HC11/68HC12 downloads.
9666
96672011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 9668
419d1d37
GP
9669 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
9670 Drepper's paper.
9671
4406d0e9
JW
96722011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
9673
9674 PR bootstrap/47147
9675 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
9676 used by NetBSD.
9677
38be4072 96782011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
9679
9680 * value-prof.c (check_counter): Corrected error message.
9681
0cd98787
JZ
96822011-01-29 Jie Zhang <jie@codesourcery.com>
9683
9684 * config/arm/arm.c (arm_legitimize_reload_address): New.
9685 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
9686 arm_legitimize_reload_address.
38be4072 9687 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 9688
9b798ac5
ILT
96892011-01-28 Ian Lance Taylor <iant@google.com>
9690
9691 * godump.c (go_define): Ignore macros whose definitions include
9692 two adjacent operands.
9693
591e29d9
JJ
96942011-01-28 Jakub Jelinek <jakub@redhat.com>
9695
9696 PR target/42894
9697 * varasm.c (force_const_mem): Store copy of x in desc->constant
9698 instead of x itself.
9699 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
9700 itself into REG_EQUAL note.
9701
62dcc44a
JM
97022011-01-28 Joseph Myers <joseph@codesourcery.com>
9703
9704 * config/freebsd.opt (posix, rdynamic): New Driver options.
9705
c9f58b9a
RO
97062011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9707
9708 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
9709 -Bstatic/-Bdynamic.
9710 * configure: Regenerate.
9711
5f02b9db
JM
97122011-01-27 Joseph Myers <joseph@codesourcery.com>
9713
9714 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
9715 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
9716
5df97412
AS
97172011-01-27 Anatoly Sokolov <aesok@post.ru>
9718
9719 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
9720 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
9721 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
9722 (s390_preferred_reload_class): Make static. Change return and
9723 'rclass' argument type to reg_class_t.
9724
779d4b91
JH
97252011-01-27 Jan Hubicka <jh@suse.cz>
9726
9727 PR middle-end/46949
9728 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
9729 (process_function_and_variable_attributes): Check defined weakrefs.
9730
e80b21ed
MJ
97312011-01-27 Martin Jambor <mjambor@suse.cz>
9732
9733 PR tree-optimization/47228
9734 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
9735 build_ref_for_offset.
9736
6dcc4f31
UW
97372011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9738
9739 * config/spu/spu-elf.h (ASM_SPEC): Remove.
9740
509d65dd 97412011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
9742
9743 PR rtl-optimization/46856
9744 * postreload.c (reload_combine_recognize_const_pattern): Do not
9745 separate cc0 setter and user on cc0 targets.
9746
04af8788
NP
97472011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
9748
9749 PR c/43082
9750 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
9751 passed a VOID_TYPE expression, immediately emit an error and
9752 return error_mark_node.
9753
f7a60085
JL
97542011-01-26 Jeff Law <law@redhat.com>
9755
9756 PR rtl-optimization/47464
9757 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
9758 rather than may_trap_p as needed.
9759
5c2917ec
DD
97602011-01-26 DJ Delorie <dj@redhat.com>
9761
9762 PR rtl-optimization/46878
9763 * combine.c (insn_a_feeds_b): Check for the implicit cc0
9764 setter/user dependency as well.
9765
bef16e87
EB
97662011-01-26 Eric Botcazou <ebotcazou@adacore.com>
9767
9768 PR rtl-optimization/44469
9769 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
9770 after removing trivially dead basic blocks.
9771
c75d884b
JM
97722011-01-26 Joseph Myers <joseph@codesourcery.com>
9773
9774 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
9775 * config/frv/frv.h (LINK_SPEC): Likewise.
9776 * config/i386/netware.h (LINK_SPEC): Likewise.
9777 * config/m68k/linux.h (ASM_SPEC): Likewise.
9778 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
9779 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
9780 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
9781 * config/sparc/linux.h (ASM_SPEC): Likewise.
9782 * config/sparc/linux64.h (ASM_SPEC): Likewise.
9783 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
9784
d3153553
JM
97852011-01-26 Joseph Myers <joseph@codesourcery.com>
9786
9787 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
9788 * config/frv/frv.h (ASM_SPEC): Likewise.
9789 * config/m68k/linux.h (ASM_SPEC): Likewise.
9790 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
9791 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
9792 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
9793 * config/sparc/linux.h (ASM_SPEC): Likewise.
9794 * config/sparc/linux64.h (ASM_SPEC): Likewise.
9795 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
9796
b89b1e9d
JM
97972011-01-26 Joseph Myers <joseph@codesourcery.com>
9798
9799 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
9800 * config/frv/frv.h (LINK_SPEC): Likewise.
9801 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
9802
12eb1a9c
JM
98032011-01-26 Joseph Myers <joseph@codesourcery.com>
9804
9805 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
9806 * config/frv/frv.h (ASM_SPEC): Likewise.
9807 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
9808 * config/m68k/linux.h (ASM_SPEC): Likewise.
9809 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
9810 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
9811 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
9812 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
9813 * config/sparc/linux.h (ASM_SPEC): Likewise.
9814 * config/sparc/linux64.h (ASM_SPEC): Likewise.
9815 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
9816 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
9817
e435f098
SE
98182011-01-26 Steve Ellcey <sje@cup.hp.com>
9819
9820 PR target/46997
9821 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
9822 (*mux2): Ditto.
9823 (vec_extract_evenodd_help): Ditto.
9824 (vec_extract_evenv4hi): Ditto.
9825 (vec_extract_oddv4hi): Ditto.
9826 (vec_interleave_lowv2si): Ditto.
9827 (vec_interleave_highv2si): Ditto.
9828 (vec_extract_evenv2si): Ditto.
9829 (vec_extract_oddv2si: Ditto.
9830 (vec_pack_trunc_v2si): Ditto.
9831
34f0eee0
JH
98322011-01-22 Jan Hubicka <jh@suse.cz>
9833
9834 PR target/47237
9835 * cgraph.h (cgraph_local_info): New field can_change_signature.
9836 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
9837 signature can change.
9838 (ipcp_estimate_growth): Call sequence simplify only if calle signature
9839 can change.
9840 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
9841 (cgraph_function_versioning): We can not change signature of functions
9842 that don't allow that.
9843 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
9844 (lto_input_node): Likewise.
38be4072
UB
9845 * ipa-inline.c (compute_inline_parameters): Compute
9846 local.can_change_signature.
34f0eee0 9847 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
9848 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
9849 functions that can not change signature.
34f0eee0 9850 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
9851 init_cumulative_args): Do not use local calling conventions
9852 for functions that can not change signature.
34f0eee0 9853
980ca891
JH
98542011-01-22 Jan Hubicka <jh@suse.cz>
9855
9856 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
9857
768e3c60
RG
98582011-01-26 Richard Guenther <rguenther@suse.de>
9859
9860 PR tree-optimization/47190
61052244
AM
9861 * cgraphunit.c (process_common_attributes): New function.
9862 (process_function_and_variable_attributes): Use it.
768e3c60 9863
21d6a1c7
RG
98642011-01-26 Richard Guenther <rguenther@suse.de>
9865
9866 PR lto/47423
9867 * cgraphbuild.c (record_eh_tables): Record reference to personality
9868 function.
9869
48bb58b1
AO
98702011-01-26 Alexandre Oliva <aoliva@redhat.com>
9871
9872 PR debug/45454
9873 * sel-sched.c (moveup_expr): Don't let debug insns prevent
9874 non-debug insns from moving up.
9875
58c741a6
DK
98762011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
9877
9878 PR target/40125
9879 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
9880 t-dlldir{,-x} fragment for build and add it to tmake_file.
9881 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
9882 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
9883 * config/i386/t-dlldir: New file.
9884 (SHLIB_DLLDIR): Define.
9885 * config/i386/t-dlldir-x: New file.
9886 (SHLIB_DLLDIR): Define.
9887 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
9888 (SHLIB_INSTALL): Use it.
9889
bff99262
CLT
98902011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
9891
9892 PR target/47246
9893 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
9894 lower bound of the allowed Thumb-2 coprocessor load/store
9895 index range to -256. Add explaining comment.
9896
82c03907
ILT
98972011-01-25 Ian Lance Taylor <iant@google.com>
9898
9899 * godump.c (go_define): Improve lexing of macro expansion to only
9900 accept expressions which match Go spec.
9901
47ea1edf
DK
99022011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
9903
d4dba752 9904 PR c++/43601
47ea1edf
DK
9905 * tree.c (handle_dll_attribute): Handle it.
9906 * doc/extend.texi (@item dllexport): Mention it.
9907 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
9908
744f0946
ILT
99092011-01-25 Ian Lance Taylor <iant@google.com>
9910
9911 PR tree-optimization/26854
9912 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
9913 (decl_jump_unsafe): Move higher in file, with no other change.
9914 (bind): Set has_jump_unsafe_decl if appropriate.
9915 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
9916 (check_earlier_gotos): Likewise.
9917 (c_check_switch_jump_warnings): Likewise.
9918
5734f2b3
JW
99192011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
9920
9921 * doc/invoke.texi (Warning Options): Add missing hyphen.
9922 (-fprofile-dir): Minor grammatical fixes.
9923 (-fbranch-probabilities): Likewise.
9924
9bdbdcef
AO
99252011-01-25 Alexandre Oliva <aoliva@redhat.com>
9926
9927 PR debug/45136
9928 PR debug/45130
9929 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
9930 debug insns.
9931 (no_real_insns_p, schedule_block, set_priorities): Drop special
9932 treatment of boundary debug insns.
38be4072 9933 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
9934 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
9935 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
9936 (BOUNDARY_DEBUG_INSN_P): Likewise.
9937 (SCHEDULE_DEBUG_INSN_P): Likewise.
9938 * sched-rgn.c (init_ready_list): Drop special treatment of
9939 boundary debug insns.
9940 * final.c (rest_of_clean-state): Clear notes' BB.
9941
b305e3da
SP
99422011-01-25 Sebastian Pop <sebastian.pop@amd.com>
9943
9944 * Makefile.in (LAMBDA_H): Removed.
9945 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
9946 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
9947 lambda-trans.o, and tree-loop-linear.o.
9948 (lto-symtab.o): Remove dependence on LAMBDA_H.
9949 (tree-loop-linear.o): Remove rule.
9950 (lambda-mat.o): Same.
9951 (lambda-trans.o): Same.
9952 (lambda-code.o): Same.
9953 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
9954 (tree-vect-slp.o): Same.
9955 * hwint.h (gcd): Moved here.
9956 (least_common_multiple): Same.
9957 * lambda-code.c: Removed.
9958 * lambda-mat.c: Removed.
9959 * lambda-trans.c: Removed.
9960 * lambda.h: Removed.
9961 * tree-loop-linear.c: Removed.
9962 * lto-symtab.c: Do not include lambda.h.
9963 * omega.c (gcd): Removed.
9964 * passes.c (init_optimization_passes): Remove pass_linear_transform.
9965 * tree-data-ref.c (print_lambda_vector): Moved here.
9966 (lambda_vector_copy): Same.
9967 (lambda_matrix_copy): Same.
9968 (lambda_matrix_id): Same.
9969 (lambda_vector_first_nz): Same.
9970 (lambda_matrix_row_add): Same.
9971 (lambda_matrix_row_exchange): Same.
9972 (lambda_vector_mult_const): Same.
9973 (lambda_vector_negate): Same.
9974 (lambda_matrix_row_negate): Same.
9975 (lambda_vector_equal): Same.
9976 (lambda_matrix_right_hermite): Same.
9977 * tree-data-ref.h: Do not include lambda.h.
9978 (lambda_vector): Moved here.
9979 (lambda_matrix): Same.
9980 (dependence_level): Same.
9981 (lambda_transform_legal_p): Removed declaration.
9982 (lambda_collect_parameters): Same.
9983 (lambda_compute_access_matrices): Same.
9984 (lambda_vector_gcd): Same.
9985 (lambda_vector_new): Same.
9986 (lambda_vector_clear): Same.
9987 (lambda_vector_lexico_pos): Same.
9988 (lambda_vector_zerop): Same.
9989 (lambda_matrix_new): Same.
9990 * tree-flow.h (least_common_multiple): Removed declaration.
9991 * tree-parloops.c (lambda_trans_matrix): Moved here.
9992 (LTM_MATRIX): Same.
9993 (LTM_ROWSIZE): Same.
9994 (LTM_COLSIZE): Same.
9995 (LTM_DENOMINATOR): Same.
9996 (lambda_trans_matrix_new): Same.
9997 (lambda_matrix_vector_mult): Same.
9998 (lambda_transform_legal_p): Same.
9999 * tree-pass.h (pass_linear_transform): Removed declaration.
10000 * tree-ssa-loop.c (tree_linear_transform): Removed.
10001 (gate_tree_linear_transform): Removed.
10002 (pass_linear_transform): Removed.
10003 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
10004 flag_loop_interchange.
10005
6bdfdb96
JJ
100062011-01-25 Jakub Jelinek <jakub@redhat.com>
10007
10008 PR tree-optimization/47265
10009 PR tree-optimization/47443
10010 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
10011 if name still has some uses.
10012
e4cba915
MJ
100132011-01-25 Martin Jambor <mjambor@suse.cz>
10014
10015 PR tree-optimization/47382
10016 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
10017 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
10018
509d65dd 100192011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
10020
10021 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
10022 sjlj_except_unwind_info.
10023
194313e2
RG
100242011-01-25 Richard Guenther <rguenther@suse.de>
10025
10026 PR tree-optimization/47426
10027 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
10028 visible functions results escape.
10029
147a0bcf
JJ
100302011-01-25 Jakub Jelinek <jakub@redhat.com>
10031
10032 PR target/45701
10033 * config/arm/arm.c (any_sibcall_uses_r3): New function.
10034 (arm_get_frame_offsets): Use it.
10035
db963b52
SP
100362011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10037 Jakub Jelinek <jakub@redhat.com>
10038
10039 PR tree-optimization/47271
10040 * tree-if-conv.c (bb_postdominates_preds): New.
10041 (if_convertible_bb_p): Call bb_postdominates_preds.
10042 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
10043 (predicate_scalar_phi): Call bb_postdominates_preds.
10044
bcddd3b9
NC
100452011-01-25 Nick Clifton <nickc@redhat.com>
10046
10047 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
10048 * config/rx/rx.c (rx_function_value): Likewise.
10049 (rx_promote_function_mode): Likewise.
10050 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
10051 in order to make it legitimate.
38be4072
UB
10052 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
10053 make sure that the first operand is the same as the result register.
bcddd3b9
NC
10054 (addsi3_unspec): Delete.
10055 (subdi3): Do not accept immediate operands.
10056 (subdi3_internal): Likewise.
10057
7e6cb022
JL
100582011-01-25 Jeff Law <law@redhat.com>
10059
10060 PR rtl-optimization/37273
10061 * ira-costs.c (scan_one_insn): Detect constants living in memory and
10062 handle them like argument loads from stack slots. Do not double
10063 count memory for memory constants and argument loads from stack slots.
10064
9ffa621e
JJ
100652011-01-25 Jakub Jelinek <jakub@redhat.com>
10066
10067 PR tree-optimization/47427
10068 PR tree-optimization/47428
10069 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
10070 coalesce if the new root var would be TREE_READONLY.
10071
5bd6e652
RG
100722011-01-25 Richard Guenther <rguenther@suse.de>
10073
10074 PR middle-end/47414
10075 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
10076 correct type for TBAA.
10077
7c48ea69
SP
100782011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10079
10080 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
10081 (close_phi_written_to_memory): Call for_each_index with
10082 dr_indices_valid_in_loop.
10083
38013f25
SP
100842011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10085
10086 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
10087 when it is initialized.
10088
5c640e29
SP
100892011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10090
10091 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
10092 call to graphite_find_data_references_in_stmt.
10093 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
10094 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
10095 call to graphite_find_data_references_in_stmt.
10096 (analyze_drs_in_stmts): Same.
10097 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
10098 in which the scalar analysis of indices is performed.
10099 (create_data_ref): Same. Update call to dr_analyze_indices.
10100 (find_data_references_in_stmt): Update call to create_data_ref.
10101 (graphite_find_data_references_in_stmt): Same.
10102 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
10103 declaration.
10104 (create_data_ref): Same.
10105 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
10106 call to create_data_ref.
10107
ac53c069
SP
101082011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10109
10110 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 10111 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 10112
3d17df15
SP
101132011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10114
10115 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
10116 VAR_DECL, PARM_DECL, and RESULT_DECL.
10117
c513da01
SP
101182011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10119
10120 * graphite-dependences.c (reduction_dr_1): Allow several reductions
10121 in a reduction PBB.
10122 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
10123 that have already been marked as PBB_IS_REDUCTION.
10124
3a292d59
SP
101252011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10126
10127 * graphite-scop-detection.c (same_close_phi_node): New.
10128 (remove_duplicate_close_phi): New.
10129 (make_close_phi_nodes_unique): New.
10130 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
10131
ba858447
SP
101322011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10133
10134 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
10135 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
10136 of both data references to be the same.
10137
8d865c56
SP
101382011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10139
38be4072
UB
10140 * graphite-dependences.c (build_lexicographical_constraint): Remove
10141 the gdim parameter.
10142 (build_lexicographical_constraint): Adjust call to
10143 ppl_powerset_is_empty.
8d865c56
SP
10144 (dependence_polyhedron): Same.
10145 (graphite_legal_transform_dr): Same.
10146 (graphite_carried_dependence_level_k): Same.
38be4072
UB
10147 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
10148 parameter.
8d865c56
SP
10149 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
10150
50034a36
SP
101512011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10152
10153 * graphite-sese-to-poly.c
10154 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
10155 (close_phi_written_to_memory): New.
10156 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
10157 and unshare_expr.
10158
0deada9e
SP
101592011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10160
10161 * doc/install.texi: Update the expected version number of PPL to 0.11.
10162 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
10163 #if PPL_VERSION_MINOR < 11.
10164
d7d3d6af
SP
101652011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10166
10167 * graphite-dependences.c: Include graphite-cloog-util.h.
10168 (new_poly_ddr): Inlined into dependence_polyhedron.
10169 (free_poly_ddr): Moved close by new_poly_ddr.
10170 (dependence_polyhedron_1): Renamed dependence_polyhedron.
10171 Early return NULL when ppl_powerset_is_empty returns true.
10172 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
10173 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
10174 (graphite_legal_transform_dr): Call new_poly_ddr.
10175 (graphite_carried_dependence_level_k): Same.
10176 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
10177 (dot_transformed_deps_stmt_1): Removed.
10178 (dot_deps_stmt_1): Call dot_deps_stmt_2.
10179 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
10180 (dot_deps_1): Call dot_deps_2.
10181 * Makefile.in (graphite-dependences.o): Add missing dependence on
10182 graphite-cloog-util.h.
10183
28c5db57
SP
101842011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10185
10186 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
10187 (build_lexicographical_constraint): Same.
10188 (dependence_polyhedron_1): Same.
10189 (graphite_legal_transform_dr): Same.
10190 (graphite_carried_dependence_level_k): Same.
10191 * graphite-ppl.c (ppl_powerset_is_empty): New.
10192 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
10193 * tree-data-ref.c (dump_data_reference): Print the basic block index.
10194
5168d98f
SP
101952011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10196
10197 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
10198 the "a followed by b" relation and document it.
10199
4a40293a
SP
102002011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10201
10202 * graphite-dependences.c (build_lexicographical_constraint): Stop the
10203 iteration when the bag of constraints is empty.
10204
271fb6fa
SP
102052011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10206
10207 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
10208
92d23680
SP
102092011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10210
10211 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
10212 nest and two loop depths as parameters.
10213 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
10214 lst_perfect_nestify.
10215
2f51deff
SP
102162011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10217
10218 * graphite-dependences.c (print_pddr): Call
10219 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
10220
07f3593c
SP
102212011-01-25 Sebastian Pop <sebastian.pop@amd.com>
10222
10223 * graphite-ppl.c (debug_gmp_value): New.
10224 * graphite-ppl.h (debug_gmp_value): Declared.
10225
3fae6099
TG
102262011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
10227
10228 * doc/install.texi: Document availability of cloog-0.16.
10229
1c3ba85b
SP
102302011-01-25 Vladimir Kargov <kargov@gmail.com>
10231
10232 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
10233 invalid postdominance info.
10234
e8ba94fc
JH
102352011-01-24 Jan Hubicka <jh@suse.cz>
10236
10237 PR c/21659
10238 * doc/extend.texi (weak pragma): Drop claim that it must
10239 appear before definition.
10240 * varasm.c (merge_weak, declare_weak): Only sanity check
10241 that DECL is not output at a time it is declared weak.
10242
2b6e2d13
KZ
102432011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
10244
10245 * machmode.def: Fixed comments.
1c3ba85b 10246
9841210f
KT
102472011-01-24 Kai Tietz <kai.tietz@onevision.com>
10248
10249 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
10250
102512011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
10252
10253 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 10254 WORDS_BIG_ENDIAN.
e046112d 10255
a6c5070a
L
102562011-01-24 H.J. Lu <hongjiu.lu@intel.com>
10257
10258 PR target/46519
10259 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
10260 (block_info): Add scanned and prev.
10261 (move_or_delete_vzeroupper_2): Return if the basic block
10262 has been scanned and the upper 128bit state is unchanged
10263 from the last scan.
10264 (move_or_delete_vzeroupper_1): Return true if the exit
10265 state is changed.
10266 (move_or_delete_vzeroupper): Visit basic blocks using the
10267 work-list based algorithm based on vt_find_locations in
10268 var-tracking.c.
10269
10270 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
10271
a40d79d7
NC
102722011-01-24 Nick Clifton <nickc@redhat.com>
10273
10274 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
10275 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
10276 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
10277 then define __v850e1__.
10278 * doc/invoke.texi: Document -mv850es.
10279
440eb8de
RH
102802011-01-24 Richard Henderson <rth@redhat.com>
10281
10282 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
10283 compound unordered comparisons.
10284 * config/rx/rx.c (rx_split_fp_compare): Remove.
10285 * config/rx/rx-protos.h: Update.
10286 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
10287 (cbranchsf4): Don't call rx_split_fp_compare.
10288 (*cbranchsf4): Use rx_split_cbranch.
10289 (*cmpsf): Don't accept "i" constraint.
10290 (*conditional_branch): Only valid after reload.
10291 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
10292
3ff79f99
MM
102932011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
10294
10295 PR target/47385
10296 * config/rs6000/altivec.md (vector constant splitters): Add
10297 support for creating vector single precision constants if -mvsx is
10298 used and we would create the constant using Altivec primitives.
10299
ff3d9d08
BS
103002011-01-23 Bernd Schmidt <bernds@codesourcery.com>
10301 Richard Sandiford <rdsandiford@googlemail.com>
10302
10303 PR rtl-optimization/47166
10304 * reload1.c (emit_reload_insns): Disable the spill_reg_store
10305 mechanism for PRE_MODIFY and POST_MODIFY.
10306 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
10307 reloadreg.
10308
7fcaf152
AS
103092011-01-23 Andreas Schwab <schwab@linux-m68k.org>
10310
8788adb6 10311 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 10312
d09b58c4
JH
103132011-01-22 Jan Hubicka <jh@suse.cz>
10314
10315 PR lto/47333
10316 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
10317
e8ff8c5a
JH
103182011-01-22 Jan Hubicka <jh@suse.cz>
10319
10320 PR tree-optimization/43884
10321 PR lto/44334
8788adb6 10322 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
10323 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
10324
ccaed3ba
AS
103252011-01-22 Anatoly Sokolov <aesok@post.ru>
10326
10327 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
10328 * config/s390/s390.c (s390_register_move_cost,
10329 s390_memory_move_cost): New.
10330 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
10331
0cecee06
UW
103322011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10333
10334 PR middle-end/47401
10335 * except.c (sjlj_assign_call_site_values): Move setting the
10336 crtl->uses_eh_lsda flag to ...
10337 (sjlj_mark_call_sites): ... here.
10338 (sjlj_emit_function_enter): Support NULL dispatch label.
10339 (sjlj_build_landing_pads): In a function with no landing pads
10340 that still has must-not-throw regions, generate code to register
10341 a personality function with empty LSDA.
10342
e692f276
RH
103432011-01-21 Richard Henderson <rth@redhat.com>
10344
1b7ae0b7
RH
10345 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
10346
3843787f
RH
10347 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
10348
e692f276
RH
10349 * compare-elim.c: New file.
10350 * Makefile.in (OBJS-common): Add it.
10351 (compare-elim.o): New.
10352 * common.opt (fcompare-elim): New.
10353 * opts.c (default_options_table): Add OPT_fcompare_elim.
10354 * tree-pass.h (pass_compare_elim_after_reload): New.
10355 * passes.c (init_optimization_passes): Add it.
10356 * recog.h: Protect against re-inclusion.
10357 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
10358 * doc/invoke.texi (-fcompare-elim): Document it.
10359 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
10360 * doc/tm.texi: Rebuild.
10361
9a7c2050
NC
103622011-01-22 Nick Clifton <nickc@redhat.com>
10363
10364 * config/rx/rx.md (cstoresf4): Pass comparison operator to
10365 rx_split_fp_compare.
10366
15ba5696
NC
103672011-01-22 Nick Clifton <nickc@redhat.com>
10368
10369 * config/rx/rx.md (UNSPEC_CONST): New.
10370 (deallocate_and_return): Wrap the amount popped off the stack in
10371 an UNSPEC_CONST in order to stop it being rejected by
10372 -mmax-constant-size.
10373 (pop_and_return): Add a "(return)" rtx.
10374 (call): Drop the immediate operand.
10375 (call_internal): Likewise.
10376 (call_value): Likewise.
10377 (call_value_internal): Likewise.
10378 (sibcall_internal): Likewise.
10379 (sibcall_value_internal): Likewise.
10380 (sibcall): Likewise. Generate an explicit call using
10381 sibcall_internal.
10382 (sibcall_value): Likewise.
10383 (mov<>): FAIL if a constant operand is not legitimate.
10384 (addsi3_unpsec): New pattern.
9a7c2050 10385
38be4072 10386 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
10387 (ok_for_max_constant): New function.
10388 (gen_safe_add): New function.
10389 (rx_expand_prologue): Use gen_safe_add.
10390 (rx_expand_epilogue): Likewise.
10391 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
10392 UNSPEC CONSTs.
10393
caaf13d3
JL
103942011-01-21 Jeff Law <law@redhat.com>
10395
10396 PR tree-optimization/47053
10397 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
10398 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
10399 statements are deleted.
10400 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
10401 is nonempty, then purge dead edges and cleanup the CFG.
10402
12c30f2f
AO
104032011-01-21 Alexandre Oliva <aoliva@redhat.com>
10404
10405 PR debug/47402
10406 Temporarily revert:
10407 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
10408 PR debug/47106
10409 * tree-dfa.c (create_var_ann): Mark variable as used.
10410
7360d2ac
JJ
104112011-01-21 Jakub Jelinek <jakub@redhat.com>
10412
aaa52a96
JJ
10413 PR middle-end/45566
10414 * except.c (convert_to_eh_region_ranges): Emit queued no-region
10415 notes from other section in hot/cold partitioning even if
10416 last_action is -3. Increment call_site_base.
10417
7360d2ac
JJ
10418 PR rtl-optimization/47366
10419 * fwprop.c (forward_propagate_into): Return bool. If
10420 any changes are made, -fnon-call-exceptions is used and
10421 REG_EH_REGION note is present, call purge_dead_edges
10422 and return true if it purged anything.
10423 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
10424 any EH edges were purged.
10425
e90b336f
JL
104262011-01-21 Jeff Law <law@redhat.com>
10427
10428 PR rtl-optimization/41619
10429 * caller-save.c (setup_save_areas): Break out code to determine
10430 which hard regs are live across calls by examining the reload chains
10431 so that it is always used.
10432 Eliminate code which checked REG_N_CALLS_CROSSED.
10433
3ffe07e1
JJ
104342011-01-21 Jakub Jelinek <jakub@redhat.com>
10435
10436 PR tree-optimization/47355
10437 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
10438 NOP has non-debug uses beyond PHIs in new_bb.
10439
1c7d0b34
AO
104402011-01-21 Alexandre Oliva <aoliva@redhat.com>
10441
10442 PR debug/47106
10443 * cfgexpand.c (account_used_vars_for_block): Only account vars
10444 that are annotated as used.
10445 (estimated_stack_frame_size): Don't set TREE_USED.
10446 * tree-dfa.c (create_var_ann): Mark variable as used.
10447
f99cc488
RG
104482011-01-21 Richard Guenther <rguenther@suse.de>
10449
10450 PR middle-end/47395
10451 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
10452
3bc27de7
RG
104532011-01-21 Richard Guenther <rguenther@suse.de>
10454
10455 PR tree-optimization/47365
10456 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
10457 (vn_reference_lookup_pieces): Adjust.
10458 (vn_reference_lookup): Likewise.
10459 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
10460 (vn_reference_lookup_3): Only look through kills if in
10461 VN_WALKREWRITE mode.
10462 (vn_reference_lookup_pieces): Adjust.
10463 (vn_reference_lookup): Likewise.
10464 (visit_reference_op_load): Likewise.
10465 (visit_reference_op_store): Likewise.
10466 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
10467 (compute_avail): Likewise.
10468 (eliminate): Likewise.
10469
d8debb1d
JJ
104702011-01-21 Jakub Jelinek <jakub@redhat.com>
10471
10472 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
10473 DECL_IGNORED_P non-reg vars if they are used.
10474
3a2df831
JJ
10475 PR tree-optimization/47391
10476 * varpool.c (const_value_known_p): Return false if
10477 decl is volatile.
10478
1dd584a2
KT
104792011-01-21 Kai Tietz <kai.tietz@onevision.com>
10480
10481 PR bootstrap/47215
10482 * config/i386/i386.c (ix86_local_alignment): Handle
10483 case for va_list_type_node is nil.
10484 (ix86_canonical_va_list_type): Likewise.
10485
7f9f095e
AM
104862011-01-21 Alan Modra <amodra@gmail.com>
10487
10488 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
10489 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
10490
837b01f6
RR
104912011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10492
10493 * config/arm/arm.md (define_attr type): Rename f_load
10494 and f_store to f_fpa_load and f_fpa_store. Update.
10495 (write_conflict): Deal with rename fallout.
10496 (*push_fp_multi): Likewise.
10497 * config/arm/fpa.md (f_load): Use f_fpa_load.
10498 (f_store): Use f_fpa_store.
10499 (*movsf_fpa): Likewise.
10500 (*movdf_fpa): Likewise.
10501 (*movxf_fpa): Likewise.
10502 (*thumb2_movsf_fpa): Likewise.
10503 (*thumb2_movdf_fpa): Likewise.
10504 (*thumb2_movxf_fpa): Likewise.
10505 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
10506 f_loadd and f_stored.
10507 (*thumb2_movdi_vfp): Likewise.
10508 (*thumb2_movsf_vfp): Fix attribute to f_loads.
10509 (*thumb2_movsi_vfp): Likewise.
10510 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
10511 Use f_loads instead of f_load.
10512 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
10513
a1a79768
AS
105142011-01-20 Anatoly Sokolov <aesok@post.ru>
10515
10516 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
10517 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
10518 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
10519 (xtensa_mode_dependent_address_p): New function.
10520 (constantpool_address_p): Make static. Change return type to bool.
10521 Change argument type to const_rtx. Use CONST_INT_P predicate.
10522
427f6cec
AO
105232011-01-20 Alexandre Oliva <aoliva@redhat.com>
10524
10525 PR debug/46583
10526 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
10527
583ac69c
JJ
105282011-01-20 Jakub Jelinek <jakub@redhat.com>
10529
10530 PR debug/47283
10531 * cfgexpand.c (expand_debug_expr): Instead of generating
10532 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
10533 etc. handling.
10534
93e452ed
RG
105352011-01-20 Richard Guenther <rguenther@suse.de>
10536
10537 PR middle-end/47370
10538 * tree-inline.c (remap_gimple_op_r): Recurse manually for
10539 the pointer operand of MEM_REFs.
10540
28fc44f3
JJ
105412011-01-20 Jakub Jelinek <jakub@redhat.com>
10542
10543 PR tree-optimization/46130
10544 * ipa-split.c (consider_split): If return_bb contains non-virtual
10545 PHIs other than for retval or if split_function would not adjust it,
10546 refuse to split.
10547
ddd268f2
RG
105482011-01-20 Richard Guenther <rguenther@suse.de>
10549
10550 PR tree-optimization/47167
10551 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
10552 Revert previous change, only avoid enumeral type changes.
10553
882020aa
MS
105542011-01-19 Mike Stump <mikestump@comcast.net>
10555
10556 * doc/tm.texi.in (BRANCH_COST): Englishify.
10557 * doc/tm.texi (BRANCH_COST): Likewise.
10558
7edb6247
DS
105592011-01-19 Dodji Seketeli <dodji@redhat.com>
10560
10561 PR c++/47291
10562 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
10563 (gen_scheduled_generic_parms_dies): New functions.
10564 (gen_struct_or_union_type_die): Schedule template parameters DIEs
10565 generation for the end of CU compilation.
10566 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 10567
23d5ed5d
AO
105682011-01-19 Alexandre Oliva <aoliva@redhat.com>
10569
10570 PR debug/46240
10571 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
10572 debug bind stmt on merge edges.
10573
37d6a488
AO
105742011-01-19 Alexandre Oliva <aoliva@redhat.com>
10575
10576 PR debug/47079
10577 PR debug/46724
10578 * function.c (instantiate_expr): Instantiate incoming rtl of
10579 implicit arguments, and recurse on VALUE_EXPRs.
10580 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
10581 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
10582
689f2c82
AO
105832011-01-19 Alexandre Oliva <aoliva@redhat.com>
10584
10585 * c-parser.c (c_parser_for_statement): Initialize
10586 collection_expression.
10587
03029de4
JM
105882011-01-19 Joseph Myers <joseph@codesourcery.com>
10589
10590 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
10591
3e03217e
JM
105922011-01-19 Joseph Myers <joseph@codesourcery.com>
10593
10594 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
10595 (LINK_SHLIB_SPEC): Don't use %(link_path).
10596 (SUBTARGET_EXTRA_SPECS): Remove link_path.
10597
5bbe9b3f
JM
105982011-01-19 Joseph Myers <joseph@codesourcery.com>
10599
10600 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
10601 (NO_SHARED_LIB_SUPPORT): Remove.
10602 (LINK_SHLIB_SPEC): Remove one conditional definition.
10603
368e0b39
JM
106042011-01-19 Joseph Myers <joseph@codesourcery.com>
10605
10606 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
10607 %{call_shared}.
10608 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
10609 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
10610 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
10611 %{call_shared} and conditionals on these options not being passed.
10612 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
10613 %{call_shared}.
10614
ed7656f6
JJ
106152011-01-19 Jakub Jelinek <jakub@redhat.com>
10616
68457901
JJ
10617 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
10618 simplify.
10619
ed7656f6
JJ
10620 * ipa-split.c: Spelling fixes.
10621
e0d1958f
RH
106222011-01-19 Richard Henderson <rth@redhat.com>
10623
10624 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
10625 (*mulsi3): Likewise.
10626
27098b6b
RH
10627 * longlong.h [__mn10300__] (count_leading_zeros): New.
10628 [__mn10300__] (umul_ppmm, smul_ppmm): New.
10629 [__mn10300__] (add_ssaaaa, subddmmss): New.
10630 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
10631 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
10632
d6be7c36
UW
106332011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10634
10635 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
10636
b1efde2a
RH
106372011-01-19 Richard Henderson <rth@redhat.com>
10638
44217823
RH
10639 * config/mn10300/mn10300.md (addsi3_flags): New.
10640 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
10641 (subsi3_flags, subc_internal, subdi3): New.
10642 (subdi3_internal, *subdi3_degenerate): New.
10643 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
10644
37a185d7
RH
10645 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
10646 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
10647 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
10648 * config/mn10300/mn10300-protos.h: Update.
10649 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
10650 (return_ret): Likewise. Rename from return_internal_regs.
10651 (return_internal): Remove.
10652
040c5757
RH
10653 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
10654 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
10655 (mn10300_legitimate_constant_p): Likewise.
10656 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
10657 (mn10300_frame_size): New.
10658 (mn10300_expand_prologue): Use it.
10659 (mn10300_expand_epilogue): Likewise.
10660 (mn10300_initial_offset): Likewise.
10661 * config/mn10300/mn10300-protos.h: Update.
10662 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
10663 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
10664 (prologue, epilogue, return_internal): Tidy output code.
10665 (mn10300_store_multiple_operation, return): Likewise.
10666 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
10667 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
10668 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
10669 (load_pic, am33_load_pic): New.
10670 (mn10300_load_pic0, mn10300_load_pic1): New.
10671
bad41521
RH
10672 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
10673 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
10674 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
10675 (cc_flags_for_mode, cc_flags_for_code): New.
10676 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
10677 overflow flag is not valid. Validate that the flags we need
10678 for the comparison are valid.
10679 (mn10300_output_cmp): Remove.
10680 (mn10300_output_add): New.
10681 (mn10300_select_cc_mode): Use cc_flags_for_code.
10682 (mn10300_split_cbranch): New.
10683 (mn10300_match_ccmode): New.
10684 (mn10300_split_and_operand_count): New.
10685 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
10686 to the function.
10687 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
10688 (addsi3): ... here. Use mn10300_output_add.
10689 (*addsi3_flags): New.
10690 (*am33_subsi3, *mn10300_subsi3): Merge...
10691 (subsi3): ... here. Use attribute isa.
10692 (*subsi3_flags): New.
10693 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
10694 when possible.
10695 (*am33_andsi3, *mn10300_andsi3): Merge...
10696 (andsi3): ... here.
10697 (*andsi3_flags): New.
10698 (andsi3 splitters): New.
10699 (*am33_iorsi3, *mn10300_iorsi3): Merge...
10700 (iorsi3): ... here.
10701 (*iorsi3_flags): New.
10702 (*am33_xorsi3, *mn10300_xorsi3): Merge...
10703 (xorsi3): ... here.
10704 (*xorsi3_flags): New.
10705 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
10706 (one_cmplsi2): ... here.
10707 (*one_cmplsi2_flags): New.
10708 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
10709 instead of "dax" in constraints. Use mn10300_split_cbranch.
10710 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
10711 use matching constraints to eliminate a self-comparison.
10712 (*integer_conditional_branch): Rename from integer_conditional_branch.
10713 Use int_mode_flags to match CC_REG.
10714 (*cbranchsi4_btst, *btstsi): New.
10715 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
10716 mn10300_split_cbranch.
10717 (*am33_cmpsf): Rename from am33_cmpsf.
10718 (*float_conditional_branch): Rename from float_conditional_branch.
10719 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
10720 (zero_extendqisi2): ... here.
10721 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
10722 (zero_extendhisi2): ... here.
10723 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
10724 (extendqisi2): ... here.
10725 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
10726 (extendhisi2): ... here.
10727 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
10728 (ashlsi3): ... here.
10729 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
10730 (lshrsi3): ... here.
10731 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
10732 (ashrsi3): ... here.
10733 (consecutive add peephole): Remove.
10734 * config/mn10300/predicates.md (label_ref_operand): New.
10735 (int_mode_flags): New.
10736 (CCZN_comparison_operator): New.
10737
9efb4993
RH
10738 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
10739 (throughput_42_latency_43): New reservation.
10740 (mulsidi3, umulsidi3): New expanders.
10741 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
10742 the MDR register to allocation; separately allocate the low and
10743 high parts of the DImode result.
10744 (umulsidi3_internal): Similarly.
10745 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
10746 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
10747 (udivsi3, umodsi3): Remove.
10748 (udivmodsi4, divmodsi4): New expanders.
10749 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
10750 (*divmodsi4): Simiarly.
10751 (ext_internal): New.
10752
c25a21f5
RH
10753 * config/mn10300/constraints.md ("z"): New constraint.
10754 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
10755 (FIXED_REGISTERS): Don't fix MDR.
10756 (CALL_USED_REGSITERS): Reformat nicely.
10757 (REG_ALLOC_ORDER): Add MDR.
10758 (enum regclass): Add MDR_REGS.
10759 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
10760 (IRA_COVER_CLASSES): Add MDR_REGS.
10761 (REGNO_REG_CLASS): Handle MDR_REG.
10762 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
10763 (mn10300_register_move_cost): Likewise.
10764 * config/mn10300/mn10300.md (MDR_REG): New.
10765 (*movsi_internal): Handle moves to/from MDR_REGS.
10766
36846b26
RH
10767 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
10768 POST_MODIFY.
10769 (mn10300_secondary_reload): Tidy combination reload classes.
10770 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
10771 addresses for AM33. Allow symbolic offsets for reg+imm.
10772 (mn10300_regno_in_class_p): New.
10773 (mn10300_legitimize_reload_address): New.
10774 * config/mn10300/mn10300.h (enum reg_class): Remove
10775 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
10776 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
10777 SP_OR_GENERAL_REGS.
10778 (REG_CLASS_NAMES): Update to match.
10779 (REG_CLASS_CONTENTS): Likewise.
10780 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
10781 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
10782 (REGNO_IN_RANGE_P): Remove.
10783 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
10784 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
10785 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
10786 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
10787 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
10788 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
10789 (REGNO_GENERAL_P): New.
10790 (HAVE_POST_MODIFY_DISP): New.
10791 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
10792 (LEGITIMIZE_RELOAD_ADDRESS): New.
10793 * config/mn10300/mn10300-protos.h: Update.
10794
8b119bb6
RH
10795 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
10796 DATA_REGS for AM33 stack-pointer destination.
10797 (mn10300_preferred_output_reload_class): Likewise.
10798 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
10799 into a form appropriate for ...
10800 (TARGET_SECONDARY_RELOAD): New.
10801 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
10802 * config/mn10300/mn10300-protos.h: Update.
10803 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
10804 reload_insi; use the "A" constraint for the scratch; handle AM33
10805 moves of sp to non-address registers.
10806
b1efde2a
RH
10807 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
10808 (*movqi_internal): ... here.
10809 (*am33_movhi, *mn10300_movhi): Merge into...
10810 (*movhi_internal): ... here.
10811 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
10812 as the source/destination of moves from/to SP.
10813 (movsf): Only allow for AM33-2.
1c3ba85b 10814 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
10815 any integer constant constraint. Only allow for AM33-2. Tidy
10816 all of the alternative outputs.
10817 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
10818 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
10819 for MN103.
10820 (udivsi3, umodsi3): New patterns for MN103 only.
10821
b899fd78
JR
108222011-01-19 Joern Rennecke <amylaar@spamcop.net>
10823
10824 * doc/tm.texi.in: Spell out that a lack of register class unions
10825 can lead to ICEs.
10826 * doc/tm.texi: Regenerate.
10827
afaaa67d
JJ
108282011-01-19 Jakub Jelinek <jakub@redhat.com>
10829
2e0642cd
JJ
10830 PR rtl-optimization/47337
10831 * dce.c (check_argument_store): New function.
10832 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
10833
afaaa67d
JJ
10834 PR tree-optimization/47290
10835 * tree-eh.c (infinite_empty_loop_p): New function.
10836 (cleanup_empty_eh): Use it.
10837
d2cd871f
SE
108382011-01-18 Steve Ellcey <sje@cup.hp.com>
10839
10840 PR target/46997
10841 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
10842 (a64_expand_widen_sum): Ditto.
10843 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
10844 (vec_extract_evenodd_help): Ditto.
10845 (vec_extract_evenv4hi): Ditto.
10846 (vec_extract_oddv4hi): Ditto.
10847 (vec_extract_evenv2si): Ditto.
10848 (vec_extract_oddv2si): Ditto.
10849 (vec_extract_evenv2sf): Ditto.
10850 (vec_extract_oddv2sf): Ditto.
10851 (vec_pack_trunc_v4hi: Ditto.
10852 (vec_pack_trunc_v2si): Ditto.
10853 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
10854 (vec_interleave_highv8qi): Ditto.
10855 (mix1_r): Ditto.
10856 (vec_extract_oddv8qi): Ditto.
10857 (vec_interleave_lowv4hi): Ditto.
10858 (vec_interleave_highv4hi): Ditto.
10859 (vec_interleave_lowv2si): Ditto.
10860 (vec_interleave_highv2si): Ditto.
10861
41a1208a
JDA
108622011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10863
10864 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
10865 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
10866 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
10867 (pa_c_mode_for_suffix): New.
10868 (TARGET_EXPAND_BUILTIN): Define.
10869 (TARGET_C_MODE_FOR_SUFFIX): Define.
10870 (pa_builtins): Define.
10871 (pa_init_builtins): Register __float128 type and init new support
10872 builtins.
10873 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
10874 * config/pa/quadlib.c (_U_Qfcopysign): New.
10875
1ecad98e
EB
108762011-01-18 Eric Botcazou <ebotcazou@adacore.com>
10877
10878 PR middle-end/46894
10879 * explow.c (allocate_dynamic_stack_space): Do not assume more than
10880 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
10881 are defined.
10882
d4f2460a
UW
108832011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10884
10885 PR tree-optimization/47179
10886 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
10887 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
10888
4994da65
RG
108892011-01-18 Richard Guenther <rguenther@suse.de>
10890
10891 PR rtl-optimization/47216
10892 * emit-rtl.c: Include tree-flow.h.
10893 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
10894 of replicating it with different semantics.
10895 * Makefile.in (emit-rtl.o): Adjust.
10896
1eb458d1
RR
108972011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10898
38be4072 10899 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 10900 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 10901
e7ef91dc
JJ
109022011-01-18 Jakub Jelinek <jakub@redhat.com>
10903
10904 PR rtl-optimization/47299
10905 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 10906 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
10907 * expmed.c (expand_widening_mult): Don't try to optimize constant
10908 multiplication if op0 has VOIDmode. Convert op1 constant to mode
10909 before using it.
10910
535b7874
RW
109112011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10912
10913 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
10914 spacing after 'e.g.', typos, comma, hyphenation.
10915
27bf36f3
RH
109162011-01-17 Richard Henderson <rth@redhat.com>
10917
8a5b5449
RH
10918 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
10919 (rx_restricted_mem_operand): New.
10920 (rx_shift_operand): Use register_operand.
10921 (rx_source_operand, rx_compare_operand): Likewise.
10922 * config/rx/rx.md (addsi3_flags): New expander.
10923 (adddi3): Rewrite as expander.
10924 (adc_internal, *adc_flags, adddi3_internal): New patterns.
10925 (subsi3_flags): New expander.
10926 (subdi3): Rewrite as expander.
10927 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
10928
784f69be
RH
10929 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
10930 (rx_init_builtins): Remove sat builtin.
10931 (rx_expand_builtin): Likewise.
10932 * config/rx/rx.md (ssaddsi3): New.
10933 (*sat): Rename from sat. Represent the CC_REG input.
10934
f033541c
RH
10935 * config/rx/predicates.md (rshift_operator): New.
10936 * config/rx/rx.c (rx_expand_insv): Remove.
10937 * config/rx/rx-protos.h: Update.
10938 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
10939 operand to the canonical position.
10940 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
10941 (*bitclr, *bitclr_in_memory): Similarly.
10942 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
10943 (insv): Retain the zero_extract in the expansion.
10944
34fee389
RH
10945 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
10946 (bswaphi2, bitinvert, revw): Likewise.
10947
265c835f
RH
10948 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
10949 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
10950 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
10951 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
10952 (bitset, bitset_in_memory): Likewise.
10953 (bitinvert, bitinvert_in_memory): Likewise.
10954 (bitclr, bitclr_in_memory): Likewise.
10955 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
10956 (rx_strend, rx_cmpstrn): Likewise.
10957 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
10958 (bitop peep2 patterns): Remove.
10959
b4d83be3
RH
10960 * config/rx/rx.c (rx_match_ccmode): New.
10961 * config/rx/rx-protos.h: Update.
10962 * config/rx/rx.md (abssi2): Clobber, don't set flags.
10963 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
10964 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
10965 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
10966 (fix_truncsfsi2, floatsisf2): Likewise.
10967 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
10968 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
10969 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
10970 (*subsi3_flags, *xorsi3_flags): New.
10971
d0acb939
RH
10972 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
10973
c06fc3d9
RH
10974 * config/rx/rx.c (rx_print_operand): Remove workaround for
10975 unsplit comparison operations.
10976
2882702b
RH
10977 * config/rx/rx.md (movsicc): Split after reload.
10978 (*movsicc): Merge *movsieq and *movsine via match_operator.
10979 (*stcc): New pattern.
10980
6f7310f2
RH
10981 * config/rx/rx.c (rx_float_compare_mode): Remove.
10982 * config/rx/rx.h (rx_float_compare_mode): Remove.
10983 * config/rx/rx.md (cstoresi4): Split after reload.
10984 (*sccc): New pattern.
10985
e963cb1a
RH
10986 * config/rx/predicates.md (label_ref_operand): New.
10987 (rx_z_comparison_operator): New.
10988 (rx_zs_comparison_operator): New.
10989 (rx_fp_comparison_operator): New.
10990 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
10991 Validate that the flags are set properly for the comparison.
10992 (rx_gen_cond_branch_template): Remove.
10993 (rx_cc_modes_compatible): Remove.
10994 (mode_from_flags): New.
10995 (flags_from_code): Rename from flags_needed_for_conditional.
10996 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
10997 (rx_select_cc_mode): Likewise.
10998 (rx_split_fp_compare): New.
10999 (rx_split_cbranch): New.
11000 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
11001 (*cbranchsi4): Use match_operator and rx_split_cbranch.
11002 (*cbranchsf4): Similarly.
11003 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
11004 match_operator and rx_split_cbranch.
11005 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
11006 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
11007 (*cmpsi): Rename from cmpsi.
11008 (*tstsi): Rename from tstsi.
11009 (*cmpsf): Rename from cmpsf; use CC_Fmode.
11010 (*conditional_branch): Rename from conditional_branch.
11011 (*reveresed_conditional_branch): Remove.
11012 (b<code>): Remove expander.
11013 * config/rx/rx-protos.h: Update.
11014
af530bb4
RH
11015 * config/rx/rx.c (rx_compare_redundant): Remove.
11016 * config/rx/rx.md (cmpsi): Don't use it.
11017 * config/rx/rx-protos.h: Update.
11018
27bf36f3
RH
11019 * config/rx/rx-modes.def (CC_F): New mode.
11020 * config/rx/rx.c (rx_select_cc_mode): New.
11021 * config/rx/rx.h (SELECT_CC_MODE): Use it.
11022 * config/rx/rx-protos.h: Update.
11023
d7fde127
RH
110242011-01-17 Richard Henderson <rth@redhat.com>
11025
11026 * except.c (dump_eh_tree): Fix stray ; after for statement.
11027
6ff38230
RG
110282011-01-17 Richard Guenther <rguenther@suse.de>
11029
11030 PR tree-optimization/47313
11031 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
11032 handling before copying the body. Properly deal with
11033 by-reference result in SSA form.
11034
114ce554
ILT
110352011-01-17 Ian Lance Taylor <iant@google.com>
11036
bf5cd92b 11037 PR target/47219
114ce554
ILT
11038 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
11039 (struct_value_alias_set): Don't define.
11040 (sparc_option_override): Don't set sparc_sr_alias_set and
11041 struct_value_alias_set.
11042 (save_or_restore_regs): Use gen_frame_mem rather than calling
11043 set_mem_alias_set.
11044 (sparc_struct_value_rtx): Likewise.
11045
98c6d93c
L
110462011-01-17 H.J. Lu <hongjiu.lu@intel.com>
11047
11048 PR target/47318
7a81008b 11049 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i.
98c6d93c
L
11050 (_mm_maskstore_pd): Likewise.
11051 (_mm_maskload_ps): Likewise.
11052 (_mm_maskstore_ps): Likewise.
11053 (_mm256_maskload_pd): Change mask to __m256i.
11054 (_mm256_maskstore_pd): Likewise.
11055 (_mm256_maskload_ps): Likewise.
11056 (_mm256_maskstore_ps): Likewise.
11057
11058 * config/i386/i386-builtin-types.def: Updated.
11059 (ix86_expand_special_args_builtin): Likewise.
11060
11061 * config/i386/i386.c (bdesc_special_args): Update
11062 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
11063 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
11064 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
11065 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
11066
11067 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
11068 Use <avxpermvecmode> on mask register.
11069 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
11070
b9361af2 110712011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
11072 Michael Haubenwallner <michael.haubenwallner@salomon.at>
11073 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
11074
11075 PR target/46655
11076 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
11077 if <= USHRT_MAX in 32-bit mode.
11078
b7ae9eb5
RW
110792011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11080
11081 * doc/install.texi (Configuration, Specific): Wrap long
11082 lines in examples. Allow line wrapping in long options
11083 and URLs where beneficial for PDF output.
11084
4377fad9
RS
110852011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
11086
11087 * config/mips/mips.c (mips_classify_symbol): Don't return
11088 SYMBOL_PC_RELATIVE for nonlocal labels.
11089
55959ffa 110902011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 11091
55959ffa
EB
11092 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
11093
110942011-01-15 Jan Hubicka <jh@suse.cz>
11095
11096 PR tree-optimization/47276
be46831f
JH
11097 * ipa.c (function_and_variable_visibility): Do not try to mark alias
11098 declarations as needed.
11099
05842ff5
MJ
111002011-01-15 Martin Jambor <mjambor@suse.cz>
11101
11102 * common.opt (fdevirtualize): New flag.
11103 * doc/invoke.texi (Option Summary): Document it.
11104 * opts.c (default_options_table): Add devirtualize flag.
11105 * ipa-prop.c (detect_type_change): Return immediately if
11106 devirtualize flag is not set.
11107 (detect_type_change_ssa): Likewise.
11108 (compute_known_type_jump_func): Likewise.
11109 (ipa_analyze_virtual_call_uses): Likewise.
11110
f65cf2b7
MJ
111112011-01-14 Martin Jambor <mjambor@suse.cz>
11112
11113 PR tree-optimization/45934
11114 PR tree-optimization/46302
11115 * ipa-prop.c (type_change_info): New type.
11116 (stmt_may_be_vtbl_ptr_store): New function.
11117 (check_stmt_for_type_change): Likewise.
11118 (detect_type_change): Likewise.
11119 (detect_type_change_ssa): Likewise.
11120 (compute_complex_assign_jump_func): Check for dynamic type change.
11121 (compute_complex_ancestor_jump_func): Likewise.
11122 (compute_known_type_jump_func): Likewise.
11123 (compute_scalar_jump_functions): Likewise.
11124 (ipa_analyze_virtual_call_uses): Likewise.
11125 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
11126
eb5bb0fd
JM
111272011-01-14 Joseph Myers <joseph@codesourcery.com>
11128
11129 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
11130 * config/i386/i386.opt (msse5): New Alias.
11131
f2060fbe
JM
111322011-01-14 Joseph Myers <joseph@codesourcery.com>
11133
11134 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
11135 * config/sparc/linux64.h (CC1_SPEC): Likewise.
11136 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
11137 * config/sparc/sparc.h (CC1_SPEC): Likewise.
11138
3a7b4385
JM
111392011-01-14 Joseph Myers <joseph@codesourcery.com>
11140
11141 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
11142 -mcpu options.
11143 * config/sparc/linux64.h (CC1_SPEC): Likewise.
11144 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
11145 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
11146 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
11147 Likewise.
11148 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
11149
a7b778f8
JM
111502011-01-14 Joseph Myers <joseph@codesourcery.com>
11151
38be4072 11152 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 11153
a7edae0a
MS
111542011-01-14 Mike Stump <mikestump@comcast.net>
11155
11156 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
11157 * config/fr30/fr30.md: Likweise
11158 (movsi_push): Likewise.
11159 (movsi_pop): Likewise.
11160 (enter_func): Likewise.
11161 * config/moxie/moxie.md (movsi_push): Likewise.
11162 (movsi_pop): Likewise.
11163
cbabf03f
JM
111642011-01-14 Joseph Myers <joseph@codesourcery.com>
11165
11166 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
11167 %{no_archive} %{exact_version}.
11168 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
11169 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
11170 %{no_archive} %{exact_version}.
11171 * config/mips/openbsd.h (LINK_SPEC): Likewise.
11172 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
11173 * config/mips/vxworks.h: Likewise.
11174
438da41a
JM
111752011-01-14 Joseph Myers <joseph@codesourcery.com>
11176
38be4072 11177 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 11178
da290a42
JM
111792011-01-14 Joseph Myers <joseph@codesourcery.com>
11180
11181 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
11182 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
11183
8989d00e
JM
111842011-01-14 Joseph Myers <joseph@codesourcery.com>
11185
11186 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
11187 -nodefaultlib.
11188
a3010a69
JM
111892011-01-14 Joseph Myers <joseph@codesourcery.com>
11190
11191 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
11192 for mcpu not cpu.
11193 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
11194 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
11195 not cpu.
11196 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
11197 Don't handle -shlib.
11198
e7f2f537
JM
111992011-01-14 Joseph Myers <joseph@codesourcery.com>
11200
11201 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
11202 (CC1_SPEC): Don't handle -profile.
11203
34830bfd
JM
112042011-01-14 Joseph Myers <joseph@codesourcery.com>
11205
11206 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
11207 * config/mips/mips.h (CC1_SPEC): Likewise.
11208
b2d36e74
JM
112092011-01-14 Joseph Myers <joseph@codesourcery.com>
11210
11211 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
11212 * config/mips/mips.h (CC1_SPEC): Likewise.
11213
dabadc52
JM
112142011-01-14 Joseph Myers <joseph@codesourcery.com>
11215
11216 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
11217 * config/m32r/linux.h (LINK_SPEC): Likewise.
11218 * config/mips/linux.h (LINK_SPEC): Likewise.
11219 * config/mips/linux64.h (LINK_SPEC): Likewise.
11220 * config/sparc/linux.h (LINK_SPEC): Likewise.
11221 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
11222 LINK_SPEC): Likewise.
11223 * config/xtensa/linux.h (LINK_SPEC): Likewise.
11224
43ee6785
JM
112252011-01-14 Joseph Myers <joseph@codesourcery.com>
11226
11227 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
11228 %{version:-v}.
11229 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
11230
45e79dfd
JM
112312011-01-14 Joseph Myers <joseph@codesourcery.com>
11232
11233 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
11234 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
11235
37e9e71d
JM
112362011-01-14 Joseph Myers <joseph@codesourcery.com>
11237
11238 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
11239
bb127cd8
RO
112402011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11241
11242 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
11243 supports -Bstatic/-Bdynamic.
11244 * configure: Regenerate.
11245
89a012ea 112462011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 11247 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
11248
11249 PR target/46037
11250 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
11251 when checking debug_info_level. Test write_symbols instead of
11252 debug_hooks->var_location when setting flag_var_tracking_uninit.
11253
7352c013
RG
112542011-01-14 Richard Guenther <rguenther@suse.de>
11255
11256 PR tree-optimization/47179
11257 * target.def (ref_may_alias_errno): New target hook.
11258 * targhooks.h (default_ref_may_alias_errno): Declare.
11259 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
11260 (default_ref_may_alias_errno): New function.
11261 * target.h (struct ao_ref_s): Declare.
11262 * tree-ssa-alias.c: Include target.h.
11263 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
11264 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
11265 (targhooks.o): Likewise.
11266 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
11267 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
11268
9a6c9288
RG
112692011-01-14 Richard Guenther <rguenther@suse.de>
11270
11271 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
11272
0fdb0d27
RG
112732011-01-14 Richard Guenther <rguenther@suse.de>
11274
11275 PR tree-optimization/47280
11276 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
11277 return CFG changes.
11278 (tree_ssa_forward_propagate_single_use_vars): Deal with
11279 CFG changes from associate_plusminus.
11280
8f66db3b
RG
112812011-01-14 Richard Guenther <rguenther@suse.de>
11282
11283 PR middle-end/47281
11284 Revert
11285 2011-01-11 Richard Guenther <rguenther@suse.de>
11286
280d9630
EB
11287 PR tree-optimization/46076
11288 * tree-ssa.c (useless_type_conversion_p): Conversions from
11289 unprototyped to empty argument list function types are useless.
8f66db3b 11290
6c0c92e6
RG
112912011-01-14 Richard Guenther <rguenther@suse.de>
11292
11293 PR tree-optimization/47286
280d9630 11294 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 11295
db09f943
MJ
112962011-01-14 Martin Jambor <mjambor@suse.cz>
11297
11298 PR middle-end/46823
11299 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
11300
dde8a3a4
AS
113012011-01-13 Anatoly Sokolov <aesok@post.ru>
11302
11303 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
11304 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
11305 * config/xtensa/xtensa.c (xtensa_libcall_value,
11306 xtensa_function_value_regno_p): New functions.
11307 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
11308
a2b63a20
KT
113092011-01-13 Kai Tietz <kai.tietz@onevision.com>
11310
11311 PR c++/47213
11312 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
11313 PE specific hook.
11314 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
11315 New function prototype.
11316 * config/i386/winnt.c (i386_pe_assemble_visibility):
11317 Warn only if attribute was specified by user.
11318
b41f0b34
MM
113192011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
11320
11321 PR target/47251
11322 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
11323 floating point.
11324 (floatunsdidf2_fcfidu): Ditto.
11325
3f3c098d
AK
113262011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11327
11328 * config/s390/s390.c (print_operand_address): Replace 'error' with
11329 'output_operand_lossage'.
11330 (print_operand): Likewise.
11331
29fa95ed
JL
113322011-01-13 Jeff Law <law@redhat.com>
11333
280d9630 11334 PR rtl-optimization/39077
29fa95ed
JL
11335 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
11336 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
11337 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
11338 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
11339 * gcse.c (prune_insertions_deletions): New function.
11340 (compute_pre_data): Use it.
11341
71d12276
DS
113422011-01-13 Dodji Seketeli <dodji@redhat.com>
11343
11344 PR debug/PR46973
11345 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
11346 static function.
61052244 11347 (prune_unused_types_mark): Use it.
71d12276 11348
9b0f04e7
AB
113492011-01-13 Andrey Belevantsev <abel@ispras.ru>
11350
11351 PR rtl-optimization/45352
1c3ba85b 11352 * sel-sched.c: Update copyright years.
9b0f04e7 11353 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 11354 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 11355
d6a3e264
RH
113562011-01-12 Richard Henderson <rth@redhat.com>
11357
a49b692a
RH
11358 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
11359 (TARGET_MD_ASM_CLOBBERS): New.
11360
126b1483
RH
11361 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
11362 (TARGET_DELEGITIMIZE_ADDRESS): New.
11363
f3d9d2e0
RH
11364 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
11365 (clzsi2, *bsch): New patterns.
11366
d84760c9
RH
11367 * config/mn10300/mn10300.md (INT): New mode iterator.
11368 (*mov<INT>_clr): New pattern, and peep2 to generate it.
11369
ec815d65
RH
11370 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
11371 flag_split_wide_types.
11372
d6a3e264
RH
11373 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
11374 (mn10300_trampoline_init): Rewrite without a template, an immediate
11375 load and a direct branch.
11376 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
11377
0f8ab434
AS
113782011-01-12 Anatoly Sokolov <aesok@post.ru>
11379
11380 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
11381 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
11382 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
11383 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
11384
d8a24b65
KT
113852011-01-12 Kai Tietz <kai.tietz@onevision.com>
11386
11387 PR debug/47209
11388 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
11389 of type.
11390
56e22cab
JH
113912011-01-12 Jan Hubicka <jh@suse.cz>
11392
11393 PR driver/47244
11394 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
11395 (PLUGIN_COND_CLOSE): New macro.
11396 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
11397
4b18b3c2
RG
113982011-01-12 Richard Guenther <rguenther@suse.de>
11399
11400 PR lto/47259
11401 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
11402 register variables in a MEM_REF.
11403
8e38461c
JM
114042011-01-12 Joseph Myers <joseph@codesourcery.com>
11405
11406 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
11407 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
11408 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
11409 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
11410 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
11411 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
11412 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
11413 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
11414 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
11415 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
11416 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
11417 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
11418 * config/gnu-user.h: New. Copied from linux.h.
11419 (LINUX_TARGET_STARTFILE_SPEC): Rename to
11420 GNU_USER_TARGET_STARTFILE_SPEC.
11421 (LINUX_TARGET_ENDFILE_SPEC): Rename to
11422 GNU_USER_TARGET_ENDFILE_SPEC.
11423 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
11424 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
11425 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
11426 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
11427 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
11428 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
11429 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
11430 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
11431 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
11432 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
11433 * config/arm/linux-eabi.h (CC1_SPEC): Use
11434 GNU_USER_TARGET_CC1_SPEC.
11435 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
11436 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
11437 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
11438 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
11439 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
11440 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
11441 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
11442 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
11443
a570fc16
RG
114442011-01-12 Richard Guenther <rguenther@suse.de>
11445
11446 PR other/46946
11447 * doc/invoke.texi (ffast-math): Document it is turned on
11448 with -Ofast.
11449
b0223c3e
JH
114502011-01-12 Jan Hubicka <jh@suse.cz>
11451
11452 PR tree-optimization/47233
ca1e00b3
EB
11453 * opts.c (common_handle_option): Disable ipa-reference with profile
11454 feedback.
b0223c3e 11455
1c3ba85b 114562011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
11457
11458 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
11459 error message.
11460
d853ee42
NP
114612011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
11462
11463 * c-parser.c (c_lex_one_token): Updated and reindented some
11464 comments. No changes in code.
11465
4053a5a0
ILT
114662011-01-11 Ian Lance Taylor <iant@google.com>
11467
11468 * godump.c (go_output_var): Don't output the variable if there is
11469 already a type with the same name.
11470
fa3e04d2
ILT
114712011-01-11 Ian Lance Taylor <iant@google.com>
11472
11473 * godump.c (go_format_type): Don't generate float80.
11474
885fe07c
RH
114752011-01-11 Richard Henderson <rth@redhat.com>
11476
72d6e3c5
RH
11477 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
11478 declaration. Rewrite for both speed and size.
11479 (mn10300_address_cost_1): Remove.
11480 (mn10300_register_move_cost): New.
11481 (mn10300_memory_move_cost): New.
11482 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
11483 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
11484 extensions, shifts, BSWAP, CLZ.
11485 (mn10300_wide_const_load_uses_clr): Remove.
11486 (TARGET_REGISTER_MOVE_COST): New.
11487 (TARGET_MEMORY_MOVE_COST): New.
11488 * config/mn10300/mn10300-protos.h: Update.
11489 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
11490
df37c023
RH
11491 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
11492 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
11493 * config/mn10300/mn10300-protos.h: Update.
11494 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
11495 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
11496 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
11497 (*test_int_bitfield, *test_byte_bitfield): Remove.
11498 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 11499 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 11500
85a337b5
RH
11501 * config/mn10300/constraints.md ("c"): Rename from "A".
11502 ("A", "D"): New constraint letters.
11503 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
11504 (fmssf4, fnmasf4, fnmssf4): Likewise.
11505
a5c727e3
RH
11506 * config/mn10300/mn10300.md (isa): New attribute.
11507 (enabled): New attribute.
11508
0d9e23f4
RH
11509 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
11510 (abssf2, negsf2): Define only for hardware fp.
11511 (sqrtsf2): Reformat.
11512 (addsf3, subsf3, mulsf3): Merge expander and insn.
11513
c157b3f0
RH
11514 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
11515 (DEBUGGER_AUTO_OFFSET): Remove.
11516 (DEBUGGER_ARG_OFFSET): Remove.
11517
cc909bba
RH
11518 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
11519 Emit register stores with the same offsets as the hardware.
11520 (mn10300_store_multiple_operation): Don't check that the register
11521 save offsets are monotonic.
11522 * config/mn10300/mn10300-protos.h: Update.
11523
e3b5c2f3
RH
11524 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
11525
885fe07c
RH
11526 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
11527 in terms of the value on the stack, not the MDR register.
11528
6e701822
JH
115292011-01-11 Jan Hubicka <jh@suse.cz>
11530
11531 PR lto/45721
11532 PR lto/45375
11533 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
11534 (symbol_alias_set_destroy, symbol_alias_set_contains,
11535 propagate_aliases_backward): Declare.
11536 * lto-streamer-out.c (struct sets): New sturcture.
11537 (trivally_defined_alias): New function.
11538 (output_alias_pair_p): Rewrite.
11539 (output_unreferenced_globals): Fix output of alias pairs.
11540 (produce_symtab): Likewise.
11541 * ipa.c (function_and_variable_visibility): Set weak alias destination
11542 as needed in lto.
11543 * varasm.c (symbol_alias_set_t): Remove.
11544 (symbol_alias_set_destroy): Export.
11545 (propagate_aliases_forward, propagate_aliases_backward): New functions
11546 based on ...
11547 (compute_visible_aliases): ... this one; remove.
11548 (trivially_visible_alias): New
11549 (trivially_defined_alias): New.
11550 (remove_unreachable_alias_pairs): Rewrite.
11551 (finish_aliases_1): Reorganize code checking if alias is defined.
11552 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
11553 in LTO mode.
11554
1b248907
RG
115552011-01-11 Richard Guenther <rguenther@suse.de>
11556
11557 PR tree-optimization/46076
11558 * tree-ssa.c (useless_type_conversion_p): Conversions from
11559 unprototyped to empty argument list function types are useless.
11560
b1923f0a
RG
115612011-01-11 Richard Guenther <rguenther@suse.de>
11562
11563 PR middle-end/45235
11564 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
11565 volatile MEMs as MEM_READONLY_P.
11566
e98965af
RG
115672011-01-11 Richard Guenther <rguenther@suse.de>
11568
11569 PR tree-optimization/47239
11570 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
11571
9f9ca914
JL
115722011-01-11 Jeff Law <law@redhat.com>
11573
1ee3ea05 11574 PR tree-optimization/47086
9f9ca914
JL
11575 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
11576 IVs from statements that might throw.
11577
345fdcb7
JH
115782011-01-10 Jan Hubicka <jh@suse.cz>
11579
11580 PR lto/45375
11581 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
11582
c459c97b
JH
115832011-01-10 Jan Hubicka <jh@suse.cz>
11584
11585 PR lto/45375
11586 * profile.c (read_profile_edge_counts): Ignore profile inconistency
11587 when correcting profile.
11588
06c9eb51
JH
115892011-01-10 Jan Hubicka <jh@suse.cz>
11590
11591 PR lto/46083
11592 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
11593 DECL_FINI_PRIORITY.
11594 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
11595 Restore DECL_FINI_PRIORITY.
11596
ae9fd815
RW
115972011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11598
11599 * doc/gimple.texi: Fix quoting of multi-word return values in
11600 @deftypefn statements. Ensure presence of return value. Wrap
11601 overlong @deftypefn lines.
11602 (is_gimple_operand, is_gimple_min_invariant_address): Remove
11603 descriptions of removed functions.
11604 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
11605 of multi-word return value in @deftypefn statement.
11606
0ecb4a7c
RW
116072011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11608
11609 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
11610 (Conditional Expressions, Logical Operators)
11611 (Statement and operand traversals): Do not indent smallexample
11612 code. Fix duplicate function argument in example.
11613
2e5e346d
JL
116142011-01-10 Jeff Law <law@redhat.com>
11615
1ee3ea05 11616 PR tree-optimization/47141
2e5e346d
JL
11617 * ipa-split.c (split_function): Handle case where we are
11618 returning a value and the return block has a virtual operand phi.
11619
cf9712cc
JH
116202011-01-10 Jan Hubicka <jh@suse.cz>
11621
1c3ba85b 11622 PR tree-optimization/47234
cf9712cc
JH
11623 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
11624 (pass_feedback_split_functions): Declare.
11625 * passes.c (init_optimization_passes): Add ipa-split as subpass of
11626 tree-profile.
11627 * ipa-split.c (gate_split_functions): Update comments; disable
11628 split-functions for profile_arc_flag and branch_probabilities.
11629 (gate_feedback_split_functions): New function.
11630 (execute_feedback_split_functions): New function.
11631 (pass_feedback_split_functions): New global var.
11632
94cd932c
L
116332011-01-10 H.J. Lu <hongjiu.lu@intel.com>
11634
11635 PR lto/46760
11636 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
11637 calling gimple_call_set_cannot_inline.
11638
fbbfcaf1
IS
116392011-01-10 Iain Sandoe <iains@gcc.gnu.org>
11640
11641 * config/darwin-sections.def: Remove unused section.
11642
d06865bf
DK
116432011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
11644
11645 PR c++/47218
11646 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
11647
96bbfbac
NP
116482011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
11649
11650 PR objc/47232
11651 * c-parser.c (c_parser_declaration_or_fndef): Improved
11652 error message.
11653
1ba6516f
KT
116542011-01-09 Kai Tietz <kai.tietz@onevision.com>
11655
11656 * config/i386/winnt.c (i386_pe_start_function): Make sure
11657 to switch back to function's section.
11658
0c5d770e
IS
116592011-01-09 Iain Sandoe <iains@gcc.gnu.org>
11660
11661 PR gcc/46902
11662 PR testsuite/46912
11663 * plugin.c: Move include of dlfcn.h from here...
11664 * system.h: ... to here.
11665
116662011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
11667
11668 * doc/cpp.texi (C++ Named Operators): Fix markup for header
11669 file name.
11670 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
11671 two extra empty pages in PDF output.
11672
046608a3
NP
116732011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
11674
11675 PR objc/47078
11676 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
11677 for error recovery purposes behave as if it was not specified so
11678 that the default type is usd.
11679
8cb114b9
JH
116802011-01-07 Jan Hubicka <jh@suse.cz>
11681
11682 PR tree-optmization/46469
11683 * ipa.c (function_and_variable_visibility): Clear needed flags on
11684 nodes with external decls; handle weakrefs merging correctly.
11685
b294a75e
JM
116862011-01-07 Joseph Myers <joseph@codesourcery.com>
11687
11688 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
11689 not false.
11690
96bdf9b4
JH
116912011-01-07 Jan Hubicka <jh@suse.cz>
11692
f60c2554 11693 * doc/invoke.texi (-flto, -fuse-linker-plugin): Update defaults
96bdf9b4
JH
11694 and no longer claim that gold is required for linker plugin.
11695 * configure: Regenerate.
11696 * gcc.c (PLUGIN_COND): New macro.
11697 (LINK_COMMAND_SPEC): Use it.
11698 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
11699 * config.in (HAVE_LTO_PLUGIN): New.
11700 * configure.ac (--with-lto-plugin): New parameter; autodetect
11701 HAVE_LTO_PLUGIN.
11702
17afc0fe
JH
117032011-01-07 Jan Hubicka <jh@suse.cz>
11704
11705 PR tree-optimization/46367
11706 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
11707 when we can update original.
11708 (cgraph_mark_inline_edge): Sanity check.
11709 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
11710
d4c48c0f
UW
117112011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11712
11713 * config/spu/spu.h (ASM_COMMENT_START): Define.
11714
96f5b137
L
117152011-01-07 H.J. Lu <hongjiu.lu@intel.com>
11716
11717 PR driver/42445
11718 * gcc.c (%>S): New.
11719 (SWITCH_KEEP_FOR_GCC): Likewise.
11720 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
11721 (do_spec_1): Handle "%>".
11722
11723 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
11724
c6a8f6de
JJ
117252011-01-07 Jakub Jelinek <jakub@redhat.com>
11726
c21bbd7a
JJ
11727 PR target/47201
11728 * config/i386/i386.c (ix86_delegitimize_address): If
11729 simplify_gen_subreg fails, return orig_x.
11730
c6a8f6de
JJ
11731 PR bootstrap/47187
11732 * value-prof.c (gimple_stringop_fixed_value): Handle
11733 lhs of the call properly.
11734
fe95fbf9
JH
117352011-01-07 Jan Hubicka <jh@suse.cz>
11736
11737 PR lto/45375
11738 * lto-opt.c (lto_reissue_options): Set flag_shlib.
11739
14d11d40
IS
117402011-01-07 Iain Sandoe <iains@gcc.gnu.org>
11741
72e961c8
EB
11742 * target.def (function_switched_text_sections): New hook.
11743 * doc/tm.texi: Regenerated.
11744 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 11745 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
11746 (final_scan_insn): Call function_switched_text_sections when a
11747 mid-function section change occurs.
14d11d40 11748 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
11749 * config/darwin-protos.h (darwin_function_switched_text_sections):
11750 Likewise.
14d11d40 11751 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 11752 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 11753
0b764288
IS
117542011-01-07 Iain Sandoe <iains@gcc.gnu.org>
11755
11756 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
11757 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
11758 the secondary code fragment when outputting for DWARF == 2.
11759
2ac6bb04
AS
117602011-01-07 Anatoly Sokolov <aesok@post.ru>
11761
11762 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
11763 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
11764 Remove.
11765 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
11766 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
11767
9f82de11
EB
117682011-01-06 Eric Botcazou <ebotcazou@adacore.com>
11769
11770 PR debug/46704
280d9630
EB
11771 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
11772 when it is not empty.
9f82de11
EB
11773
117742011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 11775
1ed72abf 11776 Bobcat Enablement
14b52538 11777 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 11778 (case ${target}): Add btver1.
14b52538 11779 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 11780 -march=native recognize btver1 processors.
14b52538 11781 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 11782 btver1 def_and_undef
14b52538 11783 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
11784 btver1 cost table.
11785 (m_BTVER1): New definition.
11786 (m_AMD_MULTIPLE): Includes m_BTVER1.
11787 (initial_ix86_tune_features): Add btver1 tune.
11788 (processor_target_table): Add btver1 entry.
11789 (static const char *const cpu_names): Add btver1 entry.
11790 (software_prefetching_beneficial_p): Add btver1.
11791 (ix86_option_override_internal): Add btver1 instruction sets.
11792 (ix86_issue_rate): Add btver1.
11793 (ix86_adjust_cost): Add btver1.
14b52538 11794 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
11795 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
11796 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
11797 * config/i386/i386.md (define_attr "cpu"): Add btver1.
11798
e1a973d8
RO
117992011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11800
11801 PR target/43309
11802 * config/i386/i386.c (legitimize_tls_address)
11803 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
11804 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
11805 (tls_initial_exec_64_sun): New pattern.
11806
c73f67c5
GP
118072011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
11808
11809 * doc/invoke.texi (Overall Options): Improve wording and markup
11810 of the description of -wrapper.
11811
bc4c6f9c
JM
118122011-01-06 Joseph Myers <joseph@codesourcery.com>
11813
11814 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
11815 rdynamic, threads): New Driver options.
11816
adb75db0
RO
118172011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11818
11819 PR target/38118
11820 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
11821 if coming from .tdata.
11822 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
11823
402c1cb4
JH
118242011-01-06 Jan Hubicka <jh@suse.cz>
11825
11826 PR lto/47188
11827 * collect2.c (main): Do not enable LTOmode when plugin is active.
11828
a4da6485
RO
118292011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11830
11831 PR other/45915
11832 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
11833 --version output if supported.
11834 * configure: Regenerate.
11835
028dbdf4
JM
118362011-01-06 Joseph Myers <joseph@codesourcery.com>
11837
11838 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
11839 Driver options.
11840
dfe776dd
JJ
118412011-01-06 Jakub Jelinek <jakub@redhat.com>
11842
11843 PR c/47150
11844 * c-convert.c (convert): When converting a complex expression
11845 other than COMPLEX_EXPR to a different complex type, ensure
11846 c_save_expr is called instead of save_expr, unless in_late_binary_op.
11847 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
11848 when converting COMPLEX_TYPE.
11849
210dedfe
IR
118502011-01-06 Ira Rosen <irar@il.ibm.com>
11851
11852 PR tree-optimization/47139
11853 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
11854 only the last reduction value is used outside the loop. Update
11855 documentation.
11856
cd33a412
JM
118572011-01-05 Joseph Myers <joseph@codesourcery.com>
11858
11859 * config/rtems.opt: New.
11860 * config.gcc (*-*-rtems*): Use rtems.opt.
11861
819edd94
CF
118622011-01-05 Changpeng Fang <changpeng.fang@amd.com>
11863
11864 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
11865 processors do not support 3DNow instructions.
11866
dc242c4a
UW
118672011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11868
11869 * config/spu/spu.c (spu_option_override): Set parameter
11870 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
11871
be286227
JH
118722011-01-05 Jan Hubicka <jh@suse.cz>
11873
11874 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
11875 at the command line.
11876
644e637f
MJ
118772011-01-05 Martin Jambor <mjambor@suse.cz>
11878
11879 PR lto/47162
11880 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
11881 deltas on streamed outgoing edges.
11882 (output_node_opt_summary): Output info for outgoing edges only when
11883 the node is in new parameter set.
11884 (output_cgraph_opt_summary): New parameter set, passed to the two
11885 aforementioned functions. Update its forward declaration and its
11886 callee too.
11887
7bd11157
TT
118882011-01-05 Tom Tromey <tromey@redhat.com>
11889
11890 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
11891 operator to c_finish_omp_atomic.
11892 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
11893 (build_unary_op): Update.
11894 (build_modify_expr): Update.
11895 (build_asm_expr): Update.
11896
f626b979
UW
118972011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11898
11899 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
11900 newly inserted insns.
11901 (pad_bb): Likewise.
11902 (spu_emit_branch_hint): Likewise.
11903 (insert_hbrp_for_ilb_runout): Likewise.
11904 (spu_machine_dependent_reorg): Call df_finish_pass after
11905 schedule_insns returns.
11906
4c825c02
UW
119072011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11908
11909 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
11910
5e9fba51
EB
119112011-01-05 Eric Botcazou <ebotcazou@adacore.com>
11912
11913 PR tree-optimization/47005
11914 * tree-sra.c (struct access): Add 'non_addressable' bit.
11915 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
11916 (decide_one_param_reduction): Return 0 if the parameter is passed by
11917 reference and one of the accesses in the group is non_addressable.
11918
3ebb5ca6
EB
119192011-01-04 Eric Botcazou <ebotcazou@adacore.com>
11920
11921 PR tree-optimization/47056
11922 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
11923 (mark_load): Likewise. Handle FUNCTION_DECL specially.
11924 (mark_store): Likewise. Pass STMT to ipa_record_reference.
11925
d5d4d14e
EB
119262011-01-04 Eric Botcazou <ebotcazou@adacore.com>
11927
11928 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
11929 initializer. Skip view conversions from aggregate types.
11930
d996ef70
KT
119312011-01-04 Kai Tietz <kai.tietz@onevision.com>
11932
11933 PR bootstrap/47055
11934 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
11935
509d65dd 119362011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
11937
11938 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
11939 obvious typo.
11940
55c623b5
UW
119412011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11942
11943 * function.c (thread_prologue_and_epilogue_insns): Do not crash
11944 on empty epilogue sequences.
11945
b98d6b35
JM
119462011-01-04 Joseph Myers <joseph@codesourcery.com>
11947
11948 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
11949 non-static): New Driver options.
11950
a0d43bac
JZ
119512011-01-04 Jie Zhang <jie@codesourcery.com>
11952
11953 PR driver/47137
11954 * gcc.c (default_compilers[]): Set combinable field to 0
11955 for all assembly languages.
11956
2b18eb32
MX
119572011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
11958
11959 * config/mips/loongson3a.md: New file.
11960 * config/mips/mips.md: Include loongson3a.md.
11961 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
11962 TUNE_LOONGSON_3A.
11963
42a48c4f
EB
119642011-01-03 Eric Botcazou <ebotcazou@adacore.com>
11965
11966 PR middle-end/47017
11967 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
11968 instead of convert_memory_address_addr_space on the base expression.
11969
9c1732c4
UW
119702011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11971
11972 * config/spu/spu.c (spu_option_override): Update error text
11973 for bad -march= / -mtune= values.
11974
aa474365
UW
119752011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11976
11977 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
11978 if branch-hint optimization will be performed.
11979
9766135b
JJ
119802011-01-03 Jakub Jelinek <jakub@redhat.com>
11981
371556ee
JJ
11982 PR tree-optimization/47148
11983 * ipa-split.c (split_function): Convert arguments to
11984 DECL_ARG_TYPE if possible.
11985
1ac12fa2
JJ
11986 PR tree-optimization/47155
11987 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
11988 when computing uns.
11989
9766135b
JJ
11990 PR rtl-optimization/47157
11991 * combine.c (try_combine): If undobuf.other_insn becomes
11992 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
11993 and set *new_direct_jump_p too.
11994
f4a2e571
SP
119952011-01-03 Sebastian Pop <sebastian.pop@amd.com>
11996
11997 PR tree-optimization/47021
11998 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
11999
9f8e43c0
JJ
120002011-01-03 Jakub Jelinek <jakub@redhat.com>
12001
12002 * gcc.c (process_command): Update copyright notice dates.
12003 * gcov.c (print_version): Likewise.
12004 * gcov-dump.c (print_version): Likewise.
12005 * mips-tfile.c (main): Likewise.
12006 * mips-tdump.c (main): Likewise.
12007
1a2e38f3
MJ
120082011-01-03 Martin Jambor <mjambor@suse.cz>
12009
12010 PR tree-optimization/46801
12011 * tree-sra.c (type_internals_preclude_sra_p): Check whether
12012 aggregate fields start at byte boundary instead of the bit-field flag.
12013
56b721c5
L
120142011-01-03 H.J. Lu <hongjiu.lu@intel.com>
12015
12016 PR driver/47137
12017 * gcc.c (main): Revert revision 168407.
12018
839d549b
MJ
120192011-01-03 Martin Jambor <mjambor@suse.cz>
12020
12021 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
12022
4ce99a20 120232011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
12024
12025 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
12026 vector optab to expand vector/scalar shift, update gimple to vector.
12027
76df0ae6
MJ
120282011-01-03 Martin Jambor <mjambor@suse.cz>
12029
12030 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
12031 a thunk.
12032
ce47fda3
MJ
120332011-01-03 Martin Jambor <mjambor@suse.cz>
12034
12035 PR tree-optimization/46984
12036 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
12037 HOST_WIDE_INT.
12038 (cgraph_create_indirect_edge): Fixed line length.
12039 (cgraph_indirect_call_info): Declare.
12040 (cgraph_make_edge_direct) Update declaration.
12041 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
12042 (cgraph_create_indirect_edge): Use it.
12043 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
12044 callees.
12045 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
12046 the new thunk_delta representation.
12047 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
12048 HOST_WIDE_INT.
12049 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
12050 (ipa_read_indirect_edge_info): Likewise.
12051 * lto-cgraph.c (output_edge_opt_summary): New function.
12052 (output_node_opt_summary): Call it on all outgoing edges.
12053 (input_edge_opt_summary): New function.
12054 (input_node_opt_summary): Call it on all outgoing edges.
12055
1e67fa1f
L
120562011-01-02 H.J. Lu <hongjiu.lu@intel.com>
12057
12058 PR driver/47137
12059 * gcc.c (main): Don't check have_o when settting combine_inputs.
12060
6656b2ac
EB
120612011-01-02 Eric Botcazou <ebotcazou@adacore.com>
12062
12063 * regrename.c: Add general comment describing the pass.
12064 (struct du_head): Remove 'length' field.
12065 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
12066 (regrename_optimize): Do not sort chains. Rework comments, add others.
12067 Force renaming to the preferred class (if any) in the first pass and do
12068 not consider registers that belong to it in the second pass.
12069 (create_new_chain): Do not set 'length' field.
12070 (scan_rtx_reg): Likewise.
12071
bc470c24
JJ
120722011-01-02 Jakub Jelinek <jakub@redhat.com>
12073
4e996296
JJ
12074 PR tree-optimization/47140
12075 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
12076 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
12077 to bit_value_binop.
12078
bc470c24 12079 PR rtl-optimization/47028
6656b2ac
EB
12080 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
12081 parm_birth_insn instead of at the beginning of first bb.
bc470c24 12082
5af62fcd 120832011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
12084
12085 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
12086 Remove the word "see" before "@pxref".
12087 * doc/rtl.texi: Remove the word "see" before "@pxref".
12088
0e20c89f
JH
120892011-01-01 Jan Hubicka <jh@suse.cz>
12090
6656b2ac
EB
12091 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
12092 memory.
0e20c89f 12093
220e83ca
KT
120942011-01-01 Kai Tietz <kai.tietz@onevision.com>
12095
12096 PR target/38662
6656b2ac 12097 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 12098
ad41bd84 12099\f
797103eb 12100Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
12101
12102Copying and distribution of this file, with or without modification,
12103are permitted in any medium without royalty provided the copyright
12104notice and this notice are preserved.