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