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