]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
re PR tree-optimization/48271 (ICE: SIGSEGV in tree_ssa_dominator_optimize (tree...
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
a881aaa7
RG
12011-03-24 Richard Guenther <rguenther@suse.de>
2
3 PR tree-optimization/48271
4 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
5 blocks that still exist.
6
dbaa912c
RG
72011-03-24 Richard Guenther <rguenther@suse.de>
8
9 PR tree-optimization/48270
10 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
11 not free datarefs before ddrs.
12
1d60cc55
EB
132011-03-24 Eric Botcazou <ebotcazou@adacore.com>
14
15 * tree-sra.c (build_ref_for_offset): Strip useless type conversions
16 from the address built for a reference with variable offset.
17
c78dd519
UB
182011-03-24 Uros Bizjak <ubizjak@gmail.com>
19
20 PR target/48237
21 * config/i386/i386.md (*movdf_internal_rex64): Do not split
22 alternatives that can be handled with movq or movabsq insn.
23 (*movdf_internal): Disable for !TARGET_64BIT.
24 (*movdf_internal_nointeger): Ditto.
25 * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
26
b25b9e8f
NF
272011-03-24 Nathan Froyd <froydnj@codesourcery.com>
28
29 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
30 (FUNCTION_ARG_ADVANCE): Likewise.
31 * tm.texi.in: Change references to them to hook references.
32 * tm.texi: Regenerate.
c78dd519 33 * targhooks.c (default_function_arg): Eliminate check for target macro.
b25b9e8f
NF
34 (default_function_incoming_arg): Likewise.
35 (default_function_arg_advance): Likewise.
c78dd519 36 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
b25b9e8f
NF
37 (function_arg_advance): Likewise.
38 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
39
190b2187
RG
402011-03-24 Richard Guenther <rguenther@suse.de>
41
42 PR middle-end/48269
43 * tree-object-size.c (addr_object_size): Do not double-account
44 for MEM_REF offsets.
45
a183b5c7
DN
462011-03-24 Diego Novillo <dnovillo@google.com>
47
48 * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
c78dd519 49 * lto-streamer-in.c (input_string_internal): Add clarifying comments.
a183b5c7
DN
50 (lto_input_data_block): Move from lto-opts.c. Make extern.
51 Update all users.
52 (lto_input_string): Rename from input_string. Make extern.
53 Update all users.
54 * lto-streamer-out.c (lto_output_string_with_length): Rename from
55 output_string_with_length.
56 Output 0 to indicate a non-NULL string. Update all callers to
57 not emit 0.
58 (lto_output_string): Rename from output_string. Make extern.
59 Update all users.
60 (lto_output_decl_state_streams): Make extern.
61 (lto_output_decl_state_refs): Make extern.
62 * lto-streamer.h (lto_input_string): Declare.
63 (lto_input_data_block): Declare.
64 (lto_output_string): Declare.
65 (lto_output_string_with_length): Declare.
66 (lto_output_decl_state_streams): Declare.
67 (lto_output_decl_state_refs): Declare.
68
cfef45c8
RG
692011-03-24 Richard Guenther <rguenther@suse.de>
70
71 PR tree-optimization/46562
72 * tree.c (build_invariant_address): New function.
73 * tree.h (build_invariant_address): Declare.
74 * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
75 a renamed function moved ...
76 * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
77 Take valueization callback parameter.
78 * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
79 * gimple-fold.h: New file.
80 * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
81 (ccp_fold, fold_const_aggregate_ref,
82 fold_ctor_reference, fold_nonarray_ctor_reference,
83 fold_array_ctor_reference, fold_string_cst_ctor_reference,
84 get_base_constructor): Move ...
85 * gimple-fold.c: ... here.
86 (gimple_fold_stmt_to_constant_1): New function
87 split out from ccp_fold. Take a valueization callback parameter.
88 Valueize all operands.
89 (gimple_fold_stmt_to_constant): New wrapper function.
90 (fold_const_aggregate_ref_1): New function split out from
91 fold_const_aggregate_ref. Take a valueization callback parameter.
92 (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
93 * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
94 invariant POINTER_PLUS_EXPRs to invariant form.
95 (vn_valueize): New function.
96 (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
97 * tree-vrp.c (vrp_valueize): New function.
98 (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
99 to fold statements to constants.
100 * tree-ssa-pre.c (eliminate): Properly guard propagation of
101 function declarations.
102 * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
103 tree-ssa-ccp.o): Add gimple-fold.h dependencies.
104
5e0a7e40
RS
1052011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
106
107 * config/h8300/predicates.md (jump_address_operand): Fix register
108 mode check.
109
bfe068c3
IR
1102011-03-24 Ira Rosen <ira.rosen@linaro.org>
111
112 * doc/invoke.texi (max-stores-to-sink): Document.
113 * params.h (MAX_STORES_TO_SINK): Define.
114 * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
115 if either vectorization or if-conversion is disabled.
116 * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
117 tree-vect-data-refs.c vect_equal_offsets.
118 (dr_equal_offsets_p): New function.
119 (find_data_references_in_bb): Remove static.
120 * tree-data-ref.h (find_data_references_in_bb): Declare.
121 (dr_equal_offsets_p): Likewise.
122 * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
123 (vect_drs_dependent_in_basic_block): Update calls to
124 vect_equal_offsets.
125 (vect_check_interleaving): Likewise.
126 * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
127 (cond_if_else_store_replacement): Rename to...
128 (cond_if_else_store_replacement_1): ... this. Change arguments and
129 documentation.
130 (cond_if_else_store_replacement): New function.
131 * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
132 * params.def (PARAM_MAX_STORES_TO_SINK): Define.
133
4908b0bf
CLT
1342011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
135
136 PR target/46934
137 * config/arm/arm.md (casesi): Use the gen_int_mode() function
138 to subtract lower bound instead of GEN_INT().
139
2be478a2
JW
1402011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
141
142 PR other/48179
143 PR other/48221
144 PR other/48234
145 * doc/extend.texi (Alignment): Move section to match order in TOC.
146 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
147 (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
148
0c617be4
JL
1492011-03-23 Jeff Law <law@redhat.com>
150
151 * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
152 before removing the edge.
153
154 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
155 it may have been freed by redirect_branch_edge or
156 redirect_edge_succ_nodup.
157
58da96fe
RG
1582011-03-23 Richard Guenther <rguenther@suse.de>
159
c78dd519 160 * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
58da96fe
RG
161 (check_va_list_escapes): Likewise.
162 (check_all_va_list_escapes): Likewise.
163
b8beb4d1
RG
1642011-03-23 Richard Guenther <rguenther@suse.de>
165
166 * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
167 (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
168 (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
169 (alias.o): Likewise.
170 (ipa-type-escape.o): Remove.
171 (ipa-struct-reorg.o): Likewise.
172 (GTFILES): Remove ipa-struct-reorg.c.
173 * alias.c: Do not include ipa-type-escape.h.
174 * tree-ssa-alias.c: Likewise.
175 * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
176 * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
177 * passes.c (init_optimization_passes): Remove ipa-struct-reorg
178 and ipa-type-escape passes.
179 * tree-pass.h (pass_ipa_type_escape): Remove.
180 (pass_ipa_struct_reorg): Likewise.
181 * ipa-struct-reorg.h: Remove.
182 * ipa-struct-reorg.c: Likewise.
183 * ipa-type-escape.h: Likewise.
184 * ipa-type-escape.c: Likewise.
185 * doc/invoke.texi (-fipa-struct-reorg): Remove.
186 (--param struct-reorg-cold-struct-ratio): Likewise.
187 * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
188 * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
189 * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
190
f137aa63
AK
1912011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
192
193 * config/s390/2084.md: Enable all insn reservations also for z9_ec
194 cpu attribute value.
195 * config/s390/s390-opts.h (enum s390_arch_option): Remove.
196 (enum processor_type): Add PROCESSOR_2094_Z9_EC.
197 * config/s390/s390.c (processor_flags_table): New constant array.
198 (s390_handle_arch_option): Remove.
199 (s390_handle_option): Remove s390_handle_arch_option invocations
200 and OPT_mwarn_framesize_ handling.
201 (s390_option_override): Remove s390_handle_arch_option invocation.
202 (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
203 warnings.
204 * config/s390/s390.md (cpu attribute): Add z9_ec value.
205 * config/s390/s390.opt (s390_tune, s390_arch)
206 (march=): Replace s390_arch_option enum and values with
207 processor_type. Set variable name to s390_arch. Set
208 initialization value.
209 (mtune=): Replace s390_arch_option with processor_type. Set
210 variable name to s390_tune. Set initialization value.
211
bf90208f
JB
2122011-03-23 Julian Brown <julian@codesourcery.com>
213
214 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
215 accesses which are not naturally aligned.
216
3460fdf3
RS
2172011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
218
219 PR target/47553
220 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
221
a5c7d693
RS
2222011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
223
224 * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
225 parameter from "int" to "enum insn_code".
226 (expand_operand_type): New enum.
227 (expand_operand): New structure.
228 (create_expand_operand): New function.
229 (create_fixed_operand, create_output_operand): Likewise
230 (create_input_operand, create_convert_operand_to): Likewise.
231 (create_convert_operand_from, create_address_operand): Likewise.
232 (create_integer_operand): Likewise.
233 (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
234 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
235 (expand_insn, expand_jump_insn): Likewise.
236 * builtins.c (expand_builtin_prefetch): Use the new interfaces.
237 (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
238 (expand_movstr, expand_builtin___clear_cache): Likewise.
239 (expand_builtin_lock_release): Likewise.
240 * explow.c (allocate_dynamic_stack_space): Likewise.
241 (probe_stack_range): Likewise. Allow check_stack to FAIL,
242 and use the default handling in that case.
243 * expmed.c (check_predicate_volatile_ok): Delete.
244 (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
245 (emit_cstore): Likewise.
246 * expr.c (emit_block_move_via_movmem): Likewise.
247 (set_storage_via_setmem, expand_assignment): Likewise.
248 (emit_storent_insn, try_casesi): Likewise.
249 (emit_single_push_insn): Likewise. Allow the expansion to fail.
250 * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
251 (expand_vec_shift_expr, expand_binop_directly): Likewise.
252 (expand_twoval_unop, expand_twoval_binop): Likewise.
253 (expand_unop_direct, emit_indirect_jump): Likewise.
254 (emit_conditional_move, vector_compare_rtx): Likewise.
255 (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
256 (expand_sync_operation, expand_sync_fetch_operation): Likewise.
257 (expand_sync_lock_test_and_set): Likewise.
258 (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
259 (emit_unop_insn): Likewise.
260 (expand_copysign_absneg): Change icode to an insn_code.
261 (create_convert_operand_from_type): New function.
262 (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
263 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
264 (expand_insn, expand_jump_insn): Likewise.
265 * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
266 than const_int_operand for operand 2.
267
78fadbab
AK
2682011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
269
270 * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
271 if possible.
272
5f02387d
NF
2732011-03-22 Nathan Froyd <froydnj@codesourcery.com>
274
275 * emit-rtl.c (emit_pattern_before_noloc): New function.
276 (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
277 (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
278 (emit_pattern_after_noloc): New function.
279 (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
280 (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
281
fdf3e18a
NF
2822011-03-22 Nathan Froyd <froydnj@codesourcery.com>
283
284 * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
285 (__ffsDI2): Likewise.
286
42d085c1
RH
2872011-03-22 Richard Henderson <rth@redhat.com>
288
289 * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
290 of !TARGET_ABI_OPEN_VMS.
291 (alpha_trampoline_init, alpha_start_function): Likewise.
292 (alpha_expand_epilogue, alpha_file_start): Likewise.
293 * config/alpha/alpha.md (divsi3, modsi3): Likewise.
294 (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
295 (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
296 (*divmodsi_internal, *divmoddi_internal_er): Likewise.
297 (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
298
cabbe12a
JM
2992011-03-22 Joseph Myers <joseph@codesourcery.com>
300
301 * config/s390/s390-opts.h: New.
302 * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
303 s390_arch_flags, s390_warn_framesize, s390_stack_size,
304 s390_stack_guard): Remove.
305 (s390_handle_arch_option): Return void. Take enum
306 s390_arch_option value instead of string and searching array.
307 (s390_handle_option): Don't assert that global structures are in
308 use. Access variables via opts pointer. Use error_at. Don't use
309 sscanf for -mstack-guard= or -mstack-size=. Update call to
310 s390_handle_arch_option.
311 (s390_option_override): Update call to s390_handle_arch_option.
312 (s390_emit_prologue): Use %d format for s390_stack_size in
313 diagnostic. Use %wd for HOST_WIDE_INT.
314 * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
315 (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
316 * config/s390/s390.opt (config/s390/s390-opts.h): New
317 HeaderInclude entry.
318 (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
319 s390_arch_flags, s390_warn_framesize): New Variable entries.
320 (s390_arch_option): New Enum and EnumValue entries.
321 (march=): Use Enum instead of Var.
322 (mstack-guard=, mstack-size=): Use UInteger and Var.
323 (mtune=): Use Enum.
324
05b12036
JM
3252011-03-22 Joseph Myers <joseph@codesourcery.com>
326
327 * config/score/score.c (score_handle_option): Don't assert that
328 global structures are in use. Access target_flags via opts
329 pointer. Use value of -march= option to determine target_flags
330 settings.
331 * config/score/score.opt (march=): Use Enum.
332 (score_arch): New Enum and EnumValue entries.
333
dd51e35a
JM
3342011-03-22 Joseph Myers <joseph@codesourcery.com>
335
336 * config/mep/mep.c (option_mtiny_specified): Remove.
337 (mep_option_override): Move register handling for -mivc2 from
338 mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
339 instead of option_mtiny_specified.
340 (mep_handle_option): Access target_flags via opts pointer. Don't
341 assert that global structures are in use. Defer part of -mivc2
342 handling and move it to mep_option_override.
343 * config/mep/mep.opt (IVC2): New Mask entry.
344 (mivc2): Use Var and Defer instead of Mask.
345
4a8d3d91
JM
3462011-03-22 Joseph Myers <joseph@codesourcery.com>
347
348 * config/v850/v850-opts.h: New.
349 * config/v850/v850.c (small_memory): Replace with
350 small_memory_physical_max array. Make that array static const.
351 (v850_handle_memory_option): Take integer value of argument. Take
352 gcc_options pointer, option text and location. Return void.
353 Update for changes to small memory structures.
354 (v850_handle_option): Access target_flags via opts pointer. Don't
355 assert that global structures are in use. Update calls to
356 v850_handle_memory_option.
c78dd519
UB
357 (v850_encode_data_area): Update references to small memory settings.
358 * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
4a8d3d91
JM
359 (enum small_memory_type): Move to v850-opts.h.
360 * config/v850/v850.opt (config/v850/v850-opts.h): New
361 HeaderInclude entry.
362 (small_memory_max): New Variable entry.
363 (msda): Replace by pair of options msda= and msda-. Use UInteger.
364 (mtda, mzda): Likewise.
365
117fdbfa
JM
3662011-03-22 Joseph Myers <joseph@codesourcery.com>
367
368 * config/sh/sh.c (sh_handle_option): Access target_flags via opts
369 pointer. Don't assert that global structures are in use.
370
d715091c
JM
3712011-03-22 Joseph Myers <joseph@codesourcery.com>
372
373 * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
374 via opts pointer. Don't assert that global structures are in use.
375
1bb721dc
JM
3762011-03-22 Joseph Myers <joseph@codesourcery.com>
377
378 * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
379 (munix=93): Use Var.
380 * config/pa/pa-hpux1010.opt (munix=95): Use Var.
381 * config/pa/pa-hpux1111.opt (munix=98): Use Var.
382 * config/pa/pa-opts.h: New.
383 * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
384 (pa_handle_option): Don't assert that global structures are in
385 use. Access target_flags via opts pointer. Don't handle
386 OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
387 OPT_munix_98 here.
388 (pa_option_override): Handle deferred OPT_mfixed_range_.
389
cd8d8754
JM
3902011-03-22 Joseph Myers <joseph@codesourcery.com>
391
392 * config/mn10300/mn10300-opts.h: New.
393 * config/mn10300/mn10300.c (mn10300_processor,
394 mn10300_tune_string): Remove.
395 (mn10300_handle_option): Don't assert that global structures are
396 in use. Access mn10300_processor via opts pointer. Don't handle
397 OPT_mtune_ here.
398 * config/mn10300/mn10300.h (enum processor_type): Move to
399 mn10300-opts.h.
400 (mn10300_processor): Remove.
401 * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
402 HeaderInclude entry.
403 (mn10300_processor): New Variable entry.
404 (mtune=): Use Var.
405
24e6e6b1
JM
4062011-03-22 Joseph Myers <joseph@codesourcery.com>
407
408 * config/microblaze/microblaze.c: Don't include opts.h.
409 (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
410 * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
411 (mno-clearbss): Use Var and Warn.
412
8a784afb
JM
4132011-03-22 Joseph Myers <joseph@codesourcery.com>
414
415 * config/m32r/m32r-opts.h: New.
416 * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
417 (m32r_handle_option): Don't assert that global structures are in
418 use. Access target_flags and m32r_cache_flush_func via opts
419 pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
420 OPT_mno_flush_trap here.
421 * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
422 include of m32r-opts.h.
423 * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
424 HeaderInclude entry.
425 (m32r_model_selected, m32r_sdata_selected): New Variable entries.
426 (mmodel=): Use Enum and Var.
427 (m32r_model): New Enum and EnumValue entries.
428 (mno-flush-trap): Use Var.
429 (msdata=): Use Enum and Var.
430 (m32r_sdata): New Enum and EnumValue entries.
431
bbfc9a8c
JM
4322011-03-22 Joseph Myers <joseph@codesourcery.com>
433
434 * config/m32c/m32c.c: Don't include opts.h.
435 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
436 m32c_handle_option): Remove.
437 (m32c_option_override): Check global_options_set.x_target_memregs
438 instead of target_memregs_set.
439 * config/m32c/m32c.h (target_memregs): Remove.
440 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
441 variable.
442
e24b8335
JM
4432011-03-22 Joseph Myers <joseph@codesourcery.com>
444
445 * config/iq2000/iq2000-opts.h: New.
446 * config/iq2000/iq2000.c: Don't include opts.h.
447 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 448 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
e24b8335
JM
449 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
450 HeaderInclude entry.
451 (iq2000_tune): New Variable entry.
452 (march=): Add comment. Use Enum.
453 (iq2000_arch): New Enum and EnumValue entries.
454 (mcpu=): Use Enum and Var.
455 (iq2000_tune): New Enum and EnumValue entries.
456
e6cc0c98
JM
4572011-03-22 Joseph Myers <joseph@codesourcery.com>
458
459 * config/ia64/ia64-opts.h: New.
460 * config/ia64/ia64.c (ia64_tune): Remove.
461 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
462 here. Use error_at.
463 (ia64_option_override): Handle deferred OPT_mfixed_range_.
464 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
465 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
466 HeaderInclude entry.
467 (ia64_tune): New Variable entry.
468 (mfixed-range=): Use Defer and Var.
469 (mtune=): Use Enum and Var.
470 (ia64_tune): New Enum and EnumValue entries.
471
db25893c
JM
4722011-03-22 Joseph Myers <joseph@codesourcery.com>
473
474 * config/frv/frv-opts.h: New.
475 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
476 frv-opts.h.
477 (frv_cpu_type): Remove.
478 * config/frv/frv.c: Don't include opts.h.
479 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 480 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
db25893c
JM
481 (frv_cpu_type): New Variable entry.
482 (frv_cpu): New Enum and EnumValue entries.
483
6c223f5d
JM
4842011-03-22 Joseph Myers <joseph@codesourcery.com>
485
486 * config/cris/cris.c (cris_handle_option): Access target_flags via
487 opts pointer. Don't assert that global structures are in use.
488 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
489 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
490
bbd399cf
JM
4912011-03-22 Joseph Myers <joseph@codesourcery.com>
492
493 * config/bfin/bfin-opts.h: New.
494 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
495 bfin_si_revision, bfin_workarounds): Remove.
496 (bfin_cpus): Make static const.
497 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
498 not bfin_lib_id_given.
499 (bfin_handle_option): Don't set bfin_lib_id_given. Access
500 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
c78dd519 501 pointer. Use error_at. Don't assert that global structures are in use.
bbd399cf
JM
502 * config/bfin/bfin.h: Include bfin-opts.h.
503 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
504 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
505 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
506 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
507 entries.
508
5e1b4d5a
JM
5092011-03-22 Joseph Myers <joseph@codesourcery.com>
510
511 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
512 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
513 or -msoft-float here.
514 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
515 -msoft-float and -mhard-float.
c78dd519 516 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
5e1b4d5a
JM
517 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
518 msoft-float.
519 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
520 -msoft-float.
521 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
522 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
523 not mhard-float.
524 (LIBGCC_SPEC): Don't handle -msoft-float.
525 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
526 -mhard-float.
527 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
528 msoft-float.
529 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
530 -mfloat-abi=*, not -msoft-float and -mhard-float.
531 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
532 -msoft-float.
533 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
534 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
535 mhard-float and msoft-float.
536 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
537 mfloat-abi=soft in comments, not mhard-float and msoft-float.
538 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
539 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
540 mhard-float.
541 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
542 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
543 msoft-float.
544 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
545 not mhard-float.
546 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
547 not msoft-float.
548
800d1de1
RH
5492011-03-22 Richard Henderson <rth@redhat.com>
550
551 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
552 TARGET_ABI_WINDOWS_NT.
553 (alpha_output_function_end_prologue): Likewise.
554 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
555 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
556 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
557 (trap, *movsi_nt_vms): Likewise.
558 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
559 (*tablejump_osf_nt_internal): Remove.
560 * config/alpha/predicates.md (input_operand): Only test Pmode.
561
c59ddd2b
JM
5622011-03-22 Joseph Myers <joseph@codesourcery.com>
563
564 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
565 via opts pointer. Use error_at. Don't assert that global
566 structures are in use.
567
1333f97f
JM
5682011-03-22 Joseph Myers <joseph@codesourcery.com>
569
570 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
571 (ix86_handle_option): Access ix86_isa_flags and
572 ix86_isa_flags_explicit via opts pointer. Don't assert that
573 global structures are in use.
574 (ix86_function_specific_save, ix86_function_specific_restore):
575 Update ix86_isa_flags_explicit field name.
c78dd519 576 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
1333f97f
JM
577 (ix86_isa_flags_explicit): Rename TargetSave entry to
578 x_ix86_isa_flags_explicit.
579
75db85d8
RH
5802011-03-22 Richard Henderson <rth@redhat.com>
581
582 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
583 (alpha_option_override, direct_return): Likewise.
584 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
585 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
586 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
587 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
588 (alpha_expand_epilogue, alpha_end_function): Likewise.
589 (alpha_init_libfuncs): Likewise.
590 (struct machine_function): Remove unicosmk members.
591 (print_operand) ['t']: Remove.
592 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
593 unicosmk_output_module_name, unicosmk_output_common,
594 current_section_align, unicosmk_output_text_section_asm_op,
595 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
596 unicosmk_section_type_flags, unicosmk_unique_section,
597 unicosmk_asm_named_section, unicosmk_insert_attributes,
598 unicosmk_output_align, unicosmk_defer_case_vector,
599 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
600 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
601 unicosmk_output_ssib, unicosmk_add_call_info_word,
602 unicosmk_extern_head, unicosmk_output_default_externs,
603 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
604 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
605 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
606 * config/alpha/alpha-protos.h: Update.
607 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
608 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
609 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
610 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
611 (*mulsi_se, mulvsi3): Likewise.
612 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
613 (*divmodsi_internal, call, call_value, realign): Likewise.
614 (moddi3, umoddi3): Likewise; remove duplicate expander.
615 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
616 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
617 (*movdi_nofix): Remove r/U alternative.
618 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
619 * config/alpha/constraints.md ("U"): Remove.
620 * config/alpha/predicates.md (call_operand"): Don't test
621 TARGET_ABI_UNICOSMK.
622
96e45421
JM
6232011-03-22 Joseph Myers <joseph@codesourcery.com>
624
625 * target.def (handle_option): Take gcc_options and
626 cl_decoded_option pointers and location_t.
627 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
628 * doc/tm.texi: Regenerate.
629 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
630 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
631 * lto-opts.c (lto_reissue_options): Generate option structure for
632 targetm.handle_option call.
633 * opts.c (target_handle_option): Update call to
634 targetm.handle_option. Remove assertions about values now passed
635 down to hook.
636 * targhooks.c (default_target_handle_option): New.
637 * targhooks.h (default_target_handle_option): Declare.
638 * config/alpha/alpha.c: Include opts.h.
639 (alpha_handle_option): Update to new hook interface.
640 * config/arm/arm.c: Include opts.h.
641 (arm_handle_option): Update to new hook interface.
642 * config/arm/t-arm (arm.o): Update dependencies.
643 * config/bfin/bfin.c: Include opts.h.
644 (bfin_handle_option): Update to new hook interface.
645 * config/cris/cris.c: Include opts.h.
646 (cris_handle_option): Update to new hook interface.
647 * config/frv/frv.c: Include opts.h.
648 (frv_handle_option): Update to new hook interface.
649 * config/i386/i386.c: Include opts.h.
650 (ix86_handle_option): Update to new hook interface.
651 (ix86_valid_target_attribute_inner_p): Generate option structure
652 for call to ix86_handle_option.
653 * config/i386/t-i386 (i386.o): Update dependencies.
654 * config/ia64/ia64.c: Include opts.h.
655 (ia64_handle_option): Update to new hook interface.
656 * config/ia64/t-ia64 (ia64.o): Update dependencies.
657 * config/iq2000/iq2000.c: Include opts.h.
658 (iq2000_handle_option): Update to new hook interface.
659 * config/m32c/m32c.c: Include opts.h.
660 (m32c_handle_option): Update to new hook interface.
661 * config/m32r/m32r.c: Include opts.h.
662 (m32r_handle_option): Update to new hook interface.
663 * config/m68k/m68k.c: Include opts.h.
664 (m68k_handle_option): Update to new hook interface.
665 * config/mep/mep.c: Include opts.h.
666 (mep_handle_option): Update to new hook interface.
667 * config/microblaze/microblaze.c: Include opts.h.
668 (microblaze_handle_option): Update to new hook interface.
669 * config/mips/mips.c: Include opts.h.
670 (mips_handle_option): Update to new hook interface.
671 * config/mn10300/mn10300.c: Include opts.h.
672 (mn10300_handle_option): Update to new hook interface.
673 * config/pa/pa.c: Include opts.h.
674 (pa_handle_option): Update to new hook interface.
675 * config/pdp11/pdp11.c: Include opts.h.
676 (pdp11_handle_option): Update to new hook interface.
677 * config/rs6000/rs6000.c: Include opts.h.
678 (rs6000_handle_option): Update to new hook interface.
679 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
680 * config/rx/rx.c: Include opts.h.
681 (rx_handle_option): Update to new hook interface.
682 * config/s390/s390.c: Include opts.h.
683 (s390_handle_option): Update to new hook interface.
684 * config/score/score.c: Include opts.h.
685 (score_handle_option): Update to new hook interface.
686 * config/sh/sh.c: Include opts.h.
687 (sh_handle_option): Update to new hook interface.
688 * config/sparc/sparc.c: Include opts.h.
689 (sparc_handle_option): Update to new hook interface.
690 * config/v850/v850.c: Include opts.h.
691 (v850_handle_option): Update to new hook interface.
692
66017846
JM
6932011-03-22 Joseph Myers <joseph@codesourcery.com>
694
695 * gcc.c (driver_unknown_option_callback): Only permit and save
696 unknown -Wno- options.
697 (driver_wrong_lang_callback): Save options directly instead of via
698 driver_unknown_option_callback.
699
e8b97ccd
EB
7002011-03-22 Eric Botcazou <ebotcazou@adacore.com>
701
702 * combine.c (simplify_set): Try harder to find the best CC mode when
703 simplifying a nested COMPARE on the RHS.
704
ebb9f8b0
JM
7052011-03-22 Joseph Myers <joseph@codesourcery.com>
706
707 * config/alpha/gnu.h: Remove.
708 * config/arc: Remove directory.
709 * config/arm/netbsd.h: Remove.
710 * config/arm/t-pe: Remove.
711 * config/crx: Remove directory.
712 * config/i386/netbsd.h: Remove.
713 * config/m68hc11: Remove directory.
714 * config/m68k/uclinux-oldabi.h: Remove.
715 * config/mcore/mcore-pe.h: Remove.
716 * config/mcore/t-mcore-pe: Remove.
717 * config/netbsd-aout.h: Remove.
718 * config/rs6000/gnu.h: Remove.
719 * config/sh/sh-symbian.h: Remove.
720 * config/sh/symbian-base.c: Remove.
721 * config/sh/symbian-c.c: Remove.
722 * config/sh/symbian-cxx.c: Remove.
723 * config/sh/symbian-post.h: Remove.
724 * config/sh/symbian-pre.h: Remove.
725 * config/sh/t-symbian: Remove.
726 * config/svr3.h: Remove.
727 * config/vax/netbsd.h: Remove.
728 * config.build: Don't handle i[34567]86-*-pe.
729 * config.gcc: Remove handling of deprecations for most deprecated
730 targets.
731 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
732 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
733 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
734 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
735 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
736 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
737 Remove cases.
738 * config.host: Don't handle i[34567]86-*-pe.
739 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
740 (ASM_SPEC32): Don't handle -mcall-gnu.
741 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
742 -mcall-gnu.
743 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
744 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
745 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
746 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
747 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
748 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
749 conditional on SYMBIAN.
750 * configure.ac: Don't handle powerpc*-*-gnu*.
751 * configure: Regenerate.
752 * doc/extend.texi (interrupt attribute): Don't mention CRX.
753 * doc/install-old.texi (m6811, m6812): Don't mention.
754 * doc/install.texi (arc-*-elf*): Don't document multilib option.
755 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
756 (m68k-uclinuxoldabi): Don't mention.
757 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
758 Remove.
759 (-mcall-gnu): Remove.
760 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
761 families): Remove constraint documentation.
762
999a7d80
MS
7632011-03-22 Marius Strobl <marius@FreeBSD.org>
764
765 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
766 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
767 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
768
980a0ff4
GJL
7692011-03-21 Georg-Johann Lay <avr@gjlay.de>
770
771 * config/avr/avr-protos.h (expand_epilogue): Change prototype
772 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
773 * config/avr/avr.c (init_cumulative_args)
774 (avr_function_arg_advance): Use it.
775 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
776 sibcall epilogues.
777 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
778 (avr_function_ok_for_sibcall): ...this new function.
779 (avr_lookup_function_attribute1): New static Function.
780 (avr_naked_function_p, interrupt_function_p)
781 (signal_function_p, avr_OS_task_function_p)
782 (avr_OS_main_function_p): Use it.
783 * config/avr/avr.md ("sibcall", "sibcall_value")
784 ("sibcall_epilogue"): New expander.
785 ("*call_insn", "*call_value_insn"): New insn.
786 ("call_insn", "call_value_insn"): Remove
787 ("call", "call_value", "epilogue"): Change expander to handle
788 sibling calls.
789
49168734
NC
7902011-03-21 Nick Clifton <nickc@redhat.com>
791
792 * doc/invoke.texi (Overall Options): Move closing brace to end of
793 options list.
794 (Optimization Options): Add missing @gol.
795 (Directory Options): Likewise.
796 (i386 and x86-64 Options): Likewise.
797 (RS6000 and PowerPC Options): Likewise.
798 (i386 and x86-64 Windows Options): Likewise.
799 (V850 Options): Add text missing from descriptions.
800
bdfe906f
RH
8012011-03-22 Richard Henderson <rth@redhat.com>
802
803 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
804 (avr_incoming_return_addr_rtx): New.
805 (emit_push_byte): New.
806 (expand_prologue): Use it. Remove incorrect dwarf annotation for
807 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
808 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
809 (emit_pop_byte): New.
810 (expand_epilogue): Use it. Pop frame pointer by bytes.
811 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
812 (INCOMING_RETURN_ADDR_RTX): New.
813 (INCOMING_FRAME_SP_OFFSET): New.
814 (ARG_POINTER_CFA_OFFSET): New.
815 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
816 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
817 (pophi): Remove.
818
d090a5aa
RH
819 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
820
fdf3e18a
NF
8212011-03-22 Nathan Froyd <froydnj@codesourcery.com>
822
823 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
824 (FUNCTION_ARG_ADVANCE): Likewise.
825 * tm.texi.in: Change references to them to hook references.
826 * tm.texi: Regenerate.
827 * targhooks.c (default_function_arg): Eliminate check for target
828 macro.
829 (default_function_incoming_arg): Likewise.
830 (default_function_arg_advance): Likewise.
c78dd519 831 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
fdf3e18a
NF
832 (function_arg_advance): Likewise.
833 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
834
009d3fcf
NF
8352011-03-22 Nathan Froyd <froydnj@codesourcery.com>
836
837 * tree.c (build_call_1): New function.
838 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
839
7bec30e1
RG
8402011-03-22 Richard Guenther <rguenther@suse.de>
841
842 PR tree-optimization/48228
843 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
844 for single-arg PHIs.
845
0b7e851b
AB
8462011-03-22 Andrey Belevantsev <abel@ispras.ru>
847
848 PR rtl-optimization/48143
849 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
850 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
851 sse2_cvtps2pd): Likewise.
852
d89afca5
AK
8532011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
854
855 * recog.c (canonicalize_change_group): Use validate_unshare_change.
856
f471fe72
RG
8572011-03-22 Richard Guenther <rguenther@suse.de>
858
859 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
860 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
861 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
862 and REALIGN_LOAD_EXPR.
863 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
864 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
865 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
866 DOT_PROD_EXPR case ...
867 (expand_expr_real_2): ... here.
868 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
869 and REALIGN_LOAD_EXPR.
870 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
871 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
872 (vect_create_epilog_for_reduction): Likewise.
873 (vectorizable_reduction): Likewise.
874 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
875 * tree-vect-stmts.c (vectorizable_load): Likewise.
876
f2f81d57
EB
8772011-03-22 Eric Botcazou <ebotcazou@adacore.com>
878
879 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
880
ab081dd6
AK
8812011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
882
883 * config/s390/s390.c (s390_delegitimize_address): Fix offset
884 handling for PLTOFF/GOTOFF.
885
6fd5332b
NC
8862011-03-22 Nick Clifton <nickc@redhat.com>
887
888 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
889 trailing backslash from the end of the macro definition.
890
01841ac0
AK
8912011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
892
893 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
894 and PLT unspecs.
895
2ef6ce06
RS
8962011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
897
898 * expr.h (prepare_operand): Move to...
899 * optabs.h (prepare_operand): ...here and change the insn code
900 parameter from "int" to "enum insn_code".
901 (insn_operand_matches): Declare.
902 * expr.c (init_expr_target): Use insn_operand_matches.
903 (compress_float_constant): Likewise.
904 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
905 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
906 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
c78dd519
UB
907 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
908 Likewise.
2ef6ce06
RS
909 (gen_cond_trap): Likewise.
910 (prepare_operand): Likewise. Change icode to an insn_code.
911 (insn_operand_matches): New function.
912 * reload.c (find_reloads_address_1): Use insn_operand_matches.
913 * reload1.c (gen_reload): Likewise.
914 * targhooks.c (default_secondary_reload): Likewise.
915
9e43ad68
UB
9162011-03-21 Uros Bizjak <ubizjak@gmail.com>
917
9a96da32
UB
918 * config/alpha/alpha.md (unspec): New define_c_enum.
919 (unspecv): Ditto.
920
9212011-03-21 Uros Bizjak <ubizjak@gmail.com>
922
923 PR debug/48214
9e43ad68
UB
924 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
925 between a call and its CALL_ARG_LOCATION note.
926
31408f60
EB
9272011-03-21 Eric Botcazou <ebotcazou@adacore.com>
928
929 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
930
9312011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
932
933 PR c/42544
934 PR c/48197
935 * c-common.c (shorten_compare): If primopN is first sign-extended
936 to opN and then zero-extended to result type, set primopN to opN.
937
9dfd55f5
DJ
9382011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
939
940 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
941 for barrier handlers.
942
f3c33d9d
MM
9432011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
944
945 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
946 UNSPEC constants to be in the unspec enumeration, and redefine
947 all UNSPECV constants to be in the unspecv enumeration, so that
948 dumps print which unspec/unspec_volatile this is.
949 * config/rs6000/vector.md (UNSPEC_*): Ditto.
950 * config/rs6000/paired.md (UNSPEC_*): Ditto.
951 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
952 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
953 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
954
955 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
956 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
957 UNSPECV_LWSYNC, since these are used as unspec_volatile.
958 * config/rs6000/sync.md (isync, lwsync): Ditto.
959
ac43f774
RG
9602011-03-21 Richard Guenther <rguenther@suse.de>
961
962 * params.def (lto-min-partition): Fix typo.
963
411cdbd8
RG
9642011-03-21 Richard Guenther <rguenther@suse.de>
965
966 PR c/47939
967 * c-decl.c (grokdeclarator): Drop to the main variant only
968 for array types. Drop flag_gen_aux_info check.
969
1cd9e416
RG
9702011-03-21 Richard Guenther <rguenther@suse.de>
971
972 PR translation/47911
973 * params.def (lto-partitions): Fix typo.
974 (lto-min-partition): Fix wording.
975
ada5ad67
AT
9762011-03-21 Andreas Tobler <andreast@fgznet.ch>
977
978 * config/rs6000/t-freebsd: Remove duplication from file.
979
f9613c9a
RG
9802011-03-21 Richard Guenther <rguenther@suse.de>
981
982 PR middle-end/47661
983 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
984
9bfbc1eb
RG
9852011-03-21 Richard Guenther <rguenther@suse.de>
986
987 PR lto/48210
988 * params.def (lto-partitions): Require at least 1 partition.
989
a2268084
RO
9902011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
991
992 * gthr-solaris.h: Remove.
993 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
994 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
995 (LIB_SPEC): Likewise.
996 * config/sol2.opt (threads): Remove.
9e43ad68 997 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
998 (sparc*-*-solaris2*): Likewise.
999 * configure.ac (enable_threads): Enable solaris support.
1000 * configure: Regenerate.
9e43ad68 1001 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
1002 * doc/install.texi (Configuration, --enable-threads=lib): Remove
1003 solaris.
1004
c43d9a1b
RO
10052011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1006
1007 * config.gcc: Obsolete *-*-solaris2.8*.
1008 * doc/install.texi (Specific, *-*-solaris2*): Document it.
1009
084239f4
RO
10102011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1011
1012 PR bootstrap/48135
1013 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
1014 reference. Solaris 8 perl works.
1015
64cadbe7
RO
10162011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1017
1018 PR bootstrap/48135
1019 * doc/install.texi (Prerequisites): Move jar etc. up.
1020 Explain support library version requirements.
1021
eb975109
RO
10222011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1023
1024 PR bootstrap/48135
1025 * doc/install.texi (Prerequisites): Move Perl to build
1026 requirements. Always necessary on Solaris 2 with Sun ld.
1027
8a509ffd
RO
10282011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1029
1030 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
1031 binutils 2.21.
1032 (Specific, i?86-*-solaris2.[89]): Likewise.
1033 (Specific, i?86-*-solaris2.10): Likewise.
1034 (Specific, mips-sgi-irix6): Likewise.
1035 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
1036 Update for binutils 2.21.
1037
8fbc58a1
RO
10382011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1039
1040 * configure.ac (gcc_cv_lto_plugin): Fix typo.
1041 Allow -fuse-linker-plugin for non-default plugin linker.
1042 * configure: Regenerate.
1043
7e84ad0b
NP
10442011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
1045
1046 PR bootstrap/48167
1047 * gengtype.c (files_rules): Added rule for cp/parser.h.
1048
2f36e14b
JJ
10492011-03-21 Jakub Jelinek <jakub@redhat.com>
1050
1051 PR target/48213
1052 * config/s390/s390.c (s390_delegitimize_address): Don't call
1053 lowpart_subreg if orig_x has BLKmode.
1054
62d784f7
KT
10552011-03-21 Kai Tietz <ktietz@redhat.com>
1056
1057 PR target/12171
9e43ad68
UB
1058 * doc/plugins.texi: Adjust documentation for plugin register_callback.
1059 * tree.h (attribute_spec): Add new member affects_type_identity.
1060 * attribs.c (empty_attribute_table): Adjust attribute_spec
1061 initializers.
62d784f7
KT
1062 * config/alpha/alpha.c: Likewise.
1063 * config/arc/arc.c: Likewise.
1064 * config/arm/arm.c: Likewise.
1065 * config/avr/avr.c: Likewise.
1066 * config/bfin/bfin.c: Likewise.
1067 * config/crx/crx.c: Likewise.
1068 * config/darwin.h: Likewise.
1069 * config/h8300/h8300.c: Likewise.
1070 * config/i386/cygming.h: Likewise.
1071 * config/i386/i386.c: Likewise.
1072 * config/ia64/ia64.c: Likewise.
1073 * config/m32c/m32c.c: Likewise.
1074 * config/m32r/m32r.c: Likewise.
1075 * config/m68hc11/m68hc11.c: Likewise.
1076 * config/m68k/m68k.c: Likewise.
1077 * config/mcore/mcore.c: Likewise.
1078 * config/mep/mep.c: Likewise.
1079 * config/microblaze/microblaze.c: Likewise.
1080 * config/mips/mips.c: Likewise.
1081 * config/rs6000/rs6000.c: Likewise.
1082 * config/rx/rx.c: Likewise.
1083 * config/sh/sh.c: Likewise.
1084 * config/sol2.h: Likewise.
1085 * config/sparc/sparc.c: Likewise.
1086 * config/spu/spu.c: Likewise.
1087 * config/stormy16/stormy16.c: Likewise.
1088 * config/v850/v850.c: Likewise.
1089
54833ec0
CLT
10902011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
1091
1092 * simplify-rtx.c (simplify_binary_operation_1): Handle
1093 (xor (and A B) C) case when B and C are both constants.
1094
14a41392
MX
10952011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
1096
1097 * tree-dfa.c (add_referenced_var): Fix typo in comment.
1098
806c3492
EB
10992011-03-20 Eric Botcazou <ebotcazou@adacore.com>
1100
1101 PR bootstrap/48168
1102 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
1103
65e0a0f3
JJ
11042011-03-20 Jakub Jelinek <jakub@redhat.com>
1105
1106 PR rtl-optimization/48156
1107 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
1108 assume df and df_lr are not NULL.
1109
b6a75dda
RR
11102011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
1111
1112 PR debug/48023
1113 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
1114 between a call and its CALL_ARG_LOCATION note.
1115
5969b52d
KK
11162011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
1117
1118 PR debug/48178
1119 * config/sh/sh.c (find_barrier): Don't emit a constant pool
1120 between a call and its corresponding CALL_ARG_LOCATION note.
1121
f773c2bd
AS
11222011-03-19 Anatoly Sokolov <aesok@post.ru>
1123
1124 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
1125 instead of loop. Use HARD_REGISTER_NUM_P predicate.
1126 * haifa-sched.c (setup_ref_regs): Ditto.
1127 * caller-save.c (add_used_regs_1): Ditto.
1128 * dse.c (look_for_hardregs): Ditto.
1129 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
1130 * sched-rgn.c (check_live_1): Ditto.
1131
8bf872f9
JM
11322011-03-18 Joseph Myers <joseph@codesourcery.com>
1133
1134 * c-decl.c (diagnose_mismatched_decls): Give an error for
1135 redefining a typedef with variably modified type.
1136
ff8e2159
JM
11372011-03-18 Joseph Myers <joseph@codesourcery.com>
1138
1139 * c-decl.c (grokfield): Don't allow typedefs for structures or
1140 unions with no tag by default.
1141 * doc/extend.texi (Unnamed Fields): Update.
1142
16cc4440
UB
11432011-03-18 Uros Bizjak <ubizjak@gmail.com>
1144
1145 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
1146 Rewrite using indirect functions.
1147 (lwp_slwpcb): Ditto.
1148 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
1149 (avx_vinsertf128<mode>): Ditto.
1150
e101e12e
AK
11512011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1152
1153 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
1154 unspecs.
1155
4627c7fb
AK
11562011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1157
1158 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 1159 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 1160
2d36b47f
MK
11612011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
1162
1163 PR rtl-optimization/48170
1164 * gcse.c (hoist_code): Remove bogus asserts.
1165
2a3d7659
JL
11662011-03-18 Georg-Johann Lay <avr@gjlay.de>
1167
1168 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
1169 computation for prologue/epilogue.
1170
34c3ef05
RO
11712011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1172
1173 * Makefile.in (check-consistency): Remove.
1174
81f2b976
JJ
11752011-03-18 Jakub Jelinek <jakub@redhat.com>
1176
1177 PR debug/48176
1178 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
1179 arange_table_in_use is 0, but either text_section_used or
1180 cold_text_section_used is true. Don't call it if
1181 !info_section_emitted.
1182
68fd7765
AS
11832011-03-18 Anatoly Sokolov <aesok@post.ru>
1184
1185 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
1186 FUNCTION_VALUE_REGNO_P): Remove.
1187 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
1188 Remove.
1189 * config/avr/avr.c (avr_ret_register): Make static inline.
1190 (avr_function_value_regno_p): New function.
1191 (avr_libcall_value): Make static. Add 'func' argument.
1192 (avr_function_value): Make static. Rename 'func' argument to
1193 'fn_decl_or_type', forward it to avr_libcall_value. Call
1194 avr_ret_register function instead of RET_REGISTER macro.
1195 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
1196
b4ef8aac
JM
11972011-03-18 Jason Merrill <jason@redhat.com>
1198
1199 PR c++/23372
1200 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
1201
09a52fc3
RG
12022011-03-18 Richard Guenther <rguenther@suse.de>
1203
1204 * doc/install.texi (--enable-gold): Remove.
1205 (--with-plugin-ld): Document.
1206 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
1207
2a3d7659 12082011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
1209
1210 PR middle-end/47790
1211 * expr.c (optimize_bitfield_assignment_op): Revamp to work
1212 again after expansion changes.
1213
2abbb0fe
CLT
12142011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
1215
1216 * combine.c (try_combine): Do simplification only call of
1217 subst() on i2 even when i1 is present. Update comments.
1218
2efd0aa6
KK
12192011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
1220
1221 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
1222 and UNSPEC_PCREL_SYMOFF.
1223
30a49b23
AK
12242011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1225
1226 * config/s390/s390.md: Use define_c_enum for the unspec constant
1227 definitions.
1228
419e1853
JJ
12292011-03-18 Richard Henderson <rth@redhat.com>
1230 Jakub Jelinek <jakub@redhat.com>
1231
1232 PR bootstrap/48161
1233 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
1234 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
1235
37875856
L
12362011-03-17 H.J. Lu <hongjiu.lu@intel.com>
1237
1238 PR middle-end/47725
1239 * combine.c (cant_combine_insn_p): Don't check zero/sign
1240 extended hard registers.
1241
76069764
L
12422011-03-17 H.J. Lu <hongjiu.lu@intel.com>
1243
1244 PR middle-end/47725
1245 * combine.c (cant_combine_insn_p): Check zero/sign extended
1246 hard registers.
1247
24da2019
AS
12482011-03-17 Anatoly Sokolov <aesok@post.ru>
1249
1250 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
1251 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
1252 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
1253 Change return type to bool.
1254 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
1255
a82ff31f
JJ
12562011-03-17 Jakub Jelinek <jakub@redhat.com>
1257
8b29c87a
JJ
1258 PR debug/48163
1259 * var-tracking.c (prepare_call_arguments): If CALL target
1260 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
1261 pc instead of looking it up using cselib_lookup and use
1262 Pmode for it if x has VOIDmode.
1263 * dwarf2out.c (gen_subprogram_die): If also both first and
1264 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
1265
a82ff31f
JJ
1266 PR debug/48163
1267 * function.c (assign_parms): For data.passed_pointer parms
1268 use MEM of data.entry_parm instead of data.entry_parm itself
1269 as DECL_INCOMING_RTL.
1270 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
1271 also when passed and declared mode is the same, DECL_RTL
1272 is a MEM with pseudo as address and DECL_INCOMING_RTL is
1273 a MEM too.
1274
82ce305c
JL
12752011-03-16 Jeff Law <law@redhat.com>
1276
1277 PR rtl-optimization/37273
1278 * ira-costs.c (scan_one_insn): Detect constants living in memory and
1279 handle them like argument loads from stack slots. Do not double
1280 count memory for memory constants and argument loads from stack slots.
1281
fe58e02b
L
12822011-03-17 H.J. Lu <hongjiu.lu@intel.com>
1283
1284 PR debug/48160
1285 * var-tracking.c (prepare_call_arguments): Check SUBREG.
1286
6fc4dbc7
L
12872011-03-17 H.J. Lu <hongjiu.lu@intel.com>
1288
1289 PR target/48171
1290 * config/i386/i386.opt: Add Save to -mavx and -mfma.
1291
db3ed0b3
JJ
12922011-03-17 Jakub Jelinek <jakub@redhat.com>
1293
8054a389
JJ
1294 PR bootstrap/48153
1295 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
1296 if dwarf_strict.
1297 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
1298 Clear call_arg_locations and call_arg_loc_last always.
1299
db3ed0b3
JJ
1300 PR middle-end/48152
1301 * var-tracking.c (prepare_call_arguments): If argument needs to be
1302 passed by reference, adjust argtype and mode.
1303
1bce4ff3
RG
13042011-03-17 Richard Guenther <rguenther@suse.de>
1305
1306 PR middle-end/48134
1307 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
1308 a value make sure to fold the statement.
1309
7c71147d
CLT
13102011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
1311
1312 PR target/43872
1313 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
1314 return condition with !cfun->calls_alloca.
1315
0e1ee172
RG
13162011-03-17 Richard Guenther <rguenther@suse.de>
1317
1318 PR bootstrap/48148
1319 * lto-cgraph.c (input_overwrite_node): Clear the abstract
1320 origin for decls in other ltrans units.
1321 (input_varpool_node): Likewise.
1322
f8bce518
RG
13232011-03-17 Richard Guenther <rguenther@suse.de>
1324
1325 PR middle-end/48165
1326 * tree-object-size.c (compute_object_offset): Properly return
1327 the offset operand of MEM_REFs as sizetype.
1328
1b6fa860
JJ
13292011-03-17 Jakub Jelinek <jakub@redhat.com>
1330
dabd47e7
JJ
1331 PR rtl-optimization/48141
1332 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
1333 * dse.c: Include params.h.
1334 (active_local_stores_len): New variable.
1335 (add_wild_read, dse_step1): Clear it when setting active_local_stores
1336 to NULL.
1337 (record_store, check_mem_read_rtx): Decrease it when removing
1338 from the chain.
1339 (scan_insn): Likewise. Increase it when adding to chain, if it
1340 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
1341 set active_local_stores to NULL before the addition.
1342 * Makefile.in (dse.o): Depend on $(PARAMS_H).
1343
1b6fa860
JJ
1344 PR rtl-optimization/48141
1345 * dse.c (record_store): If no positions are needed in an insn
1346 that cannot be deleted, at least unchain it from active_local_stores.
1347
7b5cb7d6
DS
13482011-03-16 Dodji Seketeli <dodji@redhat.com>
1349
1350 PR debug/47510
1351 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
1352 (lookup_type_die_strip_naming_typedef): ... here.
1353 (get_context_die): Use it.
1354 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
1355 the anonymous struct named by the naming typedef.
1356
585e9d9d
L
13572011-03-16 H.J. Lu <hongjiu.lu@intel.com>
1358
1359 PR target/48154
1360 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
1361 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
1362
6261ab0e
JL
13632011-03-16 Jeff Law <law@redhat.com>
1364
1365 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 1366 check for operands of conditional. Allow type to be a pointer.
6261ab0e 1367
0b0081ec
RG
13682011-03-16 Richard Guenther <rguenther@suse.de>
1369
1370 PR tree-optimization/48149
1371 * fold-const.c (fold_binary_loc): Fold
1372 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
1373
64a3d647
RG
13742011-03-16 Richard Guenther <rguenther@suse.de>
1375
1376 PR tree-optimization/26134
1377 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
1378 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
1379 (non_rewritable_mem_ref_base): Handle complex type component
1380 accesses, constrain offsets for vector and complex extracts
1381 more properly.
1382
ef13324e
RG
13832011-03-16 Richard Guenther <rguenther@suse.de>
1384
1385 PR tree-optimization/48146
1386 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
1387 operands avoiding the need for renaming.
1388
f0eddb90
RG
13892011-03-16 Richard Guenther <rguenther@suse.de>
1390
1391 * gimple-fold.c (maybe_fold_reference): Open-code relevant
1392 constant folding. Move MEM_REF canonicalization first.
1393 Rely on fold_const_aggregate_ref for initializer folding.
1394 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
1395
e42348b8
JJ
13962011-03-16 Jakub Jelinek <jakub@redhat.com>
1397
29f10e71
JJ
1398 PR middle-end/48136
1399 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
1400 arg0/arg1 or their arguments are always fold converted to matching
1401 types.
1402
e42348b8
JJ
1403 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
1404 to nargs.
1405
55b46574
RO
14062011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1407
1408 PR lto/46944
1409 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
1410 Handle in-tree gold.
1411 (ld_vers): Extract binutils version for gold.
1412 (gcc_cv_ld_hidden): Handle gold here.
1413 (gcc_cv_lto_plugin): Determine level of linker plugin support.
1414 * configure: Regenerate.
1415 * config.in: Regenerate.
1416 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
1417 -fuse-linker-plugin otherwise.
1418 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
1419 (LINK_COMMAND_SPEC): Use it.
1420 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
1421
2b1c5433
JJ
14222011-03-16 Jakub Jelinek <jakub@redhat.com>
1423
c2969d8e
JJ
1424 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
1425 * calls.c: Remove debug.h include.
1426 (emit_call_1): Don't call virtual_call_token debug hook.
1427 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
1428 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
1429 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
1430 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
1431 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
1432 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
1433 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
1434 dwarf2out_virtual_call): Remove.
1435 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
1436 copy_call_info and virtual_call hooks.
1437 (dwarf2out_init): Don't initialize vcall_insn_table,
1438 debug_dcall_section and debug_vcall_section.
1439 (prune_unused_types): Don't mark nodes from dcall_table.
1440 (dwarf2out_finish): Don't output dcall or vcall tables.
1441 * final.c (final_scan_insn): Don't call direct_call or
1442 virtual_call debug hooks.
1443 * debug.h (struct gcc_debug_hooks): Remove direct_call,
1444 virtual_call_token, copy_call_info and virtual_call hooks.
1445 (debug_nothing_uid): Remove prototype.
1446 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
1447 copy_call_info and virtual_call hooks.
1448 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
1449 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
1450 * debug.c (do_nothing_debug_hooks): Likewise.
1451 (debug_nothing_uid): Remove.
1452 * doc/invoke.texi (-fenable-icf-debug): Remove.
1453 * common.opt (-fenable-icf-debug): Likewise.
1454
325f5379
JJ
1455 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
1456 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
1457 call's MEM. Handle functions returning aggregate through a hidden
1458 first pointer. For virtual calls add clobbered pc to call arguments
1459 chain.
1460 * dwarf2out.c (gen_subprogram_die): Emit
1461 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
1462 can't be emitted.
1463
a58a8e4b
JJ
1464 PR debug/45882
1465 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
1466 * rtl.h (ENTRY_VALUE_EXP): Define.
1467 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
1468 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
1469 * print-rtl.c (print_rtx): Likewise.
1470 * gengtype.c (adjust_field_rtx_def): Likewise.
1471 * var-tracking.c (vt_add_function_parameter): Adjust
1472 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
1473 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
1474 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
1475 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
1476 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
1477
2b1c5433
JJ
1478 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
1479 Call var_location debug hook even on CALL_INSNs.
1480 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
1481 * rtl.def (ENTRY_VALUE): New.
1482 * dwarf2out.c: Include cfglayout.h.
1483 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
1484 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
1485 (struct call_arg_loc_node): New type.
1486 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
1487 tail_call_site_count): New variables.
1488 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
1489 DW_TAG_GNU_call_site_parameter.
1490 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
1491 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
1492 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
1493 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
1494 and DW_AT_GNU_all_source_call_sites.
1495 (mem_loc_descriptor): Handle ENTRY_VALUE.
1496 (add_src_coords_attributes): Don't add enything if
1497 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
1498 (dwarf2out_abstract_function): Save and clear call_arg_location,
1499 call_site_count and tail_call_site_count around dwarf2out_decl call.
1500 (gen_call_site_die): New function.
1501 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
1502 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
1503 (dwarf2out_function_decl): Clear call_arg_locations,
1504 call_arg_loc_last, set call_site_count and tail_call_site_count
1505 to -1 and free block_map.
1506 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
1507 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
1508 followed by any real instructions.
1509 (dwarf2out_begin_function): Set call_site_count and
1510 tail_call_site_count to 0.
1511 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
1512 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
1513 attempt to force a DIE for it and worst case remove the attribute.
1514 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
1515 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
1516 the decl itself.
1517 * var-tracking.c: Include tm_p.h.
1518 (vt_stack_adjustments): For calls call note_register_arguments.
1519 (argument_reg_set): New variable.
1520 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
1521 ensure the VALUE is resolved.
1522 (call_arguments): New variable.
1523 (prepare_call_arguments): New function.
1524 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
1525 (struct expand_loc_callback_data): Add ignore_cur_loc field.
1526 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
1527 always use the best expression.
1528 (vt_expand_loc): Add ignore_cur_loc argument.
1529 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
1530 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
1531 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
1532 note for all calls.
1533 (vt_add_function_parameter): Use cselib_lookup_from_insn.
1534 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
1535 argument. Don't call cselib_preserve_only_values and
1536 cselib_reset_table.
1537 (note_register_arguments): New function.
1538 (vt_initialize): Compute argument_reg_set. Call
1539 vt_add_function_parameters before processing basic blocks instead of
1540 afterwards. For calls call prepare_call_arguments before calling
1541 cselib_process_insn.
1542 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
1543 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
1544 (var-tracking.o): Depend on $(TM_P_H).
1545 * cfglayout.h (insn_scope): New prototype.
1546 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
1547 * cfglayout.c (insn_scope): No longer static.
1548 * insn-notes.def (CALL_ARG_LOCATION): New.
1549 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
1550 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
1551 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
1552 nothing for DECL_EXTERNAL BLOCK_VARS.
1553
9ef13bd0
AM
15542011-03-16 Alan Modra <amodra@gmail.com>
1555
1556 PR target/45844
1557 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
1558 create invalid offset address for vsx splat insn.
1559 * config/rs6000/predicates.md (splat_input_operand): New.
1560 * config/rs6000/vsx.md (vsx_splat_*): Use it.
1561
56b67510
XDL
15622011-03-15 Xinliang David Li <davidxl@google.com>
1563
1564 PR c/47837
1565 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
1566 (normalize_preds): New function.
1567 (is_use_properly_guarded): Normalize def predicates.
1568
80fffdef
RR
15692011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
1570
732f37c6 1571 PR target/46788
80fffdef
RR
1572 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
1573 in the output template.
1574
930672ad
RG
15752011-03-15 Richard Guenther <rguenther@suse.de>
1576
1577 PR middle-end/47650
1578 * tree-pretty-print.c (dump_function_declaration): Properly
1579 dump unprototyped and varargs function types.
1580
c7ee7b45
RG
15812011-03-15 Richard Guenther <rguenther@suse.de>
1582
1583 PR tree-optimization/13954
1584 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
1585 and friends.
1586
b2ad5e37
RG
15872011-03-15 Richard Guenther <rguenther@suse.de>
1588
1589 PR tree-optimization/48037
1590 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
1591 selects into BIT_FIELD_REFs.
1592 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
1593 vector select.
1594
7ee93d4e
JJ
15952011-03-15 Jakub Jelinek <jakub@redhat.com>
1596
1597 PR tree-optimization/48129
1598 * builtins.c (fold_builtin_snprintf): Convert to type of
1599 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
1600 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
1601
e106efc7
RG
16022011-03-15 Richard Guenther <rguenther@suse.de>
1603
1604 PR tree-optimization/41490
1605 * tree-ssa-dce.c (propagate_necessity): Handle returns without
1606 value but with VUSE.
1607 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
1608 return statements.
1609 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
1610 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
1611 * tree-tailcall.c (find_tail_calls): Ignore returns.
1612
17dea42f
RG
16132011-03-15 Richard Guenther <rguenther@suse.de>
1614
1615 PR middle-end/48031
1616 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
1617 or variable-indexed array accesses when in gimple form.
1618
01c77a60
RG
16192011-03-15 Richard Guenther <rguenther@suse.de>
1620
16cc4440 1621 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 1622
77b0791e
AM
16232011-03-15 Alan Modra <amodra@gmail.com>
1624
1625 PR target/48032
1626 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
1627 presume symbol_refs without a symbol_ref_decl are suitably
1628 aligned, nor other trees we may see here. Handle anchor symbols.
1629 (legitimate_constant_pool_address_p): Comment. Add mode param.
1630 Check cmodel=medium addresses. Adjust all calls.
1631 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
1632 creating cmodel=medium optimized access to locals.
1633 * config/rs6000/constraints.md (R): Pass QImode to
1634 legitimate_constant_pool_address_p.
1635 * config/rs6000/predicates.md (input_operand): Pass mode to
1636 legitimate_constant_pool_address_p.
1637 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
1638 Update prototype.
1639
35f61ba4
MM
16402011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
1641
1642 PR target/48053
1643 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
1644 64-bit constants being loaded into registers other than GPRs such
1645 as loading 0 into a VSX register.
1646
07332e6d
RO
16472011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1648
16cc4440 1649 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 1650
de888d90
JJ
16512011-03-14 Jakub Jelinek <jakub@redhat.com>
1652
ba3ceb2d
JJ
1653 PR middle-end/47917
1654 * builtins.c (fold_builtin_snprintf): New function.
1655 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
1656 (fold_builtin_4): Likewise.
1657
2e64f8b8
JJ
1658 PR middle-end/38878
1659 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
1660 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
1661 and C - X == X also strip nops from +/-/p+ operand.
1662 When optimizing -X == C, fold C to arg0's type.
1663
de888d90
JJ
1664 PR debug/47946
1665 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
1666 emit it as add_AT_int instead of add_AT_unsigned.
1667
16682011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
1669
1670 * unwind-dw2.c: Include sys/sdt.h if it exists.
1671 (_Unwind_DebugHook): Use STAP_PROBE2.
1672 * config.in, configure: Rebuild.
1673 * configure.ac: Check for sys/sdt.h.
1674
d34abfd2
UB
16752011-03-14 Uros Bizjak <ubizjak@gmail.com>
1676
1677 * config/i386/i386.md (ROUND_FLOOR): New constant.
1678 (ROUND_CEIL): Ditto.
1679 (ROUND_TRUNC): Ditto.
1680 (ROUND_MXCSR): Ditto.
1681 (ROUND_NO_EXC): Ditto.
1682 (rint<mode>2): Use new defines instead of numerical constants.
1683 (floor<mode>2): Ditto.
1684 (ceil<mode>2): Ditto.
1685 (btrunc<mode>2): Ditto.
1686 * config/i386/i386-builtin-types.def: Define ROUND function type
1687 aliases.
1688 * config/i386/i386.c (enum ix86_builtins): Add
1689 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
1690 (struct builtin_description): Add
1691 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
1692 (ix86_expand_sse_round): New static function.
1693 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
1694 function types.
1695 (ix86_builtin_vectorized_function): Handle
1696 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
1697
87f9e23d
TT
16982011-03-14 Tom Tromey <tromey@redhat.com>
1699
1700 * c-parser.c (c_parser_asm_string_literal): Clear
1701 warn_overlength_strings.
1702
b3ab9ea2
TT
17032011-03-14 Tom Tromey <tromey@redhat.com>
1704
1705 * c-parser.c (disable_extension_diagnostics): Save
1706 warn_overlength_strings.
1707 (restore_extension_diagnostics): Restore warn_overlength_strings.
1708
6bd73dd8
JJ
17092011-03-14 Jakub Jelinek <jakub@redhat.com>
1710
1711 * BASE-VER: Change to 4.7.0.
1712
7f4d6e1b
RG
17132011-03-14 Richard Guenther <rguenther@suse.de>
1714
1715 PR middle-end/48098
1716 * tree.c (build_vector_from_val): Adjust assert to requirements
1717 and reality.
1718
c6104ef1
JJ
17192011-03-14 Jakub Jelinek <jakub@redhat.com>
1720
1721 PR bootstrap/48102
d34abfd2 1722 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 1723
dfa95e19
AT
17242011-03-14 Andreas Tobler <andreast@fgznet.ch>
1725
1726 * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
1727 terms of target_flags_explicit. Adjust copyright year.
1728
1729 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
1730 * config/rs6000/t-freebsd: New file. Add override for
1731 LIB2FUNCS_EXTRA.
1732
bb322018
CD
17332011-03-13 Chris Demetriou <cgd@google.com>
1734
1735 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
1736 (-fno-diagnostics-show-option): this, to reflect current default.
1737 (-Werror=): Update text about -fno-diagnostics-show-option.
1738
12b1c80b
PB
17392011-03-12 Peter Bergner <bergner@vnet.ibm.com>
1740
1741 PR target/48053
1742 * config/rs6000/predicates.md (easy_vector_constant_add_self,
1743 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
1744 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
1745 mode is not V2DImode or V2DFmode.
1746 (vspltis_constant): Do not handle V2DImode and V2DFmode.
1747 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
1748 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
1749 registers to 0.
1750 (movdi_internal64): Likewise.
1751
57d598f7
SP
17522011-03-12 Sebastian Pop <sebastian.pop@amd.com>
1753
1754 PR tree-optimization/47127
1755 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
1756 parameter.
1757 (set_cloog_options): Same.
1758 (scop_to_clast): Same.
1759 (print_clast_stmt): Do not call cloog_state_malloc and
1760 cloog_state_free.
1761 (print_generated_program): Same.
1762 (gloog): Same.
1763 * graphite-clast-to-gimple.h (cloog_state): Declared.
1764 (scop_to_clast): Adjust declaration.
1765 * graphite.c (cloog_state): Defined here.
1766 (graphite_initialize): Call cloog_state_malloc.
1767 (graphite_finalize): Call cloog_state_free.
1768
f231b5ff
JM
17692011-03-11 Jason Merrill <jason@redhat.com>
1770
1771 * attribs.c (lookup_attribute_spec): Take const_tree.
1772 * tree.h: Adjust.
1773
6a4e2bd5
JM
17742011-03-11 Joseph Myers <joseph@codesourcery.com>
1775
1776 * config/sparc/sparc.c (sparc_option_override): Use
1777 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
1778
a758fd67
RG
17792011-03-11 Richard Guenther <rguenther@suse.de>
1780
1781 PR tree-optimization/48067
1782 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
1783 multiplication result will be only used once on the target
1784 stmt.
1785
03dfda54
RG
17862011-03-11 Richard Guenther <rguenther@suse.de>
1787
1788 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
1789
5f11a50a
RG
17902011-03-11 Richard Guenther <rguenther@suse.de>
1791
1792 PR lto/48073
1793 * tree.c (find_decls_types_r): Do not walk types only reachable
1794 from IDENTIFIER_NODEs.
1795
4074f163
JJ
17962011-03-11 Jakub Jelinek <jakub@redhat.com>
1797
1798 PR middle-end/48044
1799 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
1800 all vnode->force_output nodes as needed.
1801
30f7cdcd
JM
18022011-03-11 Jason Merrill <jason@redhat.com>
1803
1804 PR c++/48069
1805 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
1806 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
1807
62ecfeb8
MJ
18082011-03-11 Martin Jambor <mjambor@suse.cz>
1809
1810 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
1811 cgraph_node.
1812
e89e03ab
JJ
18132011-03-11 Jakub Jelinek <jakub@redhat.com>
1814
1815 PR tree-optimization/48063
1816 * ipa-inline.c (cgraph_decide_inlining): Don't try to
1817 inline functions called once if !tree_can_inline_p (node->callers).
1818
efbe978b 18192011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 1820
efbe978b
EB
1821 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
1822 extra_objs.
9d6193a7
CL
1823 * config/score/score3.c: Delete.
1824 * config/score/score3.h: Delete.
1825 * config/score/mul-div.S: Delete.
1826 * config/score/sfp-machine.h: Add new file.
1827 * config/score/constraints.md: Add new file.
1828 * config/score/t-score-softfp: Add new file.
efbe978b 1829 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
1830 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
1831 (score7_extra_constraint): Delete.
efbe978b 1832 (score7_option_override): Remove unused code.
9d6193a7
CL
1833 * config/score/score.c: Remove score3 and score5 define and code.
1834 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 1835 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
1836 * config/score/score.opt: Remove score3 and score5 options.
1837
5de27cca
JDA
18382011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1839
1840 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
1841 when _HPUX_SOURCE is defined.
1842 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
1843
18d92053
JM
18442011-03-10 Jason Merrill <jason@redhat.com>
1845
1846 PR c++/48029
1847 * stor-layout.c (layout_type): Don't set structural equality
1848 on arrays of incomplete type.
1849 * tree.c (type_hash_eq): Handle comparing them properly.
1850
67a2f76d
JJ
18512011-03-10 Jakub Jelinek <jakub@redhat.com>
1852
1853 PR debug/48043
18d92053 1854 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
1855 result mode matches original rtl mode.
1856
d845b2f9
NC
18572011-03-10 Nick Clifton <nickc@redhat.com>
1858
1859 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 1860 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 1861
db7ec035
JJ
18622011-03-09 Jakub Jelinek <jakub@redhat.com>
1863
1864 PR rtl-optimization/47866
1865 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
1866 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
1867 if target wasn't scalar.
1868 * function.c (assign_stack_temp_for_type): Assert that neither
1869 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
1870 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
1871 macro.
1872 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
1873
5d304e47
AK
18742011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1875
1876 * config/s390/s390-protos.h (s390_label_align): New prototype.
1877 * config/s390/s390.c (s390_label_align): New function.
1878 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
1879
93b826f0
MM
18802011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
1881
1882 PR target/47755
1883 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
1884 V2DI/V2DF constants. Only all 0's or all 1's are easy.
1885 (output_vec_const_move): Ditto.
1886
ef78aed6
AS
18872011-03-08 Anatoly Sokolov <aesok@post.ru>
1888
1889 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
1890 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
1891 * config/mips/mips.c (mips_preferred_reload_class): Make static.
1892 Change 'rclass' argument and result type to reg_class_t.
1893 (TARGET_PREFERRED_RELOAD_CLASS): Define.
1894
5f892aa0
GJL
18952011-03-08 Georg-Johann Lay <avr@gjlay.de>
1896
9e43ad68
UB
1897 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
1898 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
1899 (TARGET_MEMORY_MOVE_COST): Define.
1900 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 1901
32bd2409
JJ
19022011-03-08 Jakub Jelinek <jakub@redhat.com>
1903
530a4800
JJ
1904 PR debug/47881
1905 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
1906 removed anything.
1907
32bd2409
JJ
1908 PR tree-optimization/48022
1909 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
1910 for EQ/NE_EXPR.
1911
c7148991
JJ
19122011-03-07 Jakub Jelinek <jakub@redhat.com>
1913
1914 PR debug/47991
1915 * var-tracking.c (find_use_val): Return NULL for
1916 cui->sets && cui->store_p BLKmode MEMs.
1917
43070a6e
AS
19182011-03-07 Anatoly Sokolov <aesok@post.ru>
1919
1920 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
1921 Remove.
1922 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
1923 xstormy16_print_operand_address): Remove.
1924 * config/stormy16/stormy16.c (xstormy16_print_operand,
1925 xstormy16_print_operand_address): Make static.
1926 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
1927
efbe978b 19282011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
1929
1930 PR target/47862
1931 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
1932 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
1933 before definition.
1934
cec8ac0b
ZD
19352011-03-07 Zdenek Dvorak <ook@ucw.cz>
1936
1937 PR bootstrap/48000
1938 * cfgloopmanip.c (fix_bb_placements): Return immediately
1939 if FROM is BASE_LOOP's header.
1940
59527282
PW
19412011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
1942
1943 * gimplify.c (gimplify_function_tree): Fix building calls
1944 to __builtin_return_address.
1945
617718f7
AM
19462011-03-07 Alan Modra <amodra@gmail.com>
1947
1948 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
1949 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
1950 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
1951 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
1952 return_mode args.
1953 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
1954 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
1955 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
1956 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
1957 * config/rs6000/rs6000.c
1958 (rs6000_elf_end_indicate_exec_stack): Rename to..
1959 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
1960 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
1961 (rs6000_file_start): ..here.
1962 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
1963 file scope variables.
1964 (call_ABI_of_interest): New function.
1965 (init_cumulative_args): Set above vars when function return value
1966 is a float, vector, or small struct.
1967 (rs6000_function_arg_advance_1): Likewise for function args.
1968 (rs6000_va_start): Set rs6000_passes_float if variable arg function
1969 references float args.
1970
38528d50
MX
19712011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
1972
1973 * doc/cfg.texi: Remove "See" before @ref.
1974 * doc/invoke.texi: Likewise.
1975
f42cf4f4
JM
19762011-03-05 Jason Merrill <jason@redhat.com>
1977
1978 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
1979
804a304d
AG
19802011-03-05 Anthony Green <green@moxielogic.com>
1981
1982 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
1983
634ee309
ZD
19842011-03-05 Zdenek Dvorak <ook@ucw.cz>
1985
1986 PR rtl-optimization/47899
1987 * cfgloopmanip.c (fix_bb_placements): Fix first argument
1988 to flow_loop_nested_p when moving the loop upward.
1989
6fe471c8
RE
19902011-03-05 Richard Earnshaw <rearnsha@arm.com>
1991
1992 PR target/47719
1993 * arm.md (movhi_insn_arch4): Accept any immediate constant.
1994
cc58ceee
JJ
19952011-03-05 Jakub Jelinek <jakub@redhat.com>
1996
1997 PR tree-optimization/47967
1998 * ipa-cp.c (build_const_val): Return NULL instead of creating
1999 VIEW_CONVERT_EXPR for mismatching sizes.
2000 (ipcp_create_replace_map): Return NULL if build_const_val failed.
2001 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
2002 give up on versioning.
2003
ea868305
AM
20042011-03-05 Alan Modra <amodra@gmail.com>
2005
2006 PR target/47986
2007 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
2008 full cmodel medium/large lo_sum + high addresses.
2009
bc6ce334
AK
20102011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2011
2012 * config/s390/s390.c (s390_decompose_address): Reject non-literal
2013 pool references in UNSPEC_LTREL_OFFSET.
2014
87e7b310
JH
20152011-03-04 Jan Hubicka <jh@suse.cz>
2016
2017 PR lto/47497
2018 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
2019 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
2020 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
2021 Add node pointers.
87e7b310
JH
2022 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
2023 cgraph_add_thunk): Add node pointers.
2024 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
2025 associated to right node.
2026 (input_node): Update use of cgraph_same_body_alias
2027 and cgraph_add_thunk.
2028
d9c64246
CF
20292011-03-04 Changpeng Fang <changpeng.fang@amd.com>
2030
2031 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
2032 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
2033 modes when the flag -mprefer-avx128 is on.
d9c64246 2034
08707076
RS
20352011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
2036
2037 * dwarf2out.c (compare_loc_operands): Fix address handling.
2038
52517c81
AM
20392011-03-04 Alan Modra <amodra@gmail.com>
2040
2041 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
2042
b147c5b9
RG
20432011-03-04 Richard Guenther <rguenther@suse.de>
2044
2045 PR middle-end/47968
2046 * expmed.c (extract_bit_field_1): Prefer vector modes that
2047 vec_extract patterns can handle.
2048
8750672f
RG
20492011-03-04 Richard Guenther <rguenther@suse.de>
2050
2051 PR middle-end/47975
2052 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
2053
9eac0f2a
RH
20542011-03-04 Richard Henderson <rth@redhat.com>
2055
2056 * explow.c (emit_stack_save): Remove 'after' parameter.
2057 (emit_stack_restore): Likewise.
2058 * expr.h: Update to match.
2059 * builtins.c, calls.c, stmt.c: Likewise.
2060 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
2061 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
2062 * function.c (expand_function_end): Insert the emit_stack_save
2063 sequence before parm_birth_insn instead of after.
2064
dfee1406
UB
20652011-03-03 Uros Bizjak <ubizjak@gmail.com>
2066
2067 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
2068 (ssse3_pmaddubsw128): Ditto.
2069 (ssse3_pmaddubsw): Ditto.
2070
f1d4c3de
SE
20712011-03-03 Steve Ellcey <sje@cup.hp.com>
2072
2073 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
2074
71f3a3f5
JJ
20752011-03-03 Jakub Jelinek <jakub@redhat.com>
2076
423ed416
JJ
2077 PR c/47963
2078 * gimplify.c (omp_add_variable): Only call omp_notice_variable
2079 on TYPE_SIZE_UNIT if it is a DECL.
2080
71f3a3f5
JJ
2081 PR debug/47283
2082 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
2083 first operand is not is_gimple_mem_ref_addr, try to fold it.
2084 If the operand still isn't is_gimple_mem_ref_addr, clear
2085 MEM_EXPR on op0.
2086
4b1a5c0d
RG
20872011-03-03 Richard Guenther <rguenther@suse.de>
2088
2089 PR middle-end/47283
2090 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
2091 match comment.
2092 (refs_may_alias_p_1): For release branches return true if
2093 we are confused by our input.
2094
b46616fd
AK
20952011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2096
2097 * config/s390/s390.c (s390_function_value): Rename to ...
2098 (s390_function_and_libcall_value): ... this.
2099 (s390_function_value): New function.
2100 (s390_libcall_value): New function.
dfee1406 2101 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
2102 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
2103 target macro definitions.
2104 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
2105
46d8fabb
JM
21062011-03-02 Joseph Myers <joseph@codesourcery.com>
2107
2108 * config/i386/freebsd64.h (CC1_SPEC): Define.
2109 * config/i386/linux64.h (CC1_SPEC): Define.
2110 * config/i386/x86-64.h (CC1_SPEC): Don't define.
2111
6b1ce545
AS
21122011-03-02 Anatoly Sokolov <aesok@post.ru>
2113
2114 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
2115 Remove.
2116 * config/stormy16/stormy16.c: Include reload.h.
2117 (xstormy16_memory_move_cost): New function.
2118 (TARGET_MEMORY_MOVE_COST): Define.
2119
34161e98
RS
21202011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
2121
2122 PR rtl-optimization/47925
2123 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
2124 with side effects. Remove the more-specific check for volatile asms.
2125
f60a97cf
AM
21262011-03-02 Alan Modra <amodra@gmail.com>
2127
2128 PR target/47935
2129 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
2130 toc relative addresses for valid offsets.
2131
f2ca11ca
RG
21322011-03-01 Richard Guenther <rguenther@suse.de>
2133
2134 PR tree-optimization/47890
2135 * tree-vect-loop.c (get_initial_def_for_induction): Set
2136 related stmt properly.
2137
7a00d9ea
RG
21382011-03-01 Richard Guenther <rguenther@suse.de>
2139
2140 PR lto/47924
2141 * lto-streamer.c (lto_record_common_node): Also register
2142 the canonical type.
2143
06c7edcc
RG
21442011-03-01 Richard Guenther <rguenther@suse.de>
2145
2146 PR lto/46911
2147 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
2148 Do not stream DECL_ABSTRACT_ORIGIN.
2149 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
2150 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
2151 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
2152 Do not stream DECL_ABSTRACT_ORIGIN.
2153 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
2154 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
2155
998871e9
AS
21562011-02-28 Anatoly Sokolov <aesok@post.ru>
2157
2158 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
2159 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 2160 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
2161 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
2162 Add 'outgoing' argument.
2163 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
2164 function.
2165 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
2166 TARGET_FUNCTION_VALUE_REGNO_P): Define.
2167
94369251
KT
21682011-02-28 Kai Tietz <kai.tietz@onevision.com>
2169
2170 PR debug/28047
2171 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
2172 (lookup_filename): Likewise.
b2e2ea67 2173 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 2174
80a832cd
JJ
21752011-02-28 Bernd Schmidt <bernds@codesourcery.com>
2176 Jakub Jelinek <jakub@redhat.com>
2177
2178 PR middle-end/47893
2179 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
2180 (assign_stack_local_1): Change last argument type to int.
2181 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
2182 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 2183 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
2184 (assign_stack_local): Adjust caller.
2185 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
2186 of assign_stack_local, pass 0 as last argument.
2187 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
2188 callers.
2189
1b500976
JJ
21902011-02-28 Jakub Jelinek <jakub@redhat.com>
2191
f61c6f34
JJ
2192 PR debug/47283
2193 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
2194 Use target address_mode and pointer_mode hooks instead of hardcoded
2195 Pmode and ptr_mode. Handle some simple cases of extending if
2196 POINTERS_EXTEND_UNSIGNED < 0.
2197 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
2198 Call convert_debug_memory_address.
2199 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
2200 convert_debug_memory_address.
2201
1b500976
JJ
2202 PR middle-end/46790
2203 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
2204 * configure: Regenerated.
2205 * config.in: Regenerated.
2206 * varasm.c (default_function_section): Return NULL
b2e2ea67 2207 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 2208
2f2935b6
MJ
22092011-02-28 Martin Jambor <mjambor@suse.cz>
2210
2211 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
2212 the description to match the printed values.
2213
474086eb
RG
22142011-02-28 Richard Guenther <rguenther@suse.de>
2215
2216 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
2217 of the copied scope tree.
2218
15bf6f3a
RW
22192011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2220
2221 * doc/extend.texi (Function Attributes): Avoid deeply (and
2222 wrongly) nested tables.
2223
f6b439c9
JJ
22242011-02-27 Jakub Jelinek <jakub@redhat.com>
2225
2226 PR middle-end/47903
2227 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
2228 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
2229 r isn't op0 nor op1.
2230
1d8ca2c7
GJL
22312011-02-23 Georg-Johann Lay <avr@gjlay.de>
2232
2233 * config/avr/avr.md: Remove magic comment for emacs.
2234
593fca4b
GJL
22352011-02-23 Georg-Johann Lay <avr@gjlay.de>
2236
2237 PR target/45261
2238 * config/avr/avr.c (avr_option_override): Use error on bad options.
2239 (avr_help): New function.
2240 (TARGET_HELP): Define.
2241
6609216e
GJL
22422011-02-22 Georg-Johann Lay <avr@gjlay.de>
2243
2244 PR target/42240
2245 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
2246 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
2247
03d458af
GP
22482011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
2249
2250 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
2251 (ARM Options): Ditto.
2252 (i386 and x86-64 Options): Ditto.
2253 (RX Options): Ditto.
2254 (SPARC Options): Ditto.
2255
1c379b78
TC
22562011-02-26 Tijl Coosemans <tijl@coosemans.org>
2257
2258 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
2259 FreeBSD 6 and later. Generally use cpu generic.
2260
d5ed058c 22612011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 2262
d5ed058c
GP
2263 * doc/cpp.texi: Update copyright years.
2264
509d65dd 22652011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 2266
509d65dd 2267 PR target/46898
308d39cd
SB
2268 * config/lm32/lm32.md (ashrsi3): Added needed variable.
2269
509d65dd 22702011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 2271
509d65dd 2272 PR target/46898
308d39cd
SB
2273 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
2274 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
2275 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
2276 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 2277 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
2278 (gen_int_relational): Move declarations to start of function.
2279
822ba6d7
EB
22802011-02-25 Eric Botcazou <ebotcazou@adacore.com>
2281
2282 PR tree-optimization/45470
2283 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
2284 can throw internally only.
2285 * tree-vect-stmts.c (vectorizable_call): Likewise.
2286
ef795fc2
AS
22872011-02-24 Anatoly Sokolov <aesok@post.ru>
2288
2289 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
2290 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
2291 * config/stormy16/stormy16-protos.h
2292 (xstormy16_preferred_reload_class): Remove.
2293 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
2294 static. Change 'rclass' argument and return type to reg_class_t.
2295 (TARGET_PREFERRED_RELOAD_CLASS,
2296 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
2297
1c3277ee
RG
22982011-02-24 Richard Guenther <rguenther@suse.de>
2299
2300 * lto-streamer-in.c (input_bb): Do not find referenced vars
2301 in debug statements.
2302
67e18edb
JM
23032011-02-23 Jason Merrill <jason@redhat.com>
2304
2305 * common.opt (fabi-version): Document v5 and v6.
2306
b14fad9d
RG
23072011-02-23 Richard Guenther <rguenther@suse.de>
2308
2309 PR tree-optimization/47849
2310 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
2311
7fcf46f5
JZ
23122011-02-23 Jie Zhang <jie@codesourcery.com>
2313
2314 * opts-common.c (decode_cmdline_option): Print empty string
2315 argument as "" in decoded->orig_option_with_args_text.
2316 * gcc.c (execute): Print empty string argument as ""
2317 in the verbose output.
2318 (do_spec_1): Keep empty string argument.
2319
f85b70fd
NF
23202011-02-23 Nathan Froyd <froydnj@codesourcery.com>
2321
2322 * config.gcc: Declare score-* and crx-* obsolete.
2323
b152a615
JZ
23242011-02-23 Jie Zhang <jie@codesourcery.com>
2325
2326 PR rtl-optimization/47763
2327 * web.c (web_main): Ignore naked clobber when replacing register.
2328
bb6e77bc
AS
23292011-02-22 Anatoly Sokolov <aesok@post.ru>
2330
2331 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
2332 Remove.
2333
68bf6491
SP
23342011-02-22 Sebastian Pop <sebastian.pop@amd.com>
2335
2336 PR doc/47848
2337 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
2338
88ee1fc7
MS
23392011-02-22 Mike Stump <mikestump@comcast.net>
2340
2341 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
2342 assembler.
2343 * configure: Regenerate.
2344
6042d1dd
CLT
23452011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
2346
2347 PR rtl-optimization/46002
2348 * ira-color.c (update_copy_costs): Change class intersection
2349 test to reg_class_contents[] test of 'hard_regno'.
2350
7de97f9e
JM
23512011-02-21 Joseph Myers <joseph@codesourcery.com>
2352
2353 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
2354 than Driver option.
2355 * config/hpux11.opt (mt): Likewise.
2356 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
2357 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
2358 * config/vax/elf.opt (mno-asm-pic): Likewise.
2359 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
2360
d1d46f9f
MS
23612011-02-21 Mike Stump <mikestump@comcast.net>
2362
2363 PR target/47822
2364 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
2365 tree so we can get save the type.
2366 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
2367 for CFString instead of trying to use past the end of the builtins.
2368 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
2369 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
2370 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
2371 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
2372 Rename to darwin_builtin_cfstring.
2373 (darwin_init_cfstring_builtins): Return the built type.
2374
23e0d930
UB
23752011-02-21 Uros Bizjak <ubizjak@gmail.com>
2376
2377 PR target/47840
2378 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
2379 (_mm256_insert_epi64): Use _mm_insert_epi64.
2380
192997cf
AS
23812011-02-21 Anatoly Sokolov <aesok@post.ru>
2382
2383 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
2384 * config/stormy16/stormy16-protos.h
2385 (xstormy16_mode_dependent_address_p): Remove.
2386 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
2387 Make static. Change return type to bool. Change argument type to
2388 const_rtx. Remove dead code.
2389 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
2390
e292d003
RG
23912011-02-21 Richard Guenther <rguenther@suse.de>
2392
2393 PR lto/47820
2394 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
2395 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
2396 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
2397 TUs context.
23e0d930 2398 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
2399 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
2400
77f846e9
RG
24012011-02-20 Richard Guenther <rguenther@suse.de>
2402
2403 PR lto/47822
2404 * tree.c (free_lang_data_in_decl): Clean builtins from
2405 the TU decl BLOCK_VARS.
23e0d930 2406
b2cddfc8
AO
24072011-02-19 Alexandre Oliva <aoliva@redhat.com>
2408
2409 PR debug/47620
2410 PR debug/47630
2411 * haifa-sched.c (fix_tick_ready): Skip tick computation
2412 for debug insns.
2413
becf4c11
RG
24142011-02-19 Richard Guenther <rguenther@suse.de>
2415
2416 PR lto/47647
2417 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
2418 Remove lazy BLOCK_VARS streaming.
2419 (lto_input_ts_block_tree_pointers): Likewise.
2420 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
2421
27f98305
JM
24222011-02-19 Joseph Myers <joseph@codesourcery.com>
2423
2424 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
2425
064bf3f4
JM
24262011-02-19 Joseph Myers <joseph@codesourcery.com>
2427
2428 * config/i386/biarch32.h, config/i386/mach.h,
2429 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
2430
9215ddc3
JJ
24312011-02-19 Jakub Jelinek <jakub@redhat.com>
2432
2433 PR target/47800
2434 * config/i386/i386.md (peephole2 for shift and plus): Use
2435 operands[1] original mode in the first insn.
2436
8b021004
MS
24372011-02-18 Mike Stump <mikestump@comcast.net>
2438
65ded153 2439 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 2440
f84ae14c
JH
24412011-02-18 Jan Hubicka <jh@suse.cz>
2442
2443 PR middle-end/47788
65ded153
EB
2444 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
2445 to zero when the function is not inlinable at all.
f84ae14c 2446
eddabc80
JDA
24472011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2448
2449 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
2450 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
2451 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
2452 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
2453 * config/pa/t-pa64: Likewise.
2454 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
2455
ca3da783
JJ
24562011-02-18 Jakub Jelinek <jakub@redhat.com>
2457
2458 PR driver/47787
2459 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
2460
430aa868
JDA
24612011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2462
2463 PR target/47792
2464 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
2465
4bf7ff7e
AS
24662011-02-18 Anatoly Sokolov <aesok@post.ru>
2467
2468 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
2469 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
2470 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
2471 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
2472 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
2473 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
2474 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
2475 m32r_load_postinc_p, m32r_store_preinc_predec_p,
2476 m32r_legitimate_address_p): New functions.
2477 * config/m32r/constraints.md (constraint "S"): Don't use
2478 STORE_PREINC_PREDEC_P.
2479 (constraint "U"): Don't use LOAD_POSTINC_P.
2480
7efcf910
CLT
24812011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
2482
2483 PR rtl-optimization/46178
2484 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
2485 compute ira_hard_regno_cover_class[].
2486
237d6259
RG
24872011-02-18 Richard Guenther <rguenther@suse.de>
2488
2489 PR lto/47798
2490 * lto-streamer.h (lto_global_var_decls): Declare.
2491 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
2492 statics for global var processing.
2493
12d80acc
RG
24942011-02-18 Richard Guenther <rguenther@suse.de>
2495
2496 PR tree-optimization/47737
2497 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
2498 edge dominance check.
2499
abfea58d
JJ
25002011-02-18 Jakub Jelinek <jakub@redhat.com>
2501
2502 PR debug/47780
2503 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
2504 avoid invalid rtx sharing.
2505
f73c8882
GP
25062011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
2507
2508 * doc/cpp.texi (Obsolete Features): Add background on the
2509 origin of assertions.
2510
d764a8e6
IS
25112011-02-17 Iain Sandoe <iains@gcc.gnu.org>
2512
2513 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 2514 objc_abi == 2.
d764a8e6
IS
2515 * config/darwin.c (output_objc_section_asm_op): Added support for
2516 ABI v1 and v2.
2517 (is_objc_metadata): New.
2518 (darwin_objc2_section): New.
2519 (darwin_objc1_section): New.
2520 (machopic_select_section): Added support for ABI v1 and v2.
2521 (darwin_emit_objc_zeroed): New.
2522 (darwin_output_aligned_bss): Detect objc metadata and treat it
2523 appropriately.
2524 (darwin_asm_output_aligned_decl_common): Same.
2525 (darwin_asm_output_aligned_decl_local): Same.
2526 * config/darwin-sections.def: Updated for ABI v1 and v2.
2527 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
2528 compiling Objective-C code for the NeXT runtime, default to using
2529 ABI version 0 for 32-bit, and version 2 for 64-bit.
2530
0a8134ca
JM
25312011-02-17 Joseph Myers <joseph@codesourcery.com>
2532
2533 * common.opt (optimize_fast): New Variable.
2534 * opts.c (default_options_optimization): Use opts->x_optimize_fast
2535 instead of local variable ofast.
2536
0a256240
NP
25372011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
2538
2539 * doc/invoke.texi (fobjc-abi-version): Documented.
2540 (fobjc-nilcheck): Documented.
2541 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
2542 version.
2543
fa381cb2
JM
25442011-02-17 Joseph Myers <joseph@codesourcery.com>
2545
2546 PR driver/47390
2547 * common.opt (export-dynamic): New Driver option.
2548 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
2549
5437eaa6
JM
25502011-02-17 Joseph Myers <joseph@codesourcery.com>
2551
2552 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
2553
bb7e6d55
AO
25542011-02-17 Alexandre Oliva <aoliva@redhat.com>
2555 Jan Hubicka <jh@suse.cz>
2556
2557 PR debug/47106
2558 PR debug/47402
2559 * cfgexpand.c (account_used_vars_for_block): Remove.
2560 (estimated_stack_frame_size): Use referenced vars.
2561 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
2562 that were referenced in the original function. Test src_fn
2563 rather than cfun. Drop redundant get_var_ann.
2564 (setup_one_parameter): Drop redundant get_var_ann.
2565 (declare_return_variable): Likewise.
2566 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
2567 (copy_arguments_for_versioning): Drop redundant get_var_ann.
2568 * ipa-inline.c (compute_inline_parameters): Do not compute
2569 disregard_inline_limits here.
bb7e6d55
AO
2570 (compute_inlinable_for_current, pass_inlinable): New.
2571 (pass_inline_parameters): Require PROP_referenced_vars.
2572 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 2573 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
2574 (cgraph_analyze_function): Set .disregard_inline_limits.
2575 * tree-sra.c (convert_callers): Compute inliner parameters
2576 only for functions already in SSA form.
2577
f181a8a7
JM
25782011-02-17 Joseph Myers <joseph@codesourcery.com>
2579
2580 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
2581 -mlittle-endian-data.
2582
c6869789
JM
25832011-02-17 Joseph Myers <joseph@codesourcery.com>
2584
2585 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
2586 -mno-fpu, not -fpu and -no-fpu.
2587 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
2588 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
2589
fbf4bfd3
UB
25902011-02-17 Uros Bizjak <ubizjak@gmail.com>
2591
2592 PR target/43653
2593 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
2594 input reload with PLUS RTX.
2595
70be5dc7
JM
25962011-02-16 Joseph Myers <joseph@codesourcery.com>
2597
2598 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
2599 of InverseVar(MDMX).
2600
30b1646e
JM
26012011-02-16 Joseph Myers <joseph@codesourcery.com>
2602
2603 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
2604 --m4-340.
2605
ab7b71e9
JM
26062011-02-16 Joseph Myers <joseph@codesourcery.com>
2607
2608 * config/mn10300/mn10300.opt (mno-crt0): New.
2609
466f3f08
JM
26102011-02-16 Joseph Myers <joseph@codesourcery.com>
2611
2612 * config/m68k/uclinux.opt (static-libc): New Driver option.
2613
8226cd7b
JM
26142011-02-16 Joseph Myers <joseph@codesourcery.com>
2615
2616 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
2617
45cab1d7
JM
26182011-02-16 Joseph Myers <joseph@codesourcery.com>
2619
2620 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
2621 %{muser-extend-enabled}.
2622
65aab64f
RG
26232011-02-16 Richard Guenther <rguenther@suse.de>
2624
2625 PR tree-optimization/47738
2626 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
2627 the TODO from tree_predictive_commoning.
2628
fc2fa4fb
JL
26292011-02-15 Jeff Law <law@redhat.com>
2630
2631 Revert
2632 2011-01-25 Jeff Law <law@redhat.com>
2633
2634 PR rtl-optimization/37273
2635 * ira-costs.c (scan_one_insn): Detect constants living in memory and
2636 handle them like argument loads from stack slots. Do not double
2637 count memory for memory constants and argument loads from stack slots.
2638
4e380b8e
L
26392011-02-15 H.J. Lu <hongjiu.lu@intel.com>
2640
2641 PR middle-end/47725
2642 * combine.c (cant_combine_insn_p): Revert the last change.
2643
e3a69bb4
MM
26442011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
2645
2646 PR target/47755
2647 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
2648 mode for vector constants. Remove code that checks for TImode.
2649
de650422
AO
26502011-02-15 Alexandre Oliva <aoliva@redhat.com>
2651
2652 PR debug/47106
2653 PR debug/47402
2654 * cgraph.h (compute_inline_parameters): Return void.
2655 * ipa-inline.c (compute_inline_parameters): Adjust.
2656
30925d94
AO
26572011-02-15 Alexandre Oliva <aoliva@redhat.com>
2658
2659 PR debug/47106
2660 PR debug/47402
2661 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
2662 rather than decl.
2663 * cfgexpand.c (estimated_stack_frame_size): Likewise.
2664 * ipa-inline.c (compute_inline_parameters): Adjust.
2665
1b9a784a
AO
26662011-02-15 Alexandre Oliva <aoliva@redhat.com>
2667
2668 PR debug/47106
2669 PR debug/47402
2670 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
2671 Adjust all users. Pass FN to...
2672 * tree-flow-inline.h (first_referenced_var): ... this. Add
2673 fn argument.
2674 * ipa-struct-reorg.c: Adjust.
2675 * tree-dfa.c: Adjust.
2676 * tree-into-ssa.c: Adjust.
2677 * tree-sra.c: Adjust.
2678 * tree-ssa-alias.c: Adjust.
2679 * tree-ssa-live.c: Adjust.
2680 * tree-ssa.c: Adjust.
2681 * tree-ssanames.c: Adjust.
2682 * tree-tailcall.c: Adjust.
2683
27c6b086
AO
26842011-02-15 Alexandre Oliva <aoliva@redhat.com>
2685
2686 PR debug/47106
2687 PR debug/47402
2688 * tree-flow.h (referenced_var_lookup): Add fn parameter.
2689 Adjust all callers.
2690 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
2691 * tree-flow-inline.h: Adjust.
2692 * gimple-pretty-print.c: Adjust.
2693 * tree-into-ssa.c: Adjust.
2694 * tree-ssa.c: Adjust.
2695 * cfgexpand.c: Adjust.
2696
679e8183
NF
26972011-02-15 Nathan Froyd <froydnj@codesourcery.com>
2698
fbf4bfd3
UB
2699 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
2700 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2701 (EXTRA_CONSTRAINT): Delete.
2702 * config/iq2000/constraints.md: New file.
2703 * config/iq2000/iq2000.md: Include it.
679e8183
NF
2704 (define_insn ""): Delete.
2705 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
2706 unsupported constraint letters from patterns.
2707 (call_value, call_value_internal1): Likewise.
2708 (call_value_multiple_internal1): Likewise.
2709
a45d420a
NC
27102011-02-15 Nick Clifton <nickc@redhat.com>
2711
2712 * config/mn10300/mn10300.c: Include tm-constrs.h.
2713 (struct liw_data): New data structure describing an LIW candidate
2714 instruction.
2715 (extract_bundle): Use struct liw_data. Allow small integer
2716 operands for some instructions.
2717 (check_liw_constraints): Use struct liw_data. Remove swapped
2718 parameter. Add comments describing the checks. Fix bug when
2719 assigning the source of liw1 to the source of liw2.
2720 (liw_candidate): Delete. Code moved into extract_bundle.
2721 (mn10300_bundle_liw): Use struct liw_data. Check constraints
2722 before swapping.
2723 * config/mn10300/predicates.md (liw_operand): New predicate.
2724 Allows registers and small integer constants.
2725 * config/mn10300/constraints.md (O): New constraint. Accetps
2726 integers in the range -8 to +7 inclusive.
2727 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
2728 for moving a small integer into a register. Give this alternative
2729 LIW attributes.
2730 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
2731 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
2732 using the J,K,L and M constraints,
2733 (liw): Remove SI mode on second operands to allow for HI and QI
2734 mode values.
2735 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
2736 instruction.
2737
8a73faf1
L
27382011-02-15 H.J. Lu <hongjiu.lu@intel.com>
2739
2740 PR middle-end/47725
2741 * combine.c (cant_combine_insn_p): Check zero/sign extended
2742 hard registers.
2743
48feba28
RG
27442011-02-15 Richard Guenther <rguenther@suse.de>
2745
2746 PR tree-optimization/47743
2747 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
2748 for a non-type-compatible VN lookup bail out.
2749
ad1c1eeb
NF
27502011-02-15 Nathan Froyd <froydnj@codesourcery.com>
2751
2752 * config/fr30/constraints.md: New file.
2753 * config/fr30/fr30.md: Include it.
2754 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
2755 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2756 (EXTRA_CONSTRAINT): Delete.
2757
49ac143d
NF
27582011-02-15 Nathan Froyd <froydnj@codesourcery.com>
2759
2760 * config/frv/constraints.md: New file.
2761 * config/frv/predicates.md: Include it.
2762 * config/frv/frv.c (reg_class_from_letter): Delete.
2763 (frv_option_override): Don't initialize it.
2764 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
2765 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
2766 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
2767 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
2768 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
2769 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2770 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
2771 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
2772 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
2773 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
2774 (REG_CLASS_FROM_CONSTRAINT): Delete.
2775
c95f9494
JJ
27762011-02-15 Jakub Jelinek <jakub@redhat.com>
2777
2778 PR middle-end/47581
2779 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
2780 if frame size is 0 in a leaf function.
2781
13aed611
RO
27822011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2783
2784 PR pch/14940
2785 * config/alpha/host-osf.c: New file.
2786 * config/alpha/x-osf: New file.
2787 * config.host (alpha*-dec-osf*): Use it.
2788
b09c3081
AS
27892011-02-14 Anatoly Sokolov <aesok@post.ru>
2790
2791 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
2792 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
2793 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
2794 (rx_mode_dependent_address_p): ...this. Make static. Change argument
2795 type to const_rtx.
2796 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
2797
d634083b
NF
27982011-02-14 Nathan Froyd <froydnj@codesourcery.com>
2799
2800 * config/stormy16/constraints.md: New file.
2801 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
2802 Use satisfies_constraint_Q and satisfies_constraint_R.
2803 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
2804 Delete.
2805 (xstormy16_legitiamte_address_p): Declare.
2806 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
2807 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2808 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 2809 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
2810 Un-staticize.
2811 (xstormy16_extra_constraint_p): Delete.
2812
c7dd803e
EB
28132011-02-14 Eric Botcazou <ebotcazou@adacore.com>
2814
2815 PR tree-optimization/46494
2816 * loop-unroll.c (split_edge_and_insert): Adjust comment.
2817 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
2818 (pass_rtl_loop_done): Add TODO_verify_flow.
2819 * fwprop.c (pass_rtl_fwprop): Likewise.
2820 * modulo-sched.c (pass_sms): Likewise.
2821 * tree-ssa-dom.c (pass_dominator): Likewise.
2822 * tree-ssa-loop-ch.c (pass_ch): Likewise.
2823 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
2824 (pass_tree_loop_done): Likewise.
2825 * tree-ssa-pre.c (execute_pre): Likewise.
2826 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
2827 * tree-ssa-sink.c (pass_sink_code): Likewise.
2828 * tree-vrp.c (pass_vrp): Likewise.
2829
c6150df6
NF
28302011-02-14 Nathan Froyd <froydnj@codesourcery.com>
2831
c7dd803e
EB
2832 * config/v850/constraints.md: New file.
2833 * config/v850/v850.md: Include it.
2834 * config/v850/predicates.md (reg_or_0_operand): Use
2835 satisfies_constraint_G.
2836 (special_symbolref_operand): Use satisfies_constraint_K.
2837 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
2838 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
2839 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
2840 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
2841 (EXTRA_CONSTRAINT): Delete.
2842 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
2843 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
2844 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 2845
30dd1ea3
AS
28462011-02-14 Anatoly Sokolov <aesok@post.ru>
2847
2848 PR target/47696
2849 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
2850 description.
2851
944f4bb3
NF
28522011-02-14 Nathan Froyd <froydnj@codesourcery.com>
2853
2854 * config/mcore/constraints.md: New file.
2855 * config/mcore/mcore.md: Include it.
2856 * config/mcore/mcore.c (reg_class_from_letter): Delete.
2857 * config/mcore/mcore.h (reg_class_from_letter): Delete.
2858 (REG_CLASS_FROM_LETTER): Delete.
2859 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
2860 insn_const_int_ok_for_constraint.
2861 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
2862 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
2863 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2864 (EXTRA_CONSTRAINT): Delete.
2865
ad56a54c
RO
28662011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2867
2868 PR ada/41929
2869 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
2870 (IS_SIGHANDLER): Define.
2871 (sparc64_is_sighandler): New function, split off from
2872 sparc64_fallback_frame_state.
2873 (sparc_is_sighandler): New function, split off from
2874 sparc_fallback_frame_state.
2875 (sparc64_fallback_frame_state): Merge with ...
2876 (sparc_fallback_frame_state): ... this into ...
2877 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
2878 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
2879 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
2880 stack instead of hardcoded offsets.
ad56a54c 2881
fbf4bfd3 28822011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
2883
2884 PR target/45808
2885 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
2886
029c8f3e
RW
28872011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2888
2889 * configure: Regenerate.
2890
a016dc83
JM
28912011-02-12 Joseph Myers <joseph@codesourcery.com>
2892
2893 PR driver/45731
2894 * gcc.c (asm_options): Correct spec matching --target-help.
2895
8957a0ec
MJ
28962011-02-12 Martin Jambor <mjambor@suse.cz>
2897
2898 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
2899 to gimple call error.
2900
6ef828bc
MS
29012011-02-12 Mike Stump <mikestump@comcast.net>
2902
2903 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
2904 comments in backslash regions.
2905
a4015be5
MS
29062011-02-12 Mike Stump <mikestump@comcast.net>
2907 Jakub Jelinek <jakub@redhat.com>
2908 Iain Sandoe <iains@gcc.gnu.org>
2909
2910 PR target/47324
2911 * dwarf2out.c (output_cfa_loc): When required, apply the
2912 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
2913 (output_loc_sequence): Likewise.
2914 (output_loc_operands_raw): Likewise.
2915 (output_loc_sequence_raw): Likewise.
2916 (output_cfa_loc): Likewise.
2917 (output_loc_list): Suppress register number adjustment when
2918 calling output_loc_sequence()
2919 (output_die): Likewise.
2920
5378dda2
AS
29212011-02-12 Anatoly Sokolov <aesok@post.ru>
2922
2923 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
2924 Remove macros.
2925 * config/xtensa/xtensa.c (xtensa_register_move_cost,
2926 xtensa_memory_move_cost): New functions.
2927 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
2928
f3d533d3
AO
29292011-02-12 Alexandre Oliva <aoliva@redhat.com>
2930
2931 PR lto/47225
2932 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
2933 in the current directory.
2934 * configure: Rebuilt.
2935
9d53403c
IS
29362011-02-12 Iain Sandoe <iains@gcc.gnu.org>
2937
2938 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 2939 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
2940 correct indents of the preceding block.
2941
a350a6c8
IS
29422011-02-12 Iain Sandoe <iains@gcc.gnu.org>
2943
2944 * gcc.c (driver_handle_option): Concatenate the argument to -F with
2945 the switch.
2946
bab79a40
JM
29472011-02-11 Joseph Myers <joseph@codesourcery.com>
2948
2949 * common.opt (nostartfiles): New Driver option.
2950
1bbc6693
XDL
29512011-02-11 Xinliang David Li <davidxl@google.com>
2952
2953 PR tree-optimization/47707
2954 * tree-chrec.c (convert_affine_scev): Keep type precision.
2955
1da7d8c0
EB
29562011-02-11 Eric Botcazou <ebotcazou@adacore.com>
2957
2958 PR tree-optimization/47420
2959 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
2960
29612011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
2962
2963 PR rtl-optimization/47614
2964 * rtl.h (check_for_inc_dec): Declare.
2965 * dse.c (check_for_inc_dec): Externalize...
2966 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
2967 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
2968
4df47bca
JM
29692011-02-11 Joseph Myers <joseph@codesourcery.com>
2970
2971 PR driver/47678
2972 * gcc.c (main): Do not compile inputs if there were errors in
2973 option handling.
2974 * opts-common.c (read_cmdline_option): Check for wrong language
2975 after other error checks.
2976
61502ca8
NF
29772011-02-11 Nathan Froyd <froydnj@codesourcery.com>
2978
2979 * cgraph.c: Fix comment typos.
2980 * cgraph.h: Likewise.
2981 * cgraphunit.c: Likewise.
2982 * ipa-cp.c: Likewise.
2983 * ipa-inline.c: Likewise.
2984 * ipa-prop.c: Likewise.
2985 * ipa-pure-const.c: Likewise.
2986 * ipa-ref.c: Likewise.
2987 * ipa-reference.c: Likewise.
2988
b63f974e
JJ
29892011-02-11 Jakub Jelinek <jakub@redhat.com>
2990
d50c5e0c
JJ
2991 PR debug/47684
2992 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 2993
6dd2a13c
RO
29942011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2995
2996 PR testsuite/47400
2997 * doc/sourcebuild.texi (Require Support): Document
2998 dg-require-ascii-locale.
2999
4a087ccf
MX
30002011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
3001
3002 * doc/lto.texi (Write summary): Fix missing parentheses.
3003
a4403164
DD
30042011-02-10 DJ Delorie <dj@redhat.com>
3005
3006 * config/m32c/m32c.c (m32c_option_override): Disable
3007 -fcombine-stack-adjustments until flag value tracking and compare
3008 optimization can be rewritten.
3009
4fac45bd
PB
30102011-02-10 Peter Bergner <bergner@vnet.ibm.com>
3011
3012 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
3013 PROCESSOR_POWER7.
3014 (PROCESSOR_DEFAULT64): Likewise.
3015
72602cd1
RH
30162011-02-10 Richard Henderson <rth@redhat.com>
3017
3018 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
3019 change from 2011-02-03.
3020 * config/rx/rx.c (flags_from_code): Likewise.
3021 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
3022 is valid, n/pz otherwise.
3023 (rx_select_cc_mode): Return CCmode if Y is not zero.
3024
ea57f573
RG
30252011-02-10 Richard Guenther <rguenther@suse.de>
3026
ea4c3e65 3027 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 3028
92b1d23b
RG
30292011-02-10 Richard Guenther <rguenther@suse.de>
3030
3031 PR tree-optimization/47677
3032 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
3033
525a2d06
JJ
30342011-02-10 Jakub Jelinek <jakub@redhat.com>
3035
3036 PR target/47665
3037 * combine.c (make_compound_operation): Only change shifts into
3038 multiplication for SCALAR_INT_MODE_P.
3039
06c969bd
JZ
30402011-02-10 Jie Zhang <jie@codesourcery.com>
3041
3042 PR testsuite/47622
3043 Revert
3044 2011-02-05 Jie Zhang <jie@codesourcery.com>
3045 PR debug/42631
3046 * web.c (entry_register): Don't clobber the number of the
3047 first uninitialized reference in used[].
3048
282ec48e
RG
30492011-02-09 Richard Guenther <rguenther@suse.de>
3050
3051 PR tree-optimization/47664
3052 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
3053 all edges again.
3054
df98c3e8
DE
30552011-02-09 David Edelsohn <dje.gcc@gmail.com>
3056
d0f21cd6
DE
3057 PR target/46481
3058 PR target/47032
df98c3e8
DE
3059 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
3060 PROCESSOR_POWER7.
3061 (PROCESSOR_DEFAULT64): Same.
3062 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
3063
67b6839f
RO
30642011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3065
3066 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
3067
4fd73214
MJ
30682011-02-09 Martin Jambor <mjambor@suse.cz>
3069
3070 PR middle-end/45505
3071 * tree-sra.c (struct access): New flags grp_scalar_read and
3072 grp_scalar_write. Changed description of assignment read and write
3073 flags.
3074 (dump_access): Dump new flags, reorder all of them.
3075 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
3076 to detect multiple scalar reads.
3077 (analyze_access_subtree): Use the new scalar read write flags instead
3078 of the old flags. Adjusted comments.
3079
91140cd3
DD
30802011-02-08 DJ Delorie <dj@redhat.com>
3081
3082 PR target/47548
3083 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
3084 patterns.
3085
4254bbfe
JM
30862011-02-08 Joseph Myers <joseph@codesourcery.com>
3087
3088 * config/m68k/uclinux.opt: New.
3089 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
3090
f1fda84e
JM
30912011-02-08 Joseph Myers <joseph@codesourcery.com>
3092
3093 * config/cris/elf.opt (sim): New Driver option.
3094
4933ae74
JM
30952011-02-08 Joseph Myers <joseph@codesourcery.com>
3096
3097 * config/xtensa/elf.opt: New.
3098 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
3099
4ad70280
JM
31002011-02-08 Joseph Myers <joseph@codesourcery.com>
3101
3102 * config/vax/elf.opt: New.
3103 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
3104
20893707
JM
31052011-02-08 Joseph Myers <joseph@codesourcery.com>
3106
3107 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
3108
b8e7038e
JM
31092011-02-08 Joseph Myers <joseph@codesourcery.com>
3110
3111 * config/gnu-user.opt: New.
3112 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
3113 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
3114 *-*-uclinux*): Use gnu-user.opt.
3115
e1c5225a
TS
31162011-02-08 Thomas Schwinge <thomas@schwinge.name>
3117
3118 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
3119 * config/i386/gnu.h (CPP_SPEC): Likewise.
3120
5e46b0c6
ILT
31212011-02-08 Ian Lance Taylor <iant@google.com>
3122
3123 * common.opt (fcx-limited-range): Add SetByCombined flag.
3124 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
3125 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
3126 (fassociative-math, freciprocal-math): Likewise.
3127 (funsafe-math-optimizations): Likewise.
3128 * opth-gen.awk: Handle SetByCombined.
3129 * optc-gen.awk: Likewise.
ea4c3e65 3130 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
3131 (set_unsafe_math_optimizations_flags): Likewise.
3132 * doc/options.texi (Option properties): Document SetByCombined.
3133
32243d46
JM
31342011-02-08 Joseph Myers <joseph@codesourcery.com>
3135
3136 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
3137 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
3138 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
3139 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
3140 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
3141
479c1fb3
SP
31422011-02-08 Sebastian Pop <sebastian.pop@amd.com>
3143
3144 PR tree-optimization/46834
3145 PR tree-optimization/46994
3146 PR tree-optimization/46995
3147 * graphite-sese-to-poly.c (used_outside_reduction): New.
3148 (detect_commutative_reduction): Call used_outside_reduction.
3149 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
3150 translate_scalar_reduction_to_array only when at least one
3151 loop-phi/close-phi tuple has been detected.
3152
3865a06f
RG
31532011-02-08 Richard Guenther <rguenther@suse.de>
3154
3155 PR middle-end/47639
3156 * tree-vect-generic.c (expand_vector_operations_1): Update
3157 stmts here ...
3158 (expand_vector_operations): ... not here. Cleanup EH info
3159 and the CFG if required.
3160
62902f3f
RG
31612011-02-08 Richard Guenther <rguenther@suse.de>
3162
3163 PR tree-optimization/47641
3164 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
3165 require type compatibility.
3166
0efb9d64
AK
31672011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3168
3169 * gimple-low.c (lower_function_body): Don't remove the location of
3170 the return statement here.
3171 (lower_gimple_return): Do it here instead but only if the return
3172 statement is actually used twice.
3173
034b8ae4
RG
31742011-02-08 Richard Guenther <rguenther@suse.de>
3175
3176 PR tree-optimization/47632
3177 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
3178 unused up_to_stmt parameter, return whether cfg-cleanup is
3179 necessary, remove EH info properly.
3180 (forward_propagate_into_gimple_cond): Adjust caller.
3181 (forward_propagate_into_cond): Likewise.
3182 (forward_propagate_comparison): Likewise.
3183 (tree_ssa_forward_propagate_single_use_vars): Make
3184 forward_propagate_comparison case similar to the two others.
3185
298362c8
NC
31862011-02-08 Nick Clifton <nickc@redhat.com>
3187
3188 * config/mn10300/mn10300.opt (mliw): New command line option.
3189 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
3190 (liw_bundling): New automaton.
3191 (liw): New attribute.
3192 (liw_op): New attribute.
3193 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
3194 (movsi_internal): Add LIW attributes.
3195 (andsi3): Likewise.
3196 (iorsi3): Likewise.
3197 (xorsi3): Likewise.
3198 (addsi3): Separate register and immediate alternatives.
3199 Add LIW attributes.
3200 (subsi3): Likewise.
3201 (cmpsi): Likewise.
3202 (aslsi3): Likewise.
3203 (lshrsi3): Likewise.
3204 (ashrsi3): Likewise.
3205 (liw): New pattern.
3206 * config/mn10300/mn10300.c (liw_op_names): New
3207 (mn10300_print_operand): Handle 'W' operand descriptor.
3208 (extract_bundle): New function.
3209 (check_liw_constraints): New function.
3210 (liw_candidate): New function.
3211 (mn10300_bundle_liw): New function.
3212 (mn10300_reorg): New function.
3213 (TARGET_MACHINE_DEPENDENT_REORG): Define.
3214 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
3215 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
3216 __LIW__ or __NO_LIW__.
3217 * doc/invoke.texi: Describe the -mliw command line option.
3218
90488014
JDA
32192011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3220
3221 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
3222 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
3223 pthread_mutex_unlock): Remove.
3224 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
3225 * config/pa/t-pa64: Likewise.
3226 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
3227 shared libc if not linking against libpthread.
3228 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
3229
689ff841
IS
32302011-02-07 Iain Sandoe <iains@gcc.gnu.org>
3231
3232 PR target/47558
3233 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
3234 on 10.6 and later to ensure that we always use the unwinder from
3235 the system. Only add -no_compact_unwind when tarteting darwin
3236 10.6 or later.
3237
821014aa
SE
32382011-02-07 Steve Ellcey <sje@cup.hp.com>
3239
3240 PR target/46997
3241 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
3242 (vec_interleave_lowv2sf): Ditto.
3243 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
3244 (vec_extract_oddv2sf): Ditto.
3245
41cf94fb
MS
32462011-02-07 Mike Stump <mikestump@comcast.net>
3247
62dea57d 3248 PR target/42333
41cf94fb
MS
3249 Add __ieee_divdc3 entry point.
3250 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
3251 entry point.
3252 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
3253 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
3254 * config/darwin.c (darwin_rename_builtins): Add.
3255 * config/darwin-protos.h (darwin_rename_builtins): Add.
3256
ee09a3dd
MM
32572011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
3258
3259 PR target/47636
3260 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
3261 for the condition.
3262
83296cd0
MS
32632011-02-07 Mike Stump <mikestump@comcast.net>
3264
ea4c3e65 3265 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 3266
0f4e946f
DC
32672011-02-07 Denis Chertykov <chertykov@gmail.com>
3268
3269 PR target/47534
3270 * config/avr/libgcc.S (exit): Move .endfunc
3271
1ec87690
RG
32722011-02-07 Richard Guenther <rguenther@suse.de>
3273
3274 PR tree-optimization/47615
3275 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
3276 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
3277 (run_scc_vn): Initialize it.
3278 (visit_reference_op_load): Use it.
3279 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
3280
b46ae6da
UW
32812011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3282
3283 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
3284 DImode trapping arithmetic libfuncs.
3285
c0aae19c
RG
32862011-02-07 Richard Guenther <rguenther@suse.de>
3287
3288 PR tree-optimization/47621
3289 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
3290 two duplicates ...
3291 (execute_update_addresses_taken): ... here. Make it more
3292 conservative in what we accept.
3293
295d926b
JM
32942011-02-06 Joseph Myers <joseph@codesourcery.com>
3295
3296 * config/sparc/freebsd.h (ASM_SPEC): Define.
3297 * config/sparc/vxworks.h (ASM_SPEC): Define.
3298
bdeb2471
JM
32992011-02-06 Joseph Myers <joseph@codesourcery.com>
3300
3301 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
3302
d5d3781a
SB
33032011-02-06 Steven Bosscher <steven@gcc.gnu.org>
3304
3305 * doc/invoke.texi: Remove reference to compiler internals from
3306 user documentation.
3307
3308 * reg-notes.def: Remove REG_VALUE_PROFILE.
3309 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
3310
c42c09fc
JJ
33112011-02-05 Jakub Jelinek <jakub@redhat.com>
3312
3313 PR middle-end/47610
3314 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 3315 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 3316
beea2755
JZ
33172011-02-05 Jie Zhang <jie@codesourcery.com>
3318
3319 PR debug/42631
3320 * web.c (entry_register): Don't clobber the number of the
3321 first uninitialized reference in used[].
3322
a130584a
SP
33232011-02-04 Sebastian Pop <sebastian.pop@amd.com>
3324
3325 PR tree-optimization/46194
3326 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
3327 (build_classic_dist_vector_1): Do not represent classic distance
3328 vectors when the access functions are variating in different loops.
3329
962101ac
JM
33302011-02-04 Joseph Myers <joseph@codesourcery.com>
3331
3332 * config/mips/iris6.opt: New.
3333 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
3334
55eaaa5b
RH
33352011-02-04 Richard Henderson <rth@redhat.com>
3336 Steve Ellcey <sje@cup.hp.com>
3337
3338 PR target/46997
3339 * config/ia64/predicates.md (mux1_brcst_element): New.
3340 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
3341 * config/ia64/ia64.c (ia64_unpack_assemble): New.
3342 (ia64_unpack_sign): New.
3343 (ia64_expand_unpack): Rewrite using new routines.
3344 (ia64_expand_widen_sum): Ditto.
3345 (ia64_expand_dot_prod_v8qi): Ditto.
3346 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
3347 routines, add endian check.
3348 (pmpy2_even): Rename from pmpy2_r, add endian check.
3349 (pmpy2_odd): Rename from pmpy2_l, add endian check.
3350 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
3351 (vec_widen_smult_hi_v4hi): Ditto.
3352 (vec_widen_umult_lo_v4hi): Ditto.
3353 (vec_widen_umult_hi_v4hi): Ditto.
3354 (mulv2si3): Change endian checks.
3355 (sdot_prodv4hi): Rewrite with new calls.
3356 (udot_prodv4hi): New.
3357 (vec_pack_ssat_v4hi): Add endian check.
3358 (vec_pack_usat_v4hi): Ditto.
3359 (vec_pack_ssat_v2si): Ditto.
3360 (max1_even): Rename from max1_r, add endian check.
3361 (max1_odd): Rename from max1_l, add endian check.
3362 (*mux1_rev): Format change.
3363 (*mux1_mix): Ditto.
3364 (*mux1_shuf): Ditto.
3365 (*mux1_alt): Ditto.
3366 (*mux1_brcst_v8qi): Use new predicate.
3367 (vec_extract_evenv8qi): Remove endian check.
3368 (vec_extract_oddv8qi): Ditto.
3369 (vec_interleave_lowv4hi): Format change.
3370 (vec_interleave_highv4hi): Ditto.
3371 (mix2_even): Rename from mix2_r, add endian check.
3372 (mix2_odd): Rename from mux2_l, add endian check.
3373 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
3374 (vec_extract_evenodd_helper): Format change.
3375 (vec_extract_evenv4hi): Remove endian check.
3376 (vec_extract_oddv4hi): Remove endian check.
3377 (vec_interleave_lowv2si): Format change.
3378 (vec_interleave_highv2si): Format change.
3379 (vec_initv2si): Remove endian check.
3380 (vecinit_v2si): Add endian check.
3381 (reduc_splus_v2sf): Add endian check.
3382 (reduc_smax_v2sf): Ditto.
3383 (reduc_smin_v2sf): Ditto.
3384 (vec_initv2sf): Remove endian check.
3385 (fpack): Add endian check.
3386 (fswap): Add endian check.
3387 (vec_interleave_highv2sf): Add endian check.
3388 (vec_interleave_lowv2sf): Add endian check.
3389 (fmix_lr): Add endian check.
3390 (vec_setv2sf): Format change.
3391 (*vec_extractv2sf_0_be): Use shift to extract operand.
3392 (*vec_extractv2sf_1_be): New.
3393 (vec_pack_trunc_v4hi): Add endian check.
3394 (vec_pack_trunc_v2si): Format change.
3395
dcde5957
JJ
33962011-02-04 Jakub Jelinek <jakub@redhat.com>
3397
3398 PR inline-asm/23200
3399 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 3400 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
3401 (stmt_is_replaceable_p): New function.
3402 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
3403 callers.
3404 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
3405 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
3406 SSA_NAME_DEF_STMT.
3407 * tree-flow.h (stmt_is_replaceable_p): New prototype.
3408
a64a8e5a
JM
34092011-02-04 Joseph Myers <joseph@codesourcery.com>
3410
3411 * config/rs6000/xilinx.opt: New.
3412 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
3413
4da2ed2f
JM
34142011-02-04 Joseph Myers <joseph@codesourcery.com>
3415
3416 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
3417
a6e508f9
AS
34182011-02-03 Anatoly Sokolov <aesok@post.ru>
3419
3420 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
3421 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
3422 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
3423 secondary_reload_info, xtensa_secondary_reload): Remove.
3424 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
3425 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
3426 (xtensa_preferred_reload_class): Make static. Change return and
3427 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
3428 Use CONST_DOUBLE_P predicate.
3429 (xtensa_preferred_output_reload_class): New function.
3430 (xtensa_secondary_reload): Make static.
3431
82dc0de3
JM
34322011-02-03 Joseph Myers <joseph@codesourcery.com>
3433
3434 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
3435 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
3436 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
3437
7fece979
JJ
34382011-02-03 Jakub Jelinek <jakub@redhat.com>
3439
3440 PR middle-end/31490
3441 * output.h (SECTION_RELRO): Define.
3442 (SECTION_MACH_DEP): Adjust.
3443 (get_variable_section): New prototype.
3444 * varpool.c (varpool_finalize_named_section_flags): New function.
3445 (varpool_assemble_pending_decls): Call it.
3446 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
3447 * cgraphunit.c (cgraph_output_in_order): Call
3448 varpool_finalize_named_section_flags.
3449 * varasm.c (get_section): Allow section flags conflicts between
3450 relro and read-only sections if the section hasn't been declared yet.
3451 Set SECTION_OVERRIDE after diagnosing section type conflict.
3452 (get_variable_section): No longer static.
3453 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
3454 readonly sections that need relocations.
3455 (decl_readonly_section_1): New function.
3456 (decl_readonly_section): Use it.
3457
3458 Revert:
509d65dd 3459 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
3460 Steve Ellcey <sje@cup.hp.com>
3461
3462 PR middle-end/31490
3463 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
3464 if section attribute used.
3465
d18d5478
JJ
34662011-02-03 Jakub Jelinek <jakub@redhat.com>
3467
3468 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
3469 * config/darwin.c (SECTION_NO_ANCHOR): Define.
3470 (darwin_init_sections): Remove assertion.
3471
6479ed4b
NC
34722011-02-03 Nick Clifton <nickc@redhat.com>
3473
3474 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
3475 lt and ge.
38be4072 3476 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
3477 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
3478 instead of "n" and "pz".
3479 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
3480 CC_FLAG_S.
3481
89843f5d
JJ
34822011-02-03 Jakub Jelinek <jakub@redhat.com>
3483
65450d64
JJ
3484 PR target/47312
3485 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
3486 fma, expand FMA_EXPR as fma{,f,l} call.
3487
7d58701c
JJ
3488 PR lto/47274
3489 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
3490 copy them into a unsigned char variable and pass address of it to
3491 lto_output_data_stream.
3492
89843f5d
JJ
3493 PR target/47564
3494 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
3495 around backend_init_target and lang_dependent_init_target calls.
3496 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
3497 (verify_cgraph_node): Don't call set_cfun here. Use
3498 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
3499 Set error_found for incorrectly represented calls to thunks.
3500
4deef538
AO
35012011-02-03 Alexandre Oliva <aoliva@redhat.com>
3502
3503 PR debug/43092
3504 PR rtl-optimization/43494
3505 * rtl.h (for_each_inc_dec_fn): New type.
3506 (for_each_inc_dec): Declare.
3507 * rtlanal.c (struct for_each_inc_dec_ops): New type.
3508 (for_each_inc_dec_find_inc_dec): New fn.
3509 (for_each_inc_dec_find_mem): New fn.
3510 (for_each_inc_dec): New fn.
3511 * dse.c (struct insn_size): Remove.
3512 (replace_inc_dec, replace_inc_dec_mem): Remove.
3513 (emit_inc_dec_insn_before): New fn.
3514 (check_for_inc_dec): Use it, along with for_each_inc_dec.
3515 (canon_address): Pass mem modes to cselib_lookup.
3516 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
3517 (cselib_lookup_from_insn): Likewise.
3518 (cselib_subst_to_values): Likewise.
3519 * cselib.c (find_slot_memmode): New var.
3520 (cselib_find_slot): New fn. Use it instead of
3521 htab_find_slot_with_hash everywhere.
3522 (entry_and_rtx_equal_p): Use find_slot_memmode.
3523 (autoinc_split): New fn.
3524 (rtx_equal_for_cselib_p): Rename and implement in terms of...
3525 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
3526 Deal with autoinc. Special-case recursion into MEMs.
3527 (cselib_hash_rtx): Likewise.
3528 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
3529 address and MEM modes.
3530 (cselib_subst_to_values): Add memmode, pass it on.
3531 Deal with autoinc.
3532 (cselib_lookup): Add memmode argument, pass it on.
3533 (cselib_lookup_from_insn): Add memmode.
3534 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
3535 (struct cselib_record_autoinc_data): New.
3536 (cselib_record_autoinc_cb): New fn.
3537 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
3538 mode to cselib_lookup. Reset autoinced REGs here instead of...
3539 (cselib_process_insn): ... here.
3540 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
3541 to cselib_lookup.
3542 (add_uses): Likewise, also to cselib_subst_to_values.
3543 (add_stores): Likewise.
3544 * sched-deps.c (add_insn_mem_dependence): Pass mode to
3545 cselib_subst_to_values.
3546 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
3547 * gcse.c (do_local_cprop): Adjusted.
3548 * postreload.c (reload_cse_simplify_set): Adjusted.
3549 (reload_cse_simplify_operands): Adjusted.
3550 * sel-sched-dump (debug_mem_addr_value): Pass mode.
3551
1551d44a
AO
35522011-02-03 Alexandre Oliva <aoliva@redhat.com>
3553
3554 PR tree-optimization/45122
3555 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
3556 unsafe assumptions when there's more than one loop exit.
3557
c9485473
MM
35582011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
3559
3560 PR target/47272
3561 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
3562 Document using vector double with the load/store builtins, and
3563 that the load/store builtins always use Altivec instructions.
3564
3565 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
3566 to use altivec memory instructions, even on VSX.
3567 (vector_altivec_store_<mode>): Ditto.
3568
3569 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
3570 function.
3571
3572 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
3573 V2DF, V2DI support to load/store overloaded builtins.
3574
3575 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
3576 altivec load/store builtins for V2DF/V2DI types.
3577
3578 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
3579 set avoid indexed addresses on power6 if -maltivec.
3580 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
3581 vector_altivec_load/vector_altivec_store builtins.
3582 (altivec_expand_st_builtin): Ditto.
3583 (altivec_expand_builtin): Add VSX memory builtins.
3584 (rs6000_init_builtins): Add V2DI types to internal types.
3585 (altivec_init_builtins): Add support for V2DF/V2DI altivec
3586 load/store builtins.
3587 (rs6000_address_for_altivec): Insure memory address is appropriate
3588 for Altivec.
3589
3590 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
3591 vec_vsx_ld and vec_vsx_st.
3592 (vsx_store_<mode>): Ditto.
3593
3594 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
3595 variables to hold long long types for VSX vector memory builtins.
3596 (RS6000_BTI_unsigned_long_long): Ditto.
3597 (long_long_integer_type_internal_node): Ditti.
3598 (long_long_unsigned_type_internal_node): Ditti.
3599
3600 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
3601 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
3602 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
3603
3604 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
3605 short cuts.
3606 (vec_vsx_st): Ditto.
3607
b24d1acf
JM
36082011-02-02 Joseph Myers <joseph@codesourcery.com>
3609
3610 * config/pa/pa-hpux10.opt: New.
3611 * config/hpux11.opt (pthread): New Driver option.
3612 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
3613 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
3614
aa18dd0f
JM
36152011-02-02 Joseph Myers <joseph@codesourcery.com>
3616
3617 * config/ia64/vms.opt: New.
3618 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
3619
28fc3eee
MM
36202011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
3621
3622 PR target/47580
3623 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
3624 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
3625 generator functions.
3626 (vsx_floatuns<VSi><mode>2): Ditto.
3627 (vsx_fix_trunc<mode><VSi>2): Ditto.
3628 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
3629
b5838b1f
JM
36302011-02-02 Joseph Myers <joseph@codesourcery.com>
3631
3632 * config/i386/djgpp.opt (posix): New Driver option.
3633
0db8fa89
GP
36342011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
3635
3636 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
3637 Move to the unsupported targets list.
3638
9cd4f22a
PB
36392011-02-02 Peter Bergner <bergner@vnet.ibm.com>
3640
3641 PR rtl-optimization/47525
3642 * df-scan.c: Update copyright years.
3643 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
3644 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
3645
9ed8059c
RO
36462011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3647
3648 * config/i386/sysv4.h (TARGET_VERSION): Remove.
3649 (SUBTARGET_RETURN_IN_MEMORY): Remove.
3650 (ASM_OUTPUT_ASCII): Remove.
3651 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
3652
2a737389
JL
36532011-02-02 Jeff Law <law@redhat.com>
3654
3655 PR middle-end/47543
3656 * reload.c (find_reloads_address): Handle reg+d address where both
3657 components are invalid by reloading the entire address.
3658
9dac82c4
SP
36592011-02-02 Sebastian Pop <sebastian.pop@amd.com>
3660 Richard Guenther <rguenther@suse.de>
3661
3662 PR tree-optimization/40979
3663 PR bootstrap/47044
3664 * passes.c (init_optimization_passes): After LIM call copy_prop
3665 and DCE to clean up.
3666 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
3667
14dd9aab
SP
36682011-02-02 Sebastian Pop <sebastian.pop@amd.com>
3669
3670 PR tree-optimization/47576
3671 PR tree-optimization/47555
3672 * doc/invoke.texi (scev-max-expr-complexity): Documented.
3673 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
3674 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
3675 * tree-scalar-evolution.c (follow_ssa_edge): Use
3676 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
3677
5cbf5c20
RG
36782011-02-02 Richard Guenther <rguenther@suse.de>
3679
3680 PR tree-optimization/47566
3681 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
3682
83d70792
AO
36832011-02-02 Alexandre Oliva <aoliva@redhat.com>
3684
e829c321
AO
3685 PR debug/47106
3686 PR debug/47402
3687 * tree-inline.c (declare_return_variable): Remove unused caller
3688 variable.
3689
83d70792
AO
3690 PR debug/47106
3691 PR debug/47402
3692 * tree-flow-inline.h (clear_is_used, is_used_p): New.
3693 * cfgexpand.c (account_used_vars_for_block): Use them.
3694 * tree-nrv.c (tree_nrv): Likewise.
3695 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
3696 (dump_scope_block): Likewise.
3697 (remove_unused_locals): Likewise.
3698
aaa2ac93
AO
3699 PR debug/47106
3700 PR debug/47402
3701 * tree-inline.c (declare_return_variable): Add result decl to
3702 local decls only once.
3703 * gimple-low.c (record_vars_into): Mark newly-created variables
3704 as referenced.
3705
a59d15cf
AO
37062011-02-02 Alexandre Oliva <aoliva@redhat.com>
3707
3708 PR debug/47498
3709 PR debug/47501
3710 PR debug/45136
3711 PR debug/45130
3712 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
3713 debug insns.
3714 (no_real_insns_p, schedule_block, set_priorities): Drop special
3715 treatment of boundary debug insns.
38be4072 3716 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
3717 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
3718 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
3719 (BOUNDARY_DEBUG_INSN_P): Likewise.
3720 (SCHEDULE_DEBUG_INSN_P): Likewise.
3721 * sched-rgn.c (init_ready_list): Drop special treatment of
3722 boundary debug insns.
3723 * final.c (rest_of_clean_state): Clear notes' BB.
3724
6fc2f091
JM
37252011-02-01 Joseph Myers <joseph@codesourcery.com>
3726
3727 * config/openbsd.opt (assert=): New Driver option.
3728
fc523387
JM
37292011-02-01 Joseph Myers <joseph@codesourcery.com>
3730
3731 * config/i386/nto.opt: New.
3732 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
3733
6d9821e5
JM
37342011-02-01 Joseph Myers <joseph@codesourcery.com>
3735
3736 * config/i386/netware.opt: New.
3737 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
3738
cef932d4
JM
37392011-02-01 Joseph Myers <joseph@codesourcery.com>
3740
3741 * config/interix.opt (posix): New Driver option.
3742
22843acd
DD
37432011-02-01 DJ Delorie <dj@redhat.com>
3744
56490b74
DD
3745 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
3746
22843acd
DD
3747 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
3748 class for A0/A1.
3749
199c8f2f
SP
37502011-02-01 Sebastian Pop <sebastian.pop@amd.com>
3751
3752 PR tree-optimization/47561
3753 * toplev.c (process_options): Print the Graphite flags. Add
3754 flag_loop_flatten to the list of options requiring Graphite.
3755
926bcf22
JM
37562011-02-01 Joseph Myers <joseph@codesourcery.com>
3757
3758 * config/i386/cygming.opt (posix): New Driver option.
3759
59793c51
JM
37602011-02-01 Joseph Myers <joseph@codesourcery.com>
3761
3762 * config/arm/vxworks.opt: New.
3763 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
3764
183c38a4
JM
37652011-02-01 Joseph Myers <joseph@codesourcery.com>
3766
3767 * config/alpha/elf.opt: New.
3768 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
3769 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
3770
9939e416
RG
37712011-02-01 Richard Guenther <rguenther@suse.de>
3772
3773 PR tree-optimization/47559
3774 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
3775 store-motion on references that can throw.
3776
4a3c9687
BS
37772011-02-01 Bernd Schmidt <bernds@codesourcery.com>
3778
3779 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
3780 * tree-pass.h (TDF_CSELIB): New macro.
3781 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
3782 cselib_lookup): Check for it rather than for TDF_DETAILS.
3783
dd3b31fb
L
37842011-02-01 H.J. Lu <hongjiu.lu@intel.com>
3785
3786 PR driver/47547
3787 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
3788 is HOST_BIT_BUCKET.
3789
3790 * opts.c (finish_options): Don't add x_aux_base_name if it is
3791 HOST_BIT_BUCKET.
3792
34c1de79
RG
37932011-02-01 Richard Guenther <rguenther@suse.de>
3794
3795 PR tree-optimization/47555
3796 Revert
3797 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
3798
3799 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
3800
dd2804d2
SB
38012011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
3802
3803 PR gcc/46692
3804 * config/lm32/t-lm32: Add multilib for all CPU options.
3805
3fd3b156
RG
38062011-02-01 Richard Guenther <rguenther@suse.de>
3807
3808 PR tree-optimization/47541
3809 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
3810 sure to have a field at offset zero.
3811
f16072b6
JM
38122011-01-31 Joseph Myers <joseph@codesourcery.com>
3813
3814 * config/arc/arc.opt (EB, EL): New Driver options.
3815
6456cf2e
JM
38162011-01-31 Joseph Myers <joseph@codesourcery.com>
3817
3818 * config/alpha/osf5.opt: New.
3819 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
3820
cdde6ab4
JM
38212011-01-31 Joseph Myers <joseph@codesourcery.com>
3822
3823 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
3824
7633415c
SP
38252011-01-31 Sebastian Pop <sebastian.pop@amd.com>
3826
3827 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
3828 -floop-interchange.
3829 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
3830 is an alias of -floop-interchange and that it requires the
3831 Graphite infrastructure.
3832 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
3833 flag_loop_interchange based on the value of flag_tree_loop_linear.
3834
0425d6f5
JJ
38352011-01-31 Jakub Jelinek <jakub@redhat.com>
3836 Richard Guenther <rguenther@suse.de>
3837
3838 PR tree-optimization/47538
3839 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
3840 type instead of r1type, except for comparisons. For right
3841 shifts and comparisons punt if there are mismatches in
3842 sizetype vs. non-sizetype types.
3843
500b16c3
RO
38442011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3845
3846 * doc/sourcebuild.texi (Effective-Target Keywords): Document
3847 avx_runtime.
3848
e279edb0
RO
38492011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3850
3851 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
3852 version number.
3853 * configure: Regenerate.
3854
c6092243
RO
38552011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3856
3857 * configure.ac (gcc_cv_ld_static_option): Define.
3858 (gcc_cv_ld_dynamic_option): Define.
3859 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
3860 instead.
3861 (HAVE_LD_STATIC_DYNAMIC): Update message.
3862 (LD_STATIC_OPTION): Define.
3863 (LD_DYNAMIC_OPTION): Define.
3864 * configure: Regenerate.
3865 * config.in: Regenerate.
3866 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
3867 HAVE_LD_STATIC_DYNAMIC]: Use them.
3868
d7862be3
NC
38692011-01-31 Nick Clifton <nickc@redhat.com>
3870
3871 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
3872 registers inside interrupt handlers if the handler is not a leaf
3873 function.
3874
ba4ec0e0
NC
38752011-01-31 Nick Clifton <nickc@redhat.com>
3876
3877 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
3878 reg_renumber returning an INVALID_REGNUM.
3879
29a63921
AO
38802011-01-31 Alexandre Oliva <aoliva@redhat.com>
3881
3882 PR libgcj/44341
3883 * doc/install.texi: Document host options discarded when cross
3884 configuring target libraries.
3885
ef591d3f
AO
38862011-01-31 Alexandre Oliva <aoliva@redhat.com>
3887
3888 Reverted:
3889 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
3890 PR debug/45136
3891 PR debug/45130
3892 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
3893 debug insns.
3894 (no_real_insns_p, schedule_block, set_priorities): Drop special
3895 treatment of boundary debug insns.
38be4072 3896 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
3897 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
3898 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
3899 (BOUNDARY_DEBUG_INSN_P): Likewise.
3900 (SCHEDULE_DEBUG_INSN_P): Likewise.
3901 * sched-rgn.c (init_ready_list): Drop special treatment of
3902 boundary debug insns.
3903 * final.c (rest_of_clean-state): Clear notes' BB.
3904
61052244
AM
39052011-01-31 Alan Modra <amodra@gmail.com>
3906
3907 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
3908 toc relative expressions as we do in print_operand_address.
3909
c4c8962b
KH
39102011-01-30 Kazu Hirata <kazu@codesourcery.com>
3911
3912 * doc/extend.texi: Follow spelling conventions.
3913 * doc/invoke.texi: Fix a typo.
3914
e543b94c
JM
39152011-01-30 Joseph Myers <joseph@codesourcery.com>
3916
3917 * config/hpux11.opt: New.
3918 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
3919 ia64*-*-hpux*): Use hpux11.opt.
3920
509d65dd 39212011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
3922
3923 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
3924 to tmake_file.
3925
7be03a0e
GP
39262011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
3927
3928 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
3929 support sites.
3930
419d1d37
GP
39312011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
3932
b596ed64
GP
3933 * doc/install.texi (Binaries): Remove outdated reference for
3934 Motorola 68HC11/68HC12 downloads.
3935
39362011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 3937
419d1d37
GP
3938 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
3939 Drepper's paper.
3940
4406d0e9
JW
39412011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
3942
3943 PR bootstrap/47147
3944 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
3945 used by NetBSD.
3946
38be4072 39472011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
3948
3949 * value-prof.c (check_counter): Corrected error message.
3950
0cd98787
JZ
39512011-01-29 Jie Zhang <jie@codesourcery.com>
3952
3953 * config/arm/arm.c (arm_legitimize_reload_address): New.
3954 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
3955 arm_legitimize_reload_address.
38be4072 3956 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 3957
9b798ac5
ILT
39582011-01-28 Ian Lance Taylor <iant@google.com>
3959
3960 * godump.c (go_define): Ignore macros whose definitions include
3961 two adjacent operands.
3962
591e29d9
JJ
39632011-01-28 Jakub Jelinek <jakub@redhat.com>
3964
3965 PR target/42894
3966 * varasm.c (force_const_mem): Store copy of x in desc->constant
3967 instead of x itself.
3968 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
3969 itself into REG_EQUAL note.
3970
62dcc44a
JM
39712011-01-28 Joseph Myers <joseph@codesourcery.com>
3972
3973 * config/freebsd.opt (posix, rdynamic): New Driver options.
3974
c9f58b9a
RO
39752011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3976
3977 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
3978 -Bstatic/-Bdynamic.
3979 * configure: Regenerate.
3980
5f02b9db
JM
39812011-01-27 Joseph Myers <joseph@codesourcery.com>
3982
3983 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
3984 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
3985
5df97412
AS
39862011-01-27 Anatoly Sokolov <aesok@post.ru>
3987
3988 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
3989 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
3990 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
3991 (s390_preferred_reload_class): Make static. Change return and
3992 'rclass' argument type to reg_class_t.
3993
779d4b91
JH
39942011-01-27 Jan Hubicka <jh@suse.cz>
3995
3996 PR middle-end/46949
3997 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
3998 (process_function_and_variable_attributes): Check defined weakrefs.
3999
e80b21ed
MJ
40002011-01-27 Martin Jambor <mjambor@suse.cz>
4001
4002 PR tree-optimization/47228
4003 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
4004 build_ref_for_offset.
4005
6dcc4f31
UW
40062011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4007
4008 * config/spu/spu-elf.h (ASM_SPEC): Remove.
4009
509d65dd 40102011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
4011
4012 PR rtl-optimization/46856
4013 * postreload.c (reload_combine_recognize_const_pattern): Do not
4014 separate cc0 setter and user on cc0 targets.
4015
04af8788
NP
40162011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
4017
4018 PR c/43082
4019 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
4020 passed a VOID_TYPE expression, immediately emit an error and
4021 return error_mark_node.
4022
f7a60085
JL
40232011-01-26 Jeff Law <law@redhat.com>
4024
4025 PR rtl-optimization/47464
4026 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
4027 rather than may_trap_p as needed.
4028
5c2917ec
DD
40292011-01-26 DJ Delorie <dj@redhat.com>
4030
4031 PR rtl-optimization/46878
4032 * combine.c (insn_a_feeds_b): Check for the implicit cc0
4033 setter/user dependency as well.
4034
bef16e87
EB
40352011-01-26 Eric Botcazou <ebotcazou@adacore.com>
4036
4037 PR rtl-optimization/44469
4038 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
4039 after removing trivially dead basic blocks.
4040
c75d884b
JM
40412011-01-26 Joseph Myers <joseph@codesourcery.com>
4042
4043 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
4044 * config/frv/frv.h (LINK_SPEC): Likewise.
4045 * config/i386/netware.h (LINK_SPEC): Likewise.
4046 * config/m68k/linux.h (ASM_SPEC): Likewise.
4047 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
4048 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
4049 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
4050 * config/sparc/linux.h (ASM_SPEC): Likewise.
4051 * config/sparc/linux64.h (ASM_SPEC): Likewise.
4052 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
4053
d3153553
JM
40542011-01-26 Joseph Myers <joseph@codesourcery.com>
4055
4056 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
4057 * config/frv/frv.h (ASM_SPEC): Likewise.
4058 * config/m68k/linux.h (ASM_SPEC): Likewise.
4059 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
4060 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
4061 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
4062 * config/sparc/linux.h (ASM_SPEC): Likewise.
4063 * config/sparc/linux64.h (ASM_SPEC): Likewise.
4064 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
4065
b89b1e9d
JM
40662011-01-26 Joseph Myers <joseph@codesourcery.com>
4067
4068 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
4069 * config/frv/frv.h (LINK_SPEC): Likewise.
4070 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
4071
12eb1a9c
JM
40722011-01-26 Joseph Myers <joseph@codesourcery.com>
4073
4074 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
4075 * config/frv/frv.h (ASM_SPEC): Likewise.
4076 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
4077 * config/m68k/linux.h (ASM_SPEC): Likewise.
4078 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
4079 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
4080 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
4081 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
4082 * config/sparc/linux.h (ASM_SPEC): Likewise.
4083 * config/sparc/linux64.h (ASM_SPEC): Likewise.
4084 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
4085 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
4086
e435f098
SE
40872011-01-26 Steve Ellcey <sje@cup.hp.com>
4088
4089 PR target/46997
4090 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
4091 (*mux2): Ditto.
4092 (vec_extract_evenodd_help): Ditto.
4093 (vec_extract_evenv4hi): Ditto.
4094 (vec_extract_oddv4hi): Ditto.
4095 (vec_interleave_lowv2si): Ditto.
4096 (vec_interleave_highv2si): Ditto.
4097 (vec_extract_evenv2si): Ditto.
4098 (vec_extract_oddv2si: Ditto.
4099 (vec_pack_trunc_v2si): Ditto.
4100
34f0eee0
JH
41012011-01-22 Jan Hubicka <jh@suse.cz>
4102
4103 PR target/47237
4104 * cgraph.h (cgraph_local_info): New field can_change_signature.
4105 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
4106 signature can change.
4107 (ipcp_estimate_growth): Call sequence simplify only if calle signature
4108 can change.
4109 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
4110 (cgraph_function_versioning): We can not change signature of functions
4111 that don't allow that.
4112 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
4113 (lto_input_node): Likewise.
38be4072
UB
4114 * ipa-inline.c (compute_inline_parameters): Compute
4115 local.can_change_signature.
34f0eee0 4116 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
4117 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
4118 functions that can not change signature.
34f0eee0 4119 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
4120 init_cumulative_args): Do not use local calling conventions
4121 for functions that can not change signature.
34f0eee0 4122
980ca891
JH
41232011-01-22 Jan Hubicka <jh@suse.cz>
4124
4125 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
4126
768e3c60
RG
41272011-01-26 Richard Guenther <rguenther@suse.de>
4128
4129 PR tree-optimization/47190
61052244
AM
4130 * cgraphunit.c (process_common_attributes): New function.
4131 (process_function_and_variable_attributes): Use it.
768e3c60 4132
21d6a1c7
RG
41332011-01-26 Richard Guenther <rguenther@suse.de>
4134
4135 PR lto/47423
4136 * cgraphbuild.c (record_eh_tables): Record reference to personality
4137 function.
4138
48bb58b1
AO
41392011-01-26 Alexandre Oliva <aoliva@redhat.com>
4140
4141 PR debug/45454
4142 * sel-sched.c (moveup_expr): Don't let debug insns prevent
4143 non-debug insns from moving up.
4144
58c741a6
DK
41452011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
4146
4147 PR target/40125
4148 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
4149 t-dlldir{,-x} fragment for build and add it to tmake_file.
4150 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
4151 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
4152 * config/i386/t-dlldir: New file.
4153 (SHLIB_DLLDIR): Define.
4154 * config/i386/t-dlldir-x: New file.
4155 (SHLIB_DLLDIR): Define.
4156 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
4157 (SHLIB_INSTALL): Use it.
4158
bff99262
CLT
41592011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
4160
4161 PR target/47246
4162 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
4163 lower bound of the allowed Thumb-2 coprocessor load/store
4164 index range to -256. Add explaining comment.
4165
82c03907
ILT
41662011-01-25 Ian Lance Taylor <iant@google.com>
4167
4168 * godump.c (go_define): Improve lexing of macro expansion to only
4169 accept expressions which match Go spec.
4170
47ea1edf
DK
41712011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
4172
d4dba752 4173 PR c++/43601
47ea1edf
DK
4174 * tree.c (handle_dll_attribute): Handle it.
4175 * doc/extend.texi (@item dllexport): Mention it.
4176 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
4177
744f0946
ILT
41782011-01-25 Ian Lance Taylor <iant@google.com>
4179
4180 PR tree-optimization/26854
4181 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
4182 (decl_jump_unsafe): Move higher in file, with no other change.
4183 (bind): Set has_jump_unsafe_decl if appropriate.
4184 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
4185 (check_earlier_gotos): Likewise.
4186 (c_check_switch_jump_warnings): Likewise.
4187
5734f2b3
JW
41882011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
4189
4190 * doc/invoke.texi (Warning Options): Add missing hyphen.
4191 (-fprofile-dir): Minor grammatical fixes.
4192 (-fbranch-probabilities): Likewise.
4193
9bdbdcef
AO
41942011-01-25 Alexandre Oliva <aoliva@redhat.com>
4195
4196 PR debug/45136
4197 PR debug/45130
4198 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
4199 debug insns.
4200 (no_real_insns_p, schedule_block, set_priorities): Drop special
4201 treatment of boundary debug insns.
38be4072 4202 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
4203 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
4204 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
4205 (BOUNDARY_DEBUG_INSN_P): Likewise.
4206 (SCHEDULE_DEBUG_INSN_P): Likewise.
4207 * sched-rgn.c (init_ready_list): Drop special treatment of
4208 boundary debug insns.
4209 * final.c (rest_of_clean-state): Clear notes' BB.
4210
b305e3da
SP
42112011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4212
4213 * Makefile.in (LAMBDA_H): Removed.
4214 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
4215 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
4216 lambda-trans.o, and tree-loop-linear.o.
4217 (lto-symtab.o): Remove dependence on LAMBDA_H.
4218 (tree-loop-linear.o): Remove rule.
4219 (lambda-mat.o): Same.
4220 (lambda-trans.o): Same.
4221 (lambda-code.o): Same.
4222 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
4223 (tree-vect-slp.o): Same.
4224 * hwint.h (gcd): Moved here.
4225 (least_common_multiple): Same.
4226 * lambda-code.c: Removed.
4227 * lambda-mat.c: Removed.
4228 * lambda-trans.c: Removed.
4229 * lambda.h: Removed.
4230 * tree-loop-linear.c: Removed.
4231 * lto-symtab.c: Do not include lambda.h.
4232 * omega.c (gcd): Removed.
4233 * passes.c (init_optimization_passes): Remove pass_linear_transform.
4234 * tree-data-ref.c (print_lambda_vector): Moved here.
4235 (lambda_vector_copy): Same.
4236 (lambda_matrix_copy): Same.
4237 (lambda_matrix_id): Same.
4238 (lambda_vector_first_nz): Same.
4239 (lambda_matrix_row_add): Same.
4240 (lambda_matrix_row_exchange): Same.
4241 (lambda_vector_mult_const): Same.
4242 (lambda_vector_negate): Same.
4243 (lambda_matrix_row_negate): Same.
4244 (lambda_vector_equal): Same.
4245 (lambda_matrix_right_hermite): Same.
4246 * tree-data-ref.h: Do not include lambda.h.
4247 (lambda_vector): Moved here.
4248 (lambda_matrix): Same.
4249 (dependence_level): Same.
4250 (lambda_transform_legal_p): Removed declaration.
4251 (lambda_collect_parameters): Same.
4252 (lambda_compute_access_matrices): Same.
4253 (lambda_vector_gcd): Same.
4254 (lambda_vector_new): Same.
4255 (lambda_vector_clear): Same.
4256 (lambda_vector_lexico_pos): Same.
4257 (lambda_vector_zerop): Same.
4258 (lambda_matrix_new): Same.
4259 * tree-flow.h (least_common_multiple): Removed declaration.
4260 * tree-parloops.c (lambda_trans_matrix): Moved here.
4261 (LTM_MATRIX): Same.
4262 (LTM_ROWSIZE): Same.
4263 (LTM_COLSIZE): Same.
4264 (LTM_DENOMINATOR): Same.
4265 (lambda_trans_matrix_new): Same.
4266 (lambda_matrix_vector_mult): Same.
4267 (lambda_transform_legal_p): Same.
4268 * tree-pass.h (pass_linear_transform): Removed declaration.
4269 * tree-ssa-loop.c (tree_linear_transform): Removed.
4270 (gate_tree_linear_transform): Removed.
4271 (pass_linear_transform): Removed.
4272 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
4273 flag_loop_interchange.
4274
6bdfdb96
JJ
42752011-01-25 Jakub Jelinek <jakub@redhat.com>
4276
4277 PR tree-optimization/47265
4278 PR tree-optimization/47443
4279 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
4280 if name still has some uses.
4281
e4cba915
MJ
42822011-01-25 Martin Jambor <mjambor@suse.cz>
4283
4284 PR tree-optimization/47382
4285 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
4286 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
4287
509d65dd 42882011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
4289
4290 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
4291 sjlj_except_unwind_info.
4292
194313e2
RG
42932011-01-25 Richard Guenther <rguenther@suse.de>
4294
4295 PR tree-optimization/47426
4296 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
4297 visible functions results escape.
4298
147a0bcf
JJ
42992011-01-25 Jakub Jelinek <jakub@redhat.com>
4300
4301 PR target/45701
4302 * config/arm/arm.c (any_sibcall_uses_r3): New function.
4303 (arm_get_frame_offsets): Use it.
4304
db963b52
SP
43052011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4306 Jakub Jelinek <jakub@redhat.com>
4307
4308 PR tree-optimization/47271
4309 * tree-if-conv.c (bb_postdominates_preds): New.
4310 (if_convertible_bb_p): Call bb_postdominates_preds.
4311 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
4312 (predicate_scalar_phi): Call bb_postdominates_preds.
4313
bcddd3b9
NC
43142011-01-25 Nick Clifton <nickc@redhat.com>
4315
4316 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
4317 * config/rx/rx.c (rx_function_value): Likewise.
4318 (rx_promote_function_mode): Likewise.
4319 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
4320 in order to make it legitimate.
38be4072
UB
4321 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
4322 make sure that the first operand is the same as the result register.
bcddd3b9
NC
4323 (addsi3_unspec): Delete.
4324 (subdi3): Do not accept immediate operands.
4325 (subdi3_internal): Likewise.
4326
7e6cb022
JL
43272011-01-25 Jeff Law <law@redhat.com>
4328
4329 PR rtl-optimization/37273
4330 * ira-costs.c (scan_one_insn): Detect constants living in memory and
4331 handle them like argument loads from stack slots. Do not double
4332 count memory for memory constants and argument loads from stack slots.
4333
9ffa621e
JJ
43342011-01-25 Jakub Jelinek <jakub@redhat.com>
4335
4336 PR tree-optimization/47427
4337 PR tree-optimization/47428
4338 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
4339 coalesce if the new root var would be TREE_READONLY.
4340
5bd6e652
RG
43412011-01-25 Richard Guenther <rguenther@suse.de>
4342
4343 PR middle-end/47414
4344 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
4345 correct type for TBAA.
4346
7c48ea69
SP
43472011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4348
4349 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
4350 (close_phi_written_to_memory): Call for_each_index with
4351 dr_indices_valid_in_loop.
4352
38013f25
SP
43532011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4354
4355 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
4356 when it is initialized.
4357
5c640e29
SP
43582011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4359
4360 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
4361 call to graphite_find_data_references_in_stmt.
4362 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
4363 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
4364 call to graphite_find_data_references_in_stmt.
4365 (analyze_drs_in_stmts): Same.
4366 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
4367 in which the scalar analysis of indices is performed.
4368 (create_data_ref): Same. Update call to dr_analyze_indices.
4369 (find_data_references_in_stmt): Update call to create_data_ref.
4370 (graphite_find_data_references_in_stmt): Same.
4371 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
4372 declaration.
4373 (create_data_ref): Same.
4374 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
4375 call to create_data_ref.
4376
ac53c069
SP
43772011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4378
4379 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 4380 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 4381
3d17df15
SP
43822011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4383
4384 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
4385 VAR_DECL, PARM_DECL, and RESULT_DECL.
4386
c513da01
SP
43872011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4388
4389 * graphite-dependences.c (reduction_dr_1): Allow several reductions
4390 in a reduction PBB.
4391 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
4392 that have already been marked as PBB_IS_REDUCTION.
4393
3a292d59
SP
43942011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4395
4396 * graphite-scop-detection.c (same_close_phi_node): New.
4397 (remove_duplicate_close_phi): New.
4398 (make_close_phi_nodes_unique): New.
4399 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
4400
ba858447
SP
44012011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4402
4403 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
4404 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
4405 of both data references to be the same.
4406
8d865c56
SP
44072011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4408
38be4072
UB
4409 * graphite-dependences.c (build_lexicographical_constraint): Remove
4410 the gdim parameter.
4411 (build_lexicographical_constraint): Adjust call to
4412 ppl_powerset_is_empty.
8d865c56
SP
4413 (dependence_polyhedron): Same.
4414 (graphite_legal_transform_dr): Same.
4415 (graphite_carried_dependence_level_k): Same.
38be4072
UB
4416 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
4417 parameter.
8d865c56
SP
4418 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
4419
50034a36
SP
44202011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4421
4422 * graphite-sese-to-poly.c
4423 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
4424 (close_phi_written_to_memory): New.
4425 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
4426 and unshare_expr.
4427
0deada9e
SP
44282011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4429
4430 * doc/install.texi: Update the expected version number of PPL to 0.11.
4431 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
4432 #if PPL_VERSION_MINOR < 11.
4433
d7d3d6af
SP
44342011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4435
4436 * graphite-dependences.c: Include graphite-cloog-util.h.
4437 (new_poly_ddr): Inlined into dependence_polyhedron.
4438 (free_poly_ddr): Moved close by new_poly_ddr.
4439 (dependence_polyhedron_1): Renamed dependence_polyhedron.
4440 Early return NULL when ppl_powerset_is_empty returns true.
4441 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
4442 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
4443 (graphite_legal_transform_dr): Call new_poly_ddr.
4444 (graphite_carried_dependence_level_k): Same.
4445 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
4446 (dot_transformed_deps_stmt_1): Removed.
4447 (dot_deps_stmt_1): Call dot_deps_stmt_2.
4448 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
4449 (dot_deps_1): Call dot_deps_2.
4450 * Makefile.in (graphite-dependences.o): Add missing dependence on
4451 graphite-cloog-util.h.
4452
28c5db57
SP
44532011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4454
4455 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
4456 (build_lexicographical_constraint): Same.
4457 (dependence_polyhedron_1): Same.
4458 (graphite_legal_transform_dr): Same.
4459 (graphite_carried_dependence_level_k): Same.
4460 * graphite-ppl.c (ppl_powerset_is_empty): New.
4461 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
4462 * tree-data-ref.c (dump_data_reference): Print the basic block index.
4463
5168d98f
SP
44642011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4465
4466 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
4467 the "a followed by b" relation and document it.
4468
4a40293a
SP
44692011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4470
4471 * graphite-dependences.c (build_lexicographical_constraint): Stop the
4472 iteration when the bag of constraints is empty.
4473
271fb6fa
SP
44742011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4475
4476 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
4477
92d23680
SP
44782011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4479
4480 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
4481 nest and two loop depths as parameters.
4482 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
4483 lst_perfect_nestify.
4484
2f51deff
SP
44852011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4486
4487 * graphite-dependences.c (print_pddr): Call
4488 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
4489
07f3593c
SP
44902011-01-25 Sebastian Pop <sebastian.pop@amd.com>
4491
4492 * graphite-ppl.c (debug_gmp_value): New.
4493 * graphite-ppl.h (debug_gmp_value): Declared.
4494
3fae6099
TG
44952011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
4496
4497 * doc/install.texi: Document availability of cloog-0.16.
4498
1c3ba85b
SP
44992011-01-25 Vladimir Kargov <kargov@gmail.com>
4500
4501 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
4502 invalid postdominance info.
4503
e8ba94fc
JH
45042011-01-24 Jan Hubicka <jh@suse.cz>
4505
4506 PR c/21659
4507 * doc/extend.texi (weak pragma): Drop claim that it must
4508 appear before definition.
4509 * varasm.c (merge_weak, declare_weak): Only sanity check
4510 that DECL is not output at a time it is declared weak.
4511
2b6e2d13
KZ
45122011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
4513
4514 * machmode.def: Fixed comments.
1c3ba85b 4515
9841210f
KT
45162011-01-24 Kai Tietz <kai.tietz@onevision.com>
4517
4518 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
4519
45202011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
4521
4522 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 4523 WORDS_BIG_ENDIAN.
e046112d 4524
a6c5070a
L
45252011-01-24 H.J. Lu <hongjiu.lu@intel.com>
4526
4527 PR target/46519
4528 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
4529 (block_info): Add scanned and prev.
4530 (move_or_delete_vzeroupper_2): Return if the basic block
4531 has been scanned and the upper 128bit state is unchanged
4532 from the last scan.
4533 (move_or_delete_vzeroupper_1): Return true if the exit
4534 state is changed.
4535 (move_or_delete_vzeroupper): Visit basic blocks using the
4536 work-list based algorithm based on vt_find_locations in
4537 var-tracking.c.
4538
4539 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
4540
a40d79d7
NC
45412011-01-24 Nick Clifton <nickc@redhat.com>
4542
4543 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
4544 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
4545 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
4546 then define __v850e1__.
4547 * doc/invoke.texi: Document -mv850es.
4548
440eb8de
RH
45492011-01-24 Richard Henderson <rth@redhat.com>
4550
4551 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
4552 compound unordered comparisons.
4553 * config/rx/rx.c (rx_split_fp_compare): Remove.
4554 * config/rx/rx-protos.h: Update.
4555 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
4556 (cbranchsf4): Don't call rx_split_fp_compare.
4557 (*cbranchsf4): Use rx_split_cbranch.
4558 (*cmpsf): Don't accept "i" constraint.
4559 (*conditional_branch): Only valid after reload.
4560 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
4561
3ff79f99
MM
45622011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
4563
4564 PR target/47385
4565 * config/rs6000/altivec.md (vector constant splitters): Add
4566 support for creating vector single precision constants if -mvsx is
4567 used and we would create the constant using Altivec primitives.
4568
ff3d9d08
BS
45692011-01-23 Bernd Schmidt <bernds@codesourcery.com>
4570 Richard Sandiford <rdsandiford@googlemail.com>
4571
4572 PR rtl-optimization/47166
4573 * reload1.c (emit_reload_insns): Disable the spill_reg_store
4574 mechanism for PRE_MODIFY and POST_MODIFY.
4575 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
4576 reloadreg.
4577
7fcaf152
AS
45782011-01-23 Andreas Schwab <schwab@linux-m68k.org>
4579
8788adb6 4580 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 4581
d09b58c4
JH
45822011-01-22 Jan Hubicka <jh@suse.cz>
4583
4584 PR lto/47333
4585 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
4586
e8ff8c5a
JH
45872011-01-22 Jan Hubicka <jh@suse.cz>
4588
4589 PR tree-optimization/43884
4590 PR lto/44334
8788adb6 4591 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
4592 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
4593
ccaed3ba
AS
45942011-01-22 Anatoly Sokolov <aesok@post.ru>
4595
4596 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
4597 * config/s390/s390.c (s390_register_move_cost,
4598 s390_memory_move_cost): New.
4599 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
4600
0cecee06
UW
46012011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4602
4603 PR middle-end/47401
4604 * except.c (sjlj_assign_call_site_values): Move setting the
4605 crtl->uses_eh_lsda flag to ...
4606 (sjlj_mark_call_sites): ... here.
4607 (sjlj_emit_function_enter): Support NULL dispatch label.
4608 (sjlj_build_landing_pads): In a function with no landing pads
4609 that still has must-not-throw regions, generate code to register
4610 a personality function with empty LSDA.
4611
e692f276
RH
46122011-01-21 Richard Henderson <rth@redhat.com>
4613
1b7ae0b7
RH
4614 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
4615
3843787f
RH
4616 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
4617
e692f276
RH
4618 * compare-elim.c: New file.
4619 * Makefile.in (OBJS-common): Add it.
4620 (compare-elim.o): New.
4621 * common.opt (fcompare-elim): New.
4622 * opts.c (default_options_table): Add OPT_fcompare_elim.
4623 * tree-pass.h (pass_compare_elim_after_reload): New.
4624 * passes.c (init_optimization_passes): Add it.
4625 * recog.h: Protect against re-inclusion.
4626 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
4627 * doc/invoke.texi (-fcompare-elim): Document it.
4628 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
4629 * doc/tm.texi: Rebuild.
4630
9a7c2050
NC
46312011-01-22 Nick Clifton <nickc@redhat.com>
4632
4633 * config/rx/rx.md (cstoresf4): Pass comparison operator to
4634 rx_split_fp_compare.
4635
15ba5696
NC
46362011-01-22 Nick Clifton <nickc@redhat.com>
4637
4638 * config/rx/rx.md (UNSPEC_CONST): New.
4639 (deallocate_and_return): Wrap the amount popped off the stack in
4640 an UNSPEC_CONST in order to stop it being rejected by
4641 -mmax-constant-size.
4642 (pop_and_return): Add a "(return)" rtx.
4643 (call): Drop the immediate operand.
4644 (call_internal): Likewise.
4645 (call_value): Likewise.
4646 (call_value_internal): Likewise.
4647 (sibcall_internal): Likewise.
4648 (sibcall_value_internal): Likewise.
4649 (sibcall): Likewise. Generate an explicit call using
4650 sibcall_internal.
4651 (sibcall_value): Likewise.
4652 (mov<>): FAIL if a constant operand is not legitimate.
4653 (addsi3_unpsec): New pattern.
9a7c2050 4654
38be4072 4655 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
4656 (ok_for_max_constant): New function.
4657 (gen_safe_add): New function.
4658 (rx_expand_prologue): Use gen_safe_add.
4659 (rx_expand_epilogue): Likewise.
4660 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
4661 UNSPEC CONSTs.
4662
caaf13d3
JL
46632011-01-21 Jeff Law <law@redhat.com>
4664
4665 PR tree-optimization/47053
4666 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
4667 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
4668 statements are deleted.
4669 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
4670 is nonempty, then purge dead edges and cleanup the CFG.
4671
12c30f2f
AO
46722011-01-21 Alexandre Oliva <aoliva@redhat.com>
4673
4674 PR debug/47402
4675 Temporarily revert:
4676 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
4677 PR debug/47106
4678 * tree-dfa.c (create_var_ann): Mark variable as used.
4679
7360d2ac
JJ
46802011-01-21 Jakub Jelinek <jakub@redhat.com>
4681
aaa52a96
JJ
4682 PR middle-end/45566
4683 * except.c (convert_to_eh_region_ranges): Emit queued no-region
4684 notes from other section in hot/cold partitioning even if
4685 last_action is -3. Increment call_site_base.
4686
7360d2ac
JJ
4687 PR rtl-optimization/47366
4688 * fwprop.c (forward_propagate_into): Return bool. If
4689 any changes are made, -fnon-call-exceptions is used and
4690 REG_EH_REGION note is present, call purge_dead_edges
4691 and return true if it purged anything.
4692 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
4693 any EH edges were purged.
4694
e90b336f
JL
46952011-01-21 Jeff Law <law@redhat.com>
4696
4697 PR rtl-optimization/41619
4698 * caller-save.c (setup_save_areas): Break out code to determine
4699 which hard regs are live across calls by examining the reload chains
4700 so that it is always used.
4701 Eliminate code which checked REG_N_CALLS_CROSSED.
4702
3ffe07e1
JJ
47032011-01-21 Jakub Jelinek <jakub@redhat.com>
4704
4705 PR tree-optimization/47355
4706 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
4707 NOP has non-debug uses beyond PHIs in new_bb.
4708
1c7d0b34
AO
47092011-01-21 Alexandre Oliva <aoliva@redhat.com>
4710
4711 PR debug/47106
4712 * cfgexpand.c (account_used_vars_for_block): Only account vars
4713 that are annotated as used.
4714 (estimated_stack_frame_size): Don't set TREE_USED.
4715 * tree-dfa.c (create_var_ann): Mark variable as used.
4716
f99cc488
RG
47172011-01-21 Richard Guenther <rguenther@suse.de>
4718
4719 PR middle-end/47395
4720 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
4721
3bc27de7
RG
47222011-01-21 Richard Guenther <rguenther@suse.de>
4723
4724 PR tree-optimization/47365
4725 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
4726 (vn_reference_lookup_pieces): Adjust.
4727 (vn_reference_lookup): Likewise.
4728 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
4729 (vn_reference_lookup_3): Only look through kills if in
4730 VN_WALKREWRITE mode.
4731 (vn_reference_lookup_pieces): Adjust.
4732 (vn_reference_lookup): Likewise.
4733 (visit_reference_op_load): Likewise.
4734 (visit_reference_op_store): Likewise.
4735 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
4736 (compute_avail): Likewise.
4737 (eliminate): Likewise.
4738
d8debb1d
JJ
47392011-01-21 Jakub Jelinek <jakub@redhat.com>
4740
4741 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
4742 DECL_IGNORED_P non-reg vars if they are used.
4743
3a2df831
JJ
4744 PR tree-optimization/47391
4745 * varpool.c (const_value_known_p): Return false if
4746 decl is volatile.
4747
1dd584a2
KT
47482011-01-21 Kai Tietz <kai.tietz@onevision.com>
4749
4750 PR bootstrap/47215
4751 * config/i386/i386.c (ix86_local_alignment): Handle
4752 case for va_list_type_node is nil.
4753 (ix86_canonical_va_list_type): Likewise.
4754
7f9f095e
AM
47552011-01-21 Alan Modra <amodra@gmail.com>
4756
4757 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
4758 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
4759
837b01f6
RR
47602011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4761
4762 * config/arm/arm.md (define_attr type): Rename f_load
4763 and f_store to f_fpa_load and f_fpa_store. Update.
4764 (write_conflict): Deal with rename fallout.
4765 (*push_fp_multi): Likewise.
4766 * config/arm/fpa.md (f_load): Use f_fpa_load.
4767 (f_store): Use f_fpa_store.
4768 (*movsf_fpa): Likewise.
4769 (*movdf_fpa): Likewise.
4770 (*movxf_fpa): Likewise.
4771 (*thumb2_movsf_fpa): Likewise.
4772 (*thumb2_movdf_fpa): Likewise.
4773 (*thumb2_movxf_fpa): Likewise.
4774 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
4775 f_loadd and f_stored.
4776 (*thumb2_movdi_vfp): Likewise.
4777 (*thumb2_movsf_vfp): Fix attribute to f_loads.
4778 (*thumb2_movsi_vfp): Likewise.
4779 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
4780 Use f_loads instead of f_load.
4781 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
4782
a1a79768
AS
47832011-01-20 Anatoly Sokolov <aesok@post.ru>
4784
4785 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
4786 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
4787 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
4788 (xtensa_mode_dependent_address_p): New function.
4789 (constantpool_address_p): Make static. Change return type to bool.
4790 Change argument type to const_rtx. Use CONST_INT_P predicate.
4791
427f6cec
AO
47922011-01-20 Alexandre Oliva <aoliva@redhat.com>
4793
4794 PR debug/46583
4795 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
4796
583ac69c
JJ
47972011-01-20 Jakub Jelinek <jakub@redhat.com>
4798
4799 PR debug/47283
4800 * cfgexpand.c (expand_debug_expr): Instead of generating
4801 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
4802 etc. handling.
4803
93e452ed
RG
48042011-01-20 Richard Guenther <rguenther@suse.de>
4805
4806 PR middle-end/47370
4807 * tree-inline.c (remap_gimple_op_r): Recurse manually for
4808 the pointer operand of MEM_REFs.
4809
28fc44f3
JJ
48102011-01-20 Jakub Jelinek <jakub@redhat.com>
4811
4812 PR tree-optimization/46130
4813 * ipa-split.c (consider_split): If return_bb contains non-virtual
4814 PHIs other than for retval or if split_function would not adjust it,
4815 refuse to split.
4816
ddd268f2
RG
48172011-01-20 Richard Guenther <rguenther@suse.de>
4818
4819 PR tree-optimization/47167
4820 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
4821 Revert previous change, only avoid enumeral type changes.
4822
882020aa
MS
48232011-01-19 Mike Stump <mikestump@comcast.net>
4824
4825 * doc/tm.texi.in (BRANCH_COST): Englishify.
4826 * doc/tm.texi (BRANCH_COST): Likewise.
4827
7edb6247
DS
48282011-01-19 Dodji Seketeli <dodji@redhat.com>
4829
4830 PR c++/47291
4831 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
4832 (gen_scheduled_generic_parms_dies): New functions.
4833 (gen_struct_or_union_type_die): Schedule template parameters DIEs
4834 generation for the end of CU compilation.
4835 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 4836
23d5ed5d
AO
48372011-01-19 Alexandre Oliva <aoliva@redhat.com>
4838
4839 PR debug/46240
4840 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
4841 debug bind stmt on merge edges.
4842
37d6a488
AO
48432011-01-19 Alexandre Oliva <aoliva@redhat.com>
4844
4845 PR debug/47079
4846 PR debug/46724
4847 * function.c (instantiate_expr): Instantiate incoming rtl of
4848 implicit arguments, and recurse on VALUE_EXPRs.
4849 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
4850 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
4851
689f2c82
AO
48522011-01-19 Alexandre Oliva <aoliva@redhat.com>
4853
4854 * c-parser.c (c_parser_for_statement): Initialize
4855 collection_expression.
4856
03029de4
JM
48572011-01-19 Joseph Myers <joseph@codesourcery.com>
4858
4859 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
4860
3e03217e
JM
48612011-01-19 Joseph Myers <joseph@codesourcery.com>
4862
4863 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
4864 (LINK_SHLIB_SPEC): Don't use %(link_path).
4865 (SUBTARGET_EXTRA_SPECS): Remove link_path.
4866
5bbe9b3f
JM
48672011-01-19 Joseph Myers <joseph@codesourcery.com>
4868
4869 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
4870 (NO_SHARED_LIB_SUPPORT): Remove.
4871 (LINK_SHLIB_SPEC): Remove one conditional definition.
4872
368e0b39
JM
48732011-01-19 Joseph Myers <joseph@codesourcery.com>
4874
4875 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
4876 %{call_shared}.
4877 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
4878 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
4879 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
4880 %{call_shared} and conditionals on these options not being passed.
4881 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
4882 %{call_shared}.
4883
ed7656f6
JJ
48842011-01-19 Jakub Jelinek <jakub@redhat.com>
4885
68457901
JJ
4886 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
4887 simplify.
4888
ed7656f6
JJ
4889 * ipa-split.c: Spelling fixes.
4890
e0d1958f
RH
48912011-01-19 Richard Henderson <rth@redhat.com>
4892
4893 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
4894 (*mulsi3): Likewise.
4895
27098b6b
RH
4896 * longlong.h [__mn10300__] (count_leading_zeros): New.
4897 [__mn10300__] (umul_ppmm, smul_ppmm): New.
4898 [__mn10300__] (add_ssaaaa, subddmmss): New.
4899 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
4900 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
4901
d6be7c36
UW
49022011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
4903
4904 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
4905
b1efde2a
RH
49062011-01-19 Richard Henderson <rth@redhat.com>
4907
44217823
RH
4908 * config/mn10300/mn10300.md (addsi3_flags): New.
4909 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
4910 (subsi3_flags, subc_internal, subdi3): New.
4911 (subdi3_internal, *subdi3_degenerate): New.
4912 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
4913
37a185d7
RH
4914 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
4915 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
4916 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
4917 * config/mn10300/mn10300-protos.h: Update.
4918 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
4919 (return_ret): Likewise. Rename from return_internal_regs.
4920 (return_internal): Remove.
4921
040c5757
RH
4922 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
4923 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
4924 (mn10300_legitimate_constant_p): Likewise.
4925 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
4926 (mn10300_frame_size): New.
4927 (mn10300_expand_prologue): Use it.
4928 (mn10300_expand_epilogue): Likewise.
4929 (mn10300_initial_offset): Likewise.
4930 * config/mn10300/mn10300-protos.h: Update.
4931 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
4932 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
4933 (prologue, epilogue, return_internal): Tidy output code.
4934 (mn10300_store_multiple_operation, return): Likewise.
4935 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
4936 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
4937 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
4938 (load_pic, am33_load_pic): New.
4939 (mn10300_load_pic0, mn10300_load_pic1): New.
4940
bad41521
RH
4941 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
4942 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
4943 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
4944 (cc_flags_for_mode, cc_flags_for_code): New.
4945 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
4946 overflow flag is not valid. Validate that the flags we need
4947 for the comparison are valid.
4948 (mn10300_output_cmp): Remove.
4949 (mn10300_output_add): New.
4950 (mn10300_select_cc_mode): Use cc_flags_for_code.
4951 (mn10300_split_cbranch): New.
4952 (mn10300_match_ccmode): New.
4953 (mn10300_split_and_operand_count): New.
4954 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
4955 to the function.
4956 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
4957 (addsi3): ... here. Use mn10300_output_add.
4958 (*addsi3_flags): New.
4959 (*am33_subsi3, *mn10300_subsi3): Merge...
4960 (subsi3): ... here. Use attribute isa.
4961 (*subsi3_flags): New.
4962 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
4963 when possible.
4964 (*am33_andsi3, *mn10300_andsi3): Merge...
4965 (andsi3): ... here.
4966 (*andsi3_flags): New.
4967 (andsi3 splitters): New.
4968 (*am33_iorsi3, *mn10300_iorsi3): Merge...
4969 (iorsi3): ... here.
4970 (*iorsi3_flags): New.
4971 (*am33_xorsi3, *mn10300_xorsi3): Merge...
4972 (xorsi3): ... here.
4973 (*xorsi3_flags): New.
4974 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
4975 (one_cmplsi2): ... here.
4976 (*one_cmplsi2_flags): New.
4977 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
4978 instead of "dax" in constraints. Use mn10300_split_cbranch.
4979 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
4980 use matching constraints to eliminate a self-comparison.
4981 (*integer_conditional_branch): Rename from integer_conditional_branch.
4982 Use int_mode_flags to match CC_REG.
4983 (*cbranchsi4_btst, *btstsi): New.
4984 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
4985 mn10300_split_cbranch.
4986 (*am33_cmpsf): Rename from am33_cmpsf.
4987 (*float_conditional_branch): Rename from float_conditional_branch.
4988 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
4989 (zero_extendqisi2): ... here.
4990 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
4991 (zero_extendhisi2): ... here.
4992 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
4993 (extendqisi2): ... here.
4994 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
4995 (extendhisi2): ... here.
4996 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
4997 (ashlsi3): ... here.
4998 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
4999 (lshrsi3): ... here.
5000 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
5001 (ashrsi3): ... here.
5002 (consecutive add peephole): Remove.
5003 * config/mn10300/predicates.md (label_ref_operand): New.
5004 (int_mode_flags): New.
5005 (CCZN_comparison_operator): New.
5006
9efb4993
RH
5007 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
5008 (throughput_42_latency_43): New reservation.
5009 (mulsidi3, umulsidi3): New expanders.
5010 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
5011 the MDR register to allocation; separately allocate the low and
5012 high parts of the DImode result.
5013 (umulsidi3_internal): Similarly.
5014 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
5015 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
5016 (udivsi3, umodsi3): Remove.
5017 (udivmodsi4, divmodsi4): New expanders.
5018 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
5019 (*divmodsi4): Simiarly.
5020 (ext_internal): New.
5021
c25a21f5
RH
5022 * config/mn10300/constraints.md ("z"): New constraint.
5023 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
5024 (FIXED_REGISTERS): Don't fix MDR.
5025 (CALL_USED_REGSITERS): Reformat nicely.
5026 (REG_ALLOC_ORDER): Add MDR.
5027 (enum regclass): Add MDR_REGS.
5028 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
5029 (IRA_COVER_CLASSES): Add MDR_REGS.
5030 (REGNO_REG_CLASS): Handle MDR_REG.
5031 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
5032 (mn10300_register_move_cost): Likewise.
5033 * config/mn10300/mn10300.md (MDR_REG): New.
5034 (*movsi_internal): Handle moves to/from MDR_REGS.
5035
36846b26
RH
5036 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
5037 POST_MODIFY.
5038 (mn10300_secondary_reload): Tidy combination reload classes.
5039 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
5040 addresses for AM33. Allow symbolic offsets for reg+imm.
5041 (mn10300_regno_in_class_p): New.
5042 (mn10300_legitimize_reload_address): New.
5043 * config/mn10300/mn10300.h (enum reg_class): Remove
5044 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
5045 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
5046 SP_OR_GENERAL_REGS.
5047 (REG_CLASS_NAMES): Update to match.
5048 (REG_CLASS_CONTENTS): Likewise.
5049 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
5050 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
5051 (REGNO_IN_RANGE_P): Remove.
5052 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
5053 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
5054 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
5055 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
5056 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
5057 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
5058 (REGNO_GENERAL_P): New.
5059 (HAVE_POST_MODIFY_DISP): New.
5060 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
5061 (LEGITIMIZE_RELOAD_ADDRESS): New.
5062 * config/mn10300/mn10300-protos.h: Update.
5063
8b119bb6
RH
5064 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
5065 DATA_REGS for AM33 stack-pointer destination.
5066 (mn10300_preferred_output_reload_class): Likewise.
5067 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
5068 into a form appropriate for ...
5069 (TARGET_SECONDARY_RELOAD): New.
5070 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
5071 * config/mn10300/mn10300-protos.h: Update.
5072 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
5073 reload_insi; use the "A" constraint for the scratch; handle AM33
5074 moves of sp to non-address registers.
5075
b1efde2a
RH
5076 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
5077 (*movqi_internal): ... here.
5078 (*am33_movhi, *mn10300_movhi): Merge into...
5079 (*movhi_internal): ... here.
5080 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
5081 as the source/destination of moves from/to SP.
5082 (movsf): Only allow for AM33-2.
1c3ba85b 5083 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
5084 any integer constant constraint. Only allow for AM33-2. Tidy
5085 all of the alternative outputs.
5086 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
5087 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
5088 for MN103.
5089 (udivsi3, umodsi3): New patterns for MN103 only.
5090
b899fd78
JR
50912011-01-19 Joern Rennecke <amylaar@spamcop.net>
5092
5093 * doc/tm.texi.in: Spell out that a lack of register class unions
5094 can lead to ICEs.
5095 * doc/tm.texi: Regenerate.
5096
afaaa67d
JJ
50972011-01-19 Jakub Jelinek <jakub@redhat.com>
5098
2e0642cd
JJ
5099 PR rtl-optimization/47337
5100 * dce.c (check_argument_store): New function.
5101 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
5102
afaaa67d
JJ
5103 PR tree-optimization/47290
5104 * tree-eh.c (infinite_empty_loop_p): New function.
5105 (cleanup_empty_eh): Use it.
5106
d2cd871f
SE
51072011-01-18 Steve Ellcey <sje@cup.hp.com>
5108
5109 PR target/46997
5110 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
5111 (a64_expand_widen_sum): Ditto.
5112 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
5113 (vec_extract_evenodd_help): Ditto.
5114 (vec_extract_evenv4hi): Ditto.
5115 (vec_extract_oddv4hi): Ditto.
5116 (vec_extract_evenv2si): Ditto.
5117 (vec_extract_oddv2si): Ditto.
5118 (vec_extract_evenv2sf): Ditto.
5119 (vec_extract_oddv2sf): Ditto.
5120 (vec_pack_trunc_v4hi: Ditto.
5121 (vec_pack_trunc_v2si): Ditto.
5122 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
5123 (vec_interleave_highv8qi): Ditto.
5124 (mix1_r): Ditto.
5125 (vec_extract_oddv8qi): Ditto.
5126 (vec_interleave_lowv4hi): Ditto.
5127 (vec_interleave_highv4hi): Ditto.
5128 (vec_interleave_lowv2si): Ditto.
5129 (vec_interleave_highv2si): Ditto.
5130
41a1208a
JDA
51312011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5132
5133 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
5134 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
5135 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
5136 (pa_c_mode_for_suffix): New.
5137 (TARGET_EXPAND_BUILTIN): Define.
5138 (TARGET_C_MODE_FOR_SUFFIX): Define.
5139 (pa_builtins): Define.
5140 (pa_init_builtins): Register __float128 type and init new support
5141 builtins.
5142 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
5143 * config/pa/quadlib.c (_U_Qfcopysign): New.
5144
1ecad98e
EB
51452011-01-18 Eric Botcazou <ebotcazou@adacore.com>
5146
5147 PR middle-end/46894
5148 * explow.c (allocate_dynamic_stack_space): Do not assume more than
5149 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
5150 are defined.
5151
d4f2460a
UW
51522011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5153
5154 PR tree-optimization/47179
5155 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
5156 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
5157
4994da65
RG
51582011-01-18 Richard Guenther <rguenther@suse.de>
5159
5160 PR rtl-optimization/47216
5161 * emit-rtl.c: Include tree-flow.h.
5162 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
5163 of replicating it with different semantics.
5164 * Makefile.in (emit-rtl.o): Adjust.
5165
1eb458d1
RR
51662011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5167
38be4072 5168 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 5169 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 5170
e7ef91dc
JJ
51712011-01-18 Jakub Jelinek <jakub@redhat.com>
5172
5173 PR rtl-optimization/47299
5174 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 5175 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
5176 * expmed.c (expand_widening_mult): Don't try to optimize constant
5177 multiplication if op0 has VOIDmode. Convert op1 constant to mode
5178 before using it.
5179
535b7874
RW
51802011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5181
5182 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
5183 spacing after 'e.g.', typos, comma, hyphenation.
5184
27bf36f3
RH
51852011-01-17 Richard Henderson <rth@redhat.com>
5186
8a5b5449
RH
5187 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
5188 (rx_restricted_mem_operand): New.
5189 (rx_shift_operand): Use register_operand.
5190 (rx_source_operand, rx_compare_operand): Likewise.
5191 * config/rx/rx.md (addsi3_flags): New expander.
5192 (adddi3): Rewrite as expander.
5193 (adc_internal, *adc_flags, adddi3_internal): New patterns.
5194 (subsi3_flags): New expander.
5195 (subdi3): Rewrite as expander.
5196 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
5197
784f69be
RH
5198 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
5199 (rx_init_builtins): Remove sat builtin.
5200 (rx_expand_builtin): Likewise.
5201 * config/rx/rx.md (ssaddsi3): New.
5202 (*sat): Rename from sat. Represent the CC_REG input.
5203
f033541c
RH
5204 * config/rx/predicates.md (rshift_operator): New.
5205 * config/rx/rx.c (rx_expand_insv): Remove.
5206 * config/rx/rx-protos.h: Update.
5207 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
5208 operand to the canonical position.
5209 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
5210 (*bitclr, *bitclr_in_memory): Similarly.
5211 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
5212 (insv): Retain the zero_extract in the expansion.
5213
34fee389
RH
5214 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
5215 (bswaphi2, bitinvert, revw): Likewise.
5216
265c835f
RH
5217 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
5218 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
5219 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
5220 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
5221 (bitset, bitset_in_memory): Likewise.
5222 (bitinvert, bitinvert_in_memory): Likewise.
5223 (bitclr, bitclr_in_memory): Likewise.
5224 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
5225 (rx_strend, rx_cmpstrn): Likewise.
5226 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
5227 (bitop peep2 patterns): Remove.
5228
b4d83be3
RH
5229 * config/rx/rx.c (rx_match_ccmode): New.
5230 * config/rx/rx-protos.h: Update.
5231 * config/rx/rx.md (abssi2): Clobber, don't set flags.
5232 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
5233 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
5234 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
5235 (fix_truncsfsi2, floatsisf2): Likewise.
5236 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
5237 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
5238 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
5239 (*subsi3_flags, *xorsi3_flags): New.
5240
d0acb939
RH
5241 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
5242
c06fc3d9
RH
5243 * config/rx/rx.c (rx_print_operand): Remove workaround for
5244 unsplit comparison operations.
5245
2882702b
RH
5246 * config/rx/rx.md (movsicc): Split after reload.
5247 (*movsicc): Merge *movsieq and *movsine via match_operator.
5248 (*stcc): New pattern.
5249
6f7310f2
RH
5250 * config/rx/rx.c (rx_float_compare_mode): Remove.
5251 * config/rx/rx.h (rx_float_compare_mode): Remove.
5252 * config/rx/rx.md (cstoresi4): Split after reload.
5253 (*sccc): New pattern.
5254
e963cb1a
RH
5255 * config/rx/predicates.md (label_ref_operand): New.
5256 (rx_z_comparison_operator): New.
5257 (rx_zs_comparison_operator): New.
5258 (rx_fp_comparison_operator): New.
5259 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
5260 Validate that the flags are set properly for the comparison.
5261 (rx_gen_cond_branch_template): Remove.
5262 (rx_cc_modes_compatible): Remove.
5263 (mode_from_flags): New.
5264 (flags_from_code): Rename from flags_needed_for_conditional.
5265 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
5266 (rx_select_cc_mode): Likewise.
5267 (rx_split_fp_compare): New.
5268 (rx_split_cbranch): New.
5269 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
5270 (*cbranchsi4): Use match_operator and rx_split_cbranch.
5271 (*cbranchsf4): Similarly.
5272 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
5273 match_operator and rx_split_cbranch.
5274 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
5275 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
5276 (*cmpsi): Rename from cmpsi.
5277 (*tstsi): Rename from tstsi.
5278 (*cmpsf): Rename from cmpsf; use CC_Fmode.
5279 (*conditional_branch): Rename from conditional_branch.
5280 (*reveresed_conditional_branch): Remove.
5281 (b<code>): Remove expander.
5282 * config/rx/rx-protos.h: Update.
5283
af530bb4
RH
5284 * config/rx/rx.c (rx_compare_redundant): Remove.
5285 * config/rx/rx.md (cmpsi): Don't use it.
5286 * config/rx/rx-protos.h: Update.
5287
27bf36f3
RH
5288 * config/rx/rx-modes.def (CC_F): New mode.
5289 * config/rx/rx.c (rx_select_cc_mode): New.
5290 * config/rx/rx.h (SELECT_CC_MODE): Use it.
5291 * config/rx/rx-protos.h: Update.
5292
d7fde127
RH
52932011-01-17 Richard Henderson <rth@redhat.com>
5294
5295 * except.c (dump_eh_tree): Fix stray ; after for statement.
5296
6ff38230
RG
52972011-01-17 Richard Guenther <rguenther@suse.de>
5298
5299 PR tree-optimization/47313
5300 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
5301 handling before copying the body. Properly deal with
5302 by-reference result in SSA form.
5303
114ce554
ILT
53042011-01-17 Ian Lance Taylor <iant@google.com>
5305
bf5cd92b 5306 PR target/47219
114ce554
ILT
5307 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
5308 (struct_value_alias_set): Don't define.
5309 (sparc_option_override): Don't set sparc_sr_alias_set and
5310 struct_value_alias_set.
5311 (save_or_restore_regs): Use gen_frame_mem rather than calling
5312 set_mem_alias_set.
5313 (sparc_struct_value_rtx): Likewise.
5314
98c6d93c
L
53152011-01-17 H.J. Lu <hongjiu.lu@intel.com>
5316
5317 PR target/47318
5318 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to
5319 __m128i.
5320 (_mm_maskstore_pd): Likewise.
5321 (_mm_maskload_ps): Likewise.
5322 (_mm_maskstore_ps): Likewise.
5323 (_mm256_maskload_pd): Change mask to __m256i.
5324 (_mm256_maskstore_pd): Likewise.
5325 (_mm256_maskload_ps): Likewise.
5326 (_mm256_maskstore_ps): Likewise.
5327
5328 * config/i386/i386-builtin-types.def: Updated.
5329 (ix86_expand_special_args_builtin): Likewise.
5330
5331 * config/i386/i386.c (bdesc_special_args): Update
5332 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
5333 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
5334 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
5335 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
5336
5337 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
5338 Use <avxpermvecmode> on mask register.
5339 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
5340
b9361af2 53412011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
5342 Michael Haubenwallner <michael.haubenwallner@salomon.at>
5343 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
5344
5345 PR target/46655
5346 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
5347 if <= USHRT_MAX in 32-bit mode.
5348
b7ae9eb5
RW
53492011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5350
5351 * doc/install.texi (Configuration, Specific): Wrap long
5352 lines in examples. Allow line wrapping in long options
5353 and URLs where beneficial for PDF output.
5354
4377fad9
RS
53552011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
5356
5357 * config/mips/mips.c (mips_classify_symbol): Don't return
5358 SYMBOL_PC_RELATIVE for nonlocal labels.
5359
55959ffa 53602011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 5361
55959ffa
EB
5362 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
5363
53642011-01-15 Jan Hubicka <jh@suse.cz>
5365
5366 PR tree-optimization/47276
be46831f
JH
5367 * ipa.c (function_and_variable_visibility): Do not try to mark alias
5368 declarations as needed.
5369
05842ff5
MJ
53702011-01-15 Martin Jambor <mjambor@suse.cz>
5371
5372 * common.opt (fdevirtualize): New flag.
5373 * doc/invoke.texi (Option Summary): Document it.
5374 * opts.c (default_options_table): Add devirtualize flag.
5375 * ipa-prop.c (detect_type_change): Return immediately if
5376 devirtualize flag is not set.
5377 (detect_type_change_ssa): Likewise.
5378 (compute_known_type_jump_func): Likewise.
5379 (ipa_analyze_virtual_call_uses): Likewise.
5380
f65cf2b7
MJ
53812011-01-14 Martin Jambor <mjambor@suse.cz>
5382
5383 PR tree-optimization/45934
5384 PR tree-optimization/46302
5385 * ipa-prop.c (type_change_info): New type.
5386 (stmt_may_be_vtbl_ptr_store): New function.
5387 (check_stmt_for_type_change): Likewise.
5388 (detect_type_change): Likewise.
5389 (detect_type_change_ssa): Likewise.
5390 (compute_complex_assign_jump_func): Check for dynamic type change.
5391 (compute_complex_ancestor_jump_func): Likewise.
5392 (compute_known_type_jump_func): Likewise.
5393 (compute_scalar_jump_functions): Likewise.
5394 (ipa_analyze_virtual_call_uses): Likewise.
5395 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
5396
eb5bb0fd
JM
53972011-01-14 Joseph Myers <joseph@codesourcery.com>
5398
5399 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
5400 * config/i386/i386.opt (msse5): New Alias.
5401
f2060fbe
JM
54022011-01-14 Joseph Myers <joseph@codesourcery.com>
5403
5404 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
5405 * config/sparc/linux64.h (CC1_SPEC): Likewise.
5406 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
5407 * config/sparc/sparc.h (CC1_SPEC): Likewise.
5408
3a7b4385
JM
54092011-01-14 Joseph Myers <joseph@codesourcery.com>
5410
5411 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
5412 -mcpu options.
5413 * config/sparc/linux64.h (CC1_SPEC): Likewise.
5414 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
5415 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
5416 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
5417 Likewise.
5418 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
5419
a7b778f8
JM
54202011-01-14 Joseph Myers <joseph@codesourcery.com>
5421
38be4072 5422 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 5423
a7edae0a
MS
54242011-01-14 Mike Stump <mikestump@comcast.net>
5425
5426 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
5427 * config/fr30/fr30.md: Likweise
5428 (movsi_push): Likewise.
5429 (movsi_pop): Likewise.
5430 (enter_func): Likewise.
5431 * config/moxie/moxie.md (movsi_push): Likewise.
5432 (movsi_pop): Likewise.
5433
cbabf03f
JM
54342011-01-14 Joseph Myers <joseph@codesourcery.com>
5435
5436 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
5437 %{no_archive} %{exact_version}.
5438 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
5439 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
5440 %{no_archive} %{exact_version}.
5441 * config/mips/openbsd.h (LINK_SPEC): Likewise.
5442 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
5443 * config/mips/vxworks.h: Likewise.
5444
438da41a
JM
54452011-01-14 Joseph Myers <joseph@codesourcery.com>
5446
38be4072 5447 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 5448
da290a42
JM
54492011-01-14 Joseph Myers <joseph@codesourcery.com>
5450
5451 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
5452 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
5453
8989d00e
JM
54542011-01-14 Joseph Myers <joseph@codesourcery.com>
5455
5456 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
5457 -nodefaultlib.
5458
a3010a69
JM
54592011-01-14 Joseph Myers <joseph@codesourcery.com>
5460
5461 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
5462 for mcpu not cpu.
5463 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
5464 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
5465 not cpu.
5466 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
5467 Don't handle -shlib.
5468
e7f2f537
JM
54692011-01-14 Joseph Myers <joseph@codesourcery.com>
5470
5471 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
5472 (CC1_SPEC): Don't handle -profile.
5473
34830bfd
JM
54742011-01-14 Joseph Myers <joseph@codesourcery.com>
5475
5476 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
5477 * config/mips/mips.h (CC1_SPEC): Likewise.
5478
b2d36e74
JM
54792011-01-14 Joseph Myers <joseph@codesourcery.com>
5480
5481 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
5482 * config/mips/mips.h (CC1_SPEC): Likewise.
5483
dabadc52
JM
54842011-01-14 Joseph Myers <joseph@codesourcery.com>
5485
5486 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
5487 * config/m32r/linux.h (LINK_SPEC): Likewise.
5488 * config/mips/linux.h (LINK_SPEC): Likewise.
5489 * config/mips/linux64.h (LINK_SPEC): Likewise.
5490 * config/sparc/linux.h (LINK_SPEC): Likewise.
5491 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
5492 LINK_SPEC): Likewise.
5493 * config/xtensa/linux.h (LINK_SPEC): Likewise.
5494
43ee6785
JM
54952011-01-14 Joseph Myers <joseph@codesourcery.com>
5496
5497 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
5498 %{version:-v}.
5499 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
5500
45e79dfd
JM
55012011-01-14 Joseph Myers <joseph@codesourcery.com>
5502
5503 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
5504 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
5505
37e9e71d
JM
55062011-01-14 Joseph Myers <joseph@codesourcery.com>
5507
5508 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
5509
bb127cd8
RO
55102011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5511
5512 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
5513 supports -Bstatic/-Bdynamic.
5514 * configure: Regenerate.
5515
89a012ea 55162011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 5517 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
5518
5519 PR target/46037
5520 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
5521 when checking debug_info_level. Test write_symbols instead of
5522 debug_hooks->var_location when setting flag_var_tracking_uninit.
5523
7352c013
RG
55242011-01-14 Richard Guenther <rguenther@suse.de>
5525
5526 PR tree-optimization/47179
5527 * target.def (ref_may_alias_errno): New target hook.
5528 * targhooks.h (default_ref_may_alias_errno): Declare.
5529 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
5530 (default_ref_may_alias_errno): New function.
5531 * target.h (struct ao_ref_s): Declare.
5532 * tree-ssa-alias.c: Include target.h.
5533 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
5534 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
5535 (targhooks.o): Likewise.
5536 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
5537 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
5538
9a6c9288
RG
55392011-01-14 Richard Guenther <rguenther@suse.de>
5540
5541 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
5542
0fdb0d27
RG
55432011-01-14 Richard Guenther <rguenther@suse.de>
5544
5545 PR tree-optimization/47280
5546 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
5547 return CFG changes.
5548 (tree_ssa_forward_propagate_single_use_vars): Deal with
5549 CFG changes from associate_plusminus.
5550
8f66db3b
RG
55512011-01-14 Richard Guenther <rguenther@suse.de>
5552
5553 PR middle-end/47281
5554 Revert
5555 2011-01-11 Richard Guenther <rguenther@suse.de>
5556
280d9630
EB
5557 PR tree-optimization/46076
5558 * tree-ssa.c (useless_type_conversion_p): Conversions from
5559 unprototyped to empty argument list function types are useless.
8f66db3b 5560
6c0c92e6
RG
55612011-01-14 Richard Guenther <rguenther@suse.de>
5562
5563 PR tree-optimization/47286
280d9630 5564 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 5565
db09f943
MJ
55662011-01-14 Martin Jambor <mjambor@suse.cz>
5567
5568 PR middle-end/46823
5569 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
5570
dde8a3a4
AS
55712011-01-13 Anatoly Sokolov <aesok@post.ru>
5572
5573 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
5574 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
5575 * config/xtensa/xtensa.c (xtensa_libcall_value,
5576 xtensa_function_value_regno_p): New functions.
5577 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
5578
a2b63a20
KT
55792011-01-13 Kai Tietz <kai.tietz@onevision.com>
5580
5581 PR c++/47213
5582 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
5583 PE specific hook.
5584 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
5585 New function prototype.
5586 * config/i386/winnt.c (i386_pe_assemble_visibility):
5587 Warn only if attribute was specified by user.
5588
b41f0b34
MM
55892011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
5590
5591 PR target/47251
5592 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
5593 floating point.
5594 (floatunsdidf2_fcfidu): Ditto.
5595
3f3c098d
AK
55962011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5597
5598 * config/s390/s390.c (print_operand_address): Replace 'error' with
5599 'output_operand_lossage'.
5600 (print_operand): Likewise.
5601
29fa95ed
JL
56022011-01-13 Jeff Law <law@redhat.com>
5603
280d9630 5604 PR rtl-optimization/39077
29fa95ed
JL
5605 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
5606 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
5607 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
5608 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
5609 * gcse.c (prune_insertions_deletions): New function.
5610 (compute_pre_data): Use it.
5611
71d12276
DS
56122011-01-13 Dodji Seketeli <dodji@redhat.com>
5613
5614 PR debug/PR46973
5615 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
5616 static function.
61052244 5617 (prune_unused_types_mark): Use it.
71d12276 5618
9b0f04e7
AB
56192011-01-13 Andrey Belevantsev <abel@ispras.ru>
5620
5621 PR rtl-optimization/45352
1c3ba85b 5622 * sel-sched.c: Update copyright years.
9b0f04e7 5623 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 5624 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 5625
d6a3e264
RH
56262011-01-12 Richard Henderson <rth@redhat.com>
5627
a49b692a
RH
5628 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
5629 (TARGET_MD_ASM_CLOBBERS): New.
5630
126b1483
RH
5631 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
5632 (TARGET_DELEGITIMIZE_ADDRESS): New.
5633
f3d9d2e0
RH
5634 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
5635 (clzsi2, *bsch): New patterns.
5636
d84760c9
RH
5637 * config/mn10300/mn10300.md (INT): New mode iterator.
5638 (*mov<INT>_clr): New pattern, and peep2 to generate it.
5639
ec815d65
RH
5640 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
5641 flag_split_wide_types.
5642
d6a3e264
RH
5643 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
5644 (mn10300_trampoline_init): Rewrite without a template, an immediate
5645 load and a direct branch.
5646 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
5647
0f8ab434
AS
56482011-01-12 Anatoly Sokolov <aesok@post.ru>
5649
5650 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
5651 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
5652 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
5653 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
5654
d8a24b65
KT
56552011-01-12 Kai Tietz <kai.tietz@onevision.com>
5656
5657 PR debug/47209
5658 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
5659 of type.
5660
56e22cab
JH
56612011-01-12 Jan Hubicka <jh@suse.cz>
5662
5663 PR driver/47244
5664 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
5665 (PLUGIN_COND_CLOSE): New macro.
5666 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
5667
4b18b3c2
RG
56682011-01-12 Richard Guenther <rguenther@suse.de>
5669
5670 PR lto/47259
5671 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
5672 register variables in a MEM_REF.
5673
8e38461c
JM
56742011-01-12 Joseph Myers <joseph@codesourcery.com>
5675
5676 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
5677 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
5678 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
5679 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
5680 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
5681 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
5682 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
5683 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
5684 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
5685 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
5686 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
5687 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
5688 * config/gnu-user.h: New. Copied from linux.h.
5689 (LINUX_TARGET_STARTFILE_SPEC): Rename to
5690 GNU_USER_TARGET_STARTFILE_SPEC.
5691 (LINUX_TARGET_ENDFILE_SPEC): Rename to
5692 GNU_USER_TARGET_ENDFILE_SPEC.
5693 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
5694 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
5695 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
5696 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
5697 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
5698 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
5699 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
5700 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
5701 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
5702 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
5703 * config/arm/linux-eabi.h (CC1_SPEC): Use
5704 GNU_USER_TARGET_CC1_SPEC.
5705 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
5706 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
5707 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
5708 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
5709 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
5710 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
5711 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
5712 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
5713
a570fc16
RG
57142011-01-12 Richard Guenther <rguenther@suse.de>
5715
5716 PR other/46946
5717 * doc/invoke.texi (ffast-math): Document it is turned on
5718 with -Ofast.
5719
b0223c3e
JH
57202011-01-12 Jan Hubicka <jh@suse.cz>
5721
5722 PR tree-optimization/47233
ca1e00b3
EB
5723 * opts.c (common_handle_option): Disable ipa-reference with profile
5724 feedback.
b0223c3e 5725
1c3ba85b 57262011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
5727
5728 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
5729 error message.
5730
d853ee42
NP
57312011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
5732
5733 * c-parser.c (c_lex_one_token): Updated and reindented some
5734 comments. No changes in code.
5735
4053a5a0
ILT
57362011-01-11 Ian Lance Taylor <iant@google.com>
5737
5738 * godump.c (go_output_var): Don't output the variable if there is
5739 already a type with the same name.
5740
fa3e04d2
ILT
57412011-01-11 Ian Lance Taylor <iant@google.com>
5742
5743 * godump.c (go_format_type): Don't generate float80.
5744
885fe07c
RH
57452011-01-11 Richard Henderson <rth@redhat.com>
5746
72d6e3c5
RH
5747 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
5748 declaration. Rewrite for both speed and size.
5749 (mn10300_address_cost_1): Remove.
5750 (mn10300_register_move_cost): New.
5751 (mn10300_memory_move_cost): New.
5752 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
5753 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
5754 extensions, shifts, BSWAP, CLZ.
5755 (mn10300_wide_const_load_uses_clr): Remove.
5756 (TARGET_REGISTER_MOVE_COST): New.
5757 (TARGET_MEMORY_MOVE_COST): New.
5758 * config/mn10300/mn10300-protos.h: Update.
5759 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
5760
df37c023
RH
5761 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
5762 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
5763 * config/mn10300/mn10300-protos.h: Update.
5764 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
5765 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
5766 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
5767 (*test_int_bitfield, *test_byte_bitfield): Remove.
5768 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 5769 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 5770
85a337b5
RH
5771 * config/mn10300/constraints.md ("c"): Rename from "A".
5772 ("A", "D"): New constraint letters.
5773 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
5774 (fmssf4, fnmasf4, fnmssf4): Likewise.
5775
a5c727e3
RH
5776 * config/mn10300/mn10300.md (isa): New attribute.
5777 (enabled): New attribute.
5778
0d9e23f4
RH
5779 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
5780 (abssf2, negsf2): Define only for hardware fp.
5781 (sqrtsf2): Reformat.
5782 (addsf3, subsf3, mulsf3): Merge expander and insn.
5783
c157b3f0
RH
5784 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
5785 (DEBUGGER_AUTO_OFFSET): Remove.
5786 (DEBUGGER_ARG_OFFSET): Remove.
5787
cc909bba
RH
5788 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
5789 Emit register stores with the same offsets as the hardware.
5790 (mn10300_store_multiple_operation): Don't check that the register
5791 save offsets are monotonic.
5792 * config/mn10300/mn10300-protos.h: Update.
5793
e3b5c2f3
RH
5794 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
5795
885fe07c
RH
5796 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
5797 in terms of the value on the stack, not the MDR register.
5798
6e701822
JH
57992011-01-11 Jan Hubicka <jh@suse.cz>
5800
5801 PR lto/45721
5802 PR lto/45375
5803 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
5804 (symbol_alias_set_destroy, symbol_alias_set_contains,
5805 propagate_aliases_backward): Declare.
5806 * lto-streamer-out.c (struct sets): New sturcture.
5807 (trivally_defined_alias): New function.
5808 (output_alias_pair_p): Rewrite.
5809 (output_unreferenced_globals): Fix output of alias pairs.
5810 (produce_symtab): Likewise.
5811 * ipa.c (function_and_variable_visibility): Set weak alias destination
5812 as needed in lto.
5813 * varasm.c (symbol_alias_set_t): Remove.
5814 (symbol_alias_set_destroy): Export.
5815 (propagate_aliases_forward, propagate_aliases_backward): New functions
5816 based on ...
5817 (compute_visible_aliases): ... this one; remove.
5818 (trivially_visible_alias): New
5819 (trivially_defined_alias): New.
5820 (remove_unreachable_alias_pairs): Rewrite.
5821 (finish_aliases_1): Reorganize code checking if alias is defined.
5822 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
5823 in LTO mode.
5824
1b248907
RG
58252011-01-11 Richard Guenther <rguenther@suse.de>
5826
5827 PR tree-optimization/46076
5828 * tree-ssa.c (useless_type_conversion_p): Conversions from
5829 unprototyped to empty argument list function types are useless.
5830
b1923f0a
RG
58312011-01-11 Richard Guenther <rguenther@suse.de>
5832
5833 PR middle-end/45235
5834 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
5835 volatile MEMs as MEM_READONLY_P.
5836
e98965af
RG
58372011-01-11 Richard Guenther <rguenther@suse.de>
5838
5839 PR tree-optimization/47239
5840 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
5841
9f9ca914
JL
58422011-01-11 Jeff Law <law@redhat.com>
5843
1ee3ea05 5844 PR tree-optimization/47086
9f9ca914
JL
5845 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
5846 IVs from statements that might throw.
5847
345fdcb7
JH
58482011-01-10 Jan Hubicka <jh@suse.cz>
5849
5850 PR lto/45375
5851 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
5852
c459c97b
JH
58532011-01-10 Jan Hubicka <jh@suse.cz>
5854
5855 PR lto/45375
5856 * profile.c (read_profile_edge_counts): Ignore profile inconistency
5857 when correcting profile.
5858
06c9eb51
JH
58592011-01-10 Jan Hubicka <jh@suse.cz>
5860
5861 PR lto/46083
5862 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
5863 DECL_FINI_PRIORITY.
5864 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
5865 Restore DECL_FINI_PRIORITY.
5866
ae9fd815
RW
58672011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5868
5869 * doc/gimple.texi: Fix quoting of multi-word return values in
5870 @deftypefn statements. Ensure presence of return value. Wrap
5871 overlong @deftypefn lines.
5872 (is_gimple_operand, is_gimple_min_invariant_address): Remove
5873 descriptions of removed functions.
5874 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
5875 of multi-word return value in @deftypefn statement.
5876
0ecb4a7c
RW
58772011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5878
5879 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
5880 (Conditional Expressions, Logical Operators)
5881 (Statement and operand traversals): Do not indent smallexample
5882 code. Fix duplicate function argument in example.
5883
2e5e346d
JL
58842011-01-10 Jeff Law <law@redhat.com>
5885
1ee3ea05 5886 PR tree-optimization/47141
2e5e346d
JL
5887 * ipa-split.c (split_function): Handle case where we are
5888 returning a value and the return block has a virtual operand phi.
5889
cf9712cc
JH
58902011-01-10 Jan Hubicka <jh@suse.cz>
5891
1c3ba85b 5892 PR tree-optimization/47234
cf9712cc
JH
5893 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
5894 (pass_feedback_split_functions): Declare.
5895 * passes.c (init_optimization_passes): Add ipa-split as subpass of
5896 tree-profile.
5897 * ipa-split.c (gate_split_functions): Update comments; disable
5898 split-functions for profile_arc_flag and branch_probabilities.
5899 (gate_feedback_split_functions): New function.
5900 (execute_feedback_split_functions): New function.
5901 (pass_feedback_split_functions): New global var.
5902
94cd932c
L
59032011-01-10 H.J. Lu <hongjiu.lu@intel.com>
5904
5905 PR lto/46760
5906 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
5907 calling gimple_call_set_cannot_inline.
5908
fbbfcaf1
IS
59092011-01-10 Iain Sandoe <iains@gcc.gnu.org>
5910
5911 * config/darwin-sections.def: Remove unused section.
5912
d06865bf
DK
59132011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
5914
5915 PR c++/47218
5916 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
5917
96bbfbac
NP
59182011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
5919
5920 PR objc/47232
5921 * c-parser.c (c_parser_declaration_or_fndef): Improved
5922 error message.
5923
1ba6516f
KT
59242011-01-09 Kai Tietz <kai.tietz@onevision.com>
5925
5926 * config/i386/winnt.c (i386_pe_start_function): Make sure
5927 to switch back to function's section.
5928
0c5d770e
IS
59292011-01-09 Iain Sandoe <iains@gcc.gnu.org>
5930
5931 PR gcc/46902
5932 PR testsuite/46912
5933 * plugin.c: Move include of dlfcn.h from here...
5934 * system.h: ... to here.
5935
59362011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
5937
5938 * doc/cpp.texi (C++ Named Operators): Fix markup for header
5939 file name.
5940 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
5941 two extra empty pages in PDF output.
5942
046608a3
NP
59432011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
5944
5945 PR objc/47078
5946 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
5947 for error recovery purposes behave as if it was not specified so
5948 that the default type is usd.
5949
8cb114b9
JH
59502011-01-07 Jan Hubicka <jh@suse.cz>
5951
5952 PR tree-optmization/46469
5953 * ipa.c (function_and_variable_visibility): Clear needed flags on
5954 nodes with external decls; handle weakrefs merging correctly.
5955
b294a75e
JM
59562011-01-07 Joseph Myers <joseph@codesourcery.com>
5957
5958 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
5959 not false.
5960
96bdf9b4
JH
59612011-01-07 Jan Hubicka <jh@suse.cz>
5962
5963 * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
5964 and no longer claim that gold is required for linker plugin.
5965 * configure: Regenerate.
5966 * gcc.c (PLUGIN_COND): New macro.
5967 (LINK_COMMAND_SPEC): Use it.
5968 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
5969 * config.in (HAVE_LTO_PLUGIN): New.
5970 * configure.ac (--with-lto-plugin): New parameter; autodetect
5971 HAVE_LTO_PLUGIN.
5972
17afc0fe
JH
59732011-01-07 Jan Hubicka <jh@suse.cz>
5974
5975 PR tree-optimization/46367
5976 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
5977 when we can update original.
5978 (cgraph_mark_inline_edge): Sanity check.
5979 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
5980
d4c48c0f
UW
59812011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5982
5983 * config/spu/spu.h (ASM_COMMENT_START): Define.
5984
96f5b137
L
59852011-01-07 H.J. Lu <hongjiu.lu@intel.com>
5986
5987 PR driver/42445
5988 * gcc.c (%>S): New.
5989 (SWITCH_KEEP_FOR_GCC): Likewise.
5990 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
5991 (do_spec_1): Handle "%>".
5992
5993 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
5994
c6a8f6de
JJ
59952011-01-07 Jakub Jelinek <jakub@redhat.com>
5996
c21bbd7a
JJ
5997 PR target/47201
5998 * config/i386/i386.c (ix86_delegitimize_address): If
5999 simplify_gen_subreg fails, return orig_x.
6000
c6a8f6de
JJ
6001 PR bootstrap/47187
6002 * value-prof.c (gimple_stringop_fixed_value): Handle
6003 lhs of the call properly.
6004
fe95fbf9
JH
60052011-01-07 Jan Hubicka <jh@suse.cz>
6006
6007 PR lto/45375
6008 * lto-opt.c (lto_reissue_options): Set flag_shlib.
6009
14d11d40
IS
60102011-01-07 Iain Sandoe <iains@gcc.gnu.org>
6011
72e961c8
EB
6012 * target.def (function_switched_text_sections): New hook.
6013 * doc/tm.texi: Regenerated.
6014 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 6015 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
6016 (final_scan_insn): Call function_switched_text_sections when a
6017 mid-function section change occurs.
14d11d40 6018 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
6019 * config/darwin-protos.h (darwin_function_switched_text_sections):
6020 Likewise.
14d11d40 6021 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 6022 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 6023
0b764288
IS
60242011-01-07 Iain Sandoe <iains@gcc.gnu.org>
6025
6026 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
6027 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
6028 the secondary code fragment when outputting for DWARF == 2.
6029
2ac6bb04
AS
60302011-01-07 Anatoly Sokolov <aesok@post.ru>
6031
6032 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
6033 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
6034 Remove.
6035 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
6036 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
6037
9f82de11
EB
60382011-01-06 Eric Botcazou <ebotcazou@adacore.com>
6039
6040 PR debug/46704
280d9630
EB
6041 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
6042 when it is not empty.
9f82de11
EB
6043
60442011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 6045
1ed72abf 6046 Bobcat Enablement
14b52538 6047 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 6048 (case ${target}): Add btver1.
14b52538 6049 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 6050 -march=native recognize btver1 processors.
14b52538 6051 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 6052 btver1 def_and_undef
14b52538 6053 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
6054 btver1 cost table.
6055 (m_BTVER1): New definition.
6056 (m_AMD_MULTIPLE): Includes m_BTVER1.
6057 (initial_ix86_tune_features): Add btver1 tune.
6058 (processor_target_table): Add btver1 entry.
6059 (static const char *const cpu_names): Add btver1 entry.
6060 (software_prefetching_beneficial_p): Add btver1.
6061 (ix86_option_override_internal): Add btver1 instruction sets.
6062 (ix86_issue_rate): Add btver1.
6063 (ix86_adjust_cost): Add btver1.
14b52538 6064 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
6065 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
6066 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
6067 * config/i386/i386.md (define_attr "cpu"): Add btver1.
6068
e1a973d8
RO
60692011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6070
6071 PR target/43309
6072 * config/i386/i386.c (legitimize_tls_address)
6073 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
6074 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
6075 (tls_initial_exec_64_sun): New pattern.
6076
c73f67c5
GP
60772011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
6078
6079 * doc/invoke.texi (Overall Options): Improve wording and markup
6080 of the description of -wrapper.
6081
bc4c6f9c
JM
60822011-01-06 Joseph Myers <joseph@codesourcery.com>
6083
6084 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
6085 rdynamic, threads): New Driver options.
6086
adb75db0
RO
60872011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6088
6089 PR target/38118
6090 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
6091 if coming from .tdata.
6092 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
6093
402c1cb4
JH
60942011-01-06 Jan Hubicka <jh@suse.cz>
6095
6096 PR lto/47188
6097 * collect2.c (main): Do not enable LTOmode when plugin is active.
6098
a4da6485
RO
60992011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6100
6101 PR other/45915
6102 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
6103 --version output if supported.
6104 * configure: Regenerate.
6105
028dbdf4
JM
61062011-01-06 Joseph Myers <joseph@codesourcery.com>
6107
6108 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
6109 Driver options.
6110
dfe776dd
JJ
61112011-01-06 Jakub Jelinek <jakub@redhat.com>
6112
6113 PR c/47150
6114 * c-convert.c (convert): When converting a complex expression
6115 other than COMPLEX_EXPR to a different complex type, ensure
6116 c_save_expr is called instead of save_expr, unless in_late_binary_op.
6117 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
6118 when converting COMPLEX_TYPE.
6119
210dedfe
IR
61202011-01-06 Ira Rosen <irar@il.ibm.com>
6121
6122 PR tree-optimization/47139
6123 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
6124 only the last reduction value is used outside the loop. Update
6125 documentation.
6126
cd33a412
JM
61272011-01-05 Joseph Myers <joseph@codesourcery.com>
6128
6129 * config/rtems.opt: New.
6130 * config.gcc (*-*-rtems*): Use rtems.opt.
6131
819edd94
CF
61322011-01-05 Changpeng Fang <changpeng.fang@amd.com>
6133
6134 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
6135 processors do not support 3DNow instructions.
6136
dc242c4a
UW
61372011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6138
6139 * config/spu/spu.c (spu_option_override): Set parameter
6140 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
6141
be286227
JH
61422011-01-05 Jan Hubicka <jh@suse.cz>
6143
6144 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
6145 at the command line.
6146
644e637f
MJ
61472011-01-05 Martin Jambor <mjambor@suse.cz>
6148
6149 PR lto/47162
6150 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
6151 deltas on streamed outgoing edges.
6152 (output_node_opt_summary): Output info for outgoing edges only when
6153 the node is in new parameter set.
6154 (output_cgraph_opt_summary): New parameter set, passed to the two
6155 aforementioned functions. Update its forward declaration and its
6156 callee too.
6157
7bd11157
TT
61582011-01-05 Tom Tromey <tromey@redhat.com>
6159
6160 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
6161 operator to c_finish_omp_atomic.
6162 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
6163 (build_unary_op): Update.
6164 (build_modify_expr): Update.
6165 (build_asm_expr): Update.
6166
f626b979
UW
61672011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6168
6169 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
6170 newly inserted insns.
6171 (pad_bb): Likewise.
6172 (spu_emit_branch_hint): Likewise.
6173 (insert_hbrp_for_ilb_runout): Likewise.
6174 (spu_machine_dependent_reorg): Call df_finish_pass after
6175 schedule_insns returns.
6176
4c825c02
UW
61772011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6178
6179 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
6180
5e9fba51
EB
61812011-01-05 Eric Botcazou <ebotcazou@adacore.com>
6182
6183 PR tree-optimization/47005
6184 * tree-sra.c (struct access): Add 'non_addressable' bit.
6185 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
6186 (decide_one_param_reduction): Return 0 if the parameter is passed by
6187 reference and one of the accesses in the group is non_addressable.
6188
3ebb5ca6
EB
61892011-01-04 Eric Botcazou <ebotcazou@adacore.com>
6190
6191 PR tree-optimization/47056
6192 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
6193 (mark_load): Likewise. Handle FUNCTION_DECL specially.
6194 (mark_store): Likewise. Pass STMT to ipa_record_reference.
6195
d5d4d14e
EB
61962011-01-04 Eric Botcazou <ebotcazou@adacore.com>
6197
6198 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
6199 initializer. Skip view conversions from aggregate types.
6200
d996ef70
KT
62012011-01-04 Kai Tietz <kai.tietz@onevision.com>
6202
6203 PR bootstrap/47055
6204 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
6205
509d65dd 62062011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
6207
6208 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
6209 obvious typo.
6210
55c623b5
UW
62112011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6212
6213 * function.c (thread_prologue_and_epilogue_insns): Do not crash
6214 on empty epilogue sequences.
6215
b98d6b35
JM
62162011-01-04 Joseph Myers <joseph@codesourcery.com>
6217
6218 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
6219 non-static): New Driver options.
6220
a0d43bac
JZ
62212011-01-04 Jie Zhang <jie@codesourcery.com>
6222
6223 PR driver/47137
6224 * gcc.c (default_compilers[]): Set combinable field to 0
6225 for all assembly languages.
6226
2b18eb32
MX
62272011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
6228
6229 * config/mips/loongson3a.md: New file.
6230 * config/mips/mips.md: Include loongson3a.md.
6231 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
6232 TUNE_LOONGSON_3A.
6233
42a48c4f
EB
62342011-01-03 Eric Botcazou <ebotcazou@adacore.com>
6235
6236 PR middle-end/47017
6237 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
6238 instead of convert_memory_address_addr_space on the base expression.
6239
9c1732c4
UW
62402011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6241
6242 * config/spu/spu.c (spu_option_override): Update error text
6243 for bad -march= / -mtune= values.
6244
aa474365
UW
62452011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6246
6247 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
6248 if branch-hint optimization will be performed.
6249
9766135b
JJ
62502011-01-03 Jakub Jelinek <jakub@redhat.com>
6251
371556ee
JJ
6252 PR tree-optimization/47148
6253 * ipa-split.c (split_function): Convert arguments to
6254 DECL_ARG_TYPE if possible.
6255
1ac12fa2
JJ
6256 PR tree-optimization/47155
6257 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
6258 when computing uns.
6259
9766135b
JJ
6260 PR rtl-optimization/47157
6261 * combine.c (try_combine): If undobuf.other_insn becomes
6262 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
6263 and set *new_direct_jump_p too.
6264
f4a2e571
SP
62652011-01-03 Sebastian Pop <sebastian.pop@amd.com>
6266
6267 PR tree-optimization/47021
6268 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
6269
9f8e43c0
JJ
62702011-01-03 Jakub Jelinek <jakub@redhat.com>
6271
6272 * gcc.c (process_command): Update copyright notice dates.
6273 * gcov.c (print_version): Likewise.
6274 * gcov-dump.c (print_version): Likewise.
6275 * mips-tfile.c (main): Likewise.
6276 * mips-tdump.c (main): Likewise.
6277
1a2e38f3
MJ
62782011-01-03 Martin Jambor <mjambor@suse.cz>
6279
6280 PR tree-optimization/46801
6281 * tree-sra.c (type_internals_preclude_sra_p): Check whether
6282 aggregate fields start at byte boundary instead of the bit-field flag.
6283
56b721c5
L
62842011-01-03 H.J. Lu <hongjiu.lu@intel.com>
6285
6286 PR driver/47137
6287 * gcc.c (main): Revert revision 168407.
6288
839d549b
MJ
62892011-01-03 Martin Jambor <mjambor@suse.cz>
6290
6291 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
6292
4ce99a20 62932011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
6294
6295 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
6296 vector optab to expand vector/scalar shift, update gimple to vector.
6297
76df0ae6
MJ
62982011-01-03 Martin Jambor <mjambor@suse.cz>
6299
6300 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
6301 a thunk.
6302
ce47fda3
MJ
63032011-01-03 Martin Jambor <mjambor@suse.cz>
6304
6305 PR tree-optimization/46984
6306 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
6307 HOST_WIDE_INT.
6308 (cgraph_create_indirect_edge): Fixed line length.
6309 (cgraph_indirect_call_info): Declare.
6310 (cgraph_make_edge_direct) Update declaration.
6311 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
6312 (cgraph_create_indirect_edge): Use it.
6313 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
6314 callees.
6315 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
6316 the new thunk_delta representation.
6317 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
6318 HOST_WIDE_INT.
6319 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
6320 (ipa_read_indirect_edge_info): Likewise.
6321 * lto-cgraph.c (output_edge_opt_summary): New function.
6322 (output_node_opt_summary): Call it on all outgoing edges.
6323 (input_edge_opt_summary): New function.
6324 (input_node_opt_summary): Call it on all outgoing edges.
6325
1e67fa1f
L
63262011-01-02 H.J. Lu <hongjiu.lu@intel.com>
6327
6328 PR driver/47137
6329 * gcc.c (main): Don't check have_o when settting combine_inputs.
6330
6656b2ac
EB
63312011-01-02 Eric Botcazou <ebotcazou@adacore.com>
6332
6333 * regrename.c: Add general comment describing the pass.
6334 (struct du_head): Remove 'length' field.
6335 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
6336 (regrename_optimize): Do not sort chains. Rework comments, add others.
6337 Force renaming to the preferred class (if any) in the first pass and do
6338 not consider registers that belong to it in the second pass.
6339 (create_new_chain): Do not set 'length' field.
6340 (scan_rtx_reg): Likewise.
6341
bc470c24
JJ
63422011-01-02 Jakub Jelinek <jakub@redhat.com>
6343
4e996296
JJ
6344 PR tree-optimization/47140
6345 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
6346 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
6347 to bit_value_binop.
6348
bc470c24 6349 PR rtl-optimization/47028
6656b2ac
EB
6350 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
6351 parm_birth_insn instead of at the beginning of first bb.
bc470c24 6352
5af62fcd 63532011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
6354
6355 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
6356 Remove the word "see" before "@pxref".
6357 * doc/rtl.texi: Remove the word "see" before "@pxref".
6358
0e20c89f
JH
63592011-01-01 Jan Hubicka <jh@suse.cz>
6360
6656b2ac
EB
6361 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
6362 memory.
0e20c89f 6363
220e83ca
KT
63642011-01-01 Kai Tietz <kai.tietz@onevision.com>
6365
6366 PR target/38662
6656b2ac 6367 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 6368
ad41bd84 6369\f
797103eb 6370Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
6371
6372Copying and distribution of this file, with or without modification,
6373are permitted in any medium without royalty provided the copyright
6374notice and this notice are preserved.