]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
* gcc.pot: Regenerate.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
fe58e02b
L
12011-03-17 H.J. Lu <hongjiu.lu@intel.com>
2
3 PR debug/48160
4 * var-tracking.c (prepare_call_arguments): Check SUBREG.
5
6fc4dbc7
L
62011-03-17 H.J. Lu <hongjiu.lu@intel.com>
7
8 PR target/48171
9 * config/i386/i386.opt: Add Save to -mavx and -mfma.
10
db3ed0b3
JJ
112011-03-17 Jakub Jelinek <jakub@redhat.com>
12
8054a389
JJ
13 PR bootstrap/48153
14 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
15 if dwarf_strict.
16 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
17 Clear call_arg_locations and call_arg_loc_last always.
18
db3ed0b3
JJ
19 PR middle-end/48152
20 * var-tracking.c (prepare_call_arguments): If argument needs to be
21 passed by reference, adjust argtype and mode.
22
1bce4ff3
RG
232011-03-17 Richard Guenther <rguenther@suse.de>
24
25 PR middle-end/48134
26 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
27 a value make sure to fold the statement.
28
7c71147d
CLT
292011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
30
31 PR target/43872
32 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
33 return condition with !cfun->calls_alloca.
34
0e1ee172
RG
352011-03-17 Richard Guenther <rguenther@suse.de>
36
37 PR bootstrap/48148
38 * lto-cgraph.c (input_overwrite_node): Clear the abstract
39 origin for decls in other ltrans units.
40 (input_varpool_node): Likewise.
41
f8bce518
RG
422011-03-17 Richard Guenther <rguenther@suse.de>
43
44 PR middle-end/48165
45 * tree-object-size.c (compute_object_offset): Properly return
46 the offset operand of MEM_REFs as sizetype.
47
1b6fa860
JJ
482011-03-17 Jakub Jelinek <jakub@redhat.com>
49
dabd47e7
JJ
50 PR rtl-optimization/48141
51 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
52 * dse.c: Include params.h.
53 (active_local_stores_len): New variable.
54 (add_wild_read, dse_step1): Clear it when setting active_local_stores
55 to NULL.
56 (record_store, check_mem_read_rtx): Decrease it when removing
57 from the chain.
58 (scan_insn): Likewise. Increase it when adding to chain, if it
59 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
60 set active_local_stores to NULL before the addition.
61 * Makefile.in (dse.o): Depend on $(PARAMS_H).
62
1b6fa860
JJ
63 PR rtl-optimization/48141
64 * dse.c (record_store): If no positions are needed in an insn
65 that cannot be deleted, at least unchain it from active_local_stores.
66
7b5cb7d6
DS
672011-03-16 Dodji Seketeli <dodji@redhat.com>
68
69 PR debug/47510
70 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
71 (lookup_type_die_strip_naming_typedef): ... here.
72 (get_context_die): Use it.
73 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
74 the anonymous struct named by the naming typedef.
75
585e9d9d
L
762011-03-16 H.J. Lu <hongjiu.lu@intel.com>
77
78 PR target/48154
79 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
80 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
81
6261ab0e
JL
822011-03-16 Jeff Law <law@redhat.com>
83
84 * tree-vrp.c (identify_jump_threads): Slightly simplify type
85 check for operands of conditional. Allow type to be a
86 pointer.
87
0b0081ec
RG
882011-03-16 Richard Guenther <rguenther@suse.de>
89
90 PR tree-optimization/48149
91 * fold-const.c (fold_binary_loc): Fold
92 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
93
64a3d647
RG
942011-03-16 Richard Guenther <rguenther@suse.de>
95
96 PR tree-optimization/26134
97 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
98 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
99 (non_rewritable_mem_ref_base): Handle complex type component
100 accesses, constrain offsets for vector and complex extracts
101 more properly.
102
ef13324e
RG
1032011-03-16 Richard Guenther <rguenther@suse.de>
104
105 PR tree-optimization/48146
106 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
107 operands avoiding the need for renaming.
108
f0eddb90
RG
1092011-03-16 Richard Guenther <rguenther@suse.de>
110
111 * gimple-fold.c (maybe_fold_reference): Open-code relevant
112 constant folding. Move MEM_REF canonicalization first.
113 Rely on fold_const_aggregate_ref for initializer folding.
114 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
115
e42348b8
JJ
1162011-03-16 Jakub Jelinek <jakub@redhat.com>
117
29f10e71
JJ
118 PR middle-end/48136
119 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
120 arg0/arg1 or their arguments are always fold converted to matching
121 types.
122
e42348b8
JJ
123 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
124 to nargs.
125
55b46574
RO
1262011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
127
128 PR lto/46944
129 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
130 Handle in-tree gold.
131 (ld_vers): Extract binutils version for gold.
132 (gcc_cv_ld_hidden): Handle gold here.
133 (gcc_cv_lto_plugin): Determine level of linker plugin support.
134 * configure: Regenerate.
135 * config.in: Regenerate.
136 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
137 -fuse-linker-plugin otherwise.
138 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
139 (LINK_COMMAND_SPEC): Use it.
140 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
141
2b1c5433
JJ
1422011-03-16 Jakub Jelinek <jakub@redhat.com>
143
c2969d8e
JJ
144 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
145 * calls.c: Remove debug.h include.
146 (emit_call_1): Don't call virtual_call_token debug hook.
147 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
148 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
149 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
150 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
151 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
152 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
153 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
154 dwarf2out_virtual_call): Remove.
155 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
156 copy_call_info and virtual_call hooks.
157 (dwarf2out_init): Don't initialize vcall_insn_table,
158 debug_dcall_section and debug_vcall_section.
159 (prune_unused_types): Don't mark nodes from dcall_table.
160 (dwarf2out_finish): Don't output dcall or vcall tables.
161 * final.c (final_scan_insn): Don't call direct_call or
162 virtual_call debug hooks.
163 * debug.h (struct gcc_debug_hooks): Remove direct_call,
164 virtual_call_token, copy_call_info and virtual_call hooks.
165 (debug_nothing_uid): Remove prototype.
166 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
167 copy_call_info and virtual_call hooks.
168 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
169 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
170 * debug.c (do_nothing_debug_hooks): Likewise.
171 (debug_nothing_uid): Remove.
172 * doc/invoke.texi (-fenable-icf-debug): Remove.
173 * common.opt (-fenable-icf-debug): Likewise.
174
325f5379
JJ
175 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
176 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
177 call's MEM. Handle functions returning aggregate through a hidden
178 first pointer. For virtual calls add clobbered pc to call arguments
179 chain.
180 * dwarf2out.c (gen_subprogram_die): Emit
181 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
182 can't be emitted.
183
a58a8e4b
JJ
184 PR debug/45882
185 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
186 * rtl.h (ENTRY_VALUE_EXP): Define.
187 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
188 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
189 * print-rtl.c (print_rtx): Likewise.
190 * gengtype.c (adjust_field_rtx_def): Likewise.
191 * var-tracking.c (vt_add_function_parameter): Adjust
192 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
193 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
194 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
195 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
196 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
197
2b1c5433
JJ
198 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
199 Call var_location debug hook even on CALL_INSNs.
200 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
201 * rtl.def (ENTRY_VALUE): New.
202 * dwarf2out.c: Include cfglayout.h.
203 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
204 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
205 (struct call_arg_loc_node): New type.
206 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
207 tail_call_site_count): New variables.
208 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
209 DW_TAG_GNU_call_site_parameter.
210 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
211 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
212 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
213 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
214 and DW_AT_GNU_all_source_call_sites.
215 (mem_loc_descriptor): Handle ENTRY_VALUE.
216 (add_src_coords_attributes): Don't add enything if
217 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
218 (dwarf2out_abstract_function): Save and clear call_arg_location,
219 call_site_count and tail_call_site_count around dwarf2out_decl call.
220 (gen_call_site_die): New function.
221 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
222 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
223 (dwarf2out_function_decl): Clear call_arg_locations,
224 call_arg_loc_last, set call_site_count and tail_call_site_count
225 to -1 and free block_map.
226 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
227 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
228 followed by any real instructions.
229 (dwarf2out_begin_function): Set call_site_count and
230 tail_call_site_count to 0.
231 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
232 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
233 attempt to force a DIE for it and worst case remove the attribute.
234 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
235 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
236 the decl itself.
237 * var-tracking.c: Include tm_p.h.
238 (vt_stack_adjustments): For calls call note_register_arguments.
239 (argument_reg_set): New variable.
240 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
241 ensure the VALUE is resolved.
242 (call_arguments): New variable.
243 (prepare_call_arguments): New function.
244 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
245 (struct expand_loc_callback_data): Add ignore_cur_loc field.
246 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
247 always use the best expression.
248 (vt_expand_loc): Add ignore_cur_loc argument.
249 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
250 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
251 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
252 note for all calls.
253 (vt_add_function_parameter): Use cselib_lookup_from_insn.
254 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
255 argument. Don't call cselib_preserve_only_values and
256 cselib_reset_table.
257 (note_register_arguments): New function.
258 (vt_initialize): Compute argument_reg_set. Call
259 vt_add_function_parameters before processing basic blocks instead of
260 afterwards. For calls call prepare_call_arguments before calling
261 cselib_process_insn.
262 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
263 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
264 (var-tracking.o): Depend on $(TM_P_H).
265 * cfglayout.h (insn_scope): New prototype.
266 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
267 * cfglayout.c (insn_scope): No longer static.
268 * insn-notes.def (CALL_ARG_LOCATION): New.
269 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
270 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
271 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
272 nothing for DECL_EXTERNAL BLOCK_VARS.
273
9ef13bd0
AM
2742011-03-16 Alan Modra <amodra@gmail.com>
275
276 PR target/45844
277 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
278 create invalid offset address for vsx splat insn.
279 * config/rs6000/predicates.md (splat_input_operand): New.
280 * config/rs6000/vsx.md (vsx_splat_*): Use it.
281
56b67510
XDL
2822011-03-15 Xinliang David Li <davidxl@google.com>
283
284 PR c/47837
285 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
286 (normalize_preds): New function.
287 (is_use_properly_guarded): Normalize def predicates.
288
80fffdef
RR
2892011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
290
9751171c 291 PR target/46778
80fffdef
RR
292 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
293 in the output template.
294
930672ad
RG
2952011-03-15 Richard Guenther <rguenther@suse.de>
296
297 PR middle-end/47650
298 * tree-pretty-print.c (dump_function_declaration): Properly
299 dump unprototyped and varargs function types.
300
c7ee7b45
RG
3012011-03-15 Richard Guenther <rguenther@suse.de>
302
303 PR tree-optimization/13954
304 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
305 and friends.
306
b2ad5e37
RG
3072011-03-15 Richard Guenther <rguenther@suse.de>
308
309 PR tree-optimization/48037
310 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
311 selects into BIT_FIELD_REFs.
312 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
313 vector select.
314
7ee93d4e
JJ
3152011-03-15 Jakub Jelinek <jakub@redhat.com>
316
317 PR tree-optimization/48129
318 * builtins.c (fold_builtin_snprintf): Convert to type of
319 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
320 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
321
e106efc7
RG
3222011-03-15 Richard Guenther <rguenther@suse.de>
323
324 PR tree-optimization/41490
325 * tree-ssa-dce.c (propagate_necessity): Handle returns without
326 value but with VUSE.
327 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
328 return statements.
329 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
330 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
331 * tree-tailcall.c (find_tail_calls): Ignore returns.
332
17dea42f
RG
3332011-03-15 Richard Guenther <rguenther@suse.de>
334
335 PR middle-end/48031
336 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
337 or variable-indexed array accesses when in gimple form.
338
01c77a60
RG
3392011-03-15 Richard Guenther <rguenther@suse.de>
340
341 * config/i386/i386.c (ix86_emit_swdivsf): Implement more
342 efficiently.
343
77b0791e
AM
3442011-03-15 Alan Modra <amodra@gmail.com>
345
346 PR target/48032
347 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
348 presume symbol_refs without a symbol_ref_decl are suitably
349 aligned, nor other trees we may see here. Handle anchor symbols.
350 (legitimate_constant_pool_address_p): Comment. Add mode param.
351 Check cmodel=medium addresses. Adjust all calls.
352 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
353 creating cmodel=medium optimized access to locals.
354 * config/rs6000/constraints.md (R): Pass QImode to
355 legitimate_constant_pool_address_p.
356 * config/rs6000/predicates.md (input_operand): Pass mode to
357 legitimate_constant_pool_address_p.
358 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
359 Update prototype.
360
35f61ba4
MM
3612011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
362
363 PR target/48053
364 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
365 64-bit constants being loaded into registers other than GPRs such
366 as loading 0 into a VSX register.
367
07332e6d
RO
3682011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
369
370 * config/sol2.c (solaris_assemble_visibility): Remove obsolete
371 URLs.
372
de888d90
JJ
3732011-03-14 Jakub Jelinek <jakub@redhat.com>
374
ba3ceb2d
JJ
375 PR middle-end/47917
376 * builtins.c (fold_builtin_snprintf): New function.
377 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
378 (fold_builtin_4): Likewise.
379
2e64f8b8
JJ
380 PR middle-end/38878
381 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
382 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
383 and C - X == X also strip nops from +/-/p+ operand.
384 When optimizing -X == C, fold C to arg0's type.
385
de888d90
JJ
386 PR debug/47946
387 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
388 emit it as add_AT_int instead of add_AT_unsigned.
389
3902011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
391
392 * unwind-dw2.c: Include sys/sdt.h if it exists.
393 (_Unwind_DebugHook): Use STAP_PROBE2.
394 * config.in, configure: Rebuild.
395 * configure.ac: Check for sys/sdt.h.
396
d34abfd2
UB
3972011-03-14 Uros Bizjak <ubizjak@gmail.com>
398
399 * config/i386/i386.md (ROUND_FLOOR): New constant.
400 (ROUND_CEIL): Ditto.
401 (ROUND_TRUNC): Ditto.
402 (ROUND_MXCSR): Ditto.
403 (ROUND_NO_EXC): Ditto.
404 (rint<mode>2): Use new defines instead of numerical constants.
405 (floor<mode>2): Ditto.
406 (ceil<mode>2): Ditto.
407 (btrunc<mode>2): Ditto.
408 * config/i386/i386-builtin-types.def: Define ROUND function type
409 aliases.
410 * config/i386/i386.c (enum ix86_builtins): Add
411 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
412 (struct builtin_description): Add
413 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
414 (ix86_expand_sse_round): New static function.
415 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
416 function types.
417 (ix86_builtin_vectorized_function): Handle
418 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
419
87f9e23d
TT
4202011-03-14 Tom Tromey <tromey@redhat.com>
421
422 * c-parser.c (c_parser_asm_string_literal): Clear
423 warn_overlength_strings.
424
b3ab9ea2
TT
4252011-03-14 Tom Tromey <tromey@redhat.com>
426
427 * c-parser.c (disable_extension_diagnostics): Save
428 warn_overlength_strings.
429 (restore_extension_diagnostics): Restore warn_overlength_strings.
430
6bd73dd8
JJ
4312011-03-14 Jakub Jelinek <jakub@redhat.com>
432
433 * BASE-VER: Change to 4.7.0.
434
7f4d6e1b
RG
4352011-03-14 Richard Guenther <rguenther@suse.de>
436
437 PR middle-end/48098
438 * tree.c (build_vector_from_val): Adjust assert to requirements
439 and reality.
440
c6104ef1
JJ
4412011-03-14 Jakub Jelinek <jakub@redhat.com>
442
443 PR bootstrap/48102
d34abfd2 444 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 445
dfa95e19
AT
4462011-03-14 Andreas Tobler <andreast@fgznet.ch>
447
448 * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
449 terms of target_flags_explicit. Adjust copyright year.
450
451 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
452 * config/rs6000/t-freebsd: New file. Add override for
453 LIB2FUNCS_EXTRA.
454
bb322018
CD
4552011-03-13 Chris Demetriou <cgd@google.com>
456
457 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
458 (-fno-diagnostics-show-option): this, to reflect current default.
459 (-Werror=): Update text about -fno-diagnostics-show-option.
460
12b1c80b
PB
4612011-03-12 Peter Bergner <bergner@vnet.ibm.com>
462
463 PR target/48053
464 * config/rs6000/predicates.md (easy_vector_constant_add_self,
465 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
466 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
467 mode is not V2DImode or V2DFmode.
468 (vspltis_constant): Do not handle V2DImode and V2DFmode.
469 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
470 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
471 registers to 0.
472 (movdi_internal64): Likewise.
473
57d598f7
SP
4742011-03-12 Sebastian Pop <sebastian.pop@amd.com>
475
476 PR tree-optimization/47127
477 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
478 parameter.
479 (set_cloog_options): Same.
480 (scop_to_clast): Same.
481 (print_clast_stmt): Do not call cloog_state_malloc and
482 cloog_state_free.
483 (print_generated_program): Same.
484 (gloog): Same.
485 * graphite-clast-to-gimple.h (cloog_state): Declared.
486 (scop_to_clast): Adjust declaration.
487 * graphite.c (cloog_state): Defined here.
488 (graphite_initialize): Call cloog_state_malloc.
489 (graphite_finalize): Call cloog_state_free.
490
f231b5ff
JM
4912011-03-11 Jason Merrill <jason@redhat.com>
492
493 * attribs.c (lookup_attribute_spec): Take const_tree.
494 * tree.h: Adjust.
495
6a4e2bd5
JM
4962011-03-11 Joseph Myers <joseph@codesourcery.com>
497
498 * config/sparc/sparc.c (sparc_option_override): Use
499 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
500
a758fd67
RG
5012011-03-11 Richard Guenther <rguenther@suse.de>
502
503 PR tree-optimization/48067
504 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
505 multiplication result will be only used once on the target
506 stmt.
507
03dfda54
RG
5082011-03-11 Richard Guenther <rguenther@suse.de>
509
510 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
511
5f11a50a
RG
5122011-03-11 Richard Guenther <rguenther@suse.de>
513
514 PR lto/48073
515 * tree.c (find_decls_types_r): Do not walk types only reachable
516 from IDENTIFIER_NODEs.
517
4074f163
JJ
5182011-03-11 Jakub Jelinek <jakub@redhat.com>
519
520 PR middle-end/48044
521 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
522 all vnode->force_output nodes as needed.
523
30f7cdcd
JM
5242011-03-11 Jason Merrill <jason@redhat.com>
525
526 PR c++/48069
527 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
528 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
529
62ecfeb8
MJ
5302011-03-11 Martin Jambor <mjambor@suse.cz>
531
532 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
533 cgraph_node.
534
e89e03ab
JJ
5352011-03-11 Jakub Jelinek <jakub@redhat.com>
536
537 PR tree-optimization/48063
538 * ipa-inline.c (cgraph_decide_inlining): Don't try to
539 inline functions called once if !tree_can_inline_p (node->callers).
540
efbe978b 5412011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 542
efbe978b
EB
543 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
544 extra_objs.
9d6193a7
CL
545 * config/score/score3.c: Delete.
546 * config/score/score3.h: Delete.
547 * config/score/mul-div.S: Delete.
548 * config/score/sfp-machine.h: Add new file.
549 * config/score/constraints.md: Add new file.
550 * config/score/t-score-softfp: Add new file.
efbe978b 551 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
552 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
553 (score7_extra_constraint): Delete.
efbe978b 554 (score7_option_override): Remove unused code.
9d6193a7
CL
555 * config/score/score.c: Remove score3 and score5 define and code.
556 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 557 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
558 * config/score/score.opt: Remove score3 and score5 options.
559
5de27cca
JDA
5602011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
561
562 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
563 when _HPUX_SOURCE is defined.
564 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
565
18d92053
JM
5662011-03-10 Jason Merrill <jason@redhat.com>
567
568 PR c++/48029
569 * stor-layout.c (layout_type): Don't set structural equality
570 on arrays of incomplete type.
571 * tree.c (type_hash_eq): Handle comparing them properly.
572
67a2f76d
JJ
5732011-03-10 Jakub Jelinek <jakub@redhat.com>
574
575 PR debug/48043
18d92053 576 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
577 result mode matches original rtl mode.
578
d845b2f9
NC
5792011-03-10 Nick Clifton <nickc@redhat.com>
580
581 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 582 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 583
db7ec035
JJ
5842011-03-09 Jakub Jelinek <jakub@redhat.com>
585
586 PR rtl-optimization/47866
587 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
588 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
589 if target wasn't scalar.
590 * function.c (assign_stack_temp_for_type): Assert that neither
591 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
592 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
593 macro.
594 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
595
5d304e47
AK
5962011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
597
598 * config/s390/s390-protos.h (s390_label_align): New prototype.
599 * config/s390/s390.c (s390_label_align): New function.
600 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
601
93b826f0
MM
6022011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
603
604 PR target/47755
605 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
606 V2DI/V2DF constants. Only all 0's or all 1's are easy.
607 (output_vec_const_move): Ditto.
608
ef78aed6
AS
6092011-03-08 Anatoly Sokolov <aesok@post.ru>
610
611 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
612 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
613 * config/mips/mips.c (mips_preferred_reload_class): Make static.
614 Change 'rclass' argument and result type to reg_class_t.
615 (TARGET_PREFERRED_RELOAD_CLASS): Define.
616
5f892aa0
GJL
6172011-03-08 Georg-Johann Lay <avr@gjlay.de>
618
619 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
620 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST,
621 TARGET_MEMORY_MOVE_COST): Define.
622 (avr_register_move_cost, avr_memory_move_cost): New Functions.
623
32bd2409
JJ
6242011-03-08 Jakub Jelinek <jakub@redhat.com>
625
530a4800
JJ
626 PR debug/47881
627 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
628 removed anything.
629
32bd2409
JJ
630 PR tree-optimization/48022
631 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
632 for EQ/NE_EXPR.
633
c7148991
JJ
6342011-03-07 Jakub Jelinek <jakub@redhat.com>
635
636 PR debug/47991
637 * var-tracking.c (find_use_val): Return NULL for
638 cui->sets && cui->store_p BLKmode MEMs.
639
43070a6e
AS
6402011-03-07 Anatoly Sokolov <aesok@post.ru>
641
642 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
643 Remove.
644 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
645 xstormy16_print_operand_address): Remove.
646 * config/stormy16/stormy16.c (xstormy16_print_operand,
647 xstormy16_print_operand_address): Make static.
648 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
649
efbe978b 6502011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
651
652 PR target/47862
653 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
654 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
655 before definition.
656
cec8ac0b
ZD
6572011-03-07 Zdenek Dvorak <ook@ucw.cz>
658
659 PR bootstrap/48000
660 * cfgloopmanip.c (fix_bb_placements): Return immediately
661 if FROM is BASE_LOOP's header.
662
59527282
PW
6632011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
664
665 * gimplify.c (gimplify_function_tree): Fix building calls
666 to __builtin_return_address.
667
617718f7
AM
6682011-03-07 Alan Modra <amodra@gmail.com>
669
670 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
671 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
672 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
673 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
674 return_mode args.
675 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
676 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
677 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
678 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
679 * config/rs6000/rs6000.c
680 (rs6000_elf_end_indicate_exec_stack): Rename to..
681 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
682 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
683 (rs6000_file_start): ..here.
684 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
685 file scope variables.
686 (call_ABI_of_interest): New function.
687 (init_cumulative_args): Set above vars when function return value
688 is a float, vector, or small struct.
689 (rs6000_function_arg_advance_1): Likewise for function args.
690 (rs6000_va_start): Set rs6000_passes_float if variable arg function
691 references float args.
692
38528d50
MX
6932011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
694
695 * doc/cfg.texi: Remove "See" before @ref.
696 * doc/invoke.texi: Likewise.
697
f42cf4f4
JM
6982011-03-05 Jason Merrill <jason@redhat.com>
699
700 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
701
804a304d
AG
7022011-03-05 Anthony Green <green@moxielogic.com>
703
704 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
705
634ee309
ZD
7062011-03-05 Zdenek Dvorak <ook@ucw.cz>
707
708 PR rtl-optimization/47899
709 * cfgloopmanip.c (fix_bb_placements): Fix first argument
710 to flow_loop_nested_p when moving the loop upward.
711
6fe471c8
RE
7122011-03-05 Richard Earnshaw <rearnsha@arm.com>
713
714 PR target/47719
715 * arm.md (movhi_insn_arch4): Accept any immediate constant.
716
cc58ceee
JJ
7172011-03-05 Jakub Jelinek <jakub@redhat.com>
718
719 PR tree-optimization/47967
720 * ipa-cp.c (build_const_val): Return NULL instead of creating
721 VIEW_CONVERT_EXPR for mismatching sizes.
722 (ipcp_create_replace_map): Return NULL if build_const_val failed.
723 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
724 give up on versioning.
725
ea868305
AM
7262011-03-05 Alan Modra <amodra@gmail.com>
727
728 PR target/47986
729 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
730 full cmodel medium/large lo_sum + high addresses.
731
bc6ce334
AK
7322011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
733
734 * config/s390/s390.c (s390_decompose_address): Reject non-literal
735 pool references in UNSPEC_LTREL_OFFSET.
736
87e7b310
JH
7372011-03-04 Jan Hubicka <jh@suse.cz>
738
739 PR lto/47497
740 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
741 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
742 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
743 Add node pointers.
87e7b310
JH
744 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
745 cgraph_add_thunk): Add node pointers.
746 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
747 associated to right node.
748 (input_node): Update use of cgraph_same_body_alias
749 and cgraph_add_thunk.
750
d9c64246
CF
7512011-03-04 Changpeng Fang <changpeng.fang@amd.com>
752
753 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
754 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
755 modes when the flag -mprefer-avx128 is on.
d9c64246 756
08707076
RS
7572011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
758
759 * dwarf2out.c (compare_loc_operands): Fix address handling.
760
52517c81
AM
7612011-03-04 Alan Modra <amodra@gmail.com>
762
763 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
764
b147c5b9
RG
7652011-03-04 Richard Guenther <rguenther@suse.de>
766
767 PR middle-end/47968
768 * expmed.c (extract_bit_field_1): Prefer vector modes that
769 vec_extract patterns can handle.
770
8750672f
RG
7712011-03-04 Richard Guenther <rguenther@suse.de>
772
773 PR middle-end/47975
774 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
775
9eac0f2a
RH
7762011-03-04 Richard Henderson <rth@redhat.com>
777
778 * explow.c (emit_stack_save): Remove 'after' parameter.
779 (emit_stack_restore): Likewise.
780 * expr.h: Update to match.
781 * builtins.c, calls.c, stmt.c: Likewise.
782 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
783 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
784 * function.c (expand_function_end): Insert the emit_stack_save
785 sequence before parm_birth_insn instead of after.
786
dfee1406
UB
7872011-03-03 Uros Bizjak <ubizjak@gmail.com>
788
789 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
790 (ssse3_pmaddubsw128): Ditto.
791 (ssse3_pmaddubsw): Ditto.
792
f1d4c3de
SE
7932011-03-03 Steve Ellcey <sje@cup.hp.com>
794
795 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
796
71f3a3f5
JJ
7972011-03-03 Jakub Jelinek <jakub@redhat.com>
798
423ed416
JJ
799 PR c/47963
800 * gimplify.c (omp_add_variable): Only call omp_notice_variable
801 on TYPE_SIZE_UNIT if it is a DECL.
802
71f3a3f5
JJ
803 PR debug/47283
804 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
805 first operand is not is_gimple_mem_ref_addr, try to fold it.
806 If the operand still isn't is_gimple_mem_ref_addr, clear
807 MEM_EXPR on op0.
808
4b1a5c0d
RG
8092011-03-03 Richard Guenther <rguenther@suse.de>
810
811 PR middle-end/47283
812 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
813 match comment.
814 (refs_may_alias_p_1): For release branches return true if
815 we are confused by our input.
816
b46616fd
AK
8172011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
818
819 * config/s390/s390.c (s390_function_value): Rename to ...
820 (s390_function_and_libcall_value): ... this.
821 (s390_function_value): New function.
822 (s390_libcall_value): New function.
dfee1406 823 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
824 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
825 target macro definitions.
826 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
827
46d8fabb
JM
8282011-03-02 Joseph Myers <joseph@codesourcery.com>
829
830 * config/i386/freebsd64.h (CC1_SPEC): Define.
831 * config/i386/linux64.h (CC1_SPEC): Define.
832 * config/i386/x86-64.h (CC1_SPEC): Don't define.
833
6b1ce545
AS
8342011-03-02 Anatoly Sokolov <aesok@post.ru>
835
836 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
837 Remove.
838 * config/stormy16/stormy16.c: Include reload.h.
839 (xstormy16_memory_move_cost): New function.
840 (TARGET_MEMORY_MOVE_COST): Define.
841
34161e98
RS
8422011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
843
844 PR rtl-optimization/47925
845 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
846 with side effects. Remove the more-specific check for volatile asms.
847
f60a97cf
AM
8482011-03-02 Alan Modra <amodra@gmail.com>
849
850 PR target/47935
851 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
852 toc relative addresses for valid offsets.
853
f2ca11ca
RG
8542011-03-01 Richard Guenther <rguenther@suse.de>
855
856 PR tree-optimization/47890
857 * tree-vect-loop.c (get_initial_def_for_induction): Set
858 related stmt properly.
859
7a00d9ea
RG
8602011-03-01 Richard Guenther <rguenther@suse.de>
861
862 PR lto/47924
863 * lto-streamer.c (lto_record_common_node): Also register
864 the canonical type.
865
06c7edcc
RG
8662011-03-01 Richard Guenther <rguenther@suse.de>
867
868 PR lto/46911
869 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
870 Do not stream DECL_ABSTRACT_ORIGIN.
871 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
872 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
873 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
874 Do not stream DECL_ABSTRACT_ORIGIN.
875 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
876 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
877
998871e9
AS
8782011-02-28 Anatoly Sokolov <aesok@post.ru>
879
880 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
881 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 882 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
883 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
884 Add 'outgoing' argument.
885 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
886 function.
887 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
888 TARGET_FUNCTION_VALUE_REGNO_P): Define.
889
94369251
KT
8902011-02-28 Kai Tietz <kai.tietz@onevision.com>
891
892 PR debug/28047
893 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
894 (lookup_filename): Likewise.
b2e2ea67 895 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 896
80a832cd
JJ
8972011-02-28 Bernd Schmidt <bernds@codesourcery.com>
898 Jakub Jelinek <jakub@redhat.com>
899
900 PR middle-end/47893
901 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
902 (assign_stack_local_1): Change last argument type to int.
903 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
904 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 905 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
906 (assign_stack_local): Adjust caller.
907 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
908 of assign_stack_local, pass 0 as last argument.
909 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
910 callers.
911
1b500976
JJ
9122011-02-28 Jakub Jelinek <jakub@redhat.com>
913
f61c6f34
JJ
914 PR debug/47283
915 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
916 Use target address_mode and pointer_mode hooks instead of hardcoded
917 Pmode and ptr_mode. Handle some simple cases of extending if
918 POINTERS_EXTEND_UNSIGNED < 0.
919 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
920 Call convert_debug_memory_address.
921 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
922 convert_debug_memory_address.
923
1b500976
JJ
924 PR middle-end/46790
925 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
926 * configure: Regenerated.
927 * config.in: Regenerated.
928 * varasm.c (default_function_section): Return NULL
b2e2ea67 929 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 930
2f2935b6
MJ
9312011-02-28 Martin Jambor <mjambor@suse.cz>
932
933 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
934 the description to match the printed values.
935
474086eb
RG
9362011-02-28 Richard Guenther <rguenther@suse.de>
937
938 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
939 of the copied scope tree.
940
15bf6f3a
RW
9412011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
942
943 * doc/extend.texi (Function Attributes): Avoid deeply (and
944 wrongly) nested tables.
945
f6b439c9
JJ
9462011-02-27 Jakub Jelinek <jakub@redhat.com>
947
948 PR middle-end/47903
949 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
950 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
951 r isn't op0 nor op1.
952
1d8ca2c7
GJL
9532011-02-23 Georg-Johann Lay <avr@gjlay.de>
954
955 * config/avr/avr.md: Remove magic comment for emacs.
956
593fca4b
GJL
9572011-02-23 Georg-Johann Lay <avr@gjlay.de>
958
959 PR target/45261
960 * config/avr/avr.c (avr_option_override): Use error on bad options.
961 (avr_help): New function.
962 (TARGET_HELP): Define.
963
6609216e
GJL
9642011-02-22 Georg-Johann Lay <avr@gjlay.de>
965
966 PR target/42240
967 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
968 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
969
03d458af
GP
9702011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
971
972 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
973 (ARM Options): Ditto.
974 (i386 and x86-64 Options): Ditto.
975 (RX Options): Ditto.
976 (SPARC Options): Ditto.
977
1c379b78
TC
9782011-02-26 Tijl Coosemans <tijl@coosemans.org>
979
980 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
981 FreeBSD 6 and later. Generally use cpu generic.
982
d5ed058c 9832011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 984
d5ed058c
GP
985 * doc/cpp.texi: Update copyright years.
986
509d65dd 9872011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 988
509d65dd 989 PR target/46898
308d39cd
SB
990 * config/lm32/lm32.md (ashrsi3): Added needed variable.
991
509d65dd 9922011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 993
509d65dd 994 PR target/46898
308d39cd
SB
995 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
996 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
997 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
998 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 999 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
1000 (gen_int_relational): Move declarations to start of function.
1001
822ba6d7
EB
10022011-02-25 Eric Botcazou <ebotcazou@adacore.com>
1003
1004 PR tree-optimization/45470
1005 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
1006 can throw internally only.
1007 * tree-vect-stmts.c (vectorizable_call): Likewise.
1008
ef795fc2
AS
10092011-02-24 Anatoly Sokolov <aesok@post.ru>
1010
1011 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
1012 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
1013 * config/stormy16/stormy16-protos.h
1014 (xstormy16_preferred_reload_class): Remove.
1015 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
1016 static. Change 'rclass' argument and return type to reg_class_t.
1017 (TARGET_PREFERRED_RELOAD_CLASS,
1018 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
1019
1c3277ee
RG
10202011-02-24 Richard Guenther <rguenther@suse.de>
1021
1022 * lto-streamer-in.c (input_bb): Do not find referenced vars
1023 in debug statements.
1024
67e18edb
JM
10252011-02-23 Jason Merrill <jason@redhat.com>
1026
1027 * common.opt (fabi-version): Document v5 and v6.
1028
b14fad9d
RG
10292011-02-23 Richard Guenther <rguenther@suse.de>
1030
1031 PR tree-optimization/47849
1032 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
1033
7fcf46f5
JZ
10342011-02-23 Jie Zhang <jie@codesourcery.com>
1035
1036 * opts-common.c (decode_cmdline_option): Print empty string
1037 argument as "" in decoded->orig_option_with_args_text.
1038 * gcc.c (execute): Print empty string argument as ""
1039 in the verbose output.
1040 (do_spec_1): Keep empty string argument.
1041
f85b70fd
NF
10422011-02-23 Nathan Froyd <froydnj@codesourcery.com>
1043
1044 * config.gcc: Declare score-* and crx-* obsolete.
1045
b152a615
JZ
10462011-02-23 Jie Zhang <jie@codesourcery.com>
1047
1048 PR rtl-optimization/47763
1049 * web.c (web_main): Ignore naked clobber when replacing register.
1050
bb6e77bc
AS
10512011-02-22 Anatoly Sokolov <aesok@post.ru>
1052
1053 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
1054 Remove.
1055
68bf6491
SP
10562011-02-22 Sebastian Pop <sebastian.pop@amd.com>
1057
1058 PR doc/47848
1059 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
1060
88ee1fc7
MS
10612011-02-22 Mike Stump <mikestump@comcast.net>
1062
1063 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
1064 assembler.
1065 * configure: Regenerate.
1066
6042d1dd
CLT
10672011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
1068
1069 PR rtl-optimization/46002
1070 * ira-color.c (update_copy_costs): Change class intersection
1071 test to reg_class_contents[] test of 'hard_regno'.
1072
7de97f9e
JM
10732011-02-21 Joseph Myers <joseph@codesourcery.com>
1074
1075 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
1076 than Driver option.
1077 * config/hpux11.opt (mt): Likewise.
1078 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
1079 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
1080 * config/vax/elf.opt (mno-asm-pic): Likewise.
1081 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
1082
d1d46f9f
MS
10832011-02-21 Mike Stump <mikestump@comcast.net>
1084
1085 PR target/47822
1086 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
1087 tree so we can get save the type.
1088 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
1089 for CFString instead of trying to use past the end of the builtins.
1090 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
1091 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
1092 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
1093 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
1094 Rename to darwin_builtin_cfstring.
1095 (darwin_init_cfstring_builtins): Return the built type.
1096
23e0d930
UB
10972011-02-21 Uros Bizjak <ubizjak@gmail.com>
1098
1099 PR target/47840
1100 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
1101 (_mm256_insert_epi64): Use _mm_insert_epi64.
1102
192997cf
AS
11032011-02-21 Anatoly Sokolov <aesok@post.ru>
1104
1105 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1106 * config/stormy16/stormy16-protos.h
1107 (xstormy16_mode_dependent_address_p): Remove.
1108 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
1109 Make static. Change return type to bool. Change argument type to
1110 const_rtx. Remove dead code.
1111 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1112
e292d003
RG
11132011-02-21 Richard Guenther <rguenther@suse.de>
1114
1115 PR lto/47820
1116 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
1117 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
1118 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
1119 TUs context.
23e0d930 1120 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
1121 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
1122
77f846e9
RG
11232011-02-20 Richard Guenther <rguenther@suse.de>
1124
1125 PR lto/47822
1126 * tree.c (free_lang_data_in_decl): Clean builtins from
1127 the TU decl BLOCK_VARS.
23e0d930 1128
b2cddfc8
AO
11292011-02-19 Alexandre Oliva <aoliva@redhat.com>
1130
1131 PR debug/47620
1132 PR debug/47630
1133 * haifa-sched.c (fix_tick_ready): Skip tick computation
1134 for debug insns.
1135
becf4c11
RG
11362011-02-19 Richard Guenther <rguenther@suse.de>
1137
1138 PR lto/47647
1139 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
1140 Remove lazy BLOCK_VARS streaming.
1141 (lto_input_ts_block_tree_pointers): Likewise.
1142 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
1143
27f98305
JM
11442011-02-19 Joseph Myers <joseph@codesourcery.com>
1145
1146 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
1147
064bf3f4
JM
11482011-02-19 Joseph Myers <joseph@codesourcery.com>
1149
1150 * config/i386/biarch32.h, config/i386/mach.h,
1151 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
1152
9215ddc3
JJ
11532011-02-19 Jakub Jelinek <jakub@redhat.com>
1154
1155 PR target/47800
1156 * config/i386/i386.md (peephole2 for shift and plus): Use
1157 operands[1] original mode in the first insn.
1158
8b021004
MS
11592011-02-18 Mike Stump <mikestump@comcast.net>
1160
65ded153 1161 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 1162
f84ae14c
JH
11632011-02-18 Jan Hubicka <jh@suse.cz>
1164
1165 PR middle-end/47788
65ded153
EB
1166 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
1167 to zero when the function is not inlinable at all.
f84ae14c 1168
eddabc80
JDA
11692011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1170
1171 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
1172 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
1173 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
1174 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
1175 * config/pa/t-pa64: Likewise.
1176 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
1177
ca3da783
JJ
11782011-02-18 Jakub Jelinek <jakub@redhat.com>
1179
1180 PR driver/47787
1181 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
1182
430aa868
JDA
11832011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1184
1185 PR target/47792
1186 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
1187
4bf7ff7e
AS
11882011-02-18 Anatoly Sokolov <aesok@post.ru>
1189
1190 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
1191 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
1192 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
1193 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
1194 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
1195 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
1196 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
1197 m32r_load_postinc_p, m32r_store_preinc_predec_p,
1198 m32r_legitimate_address_p): New functions.
1199 * config/m32r/constraints.md (constraint "S"): Don't use
1200 STORE_PREINC_PREDEC_P.
1201 (constraint "U"): Don't use LOAD_POSTINC_P.
1202
7efcf910
CLT
12032011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
1204
1205 PR rtl-optimization/46178
1206 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
1207 compute ira_hard_regno_cover_class[].
1208
237d6259
RG
12092011-02-18 Richard Guenther <rguenther@suse.de>
1210
1211 PR lto/47798
1212 * lto-streamer.h (lto_global_var_decls): Declare.
1213 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
1214 statics for global var processing.
1215
12d80acc
RG
12162011-02-18 Richard Guenther <rguenther@suse.de>
1217
1218 PR tree-optimization/47737
1219 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
1220 edge dominance check.
1221
abfea58d
JJ
12222011-02-18 Jakub Jelinek <jakub@redhat.com>
1223
1224 PR debug/47780
1225 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
1226 avoid invalid rtx sharing.
1227
f73c8882
GP
12282011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
1229
1230 * doc/cpp.texi (Obsolete Features): Add background on the
1231 origin of assertions.
1232
d764a8e6
IS
12332011-02-17 Iain Sandoe <iains@gcc.gnu.org>
1234
1235 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 1236 objc_abi == 2.
d764a8e6
IS
1237 * config/darwin.c (output_objc_section_asm_op): Added support for
1238 ABI v1 and v2.
1239 (is_objc_metadata): New.
1240 (darwin_objc2_section): New.
1241 (darwin_objc1_section): New.
1242 (machopic_select_section): Added support for ABI v1 and v2.
1243 (darwin_emit_objc_zeroed): New.
1244 (darwin_output_aligned_bss): Detect objc metadata and treat it
1245 appropriately.
1246 (darwin_asm_output_aligned_decl_common): Same.
1247 (darwin_asm_output_aligned_decl_local): Same.
1248 * config/darwin-sections.def: Updated for ABI v1 and v2.
1249 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
1250 compiling Objective-C code for the NeXT runtime, default to using
1251 ABI version 0 for 32-bit, and version 2 for 64-bit.
1252
0a8134ca
JM
12532011-02-17 Joseph Myers <joseph@codesourcery.com>
1254
1255 * common.opt (optimize_fast): New Variable.
1256 * opts.c (default_options_optimization): Use opts->x_optimize_fast
1257 instead of local variable ofast.
1258
0a256240
NP
12592011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
1260
1261 * doc/invoke.texi (fobjc-abi-version): Documented.
1262 (fobjc-nilcheck): Documented.
1263 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
1264 version.
1265
fa381cb2
JM
12662011-02-17 Joseph Myers <joseph@codesourcery.com>
1267
1268 PR driver/47390
1269 * common.opt (export-dynamic): New Driver option.
1270 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
1271
5437eaa6
JM
12722011-02-17 Joseph Myers <joseph@codesourcery.com>
1273
1274 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
1275
bb7e6d55
AO
12762011-02-17 Alexandre Oliva <aoliva@redhat.com>
1277 Jan Hubicka <jh@suse.cz>
1278
1279 PR debug/47106
1280 PR debug/47402
1281 * cfgexpand.c (account_used_vars_for_block): Remove.
1282 (estimated_stack_frame_size): Use referenced vars.
1283 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
1284 that were referenced in the original function. Test src_fn
1285 rather than cfun. Drop redundant get_var_ann.
1286 (setup_one_parameter): Drop redundant get_var_ann.
1287 (declare_return_variable): Likewise.
1288 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
1289 (copy_arguments_for_versioning): Drop redundant get_var_ann.
1290 * ipa-inline.c (compute_inline_parameters): Do not compute
1291 disregard_inline_limits here.
bb7e6d55
AO
1292 (compute_inlinable_for_current, pass_inlinable): New.
1293 (pass_inline_parameters): Require PROP_referenced_vars.
1294 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 1295 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
1296 (cgraph_analyze_function): Set .disregard_inline_limits.
1297 * tree-sra.c (convert_callers): Compute inliner parameters
1298 only for functions already in SSA form.
1299
f181a8a7
JM
13002011-02-17 Joseph Myers <joseph@codesourcery.com>
1301
1302 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
1303 -mlittle-endian-data.
1304
c6869789
JM
13052011-02-17 Joseph Myers <joseph@codesourcery.com>
1306
1307 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
1308 -mno-fpu, not -fpu and -no-fpu.
1309 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
1310 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
1311
fbf4bfd3
UB
13122011-02-17 Uros Bizjak <ubizjak@gmail.com>
1313
1314 PR target/43653
1315 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
1316 input reload with PLUS RTX.
1317
70be5dc7
JM
13182011-02-16 Joseph Myers <joseph@codesourcery.com>
1319
1320 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
1321 of InverseVar(MDMX).
1322
30b1646e
JM
13232011-02-16 Joseph Myers <joseph@codesourcery.com>
1324
1325 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
1326 --m4-340.
1327
ab7b71e9
JM
13282011-02-16 Joseph Myers <joseph@codesourcery.com>
1329
1330 * config/mn10300/mn10300.opt (mno-crt0): New.
1331
466f3f08
JM
13322011-02-16 Joseph Myers <joseph@codesourcery.com>
1333
1334 * config/m68k/uclinux.opt (static-libc): New Driver option.
1335
8226cd7b
JM
13362011-02-16 Joseph Myers <joseph@codesourcery.com>
1337
1338 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
1339
45cab1d7
JM
13402011-02-16 Joseph Myers <joseph@codesourcery.com>
1341
1342 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
1343 %{muser-extend-enabled}.
1344
65aab64f
RG
13452011-02-16 Richard Guenther <rguenther@suse.de>
1346
1347 PR tree-optimization/47738
1348 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
1349 the TODO from tree_predictive_commoning.
1350
fc2fa4fb
JL
13512011-02-15 Jeff Law <law@redhat.com>
1352
1353 Revert
1354 2011-01-25 Jeff Law <law@redhat.com>
1355
1356 PR rtl-optimization/37273
1357 * ira-costs.c (scan_one_insn): Detect constants living in memory and
1358 handle them like argument loads from stack slots. Do not double
1359 count memory for memory constants and argument loads from stack slots.
1360
4e380b8e
L
13612011-02-15 H.J. Lu <hongjiu.lu@intel.com>
1362
1363 PR middle-end/47725
1364 * combine.c (cant_combine_insn_p): Revert the last change.
1365
e3a69bb4
MM
13662011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
1367
1368 PR target/47755
1369 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
1370 mode for vector constants. Remove code that checks for TImode.
1371
de650422
AO
13722011-02-15 Alexandre Oliva <aoliva@redhat.com>
1373
1374 PR debug/47106
1375 PR debug/47402
1376 * cgraph.h (compute_inline_parameters): Return void.
1377 * ipa-inline.c (compute_inline_parameters): Adjust.
1378
30925d94
AO
13792011-02-15 Alexandre Oliva <aoliva@redhat.com>
1380
1381 PR debug/47106
1382 PR debug/47402
1383 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
1384 rather than decl.
1385 * cfgexpand.c (estimated_stack_frame_size): Likewise.
1386 * ipa-inline.c (compute_inline_parameters): Adjust.
1387
1b9a784a
AO
13882011-02-15 Alexandre Oliva <aoliva@redhat.com>
1389
1390 PR debug/47106
1391 PR debug/47402
1392 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
1393 Adjust all users. Pass FN to...
1394 * tree-flow-inline.h (first_referenced_var): ... this. Add
1395 fn argument.
1396 * ipa-struct-reorg.c: Adjust.
1397 * tree-dfa.c: Adjust.
1398 * tree-into-ssa.c: Adjust.
1399 * tree-sra.c: Adjust.
1400 * tree-ssa-alias.c: Adjust.
1401 * tree-ssa-live.c: Adjust.
1402 * tree-ssa.c: Adjust.
1403 * tree-ssanames.c: Adjust.
1404 * tree-tailcall.c: Adjust.
1405
27c6b086
AO
14062011-02-15 Alexandre Oliva <aoliva@redhat.com>
1407
1408 PR debug/47106
1409 PR debug/47402
1410 * tree-flow.h (referenced_var_lookup): Add fn parameter.
1411 Adjust all callers.
1412 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
1413 * tree-flow-inline.h: Adjust.
1414 * gimple-pretty-print.c: Adjust.
1415 * tree-into-ssa.c: Adjust.
1416 * tree-ssa.c: Adjust.
1417 * cfgexpand.c: Adjust.
1418
679e8183
NF
14192011-02-15 Nathan Froyd <froydnj@codesourcery.com>
1420
fbf4bfd3
UB
1421 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
1422 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1423 (EXTRA_CONSTRAINT): Delete.
1424 * config/iq2000/constraints.md: New file.
1425 * config/iq2000/iq2000.md: Include it.
679e8183
NF
1426 (define_insn ""): Delete.
1427 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
1428 unsupported constraint letters from patterns.
1429 (call_value, call_value_internal1): Likewise.
1430 (call_value_multiple_internal1): Likewise.
1431
a45d420a
NC
14322011-02-15 Nick Clifton <nickc@redhat.com>
1433
1434 * config/mn10300/mn10300.c: Include tm-constrs.h.
1435 (struct liw_data): New data structure describing an LIW candidate
1436 instruction.
1437 (extract_bundle): Use struct liw_data. Allow small integer
1438 operands for some instructions.
1439 (check_liw_constraints): Use struct liw_data. Remove swapped
1440 parameter. Add comments describing the checks. Fix bug when
1441 assigning the source of liw1 to the source of liw2.
1442 (liw_candidate): Delete. Code moved into extract_bundle.
1443 (mn10300_bundle_liw): Use struct liw_data. Check constraints
1444 before swapping.
1445 * config/mn10300/predicates.md (liw_operand): New predicate.
1446 Allows registers and small integer constants.
1447 * config/mn10300/constraints.md (O): New constraint. Accetps
1448 integers in the range -8 to +7 inclusive.
1449 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
1450 for moving a small integer into a register. Give this alternative
1451 LIW attributes.
1452 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
1453 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
1454 using the J,K,L and M constraints,
1455 (liw): Remove SI mode on second operands to allow for HI and QI
1456 mode values.
1457 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
1458 instruction.
1459
8a73faf1
L
14602011-02-15 H.J. Lu <hongjiu.lu@intel.com>
1461
1462 PR middle-end/47725
1463 * combine.c (cant_combine_insn_p): Check zero/sign extended
1464 hard registers.
1465
48feba28
RG
14662011-02-15 Richard Guenther <rguenther@suse.de>
1467
1468 PR tree-optimization/47743
1469 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
1470 for a non-type-compatible VN lookup bail out.
1471
ad1c1eeb
NF
14722011-02-15 Nathan Froyd <froydnj@codesourcery.com>
1473
1474 * config/fr30/constraints.md: New file.
1475 * config/fr30/fr30.md: Include it.
1476 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
1477 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1478 (EXTRA_CONSTRAINT): Delete.
1479
49ac143d
NF
14802011-02-15 Nathan Froyd <froydnj@codesourcery.com>
1481
1482 * config/frv/constraints.md: New file.
1483 * config/frv/predicates.md: Include it.
1484 * config/frv/frv.c (reg_class_from_letter): Delete.
1485 (frv_option_override): Don't initialize it.
1486 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
1487 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
1488 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
1489 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
1490 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
1491 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1492 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
1493 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
1494 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
1495 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
1496 (REG_CLASS_FROM_CONSTRAINT): Delete.
1497
c95f9494
JJ
14982011-02-15 Jakub Jelinek <jakub@redhat.com>
1499
1500 PR middle-end/47581
1501 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
1502 if frame size is 0 in a leaf function.
1503
13aed611
RO
15042011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1505
1506 PR pch/14940
1507 * config/alpha/host-osf.c: New file.
1508 * config/alpha/x-osf: New file.
1509 * config.host (alpha*-dec-osf*): Use it.
1510
b09c3081
AS
15112011-02-14 Anatoly Sokolov <aesok@post.ru>
1512
1513 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
1514 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
1515 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
1516 (rx_mode_dependent_address_p): ...this. Make static. Change argument
1517 type to const_rtx.
1518 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
1519
d634083b
NF
15202011-02-14 Nathan Froyd <froydnj@codesourcery.com>
1521
1522 * config/stormy16/constraints.md: New file.
1523 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
1524 Use satisfies_constraint_Q and satisfies_constraint_R.
1525 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
1526 Delete.
1527 (xstormy16_legitiamte_address_p): Declare.
1528 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
1529 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1530 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 1531 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
1532 Un-staticize.
1533 (xstormy16_extra_constraint_p): Delete.
1534
c7dd803e
EB
15352011-02-14 Eric Botcazou <ebotcazou@adacore.com>
1536
1537 PR tree-optimization/46494
1538 * loop-unroll.c (split_edge_and_insert): Adjust comment.
1539 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
1540 (pass_rtl_loop_done): Add TODO_verify_flow.
1541 * fwprop.c (pass_rtl_fwprop): Likewise.
1542 * modulo-sched.c (pass_sms): Likewise.
1543 * tree-ssa-dom.c (pass_dominator): Likewise.
1544 * tree-ssa-loop-ch.c (pass_ch): Likewise.
1545 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
1546 (pass_tree_loop_done): Likewise.
1547 * tree-ssa-pre.c (execute_pre): Likewise.
1548 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
1549 * tree-ssa-sink.c (pass_sink_code): Likewise.
1550 * tree-vrp.c (pass_vrp): Likewise.
1551
c6150df6
NF
15522011-02-14 Nathan Froyd <froydnj@codesourcery.com>
1553
c7dd803e
EB
1554 * config/v850/constraints.md: New file.
1555 * config/v850/v850.md: Include it.
1556 * config/v850/predicates.md (reg_or_0_operand): Use
1557 satisfies_constraint_G.
1558 (special_symbolref_operand): Use satisfies_constraint_K.
1559 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
1560 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
1561 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
1562 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
1563 (EXTRA_CONSTRAINT): Delete.
1564 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
1565 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
1566 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 1567
30dd1ea3
AS
15682011-02-14 Anatoly Sokolov <aesok@post.ru>
1569
1570 PR target/47696
1571 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
1572 description.
1573
944f4bb3
NF
15742011-02-14 Nathan Froyd <froydnj@codesourcery.com>
1575
1576 * config/mcore/constraints.md: New file.
1577 * config/mcore/mcore.md: Include it.
1578 * config/mcore/mcore.c (reg_class_from_letter): Delete.
1579 * config/mcore/mcore.h (reg_class_from_letter): Delete.
1580 (REG_CLASS_FROM_LETTER): Delete.
1581 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
1582 insn_const_int_ok_for_constraint.
1583 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
1584 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
1585 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
1586 (EXTRA_CONSTRAINT): Delete.
1587
ad56a54c
RO
15882011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1589
1590 PR ada/41929
1591 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
1592 (IS_SIGHANDLER): Define.
1593 (sparc64_is_sighandler): New function, split off from
1594 sparc64_fallback_frame_state.
1595 (sparc_is_sighandler): New function, split off from
1596 sparc_fallback_frame_state.
1597 (sparc64_fallback_frame_state): Merge with ...
1598 (sparc_fallback_frame_state): ... this into ...
1599 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
1600 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
1601 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
1602 stack instead of hardcoded offsets.
ad56a54c 1603
fbf4bfd3 16042011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
1605
1606 PR target/45808
1607 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
1608
029c8f3e
RW
16092011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1610
1611 * configure: Regenerate.
1612
a016dc83
JM
16132011-02-12 Joseph Myers <joseph@codesourcery.com>
1614
1615 PR driver/45731
1616 * gcc.c (asm_options): Correct spec matching --target-help.
1617
8957a0ec
MJ
16182011-02-12 Martin Jambor <mjambor@suse.cz>
1619
1620 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
1621 to gimple call error.
1622
6ef828bc
MS
16232011-02-12 Mike Stump <mikestump@comcast.net>
1624
1625 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
1626 comments in backslash regions.
1627
a4015be5
MS
16282011-02-12 Mike Stump <mikestump@comcast.net>
1629 Jakub Jelinek <jakub@redhat.com>
1630 Iain Sandoe <iains@gcc.gnu.org>
1631
1632 PR target/47324
1633 * dwarf2out.c (output_cfa_loc): When required, apply the
1634 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
1635 (output_loc_sequence): Likewise.
1636 (output_loc_operands_raw): Likewise.
1637 (output_loc_sequence_raw): Likewise.
1638 (output_cfa_loc): Likewise.
1639 (output_loc_list): Suppress register number adjustment when
1640 calling output_loc_sequence()
1641 (output_die): Likewise.
1642
5378dda2
AS
16432011-02-12 Anatoly Sokolov <aesok@post.ru>
1644
1645 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
1646 Remove macros.
1647 * config/xtensa/xtensa.c (xtensa_register_move_cost,
1648 xtensa_memory_move_cost): New functions.
1649 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
1650
f3d533d3
AO
16512011-02-12 Alexandre Oliva <aoliva@redhat.com>
1652
1653 PR lto/47225
1654 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
1655 in the current directory.
1656 * configure: Rebuilt.
1657
9d53403c
IS
16582011-02-12 Iain Sandoe <iains@gcc.gnu.org>
1659
1660 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 1661 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
1662 correct indents of the preceding block.
1663
a350a6c8
IS
16642011-02-12 Iain Sandoe <iains@gcc.gnu.org>
1665
1666 * gcc.c (driver_handle_option): Concatenate the argument to -F with
1667 the switch.
1668
bab79a40
JM
16692011-02-11 Joseph Myers <joseph@codesourcery.com>
1670
1671 * common.opt (nostartfiles): New Driver option.
1672
1bbc6693
XDL
16732011-02-11 Xinliang David Li <davidxl@google.com>
1674
1675 PR tree-optimization/47707
1676 * tree-chrec.c (convert_affine_scev): Keep type precision.
1677
1da7d8c0
EB
16782011-02-11 Eric Botcazou <ebotcazou@adacore.com>
1679
1680 PR tree-optimization/47420
1681 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
1682
16832011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
1684
1685 PR rtl-optimization/47614
1686 * rtl.h (check_for_inc_dec): Declare.
1687 * dse.c (check_for_inc_dec): Externalize...
1688 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
1689 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
1690
4df47bca
JM
16912011-02-11 Joseph Myers <joseph@codesourcery.com>
1692
1693 PR driver/47678
1694 * gcc.c (main): Do not compile inputs if there were errors in
1695 option handling.
1696 * opts-common.c (read_cmdline_option): Check for wrong language
1697 after other error checks.
1698
61502ca8
NF
16992011-02-11 Nathan Froyd <froydnj@codesourcery.com>
1700
1701 * cgraph.c: Fix comment typos.
1702 * cgraph.h: Likewise.
1703 * cgraphunit.c: Likewise.
1704 * ipa-cp.c: Likewise.
1705 * ipa-inline.c: Likewise.
1706 * ipa-prop.c: Likewise.
1707 * ipa-pure-const.c: Likewise.
1708 * ipa-ref.c: Likewise.
1709 * ipa-reference.c: Likewise.
1710
b63f974e
JJ
17112011-02-11 Jakub Jelinek <jakub@redhat.com>
1712
d50c5e0c
JJ
1713 PR debug/47684
1714 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 1715
6dd2a13c
RO
17162011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1717
1718 PR testsuite/47400
1719 * doc/sourcebuild.texi (Require Support): Document
1720 dg-require-ascii-locale.
1721
4a087ccf
MX
17222011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
1723
1724 * doc/lto.texi (Write summary): Fix missing parentheses.
1725
a4403164
DD
17262011-02-10 DJ Delorie <dj@redhat.com>
1727
1728 * config/m32c/m32c.c (m32c_option_override): Disable
1729 -fcombine-stack-adjustments until flag value tracking and compare
1730 optimization can be rewritten.
1731
4fac45bd
PB
17322011-02-10 Peter Bergner <bergner@vnet.ibm.com>
1733
1734 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
1735 PROCESSOR_POWER7.
1736 (PROCESSOR_DEFAULT64): Likewise.
1737
72602cd1
RH
17382011-02-10 Richard Henderson <rth@redhat.com>
1739
1740 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
1741 change from 2011-02-03.
1742 * config/rx/rx.c (flags_from_code): Likewise.
1743 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
1744 is valid, n/pz otherwise.
1745 (rx_select_cc_mode): Return CCmode if Y is not zero.
1746
ea57f573
RG
17472011-02-10 Richard Guenther <rguenther@suse.de>
1748
ea4c3e65 1749 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 1750
92b1d23b
RG
17512011-02-10 Richard Guenther <rguenther@suse.de>
1752
1753 PR tree-optimization/47677
1754 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
1755
525a2d06
JJ
17562011-02-10 Jakub Jelinek <jakub@redhat.com>
1757
1758 PR target/47665
1759 * combine.c (make_compound_operation): Only change shifts into
1760 multiplication for SCALAR_INT_MODE_P.
1761
06c969bd
JZ
17622011-02-10 Jie Zhang <jie@codesourcery.com>
1763
1764 PR testsuite/47622
1765 Revert
1766 2011-02-05 Jie Zhang <jie@codesourcery.com>
1767 PR debug/42631
1768 * web.c (entry_register): Don't clobber the number of the
1769 first uninitialized reference in used[].
1770
282ec48e
RG
17712011-02-09 Richard Guenther <rguenther@suse.de>
1772
1773 PR tree-optimization/47664
1774 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
1775 all edges again.
1776
df98c3e8
DE
17772011-02-09 David Edelsohn <dje.gcc@gmail.com>
1778
d0f21cd6
DE
1779 PR target/46481
1780 PR target/47032
df98c3e8
DE
1781 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
1782 PROCESSOR_POWER7.
1783 (PROCESSOR_DEFAULT64): Same.
1784 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
1785
67b6839f
RO
17862011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1787
1788 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
1789
4fd73214
MJ
17902011-02-09 Martin Jambor <mjambor@suse.cz>
1791
1792 PR middle-end/45505
1793 * tree-sra.c (struct access): New flags grp_scalar_read and
1794 grp_scalar_write. Changed description of assignment read and write
1795 flags.
1796 (dump_access): Dump new flags, reorder all of them.
1797 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
1798 to detect multiple scalar reads.
1799 (analyze_access_subtree): Use the new scalar read write flags instead
1800 of the old flags. Adjusted comments.
1801
91140cd3
DD
18022011-02-08 DJ Delorie <dj@redhat.com>
1803
1804 PR target/47548
1805 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
1806 patterns.
1807
4254bbfe
JM
18082011-02-08 Joseph Myers <joseph@codesourcery.com>
1809
1810 * config/m68k/uclinux.opt: New.
1811 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
1812
f1fda84e
JM
18132011-02-08 Joseph Myers <joseph@codesourcery.com>
1814
1815 * config/cris/elf.opt (sim): New Driver option.
1816
4933ae74
JM
18172011-02-08 Joseph Myers <joseph@codesourcery.com>
1818
1819 * config/xtensa/elf.opt: New.
1820 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
1821
4ad70280
JM
18222011-02-08 Joseph Myers <joseph@codesourcery.com>
1823
1824 * config/vax/elf.opt: New.
1825 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
1826
20893707
JM
18272011-02-08 Joseph Myers <joseph@codesourcery.com>
1828
1829 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
1830
b8e7038e
JM
18312011-02-08 Joseph Myers <joseph@codesourcery.com>
1832
1833 * config/gnu-user.opt: New.
1834 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
1835 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
1836 *-*-uclinux*): Use gnu-user.opt.
1837
e1c5225a
TS
18382011-02-08 Thomas Schwinge <thomas@schwinge.name>
1839
1840 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
1841 * config/i386/gnu.h (CPP_SPEC): Likewise.
1842
5e46b0c6
ILT
18432011-02-08 Ian Lance Taylor <iant@google.com>
1844
1845 * common.opt (fcx-limited-range): Add SetByCombined flag.
1846 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
1847 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
1848 (fassociative-math, freciprocal-math): Likewise.
1849 (funsafe-math-optimizations): Likewise.
1850 * opth-gen.awk: Handle SetByCombined.
1851 * optc-gen.awk: Likewise.
ea4c3e65 1852 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
1853 (set_unsafe_math_optimizations_flags): Likewise.
1854 * doc/options.texi (Option properties): Document SetByCombined.
1855
32243d46
JM
18562011-02-08 Joseph Myers <joseph@codesourcery.com>
1857
1858 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
1859 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
1860 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
1861 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
1862 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
1863
479c1fb3
SP
18642011-02-08 Sebastian Pop <sebastian.pop@amd.com>
1865
1866 PR tree-optimization/46834
1867 PR tree-optimization/46994
1868 PR tree-optimization/46995
1869 * graphite-sese-to-poly.c (used_outside_reduction): New.
1870 (detect_commutative_reduction): Call used_outside_reduction.
1871 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
1872 translate_scalar_reduction_to_array only when at least one
1873 loop-phi/close-phi tuple has been detected.
1874
3865a06f
RG
18752011-02-08 Richard Guenther <rguenther@suse.de>
1876
1877 PR middle-end/47639
1878 * tree-vect-generic.c (expand_vector_operations_1): Update
1879 stmts here ...
1880 (expand_vector_operations): ... not here. Cleanup EH info
1881 and the CFG if required.
1882
62902f3f
RG
18832011-02-08 Richard Guenther <rguenther@suse.de>
1884
1885 PR tree-optimization/47641
1886 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
1887 require type compatibility.
1888
0efb9d64
AK
18892011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1890
1891 * gimple-low.c (lower_function_body): Don't remove the location of
1892 the return statement here.
1893 (lower_gimple_return): Do it here instead but only if the return
1894 statement is actually used twice.
1895
034b8ae4
RG
18962011-02-08 Richard Guenther <rguenther@suse.de>
1897
1898 PR tree-optimization/47632
1899 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
1900 unused up_to_stmt parameter, return whether cfg-cleanup is
1901 necessary, remove EH info properly.
1902 (forward_propagate_into_gimple_cond): Adjust caller.
1903 (forward_propagate_into_cond): Likewise.
1904 (forward_propagate_comparison): Likewise.
1905 (tree_ssa_forward_propagate_single_use_vars): Make
1906 forward_propagate_comparison case similar to the two others.
1907
298362c8
NC
19082011-02-08 Nick Clifton <nickc@redhat.com>
1909
1910 * config/mn10300/mn10300.opt (mliw): New command line option.
1911 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
1912 (liw_bundling): New automaton.
1913 (liw): New attribute.
1914 (liw_op): New attribute.
1915 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
1916 (movsi_internal): Add LIW attributes.
1917 (andsi3): Likewise.
1918 (iorsi3): Likewise.
1919 (xorsi3): Likewise.
1920 (addsi3): Separate register and immediate alternatives.
1921 Add LIW attributes.
1922 (subsi3): Likewise.
1923 (cmpsi): Likewise.
1924 (aslsi3): Likewise.
1925 (lshrsi3): Likewise.
1926 (ashrsi3): Likewise.
1927 (liw): New pattern.
1928 * config/mn10300/mn10300.c (liw_op_names): New
1929 (mn10300_print_operand): Handle 'W' operand descriptor.
1930 (extract_bundle): New function.
1931 (check_liw_constraints): New function.
1932 (liw_candidate): New function.
1933 (mn10300_bundle_liw): New function.
1934 (mn10300_reorg): New function.
1935 (TARGET_MACHINE_DEPENDENT_REORG): Define.
1936 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
1937 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
1938 __LIW__ or __NO_LIW__.
1939 * doc/invoke.texi: Describe the -mliw command line option.
1940
90488014
JDA
19412011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1942
1943 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
1944 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
1945 pthread_mutex_unlock): Remove.
1946 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
1947 * config/pa/t-pa64: Likewise.
1948 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
1949 shared libc if not linking against libpthread.
1950 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
1951
689ff841
IS
19522011-02-07 Iain Sandoe <iains@gcc.gnu.org>
1953
1954 PR target/47558
1955 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
1956 on 10.6 and later to ensure that we always use the unwinder from
1957 the system. Only add -no_compact_unwind when tarteting darwin
1958 10.6 or later.
1959
821014aa
SE
19602011-02-07 Steve Ellcey <sje@cup.hp.com>
1961
1962 PR target/46997
1963 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
1964 (vec_interleave_lowv2sf): Ditto.
1965 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
1966 (vec_extract_oddv2sf): Ditto.
1967
41cf94fb
MS
19682011-02-07 Mike Stump <mikestump@comcast.net>
1969
62dea57d 1970 PR target/42333
41cf94fb
MS
1971 Add __ieee_divdc3 entry point.
1972 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
1973 entry point.
1974 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
1975 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
1976 * config/darwin.c (darwin_rename_builtins): Add.
1977 * config/darwin-protos.h (darwin_rename_builtins): Add.
1978
ee09a3dd
MM
19792011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
1980
1981 PR target/47636
1982 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
1983 for the condition.
1984
83296cd0
MS
19852011-02-07 Mike Stump <mikestump@comcast.net>
1986
ea4c3e65 1987 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 1988
0f4e946f
DC
19892011-02-07 Denis Chertykov <chertykov@gmail.com>
1990
1991 PR target/47534
1992 * config/avr/libgcc.S (exit): Move .endfunc
1993
1ec87690
RG
19942011-02-07 Richard Guenther <rguenther@suse.de>
1995
1996 PR tree-optimization/47615
1997 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
1998 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
1999 (run_scc_vn): Initialize it.
2000 (visit_reference_op_load): Use it.
2001 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
2002
b46ae6da
UW
20032011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2004
2005 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
2006 DImode trapping arithmetic libfuncs.
2007
c0aae19c
RG
20082011-02-07 Richard Guenther <rguenther@suse.de>
2009
2010 PR tree-optimization/47621
2011 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
2012 two duplicates ...
2013 (execute_update_addresses_taken): ... here. Make it more
2014 conservative in what we accept.
2015
295d926b
JM
20162011-02-06 Joseph Myers <joseph@codesourcery.com>
2017
2018 * config/sparc/freebsd.h (ASM_SPEC): Define.
2019 * config/sparc/vxworks.h (ASM_SPEC): Define.
2020
bdeb2471
JM
20212011-02-06 Joseph Myers <joseph@codesourcery.com>
2022
2023 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
2024
d5d3781a
SB
20252011-02-06 Steven Bosscher <steven@gcc.gnu.org>
2026
2027 * doc/invoke.texi: Remove reference to compiler internals from
2028 user documentation.
2029
2030 * reg-notes.def: Remove REG_VALUE_PROFILE.
2031 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
2032
c42c09fc
JJ
20332011-02-05 Jakub Jelinek <jakub@redhat.com>
2034
2035 PR middle-end/47610
2036 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 2037 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 2038
beea2755
JZ
20392011-02-05 Jie Zhang <jie@codesourcery.com>
2040
2041 PR debug/42631
2042 * web.c (entry_register): Don't clobber the number of the
2043 first uninitialized reference in used[].
2044
a130584a
SP
20452011-02-04 Sebastian Pop <sebastian.pop@amd.com>
2046
2047 PR tree-optimization/46194
2048 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
2049 (build_classic_dist_vector_1): Do not represent classic distance
2050 vectors when the access functions are variating in different loops.
2051
962101ac
JM
20522011-02-04 Joseph Myers <joseph@codesourcery.com>
2053
2054 * config/mips/iris6.opt: New.
2055 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
2056
55eaaa5b
RH
20572011-02-04 Richard Henderson <rth@redhat.com>
2058 Steve Ellcey <sje@cup.hp.com>
2059
2060 PR target/46997
2061 * config/ia64/predicates.md (mux1_brcst_element): New.
2062 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
2063 * config/ia64/ia64.c (ia64_unpack_assemble): New.
2064 (ia64_unpack_sign): New.
2065 (ia64_expand_unpack): Rewrite using new routines.
2066 (ia64_expand_widen_sum): Ditto.
2067 (ia64_expand_dot_prod_v8qi): Ditto.
2068 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
2069 routines, add endian check.
2070 (pmpy2_even): Rename from pmpy2_r, add endian check.
2071 (pmpy2_odd): Rename from pmpy2_l, add endian check.
2072 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
2073 (vec_widen_smult_hi_v4hi): Ditto.
2074 (vec_widen_umult_lo_v4hi): Ditto.
2075 (vec_widen_umult_hi_v4hi): Ditto.
2076 (mulv2si3): Change endian checks.
2077 (sdot_prodv4hi): Rewrite with new calls.
2078 (udot_prodv4hi): New.
2079 (vec_pack_ssat_v4hi): Add endian check.
2080 (vec_pack_usat_v4hi): Ditto.
2081 (vec_pack_ssat_v2si): Ditto.
2082 (max1_even): Rename from max1_r, add endian check.
2083 (max1_odd): Rename from max1_l, add endian check.
2084 (*mux1_rev): Format change.
2085 (*mux1_mix): Ditto.
2086 (*mux1_shuf): Ditto.
2087 (*mux1_alt): Ditto.
2088 (*mux1_brcst_v8qi): Use new predicate.
2089 (vec_extract_evenv8qi): Remove endian check.
2090 (vec_extract_oddv8qi): Ditto.
2091 (vec_interleave_lowv4hi): Format change.
2092 (vec_interleave_highv4hi): Ditto.
2093 (mix2_even): Rename from mix2_r, add endian check.
2094 (mix2_odd): Rename from mux2_l, add endian check.
2095 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
2096 (vec_extract_evenodd_helper): Format change.
2097 (vec_extract_evenv4hi): Remove endian check.
2098 (vec_extract_oddv4hi): Remove endian check.
2099 (vec_interleave_lowv2si): Format change.
2100 (vec_interleave_highv2si): Format change.
2101 (vec_initv2si): Remove endian check.
2102 (vecinit_v2si): Add endian check.
2103 (reduc_splus_v2sf): Add endian check.
2104 (reduc_smax_v2sf): Ditto.
2105 (reduc_smin_v2sf): Ditto.
2106 (vec_initv2sf): Remove endian check.
2107 (fpack): Add endian check.
2108 (fswap): Add endian check.
2109 (vec_interleave_highv2sf): Add endian check.
2110 (vec_interleave_lowv2sf): Add endian check.
2111 (fmix_lr): Add endian check.
2112 (vec_setv2sf): Format change.
2113 (*vec_extractv2sf_0_be): Use shift to extract operand.
2114 (*vec_extractv2sf_1_be): New.
2115 (vec_pack_trunc_v4hi): Add endian check.
2116 (vec_pack_trunc_v2si): Format change.
2117
dcde5957
JJ
21182011-02-04 Jakub Jelinek <jakub@redhat.com>
2119
2120 PR inline-asm/23200
2121 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 2122 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
2123 (stmt_is_replaceable_p): New function.
2124 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
2125 callers.
2126 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
2127 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
2128 SSA_NAME_DEF_STMT.
2129 * tree-flow.h (stmt_is_replaceable_p): New prototype.
2130
a64a8e5a
JM
21312011-02-04 Joseph Myers <joseph@codesourcery.com>
2132
2133 * config/rs6000/xilinx.opt: New.
2134 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
2135
4da2ed2f
JM
21362011-02-04 Joseph Myers <joseph@codesourcery.com>
2137
2138 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
2139
a6e508f9
AS
21402011-02-03 Anatoly Sokolov <aesok@post.ru>
2141
2142 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
2143 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
2144 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
2145 secondary_reload_info, xtensa_secondary_reload): Remove.
2146 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
2147 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
2148 (xtensa_preferred_reload_class): Make static. Change return and
2149 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
2150 Use CONST_DOUBLE_P predicate.
2151 (xtensa_preferred_output_reload_class): New function.
2152 (xtensa_secondary_reload): Make static.
2153
82dc0de3
JM
21542011-02-03 Joseph Myers <joseph@codesourcery.com>
2155
2156 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
2157 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
2158 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
2159
7fece979
JJ
21602011-02-03 Jakub Jelinek <jakub@redhat.com>
2161
2162 PR middle-end/31490
2163 * output.h (SECTION_RELRO): Define.
2164 (SECTION_MACH_DEP): Adjust.
2165 (get_variable_section): New prototype.
2166 * varpool.c (varpool_finalize_named_section_flags): New function.
2167 (varpool_assemble_pending_decls): Call it.
2168 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
2169 * cgraphunit.c (cgraph_output_in_order): Call
2170 varpool_finalize_named_section_flags.
2171 * varasm.c (get_section): Allow section flags conflicts between
2172 relro and read-only sections if the section hasn't been declared yet.
2173 Set SECTION_OVERRIDE after diagnosing section type conflict.
2174 (get_variable_section): No longer static.
2175 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
2176 readonly sections that need relocations.
2177 (decl_readonly_section_1): New function.
2178 (decl_readonly_section): Use it.
2179
2180 Revert:
509d65dd 2181 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
2182 Steve Ellcey <sje@cup.hp.com>
2183
2184 PR middle-end/31490
2185 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
2186 if section attribute used.
2187
d18d5478
JJ
21882011-02-03 Jakub Jelinek <jakub@redhat.com>
2189
2190 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
2191 * config/darwin.c (SECTION_NO_ANCHOR): Define.
2192 (darwin_init_sections): Remove assertion.
2193
6479ed4b
NC
21942011-02-03 Nick Clifton <nickc@redhat.com>
2195
2196 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
2197 lt and ge.
38be4072 2198 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
2199 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
2200 instead of "n" and "pz".
2201 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
2202 CC_FLAG_S.
2203
89843f5d
JJ
22042011-02-03 Jakub Jelinek <jakub@redhat.com>
2205
65450d64
JJ
2206 PR target/47312
2207 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
2208 fma, expand FMA_EXPR as fma{,f,l} call.
2209
7d58701c
JJ
2210 PR lto/47274
2211 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
2212 copy them into a unsigned char variable and pass address of it to
2213 lto_output_data_stream.
2214
89843f5d
JJ
2215 PR target/47564
2216 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
2217 around backend_init_target and lang_dependent_init_target calls.
2218 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
2219 (verify_cgraph_node): Don't call set_cfun here. Use
2220 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
2221 Set error_found for incorrectly represented calls to thunks.
2222
4deef538
AO
22232011-02-03 Alexandre Oliva <aoliva@redhat.com>
2224
2225 PR debug/43092
2226 PR rtl-optimization/43494
2227 * rtl.h (for_each_inc_dec_fn): New type.
2228 (for_each_inc_dec): Declare.
2229 * rtlanal.c (struct for_each_inc_dec_ops): New type.
2230 (for_each_inc_dec_find_inc_dec): New fn.
2231 (for_each_inc_dec_find_mem): New fn.
2232 (for_each_inc_dec): New fn.
2233 * dse.c (struct insn_size): Remove.
2234 (replace_inc_dec, replace_inc_dec_mem): Remove.
2235 (emit_inc_dec_insn_before): New fn.
2236 (check_for_inc_dec): Use it, along with for_each_inc_dec.
2237 (canon_address): Pass mem modes to cselib_lookup.
2238 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
2239 (cselib_lookup_from_insn): Likewise.
2240 (cselib_subst_to_values): Likewise.
2241 * cselib.c (find_slot_memmode): New var.
2242 (cselib_find_slot): New fn. Use it instead of
2243 htab_find_slot_with_hash everywhere.
2244 (entry_and_rtx_equal_p): Use find_slot_memmode.
2245 (autoinc_split): New fn.
2246 (rtx_equal_for_cselib_p): Rename and implement in terms of...
2247 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
2248 Deal with autoinc. Special-case recursion into MEMs.
2249 (cselib_hash_rtx): Likewise.
2250 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
2251 address and MEM modes.
2252 (cselib_subst_to_values): Add memmode, pass it on.
2253 Deal with autoinc.
2254 (cselib_lookup): Add memmode argument, pass it on.
2255 (cselib_lookup_from_insn): Add memmode.
2256 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
2257 (struct cselib_record_autoinc_data): New.
2258 (cselib_record_autoinc_cb): New fn.
2259 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
2260 mode to cselib_lookup. Reset autoinced REGs here instead of...
2261 (cselib_process_insn): ... here.
2262 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
2263 to cselib_lookup.
2264 (add_uses): Likewise, also to cselib_subst_to_values.
2265 (add_stores): Likewise.
2266 * sched-deps.c (add_insn_mem_dependence): Pass mode to
2267 cselib_subst_to_values.
2268 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
2269 * gcse.c (do_local_cprop): Adjusted.
2270 * postreload.c (reload_cse_simplify_set): Adjusted.
2271 (reload_cse_simplify_operands): Adjusted.
2272 * sel-sched-dump (debug_mem_addr_value): Pass mode.
2273
1551d44a
AO
22742011-02-03 Alexandre Oliva <aoliva@redhat.com>
2275
2276 PR tree-optimization/45122
2277 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
2278 unsafe assumptions when there's more than one loop exit.
2279
c9485473
MM
22802011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
2281
2282 PR target/47272
2283 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
2284 Document using vector double with the load/store builtins, and
2285 that the load/store builtins always use Altivec instructions.
2286
2287 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
2288 to use altivec memory instructions, even on VSX.
2289 (vector_altivec_store_<mode>): Ditto.
2290
2291 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
2292 function.
2293
2294 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
2295 V2DF, V2DI support to load/store overloaded builtins.
2296
2297 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
2298 altivec load/store builtins for V2DF/V2DI types.
2299
2300 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
2301 set avoid indexed addresses on power6 if -maltivec.
2302 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
2303 vector_altivec_load/vector_altivec_store builtins.
2304 (altivec_expand_st_builtin): Ditto.
2305 (altivec_expand_builtin): Add VSX memory builtins.
2306 (rs6000_init_builtins): Add V2DI types to internal types.
2307 (altivec_init_builtins): Add support for V2DF/V2DI altivec
2308 load/store builtins.
2309 (rs6000_address_for_altivec): Insure memory address is appropriate
2310 for Altivec.
2311
2312 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
2313 vec_vsx_ld and vec_vsx_st.
2314 (vsx_store_<mode>): Ditto.
2315
2316 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
2317 variables to hold long long types for VSX vector memory builtins.
2318 (RS6000_BTI_unsigned_long_long): Ditto.
2319 (long_long_integer_type_internal_node): Ditti.
2320 (long_long_unsigned_type_internal_node): Ditti.
2321
2322 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
2323 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
2324 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
2325
2326 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
2327 short cuts.
2328 (vec_vsx_st): Ditto.
2329
b24d1acf
JM
23302011-02-02 Joseph Myers <joseph@codesourcery.com>
2331
2332 * config/pa/pa-hpux10.opt: New.
2333 * config/hpux11.opt (pthread): New Driver option.
2334 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
2335 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
2336
aa18dd0f
JM
23372011-02-02 Joseph Myers <joseph@codesourcery.com>
2338
2339 * config/ia64/vms.opt: New.
2340 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
2341
28fc3eee
MM
23422011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
2343
2344 PR target/47580
2345 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
2346 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
2347 generator functions.
2348 (vsx_floatuns<VSi><mode>2): Ditto.
2349 (vsx_fix_trunc<mode><VSi>2): Ditto.
2350 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
2351
b5838b1f
JM
23522011-02-02 Joseph Myers <joseph@codesourcery.com>
2353
2354 * config/i386/djgpp.opt (posix): New Driver option.
2355
0db8fa89
GP
23562011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
2357
2358 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
2359 Move to the unsupported targets list.
2360
9cd4f22a
PB
23612011-02-02 Peter Bergner <bergner@vnet.ibm.com>
2362
2363 PR rtl-optimization/47525
2364 * df-scan.c: Update copyright years.
2365 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
2366 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
2367
9ed8059c
RO
23682011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2369
2370 * config/i386/sysv4.h (TARGET_VERSION): Remove.
2371 (SUBTARGET_RETURN_IN_MEMORY): Remove.
2372 (ASM_OUTPUT_ASCII): Remove.
2373 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
2374
2a737389
JL
23752011-02-02 Jeff Law <law@redhat.com>
2376
2377 PR middle-end/47543
2378 * reload.c (find_reloads_address): Handle reg+d address where both
2379 components are invalid by reloading the entire address.
2380
9dac82c4
SP
23812011-02-02 Sebastian Pop <sebastian.pop@amd.com>
2382 Richard Guenther <rguenther@suse.de>
2383
2384 PR tree-optimization/40979
2385 PR bootstrap/47044
2386 * passes.c (init_optimization_passes): After LIM call copy_prop
2387 and DCE to clean up.
2388 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
2389
14dd9aab
SP
23902011-02-02 Sebastian Pop <sebastian.pop@amd.com>
2391
2392 PR tree-optimization/47576
2393 PR tree-optimization/47555
2394 * doc/invoke.texi (scev-max-expr-complexity): Documented.
2395 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
2396 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
2397 * tree-scalar-evolution.c (follow_ssa_edge): Use
2398 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
2399
5cbf5c20
RG
24002011-02-02 Richard Guenther <rguenther@suse.de>
2401
2402 PR tree-optimization/47566
2403 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
2404
83d70792
AO
24052011-02-02 Alexandre Oliva <aoliva@redhat.com>
2406
e829c321
AO
2407 PR debug/47106
2408 PR debug/47402
2409 * tree-inline.c (declare_return_variable): Remove unused caller
2410 variable.
2411
83d70792
AO
2412 PR debug/47106
2413 PR debug/47402
2414 * tree-flow-inline.h (clear_is_used, is_used_p): New.
2415 * cfgexpand.c (account_used_vars_for_block): Use them.
2416 * tree-nrv.c (tree_nrv): Likewise.
2417 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
2418 (dump_scope_block): Likewise.
2419 (remove_unused_locals): Likewise.
2420
aaa2ac93
AO
2421 PR debug/47106
2422 PR debug/47402
2423 * tree-inline.c (declare_return_variable): Add result decl to
2424 local decls only once.
2425 * gimple-low.c (record_vars_into): Mark newly-created variables
2426 as referenced.
2427
a59d15cf
AO
24282011-02-02 Alexandre Oliva <aoliva@redhat.com>
2429
2430 PR debug/47498
2431 PR debug/47501
2432 PR debug/45136
2433 PR debug/45130
2434 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
2435 debug insns.
2436 (no_real_insns_p, schedule_block, set_priorities): Drop special
2437 treatment of boundary debug insns.
38be4072 2438 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
2439 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
2440 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
2441 (BOUNDARY_DEBUG_INSN_P): Likewise.
2442 (SCHEDULE_DEBUG_INSN_P): Likewise.
2443 * sched-rgn.c (init_ready_list): Drop special treatment of
2444 boundary debug insns.
2445 * final.c (rest_of_clean_state): Clear notes' BB.
2446
6fc2f091
JM
24472011-02-01 Joseph Myers <joseph@codesourcery.com>
2448
2449 * config/openbsd.opt (assert=): New Driver option.
2450
fc523387
JM
24512011-02-01 Joseph Myers <joseph@codesourcery.com>
2452
2453 * config/i386/nto.opt: New.
2454 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
2455
6d9821e5
JM
24562011-02-01 Joseph Myers <joseph@codesourcery.com>
2457
2458 * config/i386/netware.opt: New.
2459 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
2460
cef932d4
JM
24612011-02-01 Joseph Myers <joseph@codesourcery.com>
2462
2463 * config/interix.opt (posix): New Driver option.
2464
22843acd
DD
24652011-02-01 DJ Delorie <dj@redhat.com>
2466
56490b74
DD
2467 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
2468
22843acd
DD
2469 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
2470 class for A0/A1.
2471
199c8f2f
SP
24722011-02-01 Sebastian Pop <sebastian.pop@amd.com>
2473
2474 PR tree-optimization/47561
2475 * toplev.c (process_options): Print the Graphite flags. Add
2476 flag_loop_flatten to the list of options requiring Graphite.
2477
926bcf22
JM
24782011-02-01 Joseph Myers <joseph@codesourcery.com>
2479
2480 * config/i386/cygming.opt (posix): New Driver option.
2481
59793c51
JM
24822011-02-01 Joseph Myers <joseph@codesourcery.com>
2483
2484 * config/arm/vxworks.opt: New.
2485 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
2486
183c38a4
JM
24872011-02-01 Joseph Myers <joseph@codesourcery.com>
2488
2489 * config/alpha/elf.opt: New.
2490 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
2491 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
2492
9939e416
RG
24932011-02-01 Richard Guenther <rguenther@suse.de>
2494
2495 PR tree-optimization/47559
2496 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
2497 store-motion on references that can throw.
2498
4a3c9687
BS
24992011-02-01 Bernd Schmidt <bernds@codesourcery.com>
2500
2501 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
2502 * tree-pass.h (TDF_CSELIB): New macro.
2503 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
2504 cselib_lookup): Check for it rather than for TDF_DETAILS.
2505
dd3b31fb
L
25062011-02-01 H.J. Lu <hongjiu.lu@intel.com>
2507
2508 PR driver/47547
2509 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
2510 is HOST_BIT_BUCKET.
2511
2512 * opts.c (finish_options): Don't add x_aux_base_name if it is
2513 HOST_BIT_BUCKET.
2514
34c1de79
RG
25152011-02-01 Richard Guenther <rguenther@suse.de>
2516
2517 PR tree-optimization/47555
2518 Revert
2519 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
2520
2521 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
2522
dd2804d2
SB
25232011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
2524
2525 PR gcc/46692
2526 * config/lm32/t-lm32: Add multilib for all CPU options.
2527
3fd3b156
RG
25282011-02-01 Richard Guenther <rguenther@suse.de>
2529
2530 PR tree-optimization/47541
2531 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
2532 sure to have a field at offset zero.
2533
f16072b6
JM
25342011-01-31 Joseph Myers <joseph@codesourcery.com>
2535
2536 * config/arc/arc.opt (EB, EL): New Driver options.
2537
6456cf2e
JM
25382011-01-31 Joseph Myers <joseph@codesourcery.com>
2539
2540 * config/alpha/osf5.opt: New.
2541 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
2542
cdde6ab4
JM
25432011-01-31 Joseph Myers <joseph@codesourcery.com>
2544
2545 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
2546
7633415c
SP
25472011-01-31 Sebastian Pop <sebastian.pop@amd.com>
2548
2549 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
2550 -floop-interchange.
2551 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
2552 is an alias of -floop-interchange and that it requires the
2553 Graphite infrastructure.
2554 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
2555 flag_loop_interchange based on the value of flag_tree_loop_linear.
2556
0425d6f5
JJ
25572011-01-31 Jakub Jelinek <jakub@redhat.com>
2558 Richard Guenther <rguenther@suse.de>
2559
2560 PR tree-optimization/47538
2561 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
2562 type instead of r1type, except for comparisons. For right
2563 shifts and comparisons punt if there are mismatches in
2564 sizetype vs. non-sizetype types.
2565
500b16c3
RO
25662011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2567
2568 * doc/sourcebuild.texi (Effective-Target Keywords): Document
2569 avx_runtime.
2570
e279edb0
RO
25712011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2572
2573 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
2574 version number.
2575 * configure: Regenerate.
2576
c6092243
RO
25772011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2578
2579 * configure.ac (gcc_cv_ld_static_option): Define.
2580 (gcc_cv_ld_dynamic_option): Define.
2581 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
2582 instead.
2583 (HAVE_LD_STATIC_DYNAMIC): Update message.
2584 (LD_STATIC_OPTION): Define.
2585 (LD_DYNAMIC_OPTION): Define.
2586 * configure: Regenerate.
2587 * config.in: Regenerate.
2588 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
2589 HAVE_LD_STATIC_DYNAMIC]: Use them.
2590
d7862be3
NC
25912011-01-31 Nick Clifton <nickc@redhat.com>
2592
2593 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
2594 registers inside interrupt handlers if the handler is not a leaf
2595 function.
2596
ba4ec0e0
NC
25972011-01-31 Nick Clifton <nickc@redhat.com>
2598
2599 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
2600 reg_renumber returning an INVALID_REGNUM.
2601
29a63921
AO
26022011-01-31 Alexandre Oliva <aoliva@redhat.com>
2603
2604 PR libgcj/44341
2605 * doc/install.texi: Document host options discarded when cross
2606 configuring target libraries.
2607
ef591d3f
AO
26082011-01-31 Alexandre Oliva <aoliva@redhat.com>
2609
2610 Reverted:
2611 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
2612 PR debug/45136
2613 PR debug/45130
2614 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
2615 debug insns.
2616 (no_real_insns_p, schedule_block, set_priorities): Drop special
2617 treatment of boundary debug insns.
38be4072 2618 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
2619 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
2620 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
2621 (BOUNDARY_DEBUG_INSN_P): Likewise.
2622 (SCHEDULE_DEBUG_INSN_P): Likewise.
2623 * sched-rgn.c (init_ready_list): Drop special treatment of
2624 boundary debug insns.
2625 * final.c (rest_of_clean-state): Clear notes' BB.
2626
61052244
AM
26272011-01-31 Alan Modra <amodra@gmail.com>
2628
2629 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
2630 toc relative expressions as we do in print_operand_address.
2631
c4c8962b
KH
26322011-01-30 Kazu Hirata <kazu@codesourcery.com>
2633
2634 * doc/extend.texi: Follow spelling conventions.
2635 * doc/invoke.texi: Fix a typo.
2636
e543b94c
JM
26372011-01-30 Joseph Myers <joseph@codesourcery.com>
2638
2639 * config/hpux11.opt: New.
2640 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
2641 ia64*-*-hpux*): Use hpux11.opt.
2642
509d65dd 26432011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
2644
2645 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
2646 to tmake_file.
2647
7be03a0e
GP
26482011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
2649
2650 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
2651 support sites.
2652
419d1d37
GP
26532011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
2654
b596ed64
GP
2655 * doc/install.texi (Binaries): Remove outdated reference for
2656 Motorola 68HC11/68HC12 downloads.
2657
26582011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 2659
419d1d37
GP
2660 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
2661 Drepper's paper.
2662
4406d0e9
JW
26632011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2664
2665 PR bootstrap/47147
2666 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
2667 used by NetBSD.
2668
38be4072 26692011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
2670
2671 * value-prof.c (check_counter): Corrected error message.
2672
0cd98787
JZ
26732011-01-29 Jie Zhang <jie@codesourcery.com>
2674
2675 * config/arm/arm.c (arm_legitimize_reload_address): New.
2676 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
2677 arm_legitimize_reload_address.
38be4072 2678 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 2679
9b798ac5
ILT
26802011-01-28 Ian Lance Taylor <iant@google.com>
2681
2682 * godump.c (go_define): Ignore macros whose definitions include
2683 two adjacent operands.
2684
591e29d9
JJ
26852011-01-28 Jakub Jelinek <jakub@redhat.com>
2686
2687 PR target/42894
2688 * varasm.c (force_const_mem): Store copy of x in desc->constant
2689 instead of x itself.
2690 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
2691 itself into REG_EQUAL note.
2692
62dcc44a
JM
26932011-01-28 Joseph Myers <joseph@codesourcery.com>
2694
2695 * config/freebsd.opt (posix, rdynamic): New Driver options.
2696
c9f58b9a
RO
26972011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2698
2699 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
2700 -Bstatic/-Bdynamic.
2701 * configure: Regenerate.
2702
5f02b9db
JM
27032011-01-27 Joseph Myers <joseph@codesourcery.com>
2704
2705 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
2706 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
2707
5df97412
AS
27082011-01-27 Anatoly Sokolov <aesok@post.ru>
2709
2710 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
2711 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
2712 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
2713 (s390_preferred_reload_class): Make static. Change return and
2714 'rclass' argument type to reg_class_t.
2715
779d4b91
JH
27162011-01-27 Jan Hubicka <jh@suse.cz>
2717
2718 PR middle-end/46949
2719 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
2720 (process_function_and_variable_attributes): Check defined weakrefs.
2721
e80b21ed
MJ
27222011-01-27 Martin Jambor <mjambor@suse.cz>
2723
2724 PR tree-optimization/47228
2725 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
2726 build_ref_for_offset.
2727
6dcc4f31
UW
27282011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2729
2730 * config/spu/spu-elf.h (ASM_SPEC): Remove.
2731
509d65dd 27322011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
2733
2734 PR rtl-optimization/46856
2735 * postreload.c (reload_combine_recognize_const_pattern): Do not
2736 separate cc0 setter and user on cc0 targets.
2737
04af8788
NP
27382011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
2739
2740 PR c/43082
2741 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
2742 passed a VOID_TYPE expression, immediately emit an error and
2743 return error_mark_node.
2744
f7a60085
JL
27452011-01-26 Jeff Law <law@redhat.com>
2746
2747 PR rtl-optimization/47464
2748 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
2749 rather than may_trap_p as needed.
2750
5c2917ec
DD
27512011-01-26 DJ Delorie <dj@redhat.com>
2752
2753 PR rtl-optimization/46878
2754 * combine.c (insn_a_feeds_b): Check for the implicit cc0
2755 setter/user dependency as well.
2756
bef16e87
EB
27572011-01-26 Eric Botcazou <ebotcazou@adacore.com>
2758
2759 PR rtl-optimization/44469
2760 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
2761 after removing trivially dead basic blocks.
2762
c75d884b
JM
27632011-01-26 Joseph Myers <joseph@codesourcery.com>
2764
2765 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
2766 * config/frv/frv.h (LINK_SPEC): Likewise.
2767 * config/i386/netware.h (LINK_SPEC): Likewise.
2768 * config/m68k/linux.h (ASM_SPEC): Likewise.
2769 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
2770 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
2771 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
2772 * config/sparc/linux.h (ASM_SPEC): Likewise.
2773 * config/sparc/linux64.h (ASM_SPEC): Likewise.
2774 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
2775
d3153553
JM
27762011-01-26 Joseph Myers <joseph@codesourcery.com>
2777
2778 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
2779 * config/frv/frv.h (ASM_SPEC): Likewise.
2780 * config/m68k/linux.h (ASM_SPEC): Likewise.
2781 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
2782 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
2783 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
2784 * config/sparc/linux.h (ASM_SPEC): Likewise.
2785 * config/sparc/linux64.h (ASM_SPEC): Likewise.
2786 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
2787
b89b1e9d
JM
27882011-01-26 Joseph Myers <joseph@codesourcery.com>
2789
2790 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
2791 * config/frv/frv.h (LINK_SPEC): Likewise.
2792 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
2793
12eb1a9c
JM
27942011-01-26 Joseph Myers <joseph@codesourcery.com>
2795
2796 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
2797 * config/frv/frv.h (ASM_SPEC): Likewise.
2798 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
2799 * config/m68k/linux.h (ASM_SPEC): Likewise.
2800 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
2801 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
2802 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
2803 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
2804 * config/sparc/linux.h (ASM_SPEC): Likewise.
2805 * config/sparc/linux64.h (ASM_SPEC): Likewise.
2806 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
2807 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
2808
e435f098
SE
28092011-01-26 Steve Ellcey <sje@cup.hp.com>
2810
2811 PR target/46997
2812 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
2813 (*mux2): Ditto.
2814 (vec_extract_evenodd_help): Ditto.
2815 (vec_extract_evenv4hi): Ditto.
2816 (vec_extract_oddv4hi): Ditto.
2817 (vec_interleave_lowv2si): Ditto.
2818 (vec_interleave_highv2si): Ditto.
2819 (vec_extract_evenv2si): Ditto.
2820 (vec_extract_oddv2si: Ditto.
2821 (vec_pack_trunc_v2si): Ditto.
2822
34f0eee0
JH
28232011-01-22 Jan Hubicka <jh@suse.cz>
2824
2825 PR target/47237
2826 * cgraph.h (cgraph_local_info): New field can_change_signature.
2827 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
2828 signature can change.
2829 (ipcp_estimate_growth): Call sequence simplify only if calle signature
2830 can change.
2831 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
2832 (cgraph_function_versioning): We can not change signature of functions
2833 that don't allow that.
2834 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
2835 (lto_input_node): Likewise.
38be4072
UB
2836 * ipa-inline.c (compute_inline_parameters): Compute
2837 local.can_change_signature.
34f0eee0 2838 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
2839 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
2840 functions that can not change signature.
34f0eee0 2841 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
2842 init_cumulative_args): Do not use local calling conventions
2843 for functions that can not change signature.
34f0eee0 2844
980ca891
JH
28452011-01-22 Jan Hubicka <jh@suse.cz>
2846
2847 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
2848
768e3c60
RG
28492011-01-26 Richard Guenther <rguenther@suse.de>
2850
2851 PR tree-optimization/47190
61052244
AM
2852 * cgraphunit.c (process_common_attributes): New function.
2853 (process_function_and_variable_attributes): Use it.
768e3c60 2854
21d6a1c7
RG
28552011-01-26 Richard Guenther <rguenther@suse.de>
2856
2857 PR lto/47423
2858 * cgraphbuild.c (record_eh_tables): Record reference to personality
2859 function.
2860
48bb58b1
AO
28612011-01-26 Alexandre Oliva <aoliva@redhat.com>
2862
2863 PR debug/45454
2864 * sel-sched.c (moveup_expr): Don't let debug insns prevent
2865 non-debug insns from moving up.
2866
58c741a6
DK
28672011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
2868
2869 PR target/40125
2870 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
2871 t-dlldir{,-x} fragment for build and add it to tmake_file.
2872 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
2873 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
2874 * config/i386/t-dlldir: New file.
2875 (SHLIB_DLLDIR): Define.
2876 * config/i386/t-dlldir-x: New file.
2877 (SHLIB_DLLDIR): Define.
2878 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
2879 (SHLIB_INSTALL): Use it.
2880
bff99262
CLT
28812011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
2882
2883 PR target/47246
2884 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
2885 lower bound of the allowed Thumb-2 coprocessor load/store
2886 index range to -256. Add explaining comment.
2887
82c03907
ILT
28882011-01-25 Ian Lance Taylor <iant@google.com>
2889
2890 * godump.c (go_define): Improve lexing of macro expansion to only
2891 accept expressions which match Go spec.
2892
47ea1edf
DK
28932011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
2894
d4dba752 2895 PR c++/43601
47ea1edf
DK
2896 * tree.c (handle_dll_attribute): Handle it.
2897 * doc/extend.texi (@item dllexport): Mention it.
2898 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
2899
744f0946
ILT
29002011-01-25 Ian Lance Taylor <iant@google.com>
2901
2902 PR tree-optimization/26854
2903 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
2904 (decl_jump_unsafe): Move higher in file, with no other change.
2905 (bind): Set has_jump_unsafe_decl if appropriate.
2906 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
2907 (check_earlier_gotos): Likewise.
2908 (c_check_switch_jump_warnings): Likewise.
2909
5734f2b3
JW
29102011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
2911
2912 * doc/invoke.texi (Warning Options): Add missing hyphen.
2913 (-fprofile-dir): Minor grammatical fixes.
2914 (-fbranch-probabilities): Likewise.
2915
9bdbdcef
AO
29162011-01-25 Alexandre Oliva <aoliva@redhat.com>
2917
2918 PR debug/45136
2919 PR debug/45130
2920 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
2921 debug insns.
2922 (no_real_insns_p, schedule_block, set_priorities): Drop special
2923 treatment of boundary debug insns.
38be4072 2924 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
2925 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
2926 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
2927 (BOUNDARY_DEBUG_INSN_P): Likewise.
2928 (SCHEDULE_DEBUG_INSN_P): Likewise.
2929 * sched-rgn.c (init_ready_list): Drop special treatment of
2930 boundary debug insns.
2931 * final.c (rest_of_clean-state): Clear notes' BB.
2932
b305e3da
SP
29332011-01-25 Sebastian Pop <sebastian.pop@amd.com>
2934
2935 * Makefile.in (LAMBDA_H): Removed.
2936 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
2937 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
2938 lambda-trans.o, and tree-loop-linear.o.
2939 (lto-symtab.o): Remove dependence on LAMBDA_H.
2940 (tree-loop-linear.o): Remove rule.
2941 (lambda-mat.o): Same.
2942 (lambda-trans.o): Same.
2943 (lambda-code.o): Same.
2944 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
2945 (tree-vect-slp.o): Same.
2946 * hwint.h (gcd): Moved here.
2947 (least_common_multiple): Same.
2948 * lambda-code.c: Removed.
2949 * lambda-mat.c: Removed.
2950 * lambda-trans.c: Removed.
2951 * lambda.h: Removed.
2952 * tree-loop-linear.c: Removed.
2953 * lto-symtab.c: Do not include lambda.h.
2954 * omega.c (gcd): Removed.
2955 * passes.c (init_optimization_passes): Remove pass_linear_transform.
2956 * tree-data-ref.c (print_lambda_vector): Moved here.
2957 (lambda_vector_copy): Same.
2958 (lambda_matrix_copy): Same.
2959 (lambda_matrix_id): Same.
2960 (lambda_vector_first_nz): Same.
2961 (lambda_matrix_row_add): Same.
2962 (lambda_matrix_row_exchange): Same.
2963 (lambda_vector_mult_const): Same.
2964 (lambda_vector_negate): Same.
2965 (lambda_matrix_row_negate): Same.
2966 (lambda_vector_equal): Same.
2967 (lambda_matrix_right_hermite): Same.
2968 * tree-data-ref.h: Do not include lambda.h.
2969 (lambda_vector): Moved here.
2970 (lambda_matrix): Same.
2971 (dependence_level): Same.
2972 (lambda_transform_legal_p): Removed declaration.
2973 (lambda_collect_parameters): Same.
2974 (lambda_compute_access_matrices): Same.
2975 (lambda_vector_gcd): Same.
2976 (lambda_vector_new): Same.
2977 (lambda_vector_clear): Same.
2978 (lambda_vector_lexico_pos): Same.
2979 (lambda_vector_zerop): Same.
2980 (lambda_matrix_new): Same.
2981 * tree-flow.h (least_common_multiple): Removed declaration.
2982 * tree-parloops.c (lambda_trans_matrix): Moved here.
2983 (LTM_MATRIX): Same.
2984 (LTM_ROWSIZE): Same.
2985 (LTM_COLSIZE): Same.
2986 (LTM_DENOMINATOR): Same.
2987 (lambda_trans_matrix_new): Same.
2988 (lambda_matrix_vector_mult): Same.
2989 (lambda_transform_legal_p): Same.
2990 * tree-pass.h (pass_linear_transform): Removed declaration.
2991 * tree-ssa-loop.c (tree_linear_transform): Removed.
2992 (gate_tree_linear_transform): Removed.
2993 (pass_linear_transform): Removed.
2994 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
2995 flag_loop_interchange.
2996
6bdfdb96
JJ
29972011-01-25 Jakub Jelinek <jakub@redhat.com>
2998
2999 PR tree-optimization/47265
3000 PR tree-optimization/47443
3001 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
3002 if name still has some uses.
3003
e4cba915
MJ
30042011-01-25 Martin Jambor <mjambor@suse.cz>
3005
3006 PR tree-optimization/47382
3007 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
3008 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
3009
509d65dd 30102011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
3011
3012 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
3013 sjlj_except_unwind_info.
3014
194313e2
RG
30152011-01-25 Richard Guenther <rguenther@suse.de>
3016
3017 PR tree-optimization/47426
3018 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
3019 visible functions results escape.
3020
147a0bcf
JJ
30212011-01-25 Jakub Jelinek <jakub@redhat.com>
3022
3023 PR target/45701
3024 * config/arm/arm.c (any_sibcall_uses_r3): New function.
3025 (arm_get_frame_offsets): Use it.
3026
db963b52
SP
30272011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3028 Jakub Jelinek <jakub@redhat.com>
3029
3030 PR tree-optimization/47271
3031 * tree-if-conv.c (bb_postdominates_preds): New.
3032 (if_convertible_bb_p): Call bb_postdominates_preds.
3033 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
3034 (predicate_scalar_phi): Call bb_postdominates_preds.
3035
bcddd3b9
NC
30362011-01-25 Nick Clifton <nickc@redhat.com>
3037
3038 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
3039 * config/rx/rx.c (rx_function_value): Likewise.
3040 (rx_promote_function_mode): Likewise.
3041 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
3042 in order to make it legitimate.
38be4072
UB
3043 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
3044 make sure that the first operand is the same as the result register.
bcddd3b9
NC
3045 (addsi3_unspec): Delete.
3046 (subdi3): Do not accept immediate operands.
3047 (subdi3_internal): Likewise.
3048
7e6cb022
JL
30492011-01-25 Jeff Law <law@redhat.com>
3050
3051 PR rtl-optimization/37273
3052 * ira-costs.c (scan_one_insn): Detect constants living in memory and
3053 handle them like argument loads from stack slots. Do not double
3054 count memory for memory constants and argument loads from stack slots.
3055
9ffa621e
JJ
30562011-01-25 Jakub Jelinek <jakub@redhat.com>
3057
3058 PR tree-optimization/47427
3059 PR tree-optimization/47428
3060 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
3061 coalesce if the new root var would be TREE_READONLY.
3062
5bd6e652
RG
30632011-01-25 Richard Guenther <rguenther@suse.de>
3064
3065 PR middle-end/47414
3066 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
3067 correct type for TBAA.
3068
7c48ea69
SP
30692011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3070
3071 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
3072 (close_phi_written_to_memory): Call for_each_index with
3073 dr_indices_valid_in_loop.
3074
38013f25
SP
30752011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3076
3077 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
3078 when it is initialized.
3079
5c640e29
SP
30802011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3081
3082 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
3083 call to graphite_find_data_references_in_stmt.
3084 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
3085 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
3086 call to graphite_find_data_references_in_stmt.
3087 (analyze_drs_in_stmts): Same.
3088 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
3089 in which the scalar analysis of indices is performed.
3090 (create_data_ref): Same. Update call to dr_analyze_indices.
3091 (find_data_references_in_stmt): Update call to create_data_ref.
3092 (graphite_find_data_references_in_stmt): Same.
3093 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
3094 declaration.
3095 (create_data_ref): Same.
3096 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
3097 call to create_data_ref.
3098
ac53c069
SP
30992011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3100
3101 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 3102 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 3103
3d17df15
SP
31042011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3105
3106 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
3107 VAR_DECL, PARM_DECL, and RESULT_DECL.
3108
c513da01
SP
31092011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3110
3111 * graphite-dependences.c (reduction_dr_1): Allow several reductions
3112 in a reduction PBB.
3113 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
3114 that have already been marked as PBB_IS_REDUCTION.
3115
3a292d59
SP
31162011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3117
3118 * graphite-scop-detection.c (same_close_phi_node): New.
3119 (remove_duplicate_close_phi): New.
3120 (make_close_phi_nodes_unique): New.
3121 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
3122
ba858447
SP
31232011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3124
3125 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
3126 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
3127 of both data references to be the same.
3128
8d865c56
SP
31292011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3130
38be4072
UB
3131 * graphite-dependences.c (build_lexicographical_constraint): Remove
3132 the gdim parameter.
3133 (build_lexicographical_constraint): Adjust call to
3134 ppl_powerset_is_empty.
8d865c56
SP
3135 (dependence_polyhedron): Same.
3136 (graphite_legal_transform_dr): Same.
3137 (graphite_carried_dependence_level_k): Same.
38be4072
UB
3138 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
3139 parameter.
8d865c56
SP
3140 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
3141
50034a36
SP
31422011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3143
3144 * graphite-sese-to-poly.c
3145 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
3146 (close_phi_written_to_memory): New.
3147 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
3148 and unshare_expr.
3149
0deada9e
SP
31502011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3151
3152 * doc/install.texi: Update the expected version number of PPL to 0.11.
3153 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
3154 #if PPL_VERSION_MINOR < 11.
3155
d7d3d6af
SP
31562011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3157
3158 * graphite-dependences.c: Include graphite-cloog-util.h.
3159 (new_poly_ddr): Inlined into dependence_polyhedron.
3160 (free_poly_ddr): Moved close by new_poly_ddr.
3161 (dependence_polyhedron_1): Renamed dependence_polyhedron.
3162 Early return NULL when ppl_powerset_is_empty returns true.
3163 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
3164 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
3165 (graphite_legal_transform_dr): Call new_poly_ddr.
3166 (graphite_carried_dependence_level_k): Same.
3167 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
3168 (dot_transformed_deps_stmt_1): Removed.
3169 (dot_deps_stmt_1): Call dot_deps_stmt_2.
3170 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
3171 (dot_deps_1): Call dot_deps_2.
3172 * Makefile.in (graphite-dependences.o): Add missing dependence on
3173 graphite-cloog-util.h.
3174
28c5db57
SP
31752011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3176
3177 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
3178 (build_lexicographical_constraint): Same.
3179 (dependence_polyhedron_1): Same.
3180 (graphite_legal_transform_dr): Same.
3181 (graphite_carried_dependence_level_k): Same.
3182 * graphite-ppl.c (ppl_powerset_is_empty): New.
3183 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
3184 * tree-data-ref.c (dump_data_reference): Print the basic block index.
3185
5168d98f
SP
31862011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3187
3188 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
3189 the "a followed by b" relation and document it.
3190
4a40293a
SP
31912011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3192
3193 * graphite-dependences.c (build_lexicographical_constraint): Stop the
3194 iteration when the bag of constraints is empty.
3195
271fb6fa
SP
31962011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3197
3198 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
3199
92d23680
SP
32002011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3201
3202 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
3203 nest and two loop depths as parameters.
3204 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
3205 lst_perfect_nestify.
3206
2f51deff
SP
32072011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3208
3209 * graphite-dependences.c (print_pddr): Call
3210 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
3211
07f3593c
SP
32122011-01-25 Sebastian Pop <sebastian.pop@amd.com>
3213
3214 * graphite-ppl.c (debug_gmp_value): New.
3215 * graphite-ppl.h (debug_gmp_value): Declared.
3216
3fae6099
TG
32172011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
3218
3219 * doc/install.texi: Document availability of cloog-0.16.
3220
1c3ba85b
SP
32212011-01-25 Vladimir Kargov <kargov@gmail.com>
3222
3223 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
3224 invalid postdominance info.
3225
e8ba94fc
JH
32262011-01-24 Jan Hubicka <jh@suse.cz>
3227
3228 PR c/21659
3229 * doc/extend.texi (weak pragma): Drop claim that it must
3230 appear before definition.
3231 * varasm.c (merge_weak, declare_weak): Only sanity check
3232 that DECL is not output at a time it is declared weak.
3233
2b6e2d13
KZ
32342011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
3235
3236 * machmode.def: Fixed comments.
1c3ba85b 3237
9841210f
KT
32382011-01-24 Kai Tietz <kai.tietz@onevision.com>
3239
3240 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
3241
32422011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
3243
3244 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 3245 WORDS_BIG_ENDIAN.
e046112d 3246
a6c5070a
L
32472011-01-24 H.J. Lu <hongjiu.lu@intel.com>
3248
3249 PR target/46519
3250 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
3251 (block_info): Add scanned and prev.
3252 (move_or_delete_vzeroupper_2): Return if the basic block
3253 has been scanned and the upper 128bit state is unchanged
3254 from the last scan.
3255 (move_or_delete_vzeroupper_1): Return true if the exit
3256 state is changed.
3257 (move_or_delete_vzeroupper): Visit basic blocks using the
3258 work-list based algorithm based on vt_find_locations in
3259 var-tracking.c.
3260
3261 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
3262
a40d79d7
NC
32632011-01-24 Nick Clifton <nickc@redhat.com>
3264
3265 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
3266 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
3267 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
3268 then define __v850e1__.
3269 * doc/invoke.texi: Document -mv850es.
3270
440eb8de
RH
32712011-01-24 Richard Henderson <rth@redhat.com>
3272
3273 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
3274 compound unordered comparisons.
3275 * config/rx/rx.c (rx_split_fp_compare): Remove.
3276 * config/rx/rx-protos.h: Update.
3277 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
3278 (cbranchsf4): Don't call rx_split_fp_compare.
3279 (*cbranchsf4): Use rx_split_cbranch.
3280 (*cmpsf): Don't accept "i" constraint.
3281 (*conditional_branch): Only valid after reload.
3282 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
3283
3ff79f99
MM
32842011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
3285
3286 PR target/47385
3287 * config/rs6000/altivec.md (vector constant splitters): Add
3288 support for creating vector single precision constants if -mvsx is
3289 used and we would create the constant using Altivec primitives.
3290
ff3d9d08
BS
32912011-01-23 Bernd Schmidt <bernds@codesourcery.com>
3292 Richard Sandiford <rdsandiford@googlemail.com>
3293
3294 PR rtl-optimization/47166
3295 * reload1.c (emit_reload_insns): Disable the spill_reg_store
3296 mechanism for PRE_MODIFY and POST_MODIFY.
3297 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
3298 reloadreg.
3299
7fcaf152
AS
33002011-01-23 Andreas Schwab <schwab@linux-m68k.org>
3301
8788adb6 3302 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 3303
d09b58c4
JH
33042011-01-22 Jan Hubicka <jh@suse.cz>
3305
3306 PR lto/47333
3307 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
3308
e8ff8c5a
JH
33092011-01-22 Jan Hubicka <jh@suse.cz>
3310
3311 PR tree-optimization/43884
3312 PR lto/44334
8788adb6 3313 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
3314 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
3315
ccaed3ba
AS
33162011-01-22 Anatoly Sokolov <aesok@post.ru>
3317
3318 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
3319 * config/s390/s390.c (s390_register_move_cost,
3320 s390_memory_move_cost): New.
3321 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
3322
0cecee06
UW
33232011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3324
3325 PR middle-end/47401
3326 * except.c (sjlj_assign_call_site_values): Move setting the
3327 crtl->uses_eh_lsda flag to ...
3328 (sjlj_mark_call_sites): ... here.
3329 (sjlj_emit_function_enter): Support NULL dispatch label.
3330 (sjlj_build_landing_pads): In a function with no landing pads
3331 that still has must-not-throw regions, generate code to register
3332 a personality function with empty LSDA.
3333
e692f276
RH
33342011-01-21 Richard Henderson <rth@redhat.com>
3335
1b7ae0b7
RH
3336 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
3337
3843787f
RH
3338 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
3339
e692f276
RH
3340 * compare-elim.c: New file.
3341 * Makefile.in (OBJS-common): Add it.
3342 (compare-elim.o): New.
3343 * common.opt (fcompare-elim): New.
3344 * opts.c (default_options_table): Add OPT_fcompare_elim.
3345 * tree-pass.h (pass_compare_elim_after_reload): New.
3346 * passes.c (init_optimization_passes): Add it.
3347 * recog.h: Protect against re-inclusion.
3348 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
3349 * doc/invoke.texi (-fcompare-elim): Document it.
3350 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
3351 * doc/tm.texi: Rebuild.
3352
9a7c2050
NC
33532011-01-22 Nick Clifton <nickc@redhat.com>
3354
3355 * config/rx/rx.md (cstoresf4): Pass comparison operator to
3356 rx_split_fp_compare.
3357
15ba5696
NC
33582011-01-22 Nick Clifton <nickc@redhat.com>
3359
3360 * config/rx/rx.md (UNSPEC_CONST): New.
3361 (deallocate_and_return): Wrap the amount popped off the stack in
3362 an UNSPEC_CONST in order to stop it being rejected by
3363 -mmax-constant-size.
3364 (pop_and_return): Add a "(return)" rtx.
3365 (call): Drop the immediate operand.
3366 (call_internal): Likewise.
3367 (call_value): Likewise.
3368 (call_value_internal): Likewise.
3369 (sibcall_internal): Likewise.
3370 (sibcall_value_internal): Likewise.
3371 (sibcall): Likewise. Generate an explicit call using
3372 sibcall_internal.
3373 (sibcall_value): Likewise.
3374 (mov<>): FAIL if a constant operand is not legitimate.
3375 (addsi3_unpsec): New pattern.
9a7c2050 3376
38be4072 3377 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
3378 (ok_for_max_constant): New function.
3379 (gen_safe_add): New function.
3380 (rx_expand_prologue): Use gen_safe_add.
3381 (rx_expand_epilogue): Likewise.
3382 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
3383 UNSPEC CONSTs.
3384
caaf13d3
JL
33852011-01-21 Jeff Law <law@redhat.com>
3386
3387 PR tree-optimization/47053
3388 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
3389 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
3390 statements are deleted.
3391 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
3392 is nonempty, then purge dead edges and cleanup the CFG.
3393
12c30f2f
AO
33942011-01-21 Alexandre Oliva <aoliva@redhat.com>
3395
3396 PR debug/47402
3397 Temporarily revert:
3398 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
3399 PR debug/47106
3400 * tree-dfa.c (create_var_ann): Mark variable as used.
3401
7360d2ac
JJ
34022011-01-21 Jakub Jelinek <jakub@redhat.com>
3403
aaa52a96
JJ
3404 PR middle-end/45566
3405 * except.c (convert_to_eh_region_ranges): Emit queued no-region
3406 notes from other section in hot/cold partitioning even if
3407 last_action is -3. Increment call_site_base.
3408
7360d2ac
JJ
3409 PR rtl-optimization/47366
3410 * fwprop.c (forward_propagate_into): Return bool. If
3411 any changes are made, -fnon-call-exceptions is used and
3412 REG_EH_REGION note is present, call purge_dead_edges
3413 and return true if it purged anything.
3414 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
3415 any EH edges were purged.
3416
e90b336f
JL
34172011-01-21 Jeff Law <law@redhat.com>
3418
3419 PR rtl-optimization/41619
3420 * caller-save.c (setup_save_areas): Break out code to determine
3421 which hard regs are live across calls by examining the reload chains
3422 so that it is always used.
3423 Eliminate code which checked REG_N_CALLS_CROSSED.
3424
3ffe07e1
JJ
34252011-01-21 Jakub Jelinek <jakub@redhat.com>
3426
3427 PR tree-optimization/47355
3428 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
3429 NOP has non-debug uses beyond PHIs in new_bb.
3430
1c7d0b34
AO
34312011-01-21 Alexandre Oliva <aoliva@redhat.com>
3432
3433 PR debug/47106
3434 * cfgexpand.c (account_used_vars_for_block): Only account vars
3435 that are annotated as used.
3436 (estimated_stack_frame_size): Don't set TREE_USED.
3437 * tree-dfa.c (create_var_ann): Mark variable as used.
3438
f99cc488
RG
34392011-01-21 Richard Guenther <rguenther@suse.de>
3440
3441 PR middle-end/47395
3442 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
3443
3bc27de7
RG
34442011-01-21 Richard Guenther <rguenther@suse.de>
3445
3446 PR tree-optimization/47365
3447 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
3448 (vn_reference_lookup_pieces): Adjust.
3449 (vn_reference_lookup): Likewise.
3450 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
3451 (vn_reference_lookup_3): Only look through kills if in
3452 VN_WALKREWRITE mode.
3453 (vn_reference_lookup_pieces): Adjust.
3454 (vn_reference_lookup): Likewise.
3455 (visit_reference_op_load): Likewise.
3456 (visit_reference_op_store): Likewise.
3457 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
3458 (compute_avail): Likewise.
3459 (eliminate): Likewise.
3460
d8debb1d
JJ
34612011-01-21 Jakub Jelinek <jakub@redhat.com>
3462
3463 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
3464 DECL_IGNORED_P non-reg vars if they are used.
3465
3a2df831
JJ
3466 PR tree-optimization/47391
3467 * varpool.c (const_value_known_p): Return false if
3468 decl is volatile.
3469
1dd584a2
KT
34702011-01-21 Kai Tietz <kai.tietz@onevision.com>
3471
3472 PR bootstrap/47215
3473 * config/i386/i386.c (ix86_local_alignment): Handle
3474 case for va_list_type_node is nil.
3475 (ix86_canonical_va_list_type): Likewise.
3476
7f9f095e
AM
34772011-01-21 Alan Modra <amodra@gmail.com>
3478
3479 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
3480 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
3481
837b01f6
RR
34822011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3483
3484 * config/arm/arm.md (define_attr type): Rename f_load
3485 and f_store to f_fpa_load and f_fpa_store. Update.
3486 (write_conflict): Deal with rename fallout.
3487 (*push_fp_multi): Likewise.
3488 * config/arm/fpa.md (f_load): Use f_fpa_load.
3489 (f_store): Use f_fpa_store.
3490 (*movsf_fpa): Likewise.
3491 (*movdf_fpa): Likewise.
3492 (*movxf_fpa): Likewise.
3493 (*thumb2_movsf_fpa): Likewise.
3494 (*thumb2_movdf_fpa): Likewise.
3495 (*thumb2_movxf_fpa): Likewise.
3496 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
3497 f_loadd and f_stored.
3498 (*thumb2_movdi_vfp): Likewise.
3499 (*thumb2_movsf_vfp): Fix attribute to f_loads.
3500 (*thumb2_movsi_vfp): Likewise.
3501 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
3502 Use f_loads instead of f_load.
3503 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
3504
a1a79768
AS
35052011-01-20 Anatoly Sokolov <aesok@post.ru>
3506
3507 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
3508 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
3509 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
3510 (xtensa_mode_dependent_address_p): New function.
3511 (constantpool_address_p): Make static. Change return type to bool.
3512 Change argument type to const_rtx. Use CONST_INT_P predicate.
3513
427f6cec
AO
35142011-01-20 Alexandre Oliva <aoliva@redhat.com>
3515
3516 PR debug/46583
3517 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
3518
583ac69c
JJ
35192011-01-20 Jakub Jelinek <jakub@redhat.com>
3520
3521 PR debug/47283
3522 * cfgexpand.c (expand_debug_expr): Instead of generating
3523 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
3524 etc. handling.
3525
93e452ed
RG
35262011-01-20 Richard Guenther <rguenther@suse.de>
3527
3528 PR middle-end/47370
3529 * tree-inline.c (remap_gimple_op_r): Recurse manually for
3530 the pointer operand of MEM_REFs.
3531
28fc44f3
JJ
35322011-01-20 Jakub Jelinek <jakub@redhat.com>
3533
3534 PR tree-optimization/46130
3535 * ipa-split.c (consider_split): If return_bb contains non-virtual
3536 PHIs other than for retval or if split_function would not adjust it,
3537 refuse to split.
3538
ddd268f2
RG
35392011-01-20 Richard Guenther <rguenther@suse.de>
3540
3541 PR tree-optimization/47167
3542 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
3543 Revert previous change, only avoid enumeral type changes.
3544
882020aa
MS
35452011-01-19 Mike Stump <mikestump@comcast.net>
3546
3547 * doc/tm.texi.in (BRANCH_COST): Englishify.
3548 * doc/tm.texi (BRANCH_COST): Likewise.
3549
7edb6247
DS
35502011-01-19 Dodji Seketeli <dodji@redhat.com>
3551
3552 PR c++/47291
3553 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
3554 (gen_scheduled_generic_parms_dies): New functions.
3555 (gen_struct_or_union_type_die): Schedule template parameters DIEs
3556 generation for the end of CU compilation.
3557 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 3558
23d5ed5d
AO
35592011-01-19 Alexandre Oliva <aoliva@redhat.com>
3560
3561 PR debug/46240
3562 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
3563 debug bind stmt on merge edges.
3564
37d6a488
AO
35652011-01-19 Alexandre Oliva <aoliva@redhat.com>
3566
3567 PR debug/47079
3568 PR debug/46724
3569 * function.c (instantiate_expr): Instantiate incoming rtl of
3570 implicit arguments, and recurse on VALUE_EXPRs.
3571 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
3572 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
3573
689f2c82
AO
35742011-01-19 Alexandre Oliva <aoliva@redhat.com>
3575
3576 * c-parser.c (c_parser_for_statement): Initialize
3577 collection_expression.
3578
03029de4
JM
35792011-01-19 Joseph Myers <joseph@codesourcery.com>
3580
3581 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
3582
3e03217e
JM
35832011-01-19 Joseph Myers <joseph@codesourcery.com>
3584
3585 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
3586 (LINK_SHLIB_SPEC): Don't use %(link_path).
3587 (SUBTARGET_EXTRA_SPECS): Remove link_path.
3588
5bbe9b3f
JM
35892011-01-19 Joseph Myers <joseph@codesourcery.com>
3590
3591 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
3592 (NO_SHARED_LIB_SUPPORT): Remove.
3593 (LINK_SHLIB_SPEC): Remove one conditional definition.
3594
368e0b39
JM
35952011-01-19 Joseph Myers <joseph@codesourcery.com>
3596
3597 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
3598 %{call_shared}.
3599 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
3600 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
3601 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
3602 %{call_shared} and conditionals on these options not being passed.
3603 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
3604 %{call_shared}.
3605
ed7656f6
JJ
36062011-01-19 Jakub Jelinek <jakub@redhat.com>
3607
68457901
JJ
3608 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
3609 simplify.
3610
ed7656f6
JJ
3611 * ipa-split.c: Spelling fixes.
3612
e0d1958f
RH
36132011-01-19 Richard Henderson <rth@redhat.com>
3614
3615 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
3616 (*mulsi3): Likewise.
3617
27098b6b
RH
3618 * longlong.h [__mn10300__] (count_leading_zeros): New.
3619 [__mn10300__] (umul_ppmm, smul_ppmm): New.
3620 [__mn10300__] (add_ssaaaa, subddmmss): New.
3621 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
3622 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
3623
d6be7c36
UW
36242011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3625
3626 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
3627
b1efde2a
RH
36282011-01-19 Richard Henderson <rth@redhat.com>
3629
44217823
RH
3630 * config/mn10300/mn10300.md (addsi3_flags): New.
3631 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
3632 (subsi3_flags, subc_internal, subdi3): New.
3633 (subdi3_internal, *subdi3_degenerate): New.
3634 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
3635
37a185d7
RH
3636 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
3637 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
3638 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
3639 * config/mn10300/mn10300-protos.h: Update.
3640 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
3641 (return_ret): Likewise. Rename from return_internal_regs.
3642 (return_internal): Remove.
3643
040c5757
RH
3644 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
3645 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
3646 (mn10300_legitimate_constant_p): Likewise.
3647 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
3648 (mn10300_frame_size): New.
3649 (mn10300_expand_prologue): Use it.
3650 (mn10300_expand_epilogue): Likewise.
3651 (mn10300_initial_offset): Likewise.
3652 * config/mn10300/mn10300-protos.h: Update.
3653 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
3654 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
3655 (prologue, epilogue, return_internal): Tidy output code.
3656 (mn10300_store_multiple_operation, return): Likewise.
3657 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
3658 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
3659 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
3660 (load_pic, am33_load_pic): New.
3661 (mn10300_load_pic0, mn10300_load_pic1): New.
3662
bad41521
RH
3663 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
3664 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
3665 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
3666 (cc_flags_for_mode, cc_flags_for_code): New.
3667 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
3668 overflow flag is not valid. Validate that the flags we need
3669 for the comparison are valid.
3670 (mn10300_output_cmp): Remove.
3671 (mn10300_output_add): New.
3672 (mn10300_select_cc_mode): Use cc_flags_for_code.
3673 (mn10300_split_cbranch): New.
3674 (mn10300_match_ccmode): New.
3675 (mn10300_split_and_operand_count): New.
3676 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
3677 to the function.
3678 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
3679 (addsi3): ... here. Use mn10300_output_add.
3680 (*addsi3_flags): New.
3681 (*am33_subsi3, *mn10300_subsi3): Merge...
3682 (subsi3): ... here. Use attribute isa.
3683 (*subsi3_flags): New.
3684 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
3685 when possible.
3686 (*am33_andsi3, *mn10300_andsi3): Merge...
3687 (andsi3): ... here.
3688 (*andsi3_flags): New.
3689 (andsi3 splitters): New.
3690 (*am33_iorsi3, *mn10300_iorsi3): Merge...
3691 (iorsi3): ... here.
3692 (*iorsi3_flags): New.
3693 (*am33_xorsi3, *mn10300_xorsi3): Merge...
3694 (xorsi3): ... here.
3695 (*xorsi3_flags): New.
3696 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
3697 (one_cmplsi2): ... here.
3698 (*one_cmplsi2_flags): New.
3699 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
3700 instead of "dax" in constraints. Use mn10300_split_cbranch.
3701 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
3702 use matching constraints to eliminate a self-comparison.
3703 (*integer_conditional_branch): Rename from integer_conditional_branch.
3704 Use int_mode_flags to match CC_REG.
3705 (*cbranchsi4_btst, *btstsi): New.
3706 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
3707 mn10300_split_cbranch.
3708 (*am33_cmpsf): Rename from am33_cmpsf.
3709 (*float_conditional_branch): Rename from float_conditional_branch.
3710 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
3711 (zero_extendqisi2): ... here.
3712 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
3713 (zero_extendhisi2): ... here.
3714 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
3715 (extendqisi2): ... here.
3716 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
3717 (extendhisi2): ... here.
3718 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
3719 (ashlsi3): ... here.
3720 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
3721 (lshrsi3): ... here.
3722 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
3723 (ashrsi3): ... here.
3724 (consecutive add peephole): Remove.
3725 * config/mn10300/predicates.md (label_ref_operand): New.
3726 (int_mode_flags): New.
3727 (CCZN_comparison_operator): New.
3728
9efb4993
RH
3729 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
3730 (throughput_42_latency_43): New reservation.
3731 (mulsidi3, umulsidi3): New expanders.
3732 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
3733 the MDR register to allocation; separately allocate the low and
3734 high parts of the DImode result.
3735 (umulsidi3_internal): Similarly.
3736 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
3737 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
3738 (udivsi3, umodsi3): Remove.
3739 (udivmodsi4, divmodsi4): New expanders.
3740 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
3741 (*divmodsi4): Simiarly.
3742 (ext_internal): New.
3743
c25a21f5
RH
3744 * config/mn10300/constraints.md ("z"): New constraint.
3745 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
3746 (FIXED_REGISTERS): Don't fix MDR.
3747 (CALL_USED_REGSITERS): Reformat nicely.
3748 (REG_ALLOC_ORDER): Add MDR.
3749 (enum regclass): Add MDR_REGS.
3750 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
3751 (IRA_COVER_CLASSES): Add MDR_REGS.
3752 (REGNO_REG_CLASS): Handle MDR_REG.
3753 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
3754 (mn10300_register_move_cost): Likewise.
3755 * config/mn10300/mn10300.md (MDR_REG): New.
3756 (*movsi_internal): Handle moves to/from MDR_REGS.
3757
36846b26
RH
3758 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
3759 POST_MODIFY.
3760 (mn10300_secondary_reload): Tidy combination reload classes.
3761 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
3762 addresses for AM33. Allow symbolic offsets for reg+imm.
3763 (mn10300_regno_in_class_p): New.
3764 (mn10300_legitimize_reload_address): New.
3765 * config/mn10300/mn10300.h (enum reg_class): Remove
3766 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
3767 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
3768 SP_OR_GENERAL_REGS.
3769 (REG_CLASS_NAMES): Update to match.
3770 (REG_CLASS_CONTENTS): Likewise.
3771 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
3772 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
3773 (REGNO_IN_RANGE_P): Remove.
3774 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
3775 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
3776 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
3777 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
3778 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
3779 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
3780 (REGNO_GENERAL_P): New.
3781 (HAVE_POST_MODIFY_DISP): New.
3782 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
3783 (LEGITIMIZE_RELOAD_ADDRESS): New.
3784 * config/mn10300/mn10300-protos.h: Update.
3785
8b119bb6
RH
3786 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
3787 DATA_REGS for AM33 stack-pointer destination.
3788 (mn10300_preferred_output_reload_class): Likewise.
3789 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
3790 into a form appropriate for ...
3791 (TARGET_SECONDARY_RELOAD): New.
3792 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
3793 * config/mn10300/mn10300-protos.h: Update.
3794 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
3795 reload_insi; use the "A" constraint for the scratch; handle AM33
3796 moves of sp to non-address registers.
3797
b1efde2a
RH
3798 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
3799 (*movqi_internal): ... here.
3800 (*am33_movhi, *mn10300_movhi): Merge into...
3801 (*movhi_internal): ... here.
3802 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
3803 as the source/destination of moves from/to SP.
3804 (movsf): Only allow for AM33-2.
1c3ba85b 3805 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
3806 any integer constant constraint. Only allow for AM33-2. Tidy
3807 all of the alternative outputs.
3808 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
3809 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
3810 for MN103.
3811 (udivsi3, umodsi3): New patterns for MN103 only.
3812
b899fd78
JR
38132011-01-19 Joern Rennecke <amylaar@spamcop.net>
3814
3815 * doc/tm.texi.in: Spell out that a lack of register class unions
3816 can lead to ICEs.
3817 * doc/tm.texi: Regenerate.
3818
afaaa67d
JJ
38192011-01-19 Jakub Jelinek <jakub@redhat.com>
3820
2e0642cd
JJ
3821 PR rtl-optimization/47337
3822 * dce.c (check_argument_store): New function.
3823 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
3824
afaaa67d
JJ
3825 PR tree-optimization/47290
3826 * tree-eh.c (infinite_empty_loop_p): New function.
3827 (cleanup_empty_eh): Use it.
3828
d2cd871f
SE
38292011-01-18 Steve Ellcey <sje@cup.hp.com>
3830
3831 PR target/46997
3832 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
3833 (a64_expand_widen_sum): Ditto.
3834 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
3835 (vec_extract_evenodd_help): Ditto.
3836 (vec_extract_evenv4hi): Ditto.
3837 (vec_extract_oddv4hi): Ditto.
3838 (vec_extract_evenv2si): Ditto.
3839 (vec_extract_oddv2si): Ditto.
3840 (vec_extract_evenv2sf): Ditto.
3841 (vec_extract_oddv2sf): Ditto.
3842 (vec_pack_trunc_v4hi: Ditto.
3843 (vec_pack_trunc_v2si): Ditto.
3844 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
3845 (vec_interleave_highv8qi): Ditto.
3846 (mix1_r): Ditto.
3847 (vec_extract_oddv8qi): Ditto.
3848 (vec_interleave_lowv4hi): Ditto.
3849 (vec_interleave_highv4hi): Ditto.
3850 (vec_interleave_lowv2si): Ditto.
3851 (vec_interleave_highv2si): Ditto.
3852
41a1208a
JDA
38532011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3854
3855 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
3856 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
3857 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
3858 (pa_c_mode_for_suffix): New.
3859 (TARGET_EXPAND_BUILTIN): Define.
3860 (TARGET_C_MODE_FOR_SUFFIX): Define.
3861 (pa_builtins): Define.
3862 (pa_init_builtins): Register __float128 type and init new support
3863 builtins.
3864 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
3865 * config/pa/quadlib.c (_U_Qfcopysign): New.
3866
1ecad98e
EB
38672011-01-18 Eric Botcazou <ebotcazou@adacore.com>
3868
3869 PR middle-end/46894
3870 * explow.c (allocate_dynamic_stack_space): Do not assume more than
3871 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
3872 are defined.
3873
d4f2460a
UW
38742011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3875
3876 PR tree-optimization/47179
3877 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
3878 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
3879
4994da65
RG
38802011-01-18 Richard Guenther <rguenther@suse.de>
3881
3882 PR rtl-optimization/47216
3883 * emit-rtl.c: Include tree-flow.h.
3884 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
3885 of replicating it with different semantics.
3886 * Makefile.in (emit-rtl.o): Adjust.
3887
1eb458d1
RR
38882011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3889
38be4072 3890 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 3891 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 3892
e7ef91dc
JJ
38932011-01-18 Jakub Jelinek <jakub@redhat.com>
3894
3895 PR rtl-optimization/47299
3896 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 3897 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
3898 * expmed.c (expand_widening_mult): Don't try to optimize constant
3899 multiplication if op0 has VOIDmode. Convert op1 constant to mode
3900 before using it.
3901
535b7874
RW
39022011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3903
3904 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
3905 spacing after 'e.g.', typos, comma, hyphenation.
3906
27bf36f3
RH
39072011-01-17 Richard Henderson <rth@redhat.com>
3908
8a5b5449
RH
3909 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
3910 (rx_restricted_mem_operand): New.
3911 (rx_shift_operand): Use register_operand.
3912 (rx_source_operand, rx_compare_operand): Likewise.
3913 * config/rx/rx.md (addsi3_flags): New expander.
3914 (adddi3): Rewrite as expander.
3915 (adc_internal, *adc_flags, adddi3_internal): New patterns.
3916 (subsi3_flags): New expander.
3917 (subdi3): Rewrite as expander.
3918 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
3919
784f69be
RH
3920 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
3921 (rx_init_builtins): Remove sat builtin.
3922 (rx_expand_builtin): Likewise.
3923 * config/rx/rx.md (ssaddsi3): New.
3924 (*sat): Rename from sat. Represent the CC_REG input.
3925
f033541c
RH
3926 * config/rx/predicates.md (rshift_operator): New.
3927 * config/rx/rx.c (rx_expand_insv): Remove.
3928 * config/rx/rx-protos.h: Update.
3929 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
3930 operand to the canonical position.
3931 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
3932 (*bitclr, *bitclr_in_memory): Similarly.
3933 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
3934 (insv): Retain the zero_extract in the expansion.
3935
34fee389
RH
3936 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
3937 (bswaphi2, bitinvert, revw): Likewise.
3938
265c835f
RH
3939 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
3940 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
3941 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
3942 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
3943 (bitset, bitset_in_memory): Likewise.
3944 (bitinvert, bitinvert_in_memory): Likewise.
3945 (bitclr, bitclr_in_memory): Likewise.
3946 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
3947 (rx_strend, rx_cmpstrn): Likewise.
3948 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
3949 (bitop peep2 patterns): Remove.
3950
b4d83be3
RH
3951 * config/rx/rx.c (rx_match_ccmode): New.
3952 * config/rx/rx-protos.h: Update.
3953 * config/rx/rx.md (abssi2): Clobber, don't set flags.
3954 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
3955 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
3956 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
3957 (fix_truncsfsi2, floatsisf2): Likewise.
3958 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
3959 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
3960 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
3961 (*subsi3_flags, *xorsi3_flags): New.
3962
d0acb939
RH
3963 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
3964
c06fc3d9
RH
3965 * config/rx/rx.c (rx_print_operand): Remove workaround for
3966 unsplit comparison operations.
3967
2882702b
RH
3968 * config/rx/rx.md (movsicc): Split after reload.
3969 (*movsicc): Merge *movsieq and *movsine via match_operator.
3970 (*stcc): New pattern.
3971
6f7310f2
RH
3972 * config/rx/rx.c (rx_float_compare_mode): Remove.
3973 * config/rx/rx.h (rx_float_compare_mode): Remove.
3974 * config/rx/rx.md (cstoresi4): Split after reload.
3975 (*sccc): New pattern.
3976
e963cb1a
RH
3977 * config/rx/predicates.md (label_ref_operand): New.
3978 (rx_z_comparison_operator): New.
3979 (rx_zs_comparison_operator): New.
3980 (rx_fp_comparison_operator): New.
3981 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
3982 Validate that the flags are set properly for the comparison.
3983 (rx_gen_cond_branch_template): Remove.
3984 (rx_cc_modes_compatible): Remove.
3985 (mode_from_flags): New.
3986 (flags_from_code): Rename from flags_needed_for_conditional.
3987 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
3988 (rx_select_cc_mode): Likewise.
3989 (rx_split_fp_compare): New.
3990 (rx_split_cbranch): New.
3991 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
3992 (*cbranchsi4): Use match_operator and rx_split_cbranch.
3993 (*cbranchsf4): Similarly.
3994 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
3995 match_operator and rx_split_cbranch.
3996 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
3997 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
3998 (*cmpsi): Rename from cmpsi.
3999 (*tstsi): Rename from tstsi.
4000 (*cmpsf): Rename from cmpsf; use CC_Fmode.
4001 (*conditional_branch): Rename from conditional_branch.
4002 (*reveresed_conditional_branch): Remove.
4003 (b<code>): Remove expander.
4004 * config/rx/rx-protos.h: Update.
4005
af530bb4
RH
4006 * config/rx/rx.c (rx_compare_redundant): Remove.
4007 * config/rx/rx.md (cmpsi): Don't use it.
4008 * config/rx/rx-protos.h: Update.
4009
27bf36f3
RH
4010 * config/rx/rx-modes.def (CC_F): New mode.
4011 * config/rx/rx.c (rx_select_cc_mode): New.
4012 * config/rx/rx.h (SELECT_CC_MODE): Use it.
4013 * config/rx/rx-protos.h: Update.
4014
d7fde127
RH
40152011-01-17 Richard Henderson <rth@redhat.com>
4016
4017 * except.c (dump_eh_tree): Fix stray ; after for statement.
4018
6ff38230
RG
40192011-01-17 Richard Guenther <rguenther@suse.de>
4020
4021 PR tree-optimization/47313
4022 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
4023 handling before copying the body. Properly deal with
4024 by-reference result in SSA form.
4025
114ce554
ILT
40262011-01-17 Ian Lance Taylor <iant@google.com>
4027
bf5cd92b 4028 PR target/47219
114ce554
ILT
4029 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
4030 (struct_value_alias_set): Don't define.
4031 (sparc_option_override): Don't set sparc_sr_alias_set and
4032 struct_value_alias_set.
4033 (save_or_restore_regs): Use gen_frame_mem rather than calling
4034 set_mem_alias_set.
4035 (sparc_struct_value_rtx): Likewise.
4036
98c6d93c
L
40372011-01-17 H.J. Lu <hongjiu.lu@intel.com>
4038
4039 PR target/47318
4040 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
4041 __m128i.
4042 (_mm_maskstore_pd): Likewise.
4043 (_mm_maskload_ps): Likewise.
4044 (_mm_maskstore_ps): Likewise.
4045 (_mm256_maskload_pd): Change mask to __m256i.
4046 (_mm256_maskstore_pd): Likewise.
4047 (_mm256_maskload_ps): Likewise.
4048 (_mm256_maskstore_ps): Likewise.
4049
4050 * config/i386/i386-builtin-types.def: Updated.
4051 (ix86_expand_special_args_builtin): Likewise.
4052
4053 * config/i386/i386.c (bdesc_special_args): Update
4054 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
4055 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
4056 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
4057 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
4058
4059 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
4060 Use <avxpermvecmode> on mask register.
4061 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
4062
b9361af2 40632011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
4064 Michael Haubenwallner <michael.haubenwallner@salomon.at>
4065 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
4066
4067 PR target/46655
4068 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
4069 if <= USHRT_MAX in 32-bit mode.
4070
b7ae9eb5
RW
40712011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4072
4073 * doc/install.texi (Configuration, Specific): Wrap long
4074 lines in examples. Allow line wrapping in long options
4075 and URLs where beneficial for PDF output.
4076
4377fad9
RS
40772011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
4078
4079 * config/mips/mips.c (mips_classify_symbol): Don't return
4080 SYMBOL_PC_RELATIVE for nonlocal labels.
4081
55959ffa 40822011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 4083
55959ffa
EB
4084 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
4085
40862011-01-15 Jan Hubicka <jh@suse.cz>
4087
4088 PR tree-optimization/47276
be46831f
JH
4089 * ipa.c (function_and_variable_visibility): Do not try to mark alias
4090 declarations as needed.
4091
05842ff5
MJ
40922011-01-15 Martin Jambor <mjambor@suse.cz>
4093
4094 * common.opt (fdevirtualize): New flag.
4095 * doc/invoke.texi (Option Summary): Document it.
4096 * opts.c (default_options_table): Add devirtualize flag.
4097 * ipa-prop.c (detect_type_change): Return immediately if
4098 devirtualize flag is not set.
4099 (detect_type_change_ssa): Likewise.
4100 (compute_known_type_jump_func): Likewise.
4101 (ipa_analyze_virtual_call_uses): Likewise.
4102
f65cf2b7
MJ
41032011-01-14 Martin Jambor <mjambor@suse.cz>
4104
4105 PR tree-optimization/45934
4106 PR tree-optimization/46302
4107 * ipa-prop.c (type_change_info): New type.
4108 (stmt_may_be_vtbl_ptr_store): New function.
4109 (check_stmt_for_type_change): Likewise.
4110 (detect_type_change): Likewise.
4111 (detect_type_change_ssa): Likewise.
4112 (compute_complex_assign_jump_func): Check for dynamic type change.
4113 (compute_complex_ancestor_jump_func): Likewise.
4114 (compute_known_type_jump_func): Likewise.
4115 (compute_scalar_jump_functions): Likewise.
4116 (ipa_analyze_virtual_call_uses): Likewise.
4117 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
4118
eb5bb0fd
JM
41192011-01-14 Joseph Myers <joseph@codesourcery.com>
4120
4121 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
4122 * config/i386/i386.opt (msse5): New Alias.
4123
f2060fbe
JM
41242011-01-14 Joseph Myers <joseph@codesourcery.com>
4125
4126 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
4127 * config/sparc/linux64.h (CC1_SPEC): Likewise.
4128 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
4129 * config/sparc/sparc.h (CC1_SPEC): Likewise.
4130
3a7b4385
JM
41312011-01-14 Joseph Myers <joseph@codesourcery.com>
4132
4133 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
4134 -mcpu options.
4135 * config/sparc/linux64.h (CC1_SPEC): Likewise.
4136 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
4137 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
4138 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
4139 Likewise.
4140 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
4141
a7b778f8
JM
41422011-01-14 Joseph Myers <joseph@codesourcery.com>
4143
38be4072 4144 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 4145
a7edae0a
MS
41462011-01-14 Mike Stump <mikestump@comcast.net>
4147
4148 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
4149 * config/fr30/fr30.md: Likweise
4150 (movsi_push): Likewise.
4151 (movsi_pop): Likewise.
4152 (enter_func): Likewise.
4153 * config/moxie/moxie.md (movsi_push): Likewise.
4154 (movsi_pop): Likewise.
4155
cbabf03f
JM
41562011-01-14 Joseph Myers <joseph@codesourcery.com>
4157
4158 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
4159 %{no_archive} %{exact_version}.
4160 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
4161 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
4162 %{no_archive} %{exact_version}.
4163 * config/mips/openbsd.h (LINK_SPEC): Likewise.
4164 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
4165 * config/mips/vxworks.h: Likewise.
4166
438da41a
JM
41672011-01-14 Joseph Myers <joseph@codesourcery.com>
4168
38be4072 4169 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 4170
da290a42
JM
41712011-01-14 Joseph Myers <joseph@codesourcery.com>
4172
4173 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
4174 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
4175
8989d00e
JM
41762011-01-14 Joseph Myers <joseph@codesourcery.com>
4177
4178 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
4179 -nodefaultlib.
4180
a3010a69
JM
41812011-01-14 Joseph Myers <joseph@codesourcery.com>
4182
4183 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
4184 for mcpu not cpu.
4185 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
4186 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
4187 not cpu.
4188 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
4189 Don't handle -shlib.
4190
e7f2f537
JM
41912011-01-14 Joseph Myers <joseph@codesourcery.com>
4192
4193 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
4194 (CC1_SPEC): Don't handle -profile.
4195
34830bfd
JM
41962011-01-14 Joseph Myers <joseph@codesourcery.com>
4197
4198 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
4199 * config/mips/mips.h (CC1_SPEC): Likewise.
4200
b2d36e74
JM
42012011-01-14 Joseph Myers <joseph@codesourcery.com>
4202
4203 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
4204 * config/mips/mips.h (CC1_SPEC): Likewise.
4205
dabadc52
JM
42062011-01-14 Joseph Myers <joseph@codesourcery.com>
4207
4208 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
4209 * config/m32r/linux.h (LINK_SPEC): Likewise.
4210 * config/mips/linux.h (LINK_SPEC): Likewise.
4211 * config/mips/linux64.h (LINK_SPEC): Likewise.
4212 * config/sparc/linux.h (LINK_SPEC): Likewise.
4213 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
4214 LINK_SPEC): Likewise.
4215 * config/xtensa/linux.h (LINK_SPEC): Likewise.
4216
43ee6785
JM
42172011-01-14 Joseph Myers <joseph@codesourcery.com>
4218
4219 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
4220 %{version:-v}.
4221 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
4222
45e79dfd
JM
42232011-01-14 Joseph Myers <joseph@codesourcery.com>
4224
4225 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
4226 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
4227
37e9e71d
JM
42282011-01-14 Joseph Myers <joseph@codesourcery.com>
4229
4230 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
4231
bb127cd8
RO
42322011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4233
4234 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
4235 supports -Bstatic/-Bdynamic.
4236 * configure: Regenerate.
4237
89a012ea 42382011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 4239 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
4240
4241 PR target/46037
4242 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
4243 when checking debug_info_level. Test write_symbols instead of
4244 debug_hooks->var_location when setting flag_var_tracking_uninit.
4245
7352c013
RG
42462011-01-14 Richard Guenther <rguenther@suse.de>
4247
4248 PR tree-optimization/47179
4249 * target.def (ref_may_alias_errno): New target hook.
4250 * targhooks.h (default_ref_may_alias_errno): Declare.
4251 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
4252 (default_ref_may_alias_errno): New function.
4253 * target.h (struct ao_ref_s): Declare.
4254 * tree-ssa-alias.c: Include target.h.
4255 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
4256 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
4257 (targhooks.o): Likewise.
4258 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
4259 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
4260
9a6c9288
RG
42612011-01-14 Richard Guenther <rguenther@suse.de>
4262
4263 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
4264
0fdb0d27
RG
42652011-01-14 Richard Guenther <rguenther@suse.de>
4266
4267 PR tree-optimization/47280
4268 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
4269 return CFG changes.
4270 (tree_ssa_forward_propagate_single_use_vars): Deal with
4271 CFG changes from associate_plusminus.
4272
8f66db3b
RG
42732011-01-14 Richard Guenther <rguenther@suse.de>
4274
4275 PR middle-end/47281
4276 Revert
4277 2011-01-11 Richard Guenther <rguenther@suse.de>
4278
280d9630
EB
4279 PR tree-optimization/46076
4280 * tree-ssa.c (useless_type_conversion_p): Conversions from
4281 unprototyped to empty argument list function types are useless.
8f66db3b 4282
6c0c92e6
RG
42832011-01-14 Richard Guenther <rguenther@suse.de>
4284
4285 PR tree-optimization/47286
280d9630 4286 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 4287
db09f943
MJ
42882011-01-14 Martin Jambor <mjambor@suse.cz>
4289
4290 PR middle-end/46823
4291 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
4292
dde8a3a4
AS
42932011-01-13 Anatoly Sokolov <aesok@post.ru>
4294
4295 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
4296 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
4297 * config/xtensa/xtensa.c (xtensa_libcall_value,
4298 xtensa_function_value_regno_p): New functions.
4299 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
4300
a2b63a20
KT
43012011-01-13 Kai Tietz <kai.tietz@onevision.com>
4302
4303 PR c++/47213
4304 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
4305 PE specific hook.
4306 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
4307 New function prototype.
4308 * config/i386/winnt.c (i386_pe_assemble_visibility):
4309 Warn only if attribute was specified by user.
4310
b41f0b34
MM
43112011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
4312
4313 PR target/47251
4314 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
4315 floating point.
4316 (floatunsdidf2_fcfidu): Ditto.
4317
3f3c098d
AK
43182011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4319
4320 * config/s390/s390.c (print_operand_address): Replace 'error' with
4321 'output_operand_lossage'.
4322 (print_operand): Likewise.
4323
29fa95ed
JL
43242011-01-13 Jeff Law <law@redhat.com>
4325
280d9630 4326 PR rtl-optimization/39077
29fa95ed
JL
4327 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
4328 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
4329 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
4330 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
4331 * gcse.c (prune_insertions_deletions): New function.
4332 (compute_pre_data): Use it.
4333
71d12276
DS
43342011-01-13 Dodji Seketeli <dodji@redhat.com>
4335
4336 PR debug/PR46973
4337 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
4338 static function.
61052244 4339 (prune_unused_types_mark): Use it.
71d12276 4340
9b0f04e7
AB
43412011-01-13 Andrey Belevantsev <abel@ispras.ru>
4342
4343 PR rtl-optimization/45352
1c3ba85b 4344 * sel-sched.c: Update copyright years.
9b0f04e7 4345 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 4346 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 4347
d6a3e264
RH
43482011-01-12 Richard Henderson <rth@redhat.com>
4349
a49b692a
RH
4350 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
4351 (TARGET_MD_ASM_CLOBBERS): New.
4352
126b1483
RH
4353 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
4354 (TARGET_DELEGITIMIZE_ADDRESS): New.
4355
f3d9d2e0
RH
4356 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
4357 (clzsi2, *bsch): New patterns.
4358
d84760c9
RH
4359 * config/mn10300/mn10300.md (INT): New mode iterator.
4360 (*mov<INT>_clr): New pattern, and peep2 to generate it.
4361
ec815d65
RH
4362 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
4363 flag_split_wide_types.
4364
d6a3e264
RH
4365 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
4366 (mn10300_trampoline_init): Rewrite without a template, an immediate
4367 load and a direct branch.
4368 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
4369
0f8ab434
AS
43702011-01-12 Anatoly Sokolov <aesok@post.ru>
4371
4372 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
4373 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
4374 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
4375 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
4376
d8a24b65
KT
43772011-01-12 Kai Tietz <kai.tietz@onevision.com>
4378
4379 PR debug/47209
4380 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
4381 of type.
4382
56e22cab
JH
43832011-01-12 Jan Hubicka <jh@suse.cz>
4384
4385 PR driver/47244
4386 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
4387 (PLUGIN_COND_CLOSE): New macro.
4388 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
4389
4b18b3c2
RG
43902011-01-12 Richard Guenther <rguenther@suse.de>
4391
4392 PR lto/47259
4393 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
4394 register variables in a MEM_REF.
4395
8e38461c
JM
43962011-01-12 Joseph Myers <joseph@codesourcery.com>
4397
4398 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
4399 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
4400 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
4401 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
4402 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
4403 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
4404 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
4405 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
4406 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
4407 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
4408 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
4409 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
4410 * config/gnu-user.h: New. Copied from linux.h.
4411 (LINUX_TARGET_STARTFILE_SPEC): Rename to
4412 GNU_USER_TARGET_STARTFILE_SPEC.
4413 (LINUX_TARGET_ENDFILE_SPEC): Rename to
4414 GNU_USER_TARGET_ENDFILE_SPEC.
4415 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
4416 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
4417 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
4418 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
4419 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
4420 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
4421 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
4422 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
4423 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
4424 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
4425 * config/arm/linux-eabi.h (CC1_SPEC): Use
4426 GNU_USER_TARGET_CC1_SPEC.
4427 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
4428 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
4429 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
4430 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
4431 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
4432 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
4433 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
4434 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
4435
a570fc16
RG
44362011-01-12 Richard Guenther <rguenther@suse.de>
4437
4438 PR other/46946
4439 * doc/invoke.texi (ffast-math): Document it is turned on
4440 with -Ofast.
4441
b0223c3e
JH
44422011-01-12 Jan Hubicka <jh@suse.cz>
4443
4444 PR tree-optimization/47233
ca1e00b3
EB
4445 * opts.c (common_handle_option): Disable ipa-reference with profile
4446 feedback.
b0223c3e 4447
1c3ba85b 44482011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
4449
4450 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
4451 error message.
4452
d853ee42
NP
44532011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
4454
4455 * c-parser.c (c_lex_one_token): Updated and reindented some
4456 comments. No changes in code.
4457
4053a5a0
ILT
44582011-01-11 Ian Lance Taylor <iant@google.com>
4459
4460 * godump.c (go_output_var): Don't output the variable if there is
4461 already a type with the same name.
4462
fa3e04d2
ILT
44632011-01-11 Ian Lance Taylor <iant@google.com>
4464
4465 * godump.c (go_format_type): Don't generate float80.
4466
885fe07c
RH
44672011-01-11 Richard Henderson <rth@redhat.com>
4468
72d6e3c5
RH
4469 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
4470 declaration. Rewrite for both speed and size.
4471 (mn10300_address_cost_1): Remove.
4472 (mn10300_register_move_cost): New.
4473 (mn10300_memory_move_cost): New.
4474 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
4475 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
4476 extensions, shifts, BSWAP, CLZ.
4477 (mn10300_wide_const_load_uses_clr): Remove.
4478 (TARGET_REGISTER_MOVE_COST): New.
4479 (TARGET_MEMORY_MOVE_COST): New.
4480 * config/mn10300/mn10300-protos.h: Update.
4481 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
4482
df37c023
RH
4483 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
4484 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
4485 * config/mn10300/mn10300-protos.h: Update.
4486 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
4487 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
4488 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
4489 (*test_int_bitfield, *test_byte_bitfield): Remove.
4490 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 4491 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 4492
85a337b5
RH
4493 * config/mn10300/constraints.md ("c"): Rename from "A".
4494 ("A", "D"): New constraint letters.
4495 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
4496 (fmssf4, fnmasf4, fnmssf4): Likewise.
4497
a5c727e3
RH
4498 * config/mn10300/mn10300.md (isa): New attribute.
4499 (enabled): New attribute.
4500
0d9e23f4
RH
4501 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
4502 (abssf2, negsf2): Define only for hardware fp.
4503 (sqrtsf2): Reformat.
4504 (addsf3, subsf3, mulsf3): Merge expander and insn.
4505
c157b3f0
RH
4506 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
4507 (DEBUGGER_AUTO_OFFSET): Remove.
4508 (DEBUGGER_ARG_OFFSET): Remove.
4509
cc909bba
RH
4510 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
4511 Emit register stores with the same offsets as the hardware.
4512 (mn10300_store_multiple_operation): Don't check that the register
4513 save offsets are monotonic.
4514 * config/mn10300/mn10300-protos.h: Update.
4515
e3b5c2f3
RH
4516 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
4517
885fe07c
RH
4518 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
4519 in terms of the value on the stack, not the MDR register.
4520
6e701822
JH
45212011-01-11 Jan Hubicka <jh@suse.cz>
4522
4523 PR lto/45721
4524 PR lto/45375
4525 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
4526 (symbol_alias_set_destroy, symbol_alias_set_contains,
4527 propagate_aliases_backward): Declare.
4528 * lto-streamer-out.c (struct sets): New sturcture.
4529 (trivally_defined_alias): New function.
4530 (output_alias_pair_p): Rewrite.
4531 (output_unreferenced_globals): Fix output of alias pairs.
4532 (produce_symtab): Likewise.
4533 * ipa.c (function_and_variable_visibility): Set weak alias destination
4534 as needed in lto.
4535 * varasm.c (symbol_alias_set_t): Remove.
4536 (symbol_alias_set_destroy): Export.
4537 (propagate_aliases_forward, propagate_aliases_backward): New functions
4538 based on ...
4539 (compute_visible_aliases): ... this one; remove.
4540 (trivially_visible_alias): New
4541 (trivially_defined_alias): New.
4542 (remove_unreachable_alias_pairs): Rewrite.
4543 (finish_aliases_1): Reorganize code checking if alias is defined.
4544 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
4545 in LTO mode.
4546
1b248907
RG
45472011-01-11 Richard Guenther <rguenther@suse.de>
4548
4549 PR tree-optimization/46076
4550 * tree-ssa.c (useless_type_conversion_p): Conversions from
4551 unprototyped to empty argument list function types are useless.
4552
b1923f0a
RG
45532011-01-11 Richard Guenther <rguenther@suse.de>
4554
4555 PR middle-end/45235
4556 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
4557 volatile MEMs as MEM_READONLY_P.
4558
e98965af
RG
45592011-01-11 Richard Guenther <rguenther@suse.de>
4560
4561 PR tree-optimization/47239
4562 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
4563
9f9ca914
JL
45642011-01-11 Jeff Law <law@redhat.com>
4565
1ee3ea05 4566 PR tree-optimization/47086
9f9ca914
JL
4567 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
4568 IVs from statements that might throw.
4569
345fdcb7
JH
45702011-01-10 Jan Hubicka <jh@suse.cz>
4571
4572 PR lto/45375
4573 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
4574
c459c97b
JH
45752011-01-10 Jan Hubicka <jh@suse.cz>
4576
4577 PR lto/45375
4578 * profile.c (read_profile_edge_counts): Ignore profile inconistency
4579 when correcting profile.
4580
06c9eb51
JH
45812011-01-10 Jan Hubicka <jh@suse.cz>
4582
4583 PR lto/46083
4584 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
4585 DECL_FINI_PRIORITY.
4586 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
4587 Restore DECL_FINI_PRIORITY.
4588
ae9fd815
RW
45892011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4590
4591 * doc/gimple.texi: Fix quoting of multi-word return values in
4592 @deftypefn statements. Ensure presence of return value. Wrap
4593 overlong @deftypefn lines.
4594 (is_gimple_operand, is_gimple_min_invariant_address): Remove
4595 descriptions of removed functions.
4596 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
4597 of multi-word return value in @deftypefn statement.
4598
0ecb4a7c
RW
45992011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4600
4601 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
4602 (Conditional Expressions, Logical Operators)
4603 (Statement and operand traversals): Do not indent smallexample
4604 code. Fix duplicate function argument in example.
4605
2e5e346d
JL
46062011-01-10 Jeff Law <law@redhat.com>
4607
1ee3ea05 4608 PR tree-optimization/47141
2e5e346d
JL
4609 * ipa-split.c (split_function): Handle case where we are
4610 returning a value and the return block has a virtual operand phi.
4611
cf9712cc
JH
46122011-01-10 Jan Hubicka <jh@suse.cz>
4613
1c3ba85b 4614 PR tree-optimization/47234
cf9712cc
JH
4615 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
4616 (pass_feedback_split_functions): Declare.
4617 * passes.c (init_optimization_passes): Add ipa-split as subpass of
4618 tree-profile.
4619 * ipa-split.c (gate_split_functions): Update comments; disable
4620 split-functions for profile_arc_flag and branch_probabilities.
4621 (gate_feedback_split_functions): New function.
4622 (execute_feedback_split_functions): New function.
4623 (pass_feedback_split_functions): New global var.
4624
94cd932c
L
46252011-01-10 H.J. Lu <hongjiu.lu@intel.com>
4626
4627 PR lto/46760
4628 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
4629 calling gimple_call_set_cannot_inline.
4630
fbbfcaf1
IS
46312011-01-10 Iain Sandoe <iains@gcc.gnu.org>
4632
4633 * config/darwin-sections.def: Remove unused section.
4634
d06865bf
DK
46352011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
4636
4637 PR c++/47218
4638 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
4639
96bbfbac
NP
46402011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
4641
4642 PR objc/47232
4643 * c-parser.c (c_parser_declaration_or_fndef): Improved
4644 error message.
4645
1ba6516f
KT
46462011-01-09 Kai Tietz <kai.tietz@onevision.com>
4647
4648 * config/i386/winnt.c (i386_pe_start_function): Make sure
4649 to switch back to function's section.
4650
0c5d770e
IS
46512011-01-09 Iain Sandoe <iains@gcc.gnu.org>
4652
4653 PR gcc/46902
4654 PR testsuite/46912
4655 * plugin.c: Move include of dlfcn.h from here...
4656 * system.h: ... to here.
4657
46582011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
4659
4660 * doc/cpp.texi (C++ Named Operators): Fix markup for header
4661 file name.
4662 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
4663 two extra empty pages in PDF output.
4664
046608a3
NP
46652011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
4666
4667 PR objc/47078
4668 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
4669 for error recovery purposes behave as if it was not specified so
4670 that the default type is usd.
4671
8cb114b9
JH
46722011-01-07 Jan Hubicka <jh@suse.cz>
4673
4674 PR tree-optmization/46469
4675 * ipa.c (function_and_variable_visibility): Clear needed flags on
4676 nodes with external decls; handle weakrefs merging correctly.
4677
b294a75e
JM
46782011-01-07 Joseph Myers <joseph@codesourcery.com>
4679
4680 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
4681 not false.
4682
96bdf9b4
JH
46832011-01-07 Jan Hubicka <jh@suse.cz>
4684
4685 * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
4686 and no longer claim that gold is required for linker plugin.
4687 * configure: Regenerate.
4688 * gcc.c (PLUGIN_COND): New macro.
4689 (LINK_COMMAND_SPEC): Use it.
4690 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
4691 * config.in (HAVE_LTO_PLUGIN): New.
4692 * configure.ac (--with-lto-plugin): New parameter; autodetect
4693 HAVE_LTO_PLUGIN.
4694
17afc0fe
JH
46952011-01-07 Jan Hubicka <jh@suse.cz>
4696
4697 PR tree-optimization/46367
4698 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
4699 when we can update original.
4700 (cgraph_mark_inline_edge): Sanity check.
4701 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
4702
d4c48c0f
UW
47032011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4704
4705 * config/spu/spu.h (ASM_COMMENT_START): Define.
4706
96f5b137
L
47072011-01-07 H.J. Lu <hongjiu.lu@intel.com>
4708
4709 PR driver/42445
4710 * gcc.c (%>S): New.
4711 (SWITCH_KEEP_FOR_GCC): Likewise.
4712 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
4713 (do_spec_1): Handle "%>".
4714
4715 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
4716
c6a8f6de
JJ
47172011-01-07 Jakub Jelinek <jakub@redhat.com>
4718
c21bbd7a
JJ
4719 PR target/47201
4720 * config/i386/i386.c (ix86_delegitimize_address): If
4721 simplify_gen_subreg fails, return orig_x.
4722
c6a8f6de
JJ
4723 PR bootstrap/47187
4724 * value-prof.c (gimple_stringop_fixed_value): Handle
4725 lhs of the call properly.
4726
fe95fbf9
JH
47272011-01-07 Jan Hubicka <jh@suse.cz>
4728
4729 PR lto/45375
4730 * lto-opt.c (lto_reissue_options): Set flag_shlib.
4731
14d11d40
IS
47322011-01-07 Iain Sandoe <iains@gcc.gnu.org>
4733
72e961c8
EB
4734 * target.def (function_switched_text_sections): New hook.
4735 * doc/tm.texi: Regenerated.
4736 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 4737 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
4738 (final_scan_insn): Call function_switched_text_sections when a
4739 mid-function section change occurs.
14d11d40 4740 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
4741 * config/darwin-protos.h (darwin_function_switched_text_sections):
4742 Likewise.
14d11d40 4743 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 4744 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 4745
0b764288
IS
47462011-01-07 Iain Sandoe <iains@gcc.gnu.org>
4747
4748 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
4749 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
4750 the secondary code fragment when outputting for DWARF == 2.
4751
2ac6bb04
AS
47522011-01-07 Anatoly Sokolov <aesok@post.ru>
4753
4754 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
4755 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
4756 Remove.
4757 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
4758 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
4759
9f82de11
EB
47602011-01-06 Eric Botcazou <ebotcazou@adacore.com>
4761
4762 PR debug/46704
280d9630
EB
4763 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
4764 when it is not empty.
9f82de11
EB
4765
47662011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 4767
1ed72abf 4768 Bobcat Enablement
14b52538 4769 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 4770 (case ${target}): Add btver1.
14b52538 4771 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 4772 -march=native recognize btver1 processors.
14b52538 4773 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 4774 btver1 def_and_undef
14b52538 4775 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
4776 btver1 cost table.
4777 (m_BTVER1): New definition.
4778 (m_AMD_MULTIPLE): Includes m_BTVER1.
4779 (initial_ix86_tune_features): Add btver1 tune.
4780 (processor_target_table): Add btver1 entry.
4781 (static const char *const cpu_names): Add btver1 entry.
4782 (software_prefetching_beneficial_p): Add btver1.
4783 (ix86_option_override_internal): Add btver1 instruction sets.
4784 (ix86_issue_rate): Add btver1.
4785 (ix86_adjust_cost): Add btver1.
14b52538 4786 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
4787 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
4788 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
4789 * config/i386/i386.md (define_attr "cpu"): Add btver1.
4790
e1a973d8
RO
47912011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4792
4793 PR target/43309
4794 * config/i386/i386.c (legitimize_tls_address)
4795 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
4796 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
4797 (tls_initial_exec_64_sun): New pattern.
4798
c73f67c5
GP
47992011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
4800
4801 * doc/invoke.texi (Overall Options): Improve wording and markup
4802 of the description of -wrapper.
4803
bc4c6f9c
JM
48042011-01-06 Joseph Myers <joseph@codesourcery.com>
4805
4806 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
4807 rdynamic, threads): New Driver options.
4808
adb75db0
RO
48092011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4810
4811 PR target/38118
4812 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
4813 if coming from .tdata.
4814 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
4815
402c1cb4
JH
48162011-01-06 Jan Hubicka <jh@suse.cz>
4817
4818 PR lto/47188
4819 * collect2.c (main): Do not enable LTOmode when plugin is active.
4820
a4da6485
RO
48212011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4822
4823 PR other/45915
4824 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
4825 --version output if supported.
4826 * configure: Regenerate.
4827
028dbdf4
JM
48282011-01-06 Joseph Myers <joseph@codesourcery.com>
4829
4830 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
4831 Driver options.
4832
dfe776dd
JJ
48332011-01-06 Jakub Jelinek <jakub@redhat.com>
4834
4835 PR c/47150
4836 * c-convert.c (convert): When converting a complex expression
4837 other than COMPLEX_EXPR to a different complex type, ensure
4838 c_save_expr is called instead of save_expr, unless in_late_binary_op.
4839 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
4840 when converting COMPLEX_TYPE.
4841
210dedfe
IR
48422011-01-06 Ira Rosen <irar@il.ibm.com>
4843
4844 PR tree-optimization/47139
4845 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
4846 only the last reduction value is used outside the loop. Update
4847 documentation.
4848
cd33a412
JM
48492011-01-05 Joseph Myers <joseph@codesourcery.com>
4850
4851 * config/rtems.opt: New.
4852 * config.gcc (*-*-rtems*): Use rtems.opt.
4853
819edd94
CF
48542011-01-05 Changpeng Fang <changpeng.fang@amd.com>
4855
4856 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
4857 processors do not support 3DNow instructions.
4858
dc242c4a
UW
48592011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4860
4861 * config/spu/spu.c (spu_option_override): Set parameter
4862 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
4863
be286227
JH
48642011-01-05 Jan Hubicka <jh@suse.cz>
4865
4866 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
4867 at the command line.
4868
644e637f
MJ
48692011-01-05 Martin Jambor <mjambor@suse.cz>
4870
4871 PR lto/47162
4872 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
4873 deltas on streamed outgoing edges.
4874 (output_node_opt_summary): Output info for outgoing edges only when
4875 the node is in new parameter set.
4876 (output_cgraph_opt_summary): New parameter set, passed to the two
4877 aforementioned functions. Update its forward declaration and its
4878 callee too.
4879
7bd11157
TT
48802011-01-05 Tom Tromey <tromey@redhat.com>
4881
4882 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
4883 operator to c_finish_omp_atomic.
4884 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
4885 (build_unary_op): Update.
4886 (build_modify_expr): Update.
4887 (build_asm_expr): Update.
4888
f626b979
UW
48892011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4890
4891 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
4892 newly inserted insns.
4893 (pad_bb): Likewise.
4894 (spu_emit_branch_hint): Likewise.
4895 (insert_hbrp_for_ilb_runout): Likewise.
4896 (spu_machine_dependent_reorg): Call df_finish_pass after
4897 schedule_insns returns.
4898
4c825c02
UW
48992011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4900
4901 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
4902
5e9fba51
EB
49032011-01-05 Eric Botcazou <ebotcazou@adacore.com>
4904
4905 PR tree-optimization/47005
4906 * tree-sra.c (struct access): Add 'non_addressable' bit.
4907 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
4908 (decide_one_param_reduction): Return 0 if the parameter is passed by
4909 reference and one of the accesses in the group is non_addressable.
4910
3ebb5ca6
EB
49112011-01-04 Eric Botcazou <ebotcazou@adacore.com>
4912
4913 PR tree-optimization/47056
4914 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
4915 (mark_load): Likewise. Handle FUNCTION_DECL specially.
4916 (mark_store): Likewise. Pass STMT to ipa_record_reference.
4917
d5d4d14e
EB
49182011-01-04 Eric Botcazou <ebotcazou@adacore.com>
4919
4920 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
4921 initializer. Skip view conversions from aggregate types.
4922
d996ef70
KT
49232011-01-04 Kai Tietz <kai.tietz@onevision.com>
4924
4925 PR bootstrap/47055
4926 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
4927
509d65dd 49282011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
4929
4930 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
4931 obvious typo.
4932
55c623b5
UW
49332011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4934
4935 * function.c (thread_prologue_and_epilogue_insns): Do not crash
4936 on empty epilogue sequences.
4937
b98d6b35
JM
49382011-01-04 Joseph Myers <joseph@codesourcery.com>
4939
4940 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
4941 non-static): New Driver options.
4942
a0d43bac
JZ
49432011-01-04 Jie Zhang <jie@codesourcery.com>
4944
4945 PR driver/47137
4946 * gcc.c (default_compilers[]): Set combinable field to 0
4947 for all assembly languages.
4948
2b18eb32
MX
49492011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
4950
4951 * config/mips/loongson3a.md: New file.
4952 * config/mips/mips.md: Include loongson3a.md.
4953 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
4954 TUNE_LOONGSON_3A.
4955
42a48c4f
EB
49562011-01-03 Eric Botcazou <ebotcazou@adacore.com>
4957
4958 PR middle-end/47017
4959 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
4960 instead of convert_memory_address_addr_space on the base expression.
4961
9c1732c4
UW
49622011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4963
4964 * config/spu/spu.c (spu_option_override): Update error text
4965 for bad -march= / -mtune= values.
4966
aa474365
UW
49672011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4968
4969 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
4970 if branch-hint optimization will be performed.
4971
9766135b
JJ
49722011-01-03 Jakub Jelinek <jakub@redhat.com>
4973
371556ee
JJ
4974 PR tree-optimization/47148
4975 * ipa-split.c (split_function): Convert arguments to
4976 DECL_ARG_TYPE if possible.
4977
1ac12fa2
JJ
4978 PR tree-optimization/47155
4979 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
4980 when computing uns.
4981
9766135b
JJ
4982 PR rtl-optimization/47157
4983 * combine.c (try_combine): If undobuf.other_insn becomes
4984 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
4985 and set *new_direct_jump_p too.
4986
f4a2e571
SP
49872011-01-03 Sebastian Pop <sebastian.pop@amd.com>
4988
4989 PR tree-optimization/47021
4990 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
4991
9f8e43c0
JJ
49922011-01-03 Jakub Jelinek <jakub@redhat.com>
4993
4994 * gcc.c (process_command): Update copyright notice dates.
4995 * gcov.c (print_version): Likewise.
4996 * gcov-dump.c (print_version): Likewise.
4997 * mips-tfile.c (main): Likewise.
4998 * mips-tdump.c (main): Likewise.
4999
1a2e38f3
MJ
50002011-01-03 Martin Jambor <mjambor@suse.cz>
5001
5002 PR tree-optimization/46801
5003 * tree-sra.c (type_internals_preclude_sra_p): Check whether
5004 aggregate fields start at byte boundary instead of the bit-field flag.
5005
56b721c5
L
50062011-01-03 H.J. Lu <hongjiu.lu@intel.com>
5007
5008 PR driver/47137
5009 * gcc.c (main): Revert revision 168407.
5010
839d549b
MJ
50112011-01-03 Martin Jambor <mjambor@suse.cz>
5012
5013 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
5014
4ce99a20 50152011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
5016
5017 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
5018 vector optab to expand vector/scalar shift, update gimple to vector.
5019
76df0ae6
MJ
50202011-01-03 Martin Jambor <mjambor@suse.cz>
5021
5022 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
5023 a thunk.
5024
ce47fda3
MJ
50252011-01-03 Martin Jambor <mjambor@suse.cz>
5026
5027 PR tree-optimization/46984
5028 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
5029 HOST_WIDE_INT.
5030 (cgraph_create_indirect_edge): Fixed line length.
5031 (cgraph_indirect_call_info): Declare.
5032 (cgraph_make_edge_direct) Update declaration.
5033 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
5034 (cgraph_create_indirect_edge): Use it.
5035 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
5036 callees.
5037 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
5038 the new thunk_delta representation.
5039 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
5040 HOST_WIDE_INT.
5041 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
5042 (ipa_read_indirect_edge_info): Likewise.
5043 * lto-cgraph.c (output_edge_opt_summary): New function.
5044 (output_node_opt_summary): Call it on all outgoing edges.
5045 (input_edge_opt_summary): New function.
5046 (input_node_opt_summary): Call it on all outgoing edges.
5047
1e67fa1f
L
50482011-01-02 H.J. Lu <hongjiu.lu@intel.com>
5049
5050 PR driver/47137
5051 * gcc.c (main): Don't check have_o when settting combine_inputs.
5052
6656b2ac
EB
50532011-01-02 Eric Botcazou <ebotcazou@adacore.com>
5054
5055 * regrename.c: Add general comment describing the pass.
5056 (struct du_head): Remove 'length' field.
5057 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
5058 (regrename_optimize): Do not sort chains. Rework comments, add others.
5059 Force renaming to the preferred class (if any) in the first pass and do
5060 not consider registers that belong to it in the second pass.
5061 (create_new_chain): Do not set 'length' field.
5062 (scan_rtx_reg): Likewise.
5063
bc470c24
JJ
50642011-01-02 Jakub Jelinek <jakub@redhat.com>
5065
4e996296
JJ
5066 PR tree-optimization/47140
5067 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
5068 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
5069 to bit_value_binop.
5070
bc470c24 5071 PR rtl-optimization/47028
6656b2ac
EB
5072 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
5073 parm_birth_insn instead of at the beginning of first bb.
bc470c24 5074
5af62fcd 50752011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
5076
5077 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
5078 Remove the word "see" before "@pxref".
5079 * doc/rtl.texi: Remove the word "see" before "@pxref".
5080
0e20c89f
JH
50812011-01-01 Jan Hubicka <jh@suse.cz>
5082
6656b2ac
EB
5083 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
5084 memory.
0e20c89f 5085
220e83ca
KT
50862011-01-01 Kai Tietz <kai.tietz@onevision.com>
5087
5088 PR target/38662
6656b2ac 5089 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 5090
ad41bd84 5091\f
797103eb 5092Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
5093
5094Copying and distribution of this file, with or without modification,
5095are permitted in any medium without royalty provided the copyright
5096notice and this notice are preserved.