]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
sse.md (V16): New mode iterator.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
e81b8564
UB
12011-04-16 Uros Bizjak <ubizjak@gmail.com>
2
3 * config/i386/sse.md (V16): New mode iterator.
4 (VI1, VI8): Ditto.
5 (AVXMODEQI, AVXMODEDI): Remove.
6 (sse2, sse3): New mode attribute.
7 (mov<mode>): Use V16 mode iterator.
8 (*mov<mode>_internal): Merge with *avx_mov<mode>_internal.
9 (push<mode>1): Use V16 mode iterator.
10 (movmisalign<mode>): Ditto.
11 (<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
12 <sse>_movu<ssemodesuffix> and avx_movu<ssemodesuffix><avxmodesuffix>.
13 (*<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
14 *<sse>_movu<ssemodesuffix> and *avx_movu<ssemodesuffix><avxmodesuffix>.
15 (<sse2>_movdqu<avxmodesuffix>): Merge from sse2_movdqu and
16 avx_movdqu<avxmodesuffix>.
17 (*<sse2>_movdqu<avxmodesuffix>): Merge from *sse2_movdqu and
18 *avx_movdqu<avxmodesuffix>.
19 (<sse3>_lddqu<avxmodesuffix>) Merge from sse3_lddqu and
20 avx_lddqu<avxmodesuffix>.
21 (<sse>_movnt<mode>): Merge with avx_movnt<AVXMODEF2P:mode>.
22 (<sse2>_movnt<mode>): Merge from sse2_movntv2di and
23 avx_movnt<AVXMODEDI:mode>.
24 * config/i386/i386.c (ix86_expand_vector_move_misalign): Update for
25 renamed sse_movups, sse2_movupd and sse2_movdqu patterns.
26
4743d438
BS
272011-04-16 Bernd Schmidt <bernds@codesourcery.com>
28
29 PR target/48629
30 * haifa-sched.c (prune_ready_list, schedule_block): Use
31 sched_pressure_p rather than flag_sched_pressure.
32
eb229cf4
PH
332011-04-15 Pat Haugen <pthaugen@us.ibm.com>
34
35 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
36 cgraph_get_node instead of cgraph_get_create_node.
37
2ba172e0
JJ
382011-04-15 Jakub Jelinek <jakub@redhat.com>
39
40 * cfgexpand.c (expand_debug_expr): Use
41 simplify_gen_{unary,binary,ternary} instead of gen_rtx_*.
42
63d2a353
MM
432011-04-15 Michael Matz <matz@suse.de>
44
45 * tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
46 * builtins.c (expand_builtin): Use CALL_ALLOCA_FOR_VAR_P.
47 * function.c (gimplify_parameters): Ditto.
48 * gimplify.c (gimplify_vla_decl): Ditto.
49
50 * gimple.h (enum gf_mask): Add GF_CALL_ALLOCA_FOR_VAR.
51 (gimple_call_set_alloca_for_var): New inline function.
52 (gimple_call_alloca_for_var_p): Ditto.
e81b8564
UB
53 * gimple.c (gimple_build_call_from_tree): Remember
54 CALL_ALLOCA_FOR_VAR_P state.
63d2a353
MM
55 * cfgexpand.c (expand_call_stmt): Restore CALL_ALLOCA_FOR_VAR_P state.
56
57 * tree-inline.c (inline_forbidden_p_stmt): Don't reject alloca
58 calls if they were for VLA objects.
59
dee74c34
MJ
602011-04-15 Martin Jambor <mjambor@suse.cz>
61
62 * ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling
63 of ADR_EXPRs.
64
8e5837bc
MJ
652011-04-15 Martin Jambor <mjambor@suse.cz>
66
67 PR middle-end/48601
68 * tree-emutls.c (lower_emutls_function_body): Call
69 cgraph_get_create_node instead of cgraph_get_node. Do not assert the
70 result is non-NULL.
71
0dc33c3c
NP
722011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
73
74 * c-decl.c (detect_field_duplicates): Call
75 objc_detect_field_duplicates instead of objc_get_interface_ivars.
76
edcdea5b
NF
772011-04-15 Nathan Froyd <froydnj@codesourcery.com>
78
79 * gimple.h (gimple_asm_clobbers_memory_p): Declare.
80 * gimple.c (gimple_asm_clobbers_memory_p): Define.
81 * ipa-pure-const.c (check_stmt): Call it.
82 * tree-ssa-operands.c (get_asm_expr_operands): Likewise.
83
8456558d
RG
842011-04-15 Richard Guenther <rguenther@suse.de>
85
86 PR tree-optimization/48290
87 * tree-ssa-copy.c (copy_prop_visit_phi_node): Propagate constants.
88 Properly decide inhibiting propagation based on the valueized
89 operand. Do loop-closed SSA form preserving here ...
90 (init_copy_prop): ... not here.
91
266446be
L
922011-04-15 H.J. Lu <hongjiu.lu@intel.com>
93
94 PR target/48612
95 * config/i386/sse.md (*ieee_smin<mode>3): Switch mnemonics.
96 (*ieee_smax<mode>3): Likewise.
97
17465c6e
AK
982011-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
99
100 * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
101 Replace match_operand with match_dup for the third operand in
102 these expanders.
103
bce204e5
MK
1042011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
105
106 * combine.c (subst, combine_simlify_rtx): Add new argument, use it
107 to track processing of conditionals. Update all callers.
108 (try_combine, simplify_if_then_else): Update.
109
3162fdf4
MK
1102011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
111
112 * config/m68k/m68k.c (m68k_sched_variable_issue): Handle
113 -fsched-pressure.
114
79002a57 1152011-04-15 Georg-Johann Lay <avr@gjlay.de>
e81b8564 116
79002a57
GJL
117 * config/avr/avr.md ("rotl<mode>3",mode=HIDI): Use match_dup
118 instead of match_operand for operand 3.
119
4fd3a105
RS
1202011-04-15 Richard Sandiford <richard.sandiford@linaro.org>
121
122 * recog.h (insn_operand_data): Add an "allows_mem" field.
123 * genoutput.c (output_operand_data): Initialize it.
124 * optabs.c (maybe_legitimize_operand_same_code): New function.
125 (maybe_legitimize_operand): Use it when matching the original
126 op->value.
127
ad19c4be
EB
1282011-04-15 Eric Botcazou <ebotcazou@adacore.com>
129
130 * gimplify.c: Fix issues in comments throughout.
131 (voidify_wrapper_expr): Fix long line.
132 (build_stack_save_restore): Likewise.
133 (gimplify_loop_expr): Likewise.
134 (gimplify_compound_lval): Likewise.
135 (gimplify_init_ctor_eval): Likewise.
136 (gimplify_modify_expr_rhs): Likewise.
137 (omp_notice_threadprivate_variable): Likewise.
138
b25aa0e8 1392011-04-15 Eric Botcazou <ebotcazou@adacore.com>
e7925582 140
b25aa0e8
EB
141 * cfgexpand.c (expand_call_stmt): Convert the function type to the
142 original one if this is not a builtin function.
e7925582 143
09db7afe
JJ
1442011-04-14 Jakub Jelinek <jakub@redhat.com>
145
146 PR target/48605
147 * config/i386/sse.md (sse4_1_insertps): If operands[2] is a MEM,
148 offset it as needed based on top 2 bits in operands[3], change
149 MEM mode to SFmode and mask those 2 bits away from operands[3].
150
c59633d9
NP
1512011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
152
153 * c-parser.c (c_parser_objc_protocol_definition): Updated for
154 change from objc_declare_protocols() to objc_declare_protocol().
155
5e60198b
UB
1562011-04-14 Uros Bizjak <ubizjak@gmail.com>
157
158 * config/i386/sse.md (sse4_1): New mode attribute.
159 (<sse4_1>_blend<ssemodesuffix><avxmodesuffix>): Macroize from
160 avx_blend<ssemodesuffix><avxmodesuffix> and
161 sse4_1_blend<ssemodesuffix> using VF mode iterator.
162 (<sse4_1>_blendv<ssemodesuffix><avxmodesuffix>): Macroize from
163 avx_blendv<ssemodesuffix><avxmodesuffix> and
164 sse4_1_blendv<ssemodesuffix> using VF mode iterator.
165 (<sse4_1>_dp<ssemodesuffix><avxmodesuffix>): Macroize from
166 avx_dp<ssemodesuffix><avxmodesuffix> and
167 sse4_1_dp<ssemodesuffix> using VF mode iterator.
168 (sse4_1_mpsadbw): Merge with *avx_mpsadbw.
169 (sse4_1_packusdw): Merge with *avx_packusdw.
170 (sse4_1_pblendvb): Merge with *avx_pblendvb.
171 (sse4_1_pblendw): Merge with *avx_pblendw.
172 (avx_vtest<ssemodesuffix><avxmodesuffix>): Use VF mode iterator.
173 (<sse4_1>_round<ssemodesuffix><avxmodesuffix>): Macroize from
174 avx_round<ssemodesuffix>256 and sse4_1_round<ssemodesuffix> using
175 VF mode iterator.
176 (sse4_1_round<ssescalarmodesuffix>): Merge with
177 *avx_round<ssescalarmodesuffix>.
178 (aesenc): Merge with *avx_aesenc.
179 (aesenclast): Merge with *avx_aesenclast.
180 (aesdec): Merge with *avx_aesdec.
181 (aesdeclast): Merge with *avx_aesdeclast.
182 (pclmulqdq): Merge with *pclmulqdq.
183 * config/i386/predicates.md (reg_not_xmm0_operand_maybe_avx):
184 New predicate.
185 (nonimm_not_xmm0_operand_maybe_avx): Ditto.
186
6f197850
L
1872011-04-14 H.J. Lu <hongjiu.lu@intel.com>
188
189 PR middle-end/48608
190 * cfgexpand.c (get_decl_align_unit): Renamed to ...
191 (align_local_variable): This. Update DECL_ALIGN.
192 (add_stack_var): Updated.
193 (expand_one_stack_var): Likewise.
194
4a5ba3ed
RG
1952011-04-14 Richard Guenther <rguenther@suse.de>
196
197 * tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
198 Remove.
199 (dse_initialize_block_local_data, dse_leave_block,
200 record_voperand_set, get_stmt_uid): Likewise.
201 (dse_possible_dead_store_p): Allow any kind of killing stmt.
202 (dse_optimize_stmt): Remove voperand set handling code.
203 Simplify and improve to handle any kind of killing stmt.
204 (dse_record_phi): Remove.
205 (dse_enter_block): Simplify.
206 (tree_ssa_dse): Likewise.
207 * tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.
208
10a5dd5d
JH
2092011-04-14 Jan Hubicka <jh@suse.cz>
210
211 * cgraph.c (dump_cgraph_node): Do not dump inline summaries.
212 * cgraph.h (struct inline_summary): Move to ipa-inline.h
213 (cgraph_local_info): Remove inline_summary.
214 * ipa-cp.c: Include ipa-inline.h.
215 (ipcp_cloning_candidate_p, ipcp_estimate_growth,
216 ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
217 accesor.
218 * lto-cgraph.c (lto_output_node): Do not stream inline summary.
219 (input_overwrite_node): Do not set inline summary.
220 (input_node): Do not stream inline summary.
221 * ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
222 (cgraph_decide_inlining_incrementally): Do not try to estimate overall
223 growth; we do not have inline parameters computed for that anyway.
224 (cgraph_early_inlining): After inlining compute call_stmt_sizes.
225 * ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
226 (inline_summary_t): New type and VECtor.
227 (debug_inline_summary, dump_inline_summaries): Declare.
228 (inline_summary): Use VOCtor.
229 (estimate_edge_growth): Kill hack computing call stmt size directly.
230 * lto-section-in.c (lto_section_name): Add inline section.
231 * ipa-inline-analysis.c: Include lto-streamer.h
232 (node_removal_hook_holder, node_duplication_hook_holder): New holders
233 (inline_node_removal_hook, inline_node_duplication_hook): New functions.
234 (inline_summary_vec): Define.
235 (inline_summary_alloc, dump_inline_summary, debug_inline_summary,
236 dump_inline_summaries): New functions.
5e60198b
UB
237 (estimate_function_body_sizes): Properly compute size/time of outgoing
238 calls.
239 (compute_inline_parameters): Alloc inline_summary; do not compute
240 size/time of incomming calls.
10a5dd5d
JH
241 (estimate_edge_time): Avoid missing time summary hack.
242 (inline_read_summary): Read inline summary info.
243 (inline_write_summary): Write inline summary info.
244 (inline_free_summary): Free all hooks and inline summary vector.
245 * lto-streamer.h: Add LTO_section_inline_summary section.
246 * Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
247 * ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.
248
b602d918
RS
2492011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
250
251 * tree-vectorizer.h (vect_strided_store_supported): Add a
252 HOST_WIDE_INT argument.
253 (vect_strided_load_supported): Likewise.
254 (vect_permute_store_chain): Return void.
255 (vect_transform_strided_load): Likewise.
256 (vect_permute_load_chain): Delete.
257 * tree-vect-data-refs.c (vect_strided_store_supported): Take a
258 count argument. Check that the count is a power of two.
259 (vect_strided_load_supported): Likewise.
260 (vect_permute_store_chain): Return void. Update after above changes.
261 Assert that the access is supported.
262 (vect_permute_load_chain): Likewise.
263 (vect_transform_strided_load): Return void.
264 * tree-vect-stmts.c (vectorizable_store): Update calls after
265 above interface changes.
266 (vectorizable_load): Likewise.
267 (vect_analyze_stmt): Don't check for strided powers of two here.
268
ab4472fa
RG
2692011-04-14 Richard Guenther <rguenther@suse.de>
270
271 PR tree-optimization/48590
272 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
273 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
274 (call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
275 BUILT_IN_STACK_SAVE.
276 * tree-ssa-dce.c (propagate_necessity): Handle
277 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
278
32dabdaf
NP
2792011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
280
281 * c-parser.c (c_parser_objc_class_declaration): Updated call to
282 objc_declare_class.
283
daade206
RG
2842011-04-14 Richard Guenther <rguenther@suse.de>
285
286 * tree.h (get_object_alignment_1): Declare.
287 * builtins.c (get_object_alignment_1): Split out worker from ...
288 (get_object_alignment): ... here.
289 * fold-const.c (get_pointer_modulus_and_residue): Use
290 get_object_alignment_1.
291
920e8172
RS
2922011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
293
294 * tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
295 type parameter.
296 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
297 parameter. Generalise code to handle arrays as well as vectors.
298 (vect_setup_realignment): Update accordingly.
299 * tree-vect-stmts.c (vectorizable_store): Likewise.
300 (vectorizable_load): Likewise.
301
5ce1ee7f
RS
3022011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
303
304 * tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain
305 within the per-copy loop.
306
6438fe33 3072011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
0ea25ecd
RS
308
309 * tree-vect-stmts.c (vectorizable_load): Print the number of copies
310 in the dump file.
311
6438fe33 3122011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
77b10485
RS
313
314 * doc/options.texi (Negative): Explicitly mention that the
315 Negative chain must be circular.
316
61e46a7d
NF
3172011-04-14 Nathan Froyd <froydnj@codesourcery.com>
318
319 * function.h (block_chainon): Declare.
320 * function.c (block_chainon): Define.
321
43ea6502 3222011-04-14 Anatoly Sokolov <aesok@post.ru>
5e60198b
UB
323 Eric Weddington <eric.weddington@atmel.com>
324 Georg-Johann Lay <avr@gjlay.de>
325
43ea6502
AS
326 * config/avr/avr.c: ("insn-codes.h", "optabs.h", "langhooks.h"):
327 New Includes
328 (avr_init_builtins, avr_expand_builtin,
329 avr_expand_delay_cycles, avr_expand_unop_builtin,
330 avr_expand_binop_builtin ): New functions.
331 (avr_builtin_id): New enum
332 (struct avr_builtin_description): New struct
333 (bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins.
334 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
5e60198b 335
43ea6502 336 * config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU,
5e60198b 337 UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR,
43ea6502
AS
338 UNSPECV_DELAY_CYCLES): new enumeration values
339 (UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values
340 ("enable_interrupt"): Use UNSPECV_ENABLE_IRQS
341 ("disable_interrupt"): Use UNSPECV_ENABLE_IRQS
342 ("*rotlqi3_4"): rename insn to "rotlqi3_4"
343 ("delay_cycles_1", "delay_cycles_2", "delay_cycles_3",
344 "delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls",
345 "fmulsu"): New insns
5e60198b 346
43ea6502
AS
347 * config/avr/avr-c.c: fix line endings
348 (avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP,
349 __BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR,
350 __BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP,
351 __BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL,
352 __BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU.
5e60198b 353
43ea6502
AS
354 * doc/extend.texi (AVR Built-in Functions): New node
355 (Target Builtins): Add documentation of AVR
356 built-in functions.
357
8a9b55f3
GJL
3582011-04-14 Georg-Johann Lay <avr@gjlay.de>
359
360 PR target/44643
361 * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
362 alone. Error if non-const data has attribute progmem.
363
94bd1825
NF
3642011-04-13 Nathan Froyd <froydnj@codesourcery.com>
365
366 * tree.h (struct tree_constructor): Include tree_typed instead of
367 tree_common.
368 * tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as
369 TS_TYPED instead of TS_COMMON.
370
5e60198b 3712011-04-13 Uros Bizjak <ubizjak@gmail.com>
81b1e7eb
UB
372
373 * config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
374 (*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3.
375 (sse2_psadbw): Merge with *avx_psadbw.
376 (ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3.
377 (ssse3_phadddv4si3): Merge with *avx_phadddv4si3.
378 (ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3.
379 (ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3.
380 (ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3.
381 (ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3.
382 (ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128.
383 (*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3.
384 (ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3.
385 (ssse3_psign<mode>3): Merge with *avx_psign<mode>3.
386 (ssse3_palignrti): Merge with *avx_palignrti.
387
4b1a4694
NF
3882011-04-13 Nathan Froyd <froydnj@codesourcery.com>
389
390 * tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
391 * tree-ssanames.c (fini_ssanames): VEC_free it.
392 (make_ssa_name_fn): Update for VECness of free_ssanames.
393 (release_ssa_name, release_dead_ssa_names): Likewise.
394 * tree.h (struct tree_ssa_name): Include tree_typed instead of
395 tree_common.
396 * tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
397 TS_TYPED instead of TS_COMMON.
398
4da3b811
NF
3992011-04-13 Nathan Froyd <froydnj@codesourcery.com>
400
401 * postreload-gcse.c (gcse_after_reload_main): Add calls to
402 statistics_counter_event.
403 * tree-ssa-copyrename.c (stats): Define.
404 (rename_ssa_copies): Count coalesced SSA_NAMEs. Add call to
405 statistics_counter_event.
406 * tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
407 (bswap_stats, widen_mul_stats): Define.
408 (insert_reciprocals): Increment rdivs_inserted.
409 (execute_cse_reciprocals): Zeroize reciprocal_stats. Increment
410 rfuncs_inserted. Add calls to statistics_counter_event.
411 (execute_cse_sincos_1): Increment inserted.
412 (execute_cse_sincos): Zeroize sincos_stats. Add call to
413 statistics_counter_event.
414 (execute_optimize_bswap): Zeroize bswap_stats. Increment fields
415 of bswap_stats. Add calls to statistics_counter_event.
416 (convert_mult_to_widen): Increment widen_mults_inserted.
417 (convert_plusminus_to_widen): Increment maccs_inserted.
418 (convert_mult_to_fma): Increment fmas_inserted.
419 (execute_optimize_widening_mul): Zeroize widen_mul_stats. Add
420 calls to statistics_counter_event.
421
89fa552a
VM
4222011-04-13 Vladimir Makarov <vmakarov@redhat.com>
423
424 PR rtl-optimization/48455
425 * ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
426 `temp_costs->mem_cost'.
427
03dfc36d
JH
4282011-04-13 Jan Hubicka <jh@suse.cz>
429
430 * ipa-inline.h: New file.
431 * ipa-inline-analysis.c: New file. Broken out of ...
432 * ipa-inline.c: ... this file; update toplevel comment;
433 include ipa-inline.h
434 (inline_summary): Move to ipa-inline.h
435 (cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
436 ipa-inline-analysis.c.
437 (cgraph_estimate_time_after_inlining): Rename to estiamte_time_after_inlining;
438 move to ipa-inline-analysis.c
439 (cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
440 to estimate_edge_growth.
441 (cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
442 rename to estimate_size_after_inlining.
443 (cgraph_mark_inline_edge): Update for new naming convention.
444 (cgraph_check_inline_limits): Likewise.
445 (cgraph_edge_badness): Likewise.
446 (cgraph_decide_recursive_inlining): Likewise.
447 (cgraph_decide_inlining_of_small_functions): Likewise.
448 (cgraph_decide_inlining_incrementally): Likewise.
449 (cgraph_estimate_growth): Rename to estimate_growth; move to ipa-inline-analysis.c.
450 (eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
451 (estimate_function_body_sizes): Move to ipa-inline-analysis.c.
452 (compute_inline_parameters): Likewise.
453 (compute_inline_parameters_for_current): Likewise.
454 (pass_inline_parameters): Likewise.
455 (inline_indirect_intraprocedural_analysis): Likewise.
456 (analyze_function): Rename to inline_analyze_function; likewise.
457 (add_new_function): Move to ipa-inline-analysis.c.
458 (inline_generate_summary): Likewise.
459 (inline_read_summary): Likewise.
460 (inline_write_summary): Likewise.
461 * Makefile.in (ipa-inline-analysis.c): New file.
462
7673c962
RO
4632011-04-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
464
465 * configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
466 * configure: Regenerate.
467
9698252f
NF
4682011-04-13 Nathan Froyd <froydnj@codesourcery.com>
469
470 * tree.h (struct tree_int_cst, struct real_value): Include tree_typed
471 instead of tree_common.
472 (struct tree_fixed_cst, struct tree_string, struct tree_complex):
473 Likewise.
474 * tree.c (initialize_tree_contains_struct): Mark such nodes as being
475 TS_TYPED rather than TS_COMMON.
476 * print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.
477
3a7bfdd5
GJL
4782011-04-01 Georg-Johann Lay <avr@gjlay.de>
479
480 PR target/45263
86d83530
GJL
481 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Don't use
482 r20 around calls of __tablejump_elpm__
3a7bfdd5 483
20790697
JJ
4842011-04-13 Jakub Jelinek <jakub@redhat.com>
485
486 PR middle-end/48591
487 * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
488 NULL.
489 (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
490
094d7661
BS
4912011-04-13 Bernd Schmidt <bernds@codesourcery.com>
492
493 * dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
494 (dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
495 (cfi_vec): New typedef.
496 (struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
497 dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
498 (cie_cfi_vec): New static variable.
499 (cie_cfi_head): Delete.
500 (add_cfi): Accept a cfi_vec * as first argument. All callers and
501 declaration changed. Use vector rather than list operations.
502 (new_cfi): Don't initialize the dw_cfi_next field.
503 (add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
504 rather than list operations.
505 (lookup_cfa): Use vector rather than list operations.
506 (output_cfis): New argument upto. Accept a cfi_vec rather than
507 a dw_cfi_ref list head as argument. All callers changed.
508 Iterate over the vector using upto as a maximum index.
509 (output_all_cfis): New static function.
510 (output_fde): Use vector rather than list operations. Use the
511 new upto argument for output_cfis rather than manipulating a
512 list.
513 (dwarf2out_begin_prologue): Change initializations to match
514 new struct members.
515 (dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
516 from the vector length rather than searching for the end of a list.
517 Use output_all_cfis.
518 (convert_cfa_to_fb_loc_list): Use vector rather than list operations.
519
673a5740
NC
5202011-04-13 Nick Clifton <nickc@redhat.com>
521
522 * config/rx/rx.md (movmemsi): Do not use this pattern when
523 volatile pointers are involved.
524
1ee8b298
UB
5252011-04-13 Uros Bizjak <ubizjak@gmail.com>
526
527 * config/i386/sse.md (pinsrbits): Remove.
528 (sse2_packsswb): Merge with *avx_packsswb.
529 (sse2_packssdw): Merge with *avx_packssdw.
530 (sse2_packuswb): Merge with *avx_packuswb.
531 (vec_interleave_highv16qi): Merge with *avx_interleave_highv16qi.
532 (vec_interleave_lowv16qi): Merge with *avx_interleave_lowv16qi.
533 (vec_interleave_highv8hi): Merge with *avx_interleave_highv8hi.
534 (vec_interleave_lowv8hi): Merge with *avx_interleave_lowv8hi.
535 (vec_interleave_highv4si): Merge with *avx_interleave_highv4si.
536 (vec_interleave_lowv4si): Merge with *avx_interleave_lowv4si.
537 (*sse4_1_pinsrb): Merge with *avx_pinsr<ssevecsize>.
538 (*sse2_pinsrw): Merge with *avx_pinsr<ssevecsize>.
539 (*sse4_1_pinsrd): Merge with *avx_pinsr<ssevecsize>.
540 (*sse4_1_pinsrq): Merge with *avx_pinsrq.
541 (sse2_loadld): Merge with *avx_loadld.
542 (*vec_extractv2di_1_rex64): Merge with *vec_extractv2di_1_rex64_avx.
543 (*vec_extractv2di_1_sse2): Merge with *vec_extractv2di_1_avx.
544 (*vec_concatv2si_sse4_1): Merge with *vec_concatv2si_avx.
545 (*vec_concatv2di_rex64_sse4_1): Merge with *vec_concatv2di_rex64_avx.
546 (vec_concatv2di): Merge with *vec_concatv2di_avx.
547
81f653d6
NF
5482011-04-12 Nathan Froyd <froydnj@codesourcery.com>
549
550 * c-decl.c (union lang_tree_node): Check for TS_COMMON before
551 calling TREE_CHAIN.
552 * print-tree.c (print_node): Likewise.
553 * tree-inline.c (copy_tree_r): Likewise.
554 * c-lang.c (LANG_HOOKS_INIT_TS): Define.
555 * lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
556 instead of TS_COMMON.
557 * lto-streamer-out.c (lto_output_tree_pointers): Likewise.
558 * tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
559 (copy_node_stat): Zero TREE_CHAIN only if necessary.
560 (MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
561 (MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
562 ...and these...
563 (MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
564 * tree.h: ...here.
565 (TREE_CHAIN): Check for a TS_COMMON structure.
566 (TREE_TYPE): Check for a TS_TYPED structure.
567
ed940a4a
PH
5682011-04-12 Pat Haugen <pthaugen@us.ibm.com>
569
570 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
571 cgraph_get_create_node instead of cgraph_node.
572
eb345401
NP
5732011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
574
575 * c-parser.c (c_parser_initelt): Updated call to
576 objc_build_message_expr.
577 (c_parser_postfix_expression): Likewise.
578
a6c46762
KT
5792011-04-12 Kai Tietz <ktietz@redhat.com>
580
581 * config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add
582 MASK_MS_BITFIELD_LAYOUT bit.
583
b4ccfed9
JJ
5842011-04-12 Jakub Jelinek <jakub@redhat.com>
585
586 * combine.c (update_cfg_for_uncondjump): Instead of testing at_end
587 assert it is always true.
588 (try_combine): Don't call update_cfg_for_uncondjump for noop non-jump
589 moves.
590
0d8a2528
NP
5912011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
592
593 * c-parser.c (c_lex_one_token): Rewritten conditional used when
594 compiling Objective-C to be more efficient.
595
06bd234a
AF
5962011-04-12 Axel Freyn <axel-freyn@gmx.de>
597
598 * opts-common.c (decode_cmdline_options_to_array): Remove variable
599 argv_copied.
600
28569ac3
RS
6012011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
602
603 * recog.h, genoutput.c, optabs.c: Revert last patch.
604
ae59e00d
RR
6052011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
606
81b1e7eb
UB
607 PR target/48090
608 * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
ae59e00d 609
cff1b7e0
RS
6102011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
611
612 * recog.h (insn_operand_data): Add an "allows_mem" field.
613 * genoutput.c (output_operand_data): Initialize it.
614 * optabs.c (maybe_legitimize_operand_same_code): New function.
615 (maybe_legitimize_operand): Use it when matching the original
616 op->value.
617
77059241
RS
6182011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
619
620 * genpreds.c (process_define_predicate): Move most processing
621 to gensupport.c. Continue to validate the expression.
622 * genrecog.c (did_you_mean_codes, compute_predicate_codes)
623 (process_define_predicate): Move processing to gensupport.c.
624 (main): Remove DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE cases.
625 * gensupport.c (did_you_mean_codes): Moved from genrecog.c.
626 (compute_predicate_codes): Moved from genrecog.c. Add lineno
627 argument.
628 (valid_predicate_name_p): New function, split out from old
629 genpreds.c:process_define_predicate.
630 (process_define_predicate): New function, combining code from
631 old genpreds.c and genrecog.c functions.
632 (process_rtx): Call it for DEFINE_PREDICATE and
633 DEFINE_SPECIAL_PREDICATE.
634
6308e208
RS
6352011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
636
637 * config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
638 size of a '%A' memory reference.
639 (T_DREG, T_QREG): New neon_builtin_type_bits.
640 (arm_init_neon_builtins): Assert that the load and store operands
641 are neon_struct_operands.
642 (locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
643 (NEON_ARG_MEMORY): New builtin_arg.
644 (neon_dereference_pointer): New function.
645 (arm_expand_neon_args): Add a neon_builtin_type_bits argument.
646 Handle NEON_ARG_MEMORY.
647 (arm_expand_neon_builtin): Update after above interface changes.
648 Use NEON_ARG_MEMORY for loads and stores.
649 * config/arm/predicates.md (neon_struct_operand): New predicate.
650 * config/arm/iterators.md (V_two_elem): Tweak formatting.
651 (V_three_elem): Use BLKmode for accesses that have no associated mode.
652 (V_four_elem): Tweak formatting.
653 * config/arm/neon.md (neon_vld1<mode>, neon_vld1_dup<mode>)
654 (neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
655 (neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
656 (neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
657 (neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
658 (neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
659 (neon_vst4<mode>): Replace pointer operand with a memory operand.
660 Use %A in the output template.
661 (neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
662 (neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
663 (neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
664 the width of the memory access. Remove post-increment.
665 * config/arm/neon-testgen.ml: Allow addresses to have an alignment.
666
e5db8f2f
NC
6672011-04-12 Nick Clifton <nickc@redhat.com>
668
669 * config/v850/v850.c (expand_prologue): Do not use the CALLT
670 instruction for interrupt handlers if the target is the basic V850
671 architecture.
672 (expand_epilogue): Likewise.
673
74f091d6
JJ
6742011-04-12 Jakub Jelinek <jakub@redhat.com>
675
676 PR rtl-optimization/48549
677 * combine.c (propagate_for_debug): Also stop after BB_END of
678 this_basic_block. Process LAST and just stop processing after it.
679 (combine_instructions): If last_combined_insn has been deleted,
680 set last_combined_insn to its PREV_INSN.
681
f20ca725
RG
6822011-04-12 Richard Guenther <rguenther@suse.de>
683
684 PR tree-optimization/46076
685 * gimple.h (struct gimple_statement_call): Add fntype field.
686 (gimple_call_fntype): Adjust.
687 (gimple_call_set_fntype): New function.
688 * gimple.c (gimple_build_call_1): Set the call function type.
689 * gimplify.c (gimplify_call_expr): Preserve the function
690 type the frontend used for the call.
691 (gimplify_modify_expr): Likewise.
692 * lto-streamer-in.c (input_gimple_stmt): Input the call stmts
693 function type.
694 * lto-streamer-out.c (output_gimple_stmt): Output the call stmts
695 function type.
696 * tree-ssa.c (useless_type_conversion_p): Function pointer
697 conversions are useless.
698
a358e188
MJ
6992011-04-12 Martin Jambor <mjambor@suse.cz>
700
701 * cgraph.h (cgraph_node): Remove function declaration.
702 (cgraph_create_node): Declare.
703 (cgraph_get_create_node): Likewise.
704 * cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1.
705 Updated all callers.
706 (cgraph_node): Renamed to cgraph_create_node, assert that a node for
707 the decl does not already exist. Call cgraph_get_create_node instead
708 of cgraph_node.
709 (cgraph_get_create_node): New function.
710 (cgraph_same_body_alias): Update comment.
711 (cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node,
712 assert it does not return NULL.
713 (cgraph_update_edges_for_call_stmt): Likewise.
714 (cgraph_clone_edge): Likewise.
715 (cgraph_create_virtual_clone): Likewise.
716 (cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node
717 instead of cgraph_node.
718 (cgraph_add_new_function): Call cgraph_create_node or
719 cgraph_get_create_node instead of cgraph_node.
720 * cgraphbuild.c (record_reference): Call cgraph_get_create_node
721 instead of cgraph_node.
722 (record_eh_tables): Likewise.
723 (mark_address): Likewise.
724 (mark_load): Likewise.
725 (build_cgraph_edges): Call cgraph_get_create_node instead
726 of cgraph_node.
727 (rebuild_cgraph_edges): Likewise.
728 * cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node
729 instead of cgraph_node.
730 (cgraph_copy_node_for_versioning): Call cgraph_create_node instead of
731 cgraph_node.
732 * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call
733 cgraph_create_node instead of cgraph_node.
734 * c-decl.c (finish_function): Call cgraph_get_create_node instead
735 of cgraph_node.
736 * lto-cgraph.c (input_node): Likewise.
737 * lto-streamer-in.c (input_function): Likewise.
738 * varasm.c (mark_decl_referenced): Likewise.
739 (assemble_alias): Likewise.
740
fe660d7b
MJ
7412011-04-12 Martin Jambor <mjambor@suse.cz>
742
743 * tree-inline.c (tree_function_versioning): Call cgraph_get_node
744 instead of cgraph_node and assert it does not return NULL.
745 * lto-streamer-in.c (lto_read_body): Likewise.
746 * omp-low.c (new_omp_context): Likewise.
747 (create_task_copyfn): Likewise.
748 * tree-emutls.c (lower_emutls_function_body): Likewise.
749 * matrix-reorg.c (transform_allocation_sites): Likewise.
750
bae5cddf
JJ
7512011-04-12 Jakub Jelinek <jakub@redhat.com>
752
753 PR c/48552
754 * c-typeck.c (build_asm_expr): Error out on attempts to use
755 void type outputs or inputs for constraints that allow reg or
756 don't allow memory.
757
06eb52ca
CLT
7582011-04-11 Chung-Lin Tang <cltang@codesourcery.com>
759 Richard Earnshaw <rearnsha@arm.com>
760
761 PR target/48250
762 * config/arm/arm.c (arm_legitimize_reload_address): Update cases
763 to use sign-magnitude offsets. Reject unsupported unaligned
764 cases. Add detailed description in comments.
765 * config/arm/arm.md (reload_outdf): Disable for ARM mode; change
766 condition from TARGET_32BIT to TARGET_ARM.
767
648a616b
NF
7682011-04-11 Nathan Froyd <froydnj@codesourcery.com>
769
770 * tree.h (struct typed_tree): New.
771 (struct tree_common): Include it instead of tree_base.
772 (TREE_TYPE): Update for new location of type field.
773 (TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly.
774 (DECL_USER_ALIGN, DECL_PACKED): Likewise.
775 (union tree_node): Add typed field.
776 * treestruct.def (TS_TYPED): New.
777 * lto-streamer.c (check_handled_ts_structures): Handle it.
778 * tree.c (MARK_TS_TYPED): New macro.
779 (MARK_TS_COMMON): Call it instead of MARK_TS_BASE.
780
1e6d1da0
EB
7812011-04-11 Eric Botcazou <ebotcazou@adacore.com>
782
783 * cfghooks.c (redirect_edge_and_branch_force): Localize variable.
784 (force_nonfallthru): Do not alter the loop nest if no basic block
785 was created.
786
7872011-04-11 Uros Bizjak <ubizjak@gmail.com>
d8700b1c
UB
788
789 * config/i386/sse.md (VI): New mode iterator.
790 (SSEMODEI): Remove.
791 (AVX256MODEI): Ditto.
792 (AVXMODEF4P): Ditto.
793 (avxvecpsmode): Ditto.
794 (one_cmpl<mode>2): Enable for TARGET_SSE. Use VI mode iterator.
795 (sse2_andnot<mode>3): New expander.
796 (*andnot<mode>3): Merge with *sse2_andnot<mode>3 and
797 *avx_andnot<mode>3. Enable for TARGET_SSE. Use VI mode iterator.
798 (<any_logic:code><mode>3): Use VI mode iterator.
799 (*<any_logic:code><mode>3): Merge with *sse2_<any_logic:code><mode>3
800 and *avx_<any_logic:code><mode>3. Use VI mode iterator.
801 (*andnottf3): Handle AVX three-operand constraints.
802 (*<any_logic:code>tf3): Handle AVX three-operand constraints.
803
b1372d5d 8042011-04-11 Joseph Myers <joseph@codesourcery.com>
d8700b1c 805 Robert Millan <rmh@gnu.org>
b1372d5d
JM
806
807 * config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
808 * config/i386/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER32,
809 GNU_USER_DYNAMIC_LINKER64): Define.
810 (REG_NAME): Don't undefine.
811 (MD_UNWIND_SUPPORT): Undefine.
812 * config/i386/knetbsd-gnu.h (GNU_USER_LINK_EMULATION): Define.
813 (REG_NAME): Don't undefine.
814 (MD_UNWIND_SUPPORT): Undefine.
d8700b1c 815 * config/i386/kopensolaris-gnu.h (GNU_USER_LINK_EMULATION): Define.
b1372d5d 816
761c0c6e
JM
8172011-04-11 Joseph Myers <joseph@codesourcery.com>
818
819 * config/i386/gnu.h (GNU_USER_LINK_EMULATION): Define.
820 (CPP_SPEC, CC1_SPEC, ENDFILE_SPEC): Remove.
821
26e0228f
XDL
8222011-04-11 Xinliang David Li <davidxl@google.com>
823
824 * value-profile.c (check_ic_target): New function.
825 (gimple_ic_transform): Sanity check indirect call target.
826 * gimple-low.c (gimple_check_call_args): Interface change.
827 (gimple_check_call_matching_types): New function.
828 * tree-inline.c (tree_can_inline_p): Call new function.
6075765d
BS
829
8302011-04-11 Basile Starynkevitch <basile@starynkevitch.net>
831
832 * Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h
833 tree-pretty-print.h & realmpfr.h.
834
a58dfa49
VM
8352011-04-11 Vladimir Makarov <vmakarov@redhat.com>
836
837 PR middle-end/48464
838 * ira.c (setup_pressure_classes): Fix typo in loop condition.
839 (setup_allocno_and_important_classes): Ditto.
840
107fd1c1
JM
8412011-04-11 Joseph Myers <joseph@codesourcery.com>
842
843 * config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
844 GNU_USER_DYNAMIC_LINKER.
845 * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
846 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
847 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
848 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
849 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
850 GNU_USER_TARGET_OS_CPP_BUILTINS.
851 * config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
852 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
853 * config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
854 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
855 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
856 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
857 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
858 GNU_USER_TARGET_OS_CPP_BUILTINS.
859 * config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
860 GNU_USER_DYNAMIC_LINKER.
861 * config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
862 GNU_USER_TARGET_OS_CPP_BUILTINS.
863 * config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
864 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
865 * config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
866 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
867 * config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
868 * config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
869 GNU_USER_DYNAMIC_LINKER64): Remove.
870 * config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
871 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
872 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
873 GNU_USER_DYNAMIC_LINKER.
874 * config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
875 GNU_USER_TARGET_OS_CPP_BUILTINS.
876 * config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
877 GNU_USER_TARGET_OS_CPP_BUILTINS.
878 * config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
879 to GNU_USER_TARGET_OS_CPP_BUILTINS.
880 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
881 GNU_USER_TARGET_OS_CPP_BUILTINS.
882 (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
883 (LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
884 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
885 * config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
886 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
887 * config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
888 GNU_USER_DYNAMIC_LINKER.
889 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
890 GNU_USER_TARGET_OS_CPP_BUILTINS.
891 * config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
892 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
893 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
894 GNU_USER_DYNAMIC_LINKER.
895 * config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
896 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
897 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
898 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
899 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
900 GNU_USER_DYNAMIC_LINKER.
901 * config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
902 GNU_USER_DYNAMIC_LINKERN32.
903 (LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
904 GNU_USER_DYNAMIC_LINKERN32. Change LINUX_DYNAMIC_LINKER64 to
905 GNU_USER_DYNAMIC_LINKER64. Change LINUX_DYNAMIC_LINKER32 to
906 GNU_USER_DYNAMIC_LINKER32.
907 * config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change
908 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
909 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
910 GNU_USER_DYNAMIC_LINKER.
911 * config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
912 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
913 * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
914 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 915 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1
JM
916 * config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
917 GNU_USER_DYNAMIC_LINKER32.
918 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
919 * config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
920 GNU_USER_DYNAMIC_LINKER.
921 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
922 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
923 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
924 GNU_USER_DYNAMIC_LINKER32. Change LINUX_DYNAMIC_LINKER64 to
925 GNU_USER_DYNAMIC_LINKER64.
926 * config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
927 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
928 (SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
929 GNU_USER_DYNAMIC_LINKER.
930 * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
931 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
932 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
933 GNU_USER_DYNAMIC_LINKER.
934 * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
935 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
936 (LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
937 GNU_USER_DYNAMIC_LINKER32.
938 (LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
939 GNU_USER_DYNAMIC_LINKER64.
940 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
941 GNU_USER_DYNAMIC_LINKER64.
942 * config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
943 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
944 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
945 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 946 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1 947
e24609cf
JM
9482011-04-11 Joseph Myers <joseph@codesourcery.com>
949
950 * config/i386/gnu-user.h: Copy from linux.h. Update comments.
951 (LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
952 (SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
953 GNU_USER_DYNAMIC_LINKER.
954 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
955 * config/i386/gnu-user64.h: Copy from linux64.h. Update comments.
956 (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
957 (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
958 GNU_USER_DYNAMIC_LINKER64.
959 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
960 * config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
961 GNU_USER_LINK_EMULATION.
962 * config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
963 DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
964 ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
965 MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
966 PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
967 CPP_SPEC, CC1_SPEC): Remove.
968 (LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
969 (GNU_USER_DYNAMIC_LINKER): Define.
970 (ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
971 ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
972 ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
973 LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
974 TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
975 STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
976 TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
977 * config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
978 CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
979 TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
980 LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
981 LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
982 (GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
983 (STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
984 TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
985 TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
986 * config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
987 GNU_USER_DYNAMIC_LINKER.
988 * config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
989 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
990 * config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
991 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
992 * config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
993 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
994 * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
995 i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
996 i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
d8700b1c 997 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new headers.
e24609cf 998
b8ce4e94
KT
9992011-04-11 Kai Tietz <ktietz@redhat.com>
1000
1001 PR target/9601
1002 PR target/11772
1003 * config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
1004 * config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
1005 comment.
1006 (ix86_is_msabi_thiscall): Removed.
1007 (ix86_is_type_thiscall): Likewise.
1008 (ix86_get_callcvt): New function.
1009 (ix86_comp_type_attributes): Simplify check.
1010 (ix86_function_regparm): Use ix86_get_callcvt for calling
1011 convention attribute checks.
1012 (ix86_return_pops_args): Likewise.
1013 (ix86_static_chain): Likewise.
1014 (x86_this_parameter): Likewise.
1015 (x86_output_mi_thunk): Likewise.
1016 (ix86_function_type_abi): Optimize check for types without attributes.
1017 * config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
1018 IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
1019 IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
1020 by flag-values.
1021 (IX86_BASE_CALLCVT): Helper macro.
1022 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
1023 Use ix86_get_callcvt for calling convention attribute checks and avoid
1024 symbol-decoration for stdcall in TARGET_RTD case.
1025 * config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
1026 Likewise.
1027 (gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
1028 for declaration.
1029
798dd0ba
UB
10302011-04-11 Uros Bizjak <ubizjak@gmail.com>
1031
1032 * config/i386/sse.md (VI_128): New mode iterator.
1033 (VI12_128): Rename from SSEMODE12.
1034 (VI14_128): Rename from SSEMODE14.
1035 (VI124_128): New mode iterator.
1036 (VI24_128): Rename from SSEMODE248.
1037 (VI248_128): Rename from SSEMODE248.
1038 (SSEMODE124C8): Remove.
1039 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
1040 (*sse2_<plusminus_insn><mode>3): Merge with
1041 *avx_<plusminus_insn><mode>3.
1042 (*mulv8hi3): Merge with *avx_mulv8hi3.
1043 (*<s>mulv8hi3_highpart): Merge with *avx_<s>mulv8hi3_highpart.
1044 (*sse2_umulv2siv2di3): Merge with *avx_umulv2siv2di3.
1045 (*sse2_pmaddwd): Merge with *avx_pmaddwd.
1046 (*sse4_1_mulv4si3): Merge with *avx_mulv4si3.
1047 (ashr<mode>3): Merge with *avx_ashr<mode>3.
1048 (lshr<mode>3): Merge with *avx_lshr<mode>3.
1049 (ashl<mode>3): Merge with *avx_ashl<mode>3.
1050 (sse2_ashlv1ti3): Merge with *avx_ashlv1ti3.
1051 (sse2_lshrv1ti3): Merge with *avx_lshrv1ti3.
1052 (*sse4_1_<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
1053 (*<smaxmin:code>v8hi3): Ditto.
1054 (*sse4_1_<umaxmin:code><mode>3): Merge with *avx_<umaxmin:code><mode>3.
1055 (*<smaxmin:code>v16qi3): Ditto.
1056 (*sse4_1_eqv2di3): Merge with *avx_eq<mode>3.
1057 (*sse2_eq<mode>3): Ditto.
1058 (*sse4_2_eqv2di3): Merge with *avx_gt<mode>3.
1059 (*sse2_gt<mode>3): Ditto.
1060 (vcondv2di): Split out of vcond<mode>.
1061 (vconduv2di): Split out of vcondu<mode>.
1062
956011be
RG
10632011-04-11 Richard Guenther <rguenther@suse.de>
1064
1065 * gimplify.c (gimple_fold_indirect_ref): Check host_integerp
1066 before calling tree_low_cst.
1067
e6313a78
RG
10682011-04-11 Richard Guenther <rguenther@suse.de>
1069
1070 * stor-layout.c (layout_type): Compute all array index size operations
1071 in the original type.
1072 (initialize_sizetypes): Add comment.
1073 (set_sizetype): Do not set TREE_TYPE of a TREE_VEC.
1074
e69d7376
JM
10752011-04-11 Joseph Myers <joseph@codesourcery.com>
1076
1077 * common.opt (Tbss=, Tdata=, Ttext=): New options.
1078
9f9ebcdf
MJ
10792011-04-11 Martin Jambor <mjambor@suse.cz>
1080
1081 * cgraph.c (cgraph_local_info): Call cgraph_get_node instead
1082 of cgraph_node, handle NULL return value.
1083 (cgraph_global_info): Likewise.
1084 (cgraph_rtl_info): Likewise.
1085 * tree-inline.c (estimate_num_insns): Likewise.
1086 * gimplify.c (unshare_body): Likewise.
1087 (unvisit_body): Likewise.
1088 (gimplify_body): Likewise.
1089 * predict.c (optimize_function_for_size_p): Likewise.
1090 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
1091 (call_may_clobber_ref_p_1): Likewise.
1092 * varasm.c (function_section_1): Likewise.
1093 (assemble_start_function): Likewise.
1094
581985d7
MJ
10952011-04-11 Martin Jambor <mjambor@suse.cz>
1096
1097 * except.c (set_nothrow_function_flags): Call cgraph_get_node instead
1098 of cgraph_node.
1099 * final.c (rest_of_clean_state): Likewise.
1100 * gimple-iterator.c (update_call_edge_frequencies): Likewise.
1101 * passes.c (pass_init_dump_file): Likewise.
1102 (execute_all_ipa_transforms): Likewise.
1103 (function_called_by_processed_nodes_p): Likewise.
1104 * predict.c (maybe_hot_frequency_p): Likewise.
1105 (probably_never_executed_bb_p): Likewise.
1106 (compute_function_frequency): Likewise.
1107 * tree-nested.c (check_for_nested_with_variably_modified): Likewise.
1108 (unnest_nesting_tree_1): Likewise.
1109 (lower_nested_functions): Likewise.
1110 * tree-optimize.c (execute_fixup_cfg): Likewise.
1111 (tree_rest_of_compilation): Likewise.
1112 * tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
1113 * tree-sra.c (ipa_early_sra): Likewise.
1114 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
1115 * config/i386/i386.c (ix86_compute_frame_layout): Likewise.
1116 * ipa.c (record_cdtor_fn): Likewise.
1117 * ipa-inline.c (cgraph_early_inlining): Likewise.
1118 (compute_inline_parameters_for_current): Likewise.
1119 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
1120 * ipa-pure-const.c (local_pure_const): Likewise.
1121 * ipa-split.c (split_function): Likewise.
1122 (execute_split_functions): Likewise.
1123 * cgraphbuild.c (build_cgraph_edges): Likewise.
1124 (rebuild_cgraph_edges): Likewise.
1125 (cgraph_rebuild_references): Likewise.
1126 (remove_cgraph_callee_edges): Likewise.
1127 * cgraphunit.c (cgraph_mark_if_needed): Likewise.
1128 (verify_cgraph_node): Likewise.
1129 (cgraph_analyze_functions): Likewise.
1130 (cgraph_preserve_function_body_p): Likewise.
1131 (save_inline_function_body): Likewise.
1132 (save_inline_function_body): Likewise.
1133 * tree-inline.c (copy_bb): Likewise.
1134 (optimize_inline_calls): Likewise.
1135
57dbdc5a
MJ
11362011-04-11 Martin Jambor <mjambor@suse.cz>
1137
1138 PR tree-optimization/48195
1139 * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
1140 ipa_check_create_edge_args.
1141 (ipcp_generate_summary): Do not call ipa_check_create_node_params and
1142 ipa_check_create_edge_args.
1143 * ipa-inline.c (inline_generate_summary): Do not call
1144 ipa_check_create_node_params and ipa_check_create_edge_args.
1145 * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
1146 ipa_check_create_edge_args.
1147
d108e679
AS
11482011-04-09 Anatoly Sokolov <aesok@post.ru>
1149
1150 * expr.c (expand_expr_real_1): Use add_to_hard_reg_set function
1151 instead of loop.
1152 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
1153 * function.c (record_hard_reg_sets): Likewise.
1154 * ira.c (compute_regs_asm_clobbered): Likewise.
1155 * sched-deps.c (sched_analyze_1): Likewise.
1156 * reload1.c (mark_reload_reg_in_use, choose_reload_regs): Likewise.
1157
3411bc59
XDL
11582011-04-09 Xinliang David Li <davidxl@google.com>
1159
1160 PR tree-optimization/PR48484
1161 * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): Set
1162 has_valid_pred lazily
1163
b365495a
DS
11642011-04-09 Duncan Sands <baldrick@free.fr>
1165
1166 * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
1167
68bc509a
EB
11682011-04-08 Eric Botcazou <ebotcazou@adacore.com>
1169
1170 * combine.c (combine_validate_cost): Adjust comments. Set registered
1171 cost of I0 to zero at the end, if any.
1172
041e059f
XDL
11732011-04-08 Xinliang David Li <davidxl@google.com>
1174
68bc509a
EB
1175 * ipa-cp.c (ipcp_update_profiling): Correct negative scale factor due
1176 to insane profile data.
041e059f 1177
6a801cf2
XDL
11782011-04-08 Xinliang David Li <davidxl@google.com>
1179
1180 * final.c (dump_basic_block_info): New function.
1181 (final): Dump basic block.
1182 (final_scan_insn): Remove old dump.
1183
d5f3624e
SK
11842011-04-08 Steven G. Kargl <kargl@gcc.gnu.org>
1185
68bc509a
EB
1186 PR target/47829
1187 * config.gcc (i386-*-freebsd): Disable unwind table generation for
1188 crtbegin/crtend.
d5f3624e 1189
42821aff
MM
11902011-04-08 Michael Matz <matz@suse.de>
1191
1192 PR middle-end/48389
1193 * jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
1194 functions.
1195 (rebuild_jump_labels): Call rebuild_jump_labels_1.
1196 * rtl.h (rebuild_jump_labels_chain): Declare.
1197 * cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
1198 insns inserted on edges.
1199
ad7be009
JM
12002011-04-08 Joseph Myers <joseph@codesourcery.com>
1201
1202 * config.gcc (arm*-*-*): Add arm/arm-tables.opt to extra_options.
1203 * config/arm/arm-arches.def: New.
1204 * config/arm/arm-opts.h: New.
1205 * config/arm/genopt.sh: New.
1206 * config/arm/arm-tables.opt: New (generated).
1207 * config/arm/arm.c (arm_handle_option, arm_target_help,
1208 TARGET_HANDLE_OPTION, TARGET_HELP, arm_find_cpu): Remove.
1209 (all_architectures): Get most table contents from arm-arches.def.
1210 (arm_option_override): Set arm_selected_arch, arm_selected_cpu and
1211 arm_selected_tune here.
1212 * config/arm/arm.h (enum processor_type): Move to arm-opts.h.
1213 * config/arm/arm.opt (config/arm/arm-opts.h): New HeaderInclude.
1214 (march=, mcpu=, mtune=): Use Enum and Var.
1215 * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt): New.
1216 (arm.o): Update dependencies.
ecbb6fb7 1217
42821aff 12182011-04-08 Basile Starynkevitch <basile@starynkevitch.net>
ecbb6fb7
BS
1219
1220 * gengtype.c (write_typed_alloc_def): New argument f. Use it instead
1221 of header_file.
1222 (write_typed_struct_alloc_def, write_typed_typedef_alloc_def)
1223 (write_typed_alloc_defns): Likewise.
1224 (main): Calls write_typed_alloc_defns with output_header.
1225
8d189b3f
VM
12262011-04-08 Vladimir Makarov <vmakarov@redhat.com>
1227
68bc509a 1228 PR inline-asm/48435
8d189b3f
VM
1229 * ira-color.c (setup_profitable_hard_regs): Add comments.
1230 Don't take prohibited hard regs into account.
1231 (setup_conflict_profitable_regs): Rename to
1232 get_conflict_profitable_regs.
1233 (check_hard_reg_p): Check prohibited hard regs.
1234
44f370bf
NF
12352011-04-08 Nathan Froyd <froydnj@codesourcery.com>
1236
1237 * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
1238 * config/xtensa/xtensa.c (xtensa_call_tls_desc): Likewise.
1239 * config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise.
1240
483d7ad3
JDA
12412011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1242
1243 PR target/48366
1244 * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
1245 move from floating point to shift amount register .
1246 (emit_move_sequence): Remove secondary reload support for floating
1247 point to shift amount amount register copies.
1248 (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
1249 amount register copies.
1250 * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
1251 register, return false if mode isn't a scalar integer mode.
1252 * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
1253
97e03fa1
RG
12542011-04-08 Richard Guenther <rguenther@suse.de>
1255
1256 * gimple.c (gimple_call_flags): Remove kludge.
1257
9d40778b
AM
12582011-04-08 Alexander Monakov <amonakov@ispras.ru>
1259
1260 * sel-sched.c (sel_region_init): Move call to
1261 sel_setup_region_sched_flags after setup_current_loop_nest.
1262
19ac7892
AB
12632011-04-08 Andrey Belevantsev <abel@ispras.ru>
1264
1265 PR rtl-optimization/48272
19ac7892
AB
1266 * sched-deps.c (setup_insn_reg_pressure_info): Export and rename to
1267 init_insn_reg_pressure_info. Adjust a caller.
1268 * sched-int.h (init_insn_reg_pressure_info): Declare.
1269 * haifa-sched.c (haifa_init_insn): Call init_insn_reg_pressure_info
1270 when sched-pressure is enabled.
1271
0f8c63cc
RG
12722011-04-08 Richard Guenther <rguenther@suse.de>
1273
1274 * gimple.c (gimple_set_modified): Do not queue calls to
1275 MODIFIED_NORETURN_CALLS here ...
1276 * tree-ssa-operands.c (update_stmt_operands): ... but here.
1277
5e5a425e
RG
12782011-04-08 Richard Guenther <rguenther@suse.de>
1279
1280 PR lto/48467
1281 * toplev.c (lang_dependent_init): Do not open asm_out_file
1282 in WPA mode, nor perform debug machinery initialization.
1283 (finalize): Do not unlink asm_out_file in WPA mode.
1284
9bfc434b
RG
12852011-04-08 Richard Guenther <rguenther@suse.de>
1286
1287 * gimple.h (gimple_call_fntype): New function.
1288 (gimple_call_return_type): Use it.
1289 * expr.c (expand_expr_real_1): Use gimple_call_fntype.
1290 * gimple-low.c (gimple_check_call_args): Likewise.
1291 * gimple.c (gimple_call_flags): Likewise.
1292 (gimple_call_arg_flags): Likewise.
1293 (gimple_call_return_flags): Likewise.
1294 * tree-cfg.c (verify_gimple_call): Likewise.
1295 (do_warn_unused_result): Likewise.
1296 * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
1297 * value-prof.c (gimple_ic_transform): Fix fndecl check.
1298
7c1f0b40
DM
12992011-04-08 Dmitry Melnik <dm@ispras.ru>
1300
1301 PR rtl-optimization/48235
1302 * sel-sched.c (code_motion_process_successors): Recompute the last
1303 insn in basic block if control flow changed.
1304 (code_motion_path_driver): Ditto. Recompute the first insn as well.
1305 Update condition for ilist_remove.
1306
ea4d630f
AM
13072011-04-08 Alexander Monakov <amonakov@ispras.ru>
1308
1309 PR rtl-optimization/48302
1310 * sel-sched-ir.h (sel_add_loop_preheaders): Update prototype.
1311 * sel-sched-ir.c (sel_add_loop_preheaders): Add 'bbs' argument. Use
1312 it to record added preheader blocks.
1313 * sel-sched.c (setup_current_loop_nest): Add 'bbs' argument. Pass it
1314 on to sel_add_loop_preheaders.
1315 (sel_region_init): Move call to setup_current_loop_nest after
1316 sel_init_bbs.
1317
07643d76
AM
13182011-04-08 Alexander Monakov <amonakov@ispras.ru>
1319
1320 PR target/48273
1321 * cfgloop.h (loop_has_exit_edges): New helper.
1322 * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
1323 non-clonable.
1324 * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
1325 that have no exit edges.
1326
1f3b2b4e
AM
13272011-04-08 Alexander Monakov <amonakov@ispras.ru>
1328
1329 PR rtl-optimization/48442
1330 * sel-sched.c (init_seqno): Remove number_of_insns argument. Update
1331 all callers. Adjust assert.
1332
554f1948
JJ
13332011-04-08 Jakub Jelinek <jakub@redhat.com>
1334
1335 PR tree-optimization/48377
1336 * tree-vect-data-refs.c (vector_alignment_reachable_p): Set
1337 is_packed to true even for types with smaller TYPE_ALIGN than
1338 TYPE_SIZE.
1339
ddf72388
RG
13402011-04-08 Richard Guenther <rguenther@suse.de>
1341
1342 PR bootstrap/48513
1343 * doc/tm.texi: Re-generate.
1344
0c27e2d8
WG
13452011-04-08 Wei Guozhi <carrot@google.com>
1346
1347 PR target/47855
1348 * config/arm/arm-protos.h (arm_attr_length_push_multi): New prototype.
1349 * config/arm/arm.c (arm_attr_length_push_multi): New function.
1350 * config/arm/arm.md (*push_multi): Change the length computation to
1351 call a C function.
1352
07c5f94e
AS
13532011-04-08 Anatoly Sokolov <aesok@post.ru>
1354
1355 * doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
1356 (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation.
1357 * doc/tm.texi: Regenerate.
1358 * system.h (ASM_OUTPUT_BSS): Poison.
1359 * varasm.c (asm_output_bss): Remove function.
1360 (emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro.
798dd0ba 1361
07c5f94e
AS
1362 * config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment.
1363 * config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise.
1364 * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise.
1365 * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
1366 Likewise.
1367 * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
1368 Likewise.
1369 * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
1370 Likewise.
1371 * config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
1372
5f2c36e1
JM
13732011-04-07 Joseph Myers <joseph@codesourcery.com>
1374
1375 * config/rx/rx.opt (rx610, rx200, rx600): Use Enum not Name on
1376 EnumValue lines.
1377
39e7722b
JM
13782011-04-07 Joseph Myers <joseph@codesourcery.com>
1379
1380 * config/m68k/m68k.c (m68k_handle_option): Don't handle
1381 OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
1382 OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
1383 OPT_mcpu32.
1384 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
1385 handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
1386 -m68030, -m68040, -m68060, -mcpu32 and -m68332.
1387 * config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
1388 m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
1389 * config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
1390 (MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
1391 (MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
1392 options. Don't map other m68k options manually. Don't handle
1393 old-style options as canonical.
1394 (MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
798dd0ba 1395 * doc/install.texi (m68k-*-*): Document binutils version requirement.
39e7722b 1396
cf103ca4
EB
13972011-04-07 Eric Botcazou <ebotcazou@adacore.com>
1398
1399 * basic-block.h (force_nonfallthru): Move to...
1400 * cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
1401 (force_nonfallthru): ...here.
1402 * cfghooks.c (force_nonfallthru): New function.
1403 * cfgrtl.c (force_nonfallthru): Rename into...
1404 (rtl_force_nonfallthru): ...this.
1405 (commit_one_edge_insertion): Do not set AUX field.
1406 (commit_edge_insertions): Do not discover new basic blocks.
1407 (rtl_cfg_hooks): Add rtl_force_nonfallthru.
1408 (cfg_layout_rtl_cfg_hooks): Likewise.
1409 * function.c (thread_prologue_and_epilogue_insns): Remove bogus
1410 ATTRIBUTE_UNUSED. Discover new basic blocks in the prologue insns.
1411 * tree-cfg.c (gimple_cfg_hooks): Add NULL for force_nonfallthru.
1412
14431f58
AS
14132011-04-07 Anatoly Sokolov <aesok@post.ru>
1414
1415 * config/mips/mips.h (REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
1416 Remove macros.
1417
3729983c
UB
14182011-04-07 Uros Bizjak <ubizjak@gmail.com>
1419
1420 * config/i386/sse.md: Update copyright year.
1421 (avxcvtvecmode): Remove.
1422 (sse_movhlps): Merge with *avx_movhlps.
1423 (sse_movlhps): Merge with *avx_movlhps.
1424 (vec_interleave_highv4sf): Merge with *avx_interleave_highv4sf.
1425 (vec_interleave_lowv4sf): Merge with *avx_interleave_lowv4sf.
1426 (sse_shufps_<mode>): Merge with *avx_shufps_<mode>.
1427 (sse_loadhps): Merge with *avx_loadhps.
1428 (sse_storelps): Merge with *avx_storelps.
1429 (sse_loadlps): Merge with *avx_loadlps.
1430 (sse_movss): Merge with *avx_movss.
1431 (*vec_concatv2sf_sse4_1): Merge with *vec_concatv2sf_avx.
1432 (*vec_concatv4sf_sse): Merge with *vec_concatv4sf_avx.
1433 (*vec_set<mode>_0_sse4_1): Merge with *vec_set<mode>_0_avx.
1434 (*vec_set<mode>_0_sse2): Split multi-unit alternative.
1435 (vec_set<mode>_0): Ditto.
1436 (*vec_setv4sf_sse4_1): Merge with *vec_setv4sf_avx.
1437 (sse4_1_insertps): Merge with *avx_insertps.
1438 (*sse3_interleave_highv2df): Merge with *avx_interleave_highv2df.
1439 (*sse3_interleave_lowv2df): Merge with *avx_interleave_lowv2df.
1440 (vec_interleave_highv2di): Merge with *avx_interleave_highv2di.
1441 (sse2_shufpd_<mode>): Merge with *avx_shufpd_<mode>.
1442 (sse2_storehpd): Merge with *avx_storehpd.
1443 (sse2_loadhpd): Merge with *avx_loadhpd.
1444 (sse2_loadlpd): Merge with *avx_loadlpd.
1445 (sse2_movsd): Merge with *avx_movsd.
1446 (*vec_concatv2df): Merge with *vec_concatv2df.
1447
4e626909
JJ
14482011-04-07 Jakub Jelinek <jakub@redhat.com>
1449
1450 PR debug/48343
1451 * combine.c (combine_instructions): Add last_combined_insn,
3729983c 1452 update it if insn is after it, pass it to all try_combine calls.
4e626909
JJ
1453 (try_combine): Add last_combined_insn parameter, pass it instead of
1454 i3 to propagate_for_debug.
1455
3729983c 14562011-04-07 Nick Clifton <nickc@redhat.com>
5a10b0a9
NC
1457
1458 * config/mn10300/mn10300.md (movqi_internal): Add alternatives
1459 to handle MDR <-> data register transfers.
1460 (movhi_internal): Likewise.
1461
20c03367
AM
14622011-04-07 Alan Modra <amodra@gmail.com>
1463
1464 * config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
1465 previous stack info.
1466
bf22920b
TV
14672011-04-07 Tom de Vries <tom@codesourcery.com>
1468
1469 PR target/43920
1470 * cfgcleanup.c (try_crossjump_to_edge): Add dir parameter. Pass dir to
1471 flow_find_cross_jump. Swap variables to implement backward replacement.
1472 (try_crossjump_bb): Add argument to try_crossjump_to_edge.
1473
823918ae
TV
14742011-04-07 Tom de Vries <tom@codesourcery.com>
1475
1476 PR target/43920
1477 * cfgcleanup.c (walk_to_nondebug_insn): New function.
3729983c
UB
1478 (flow_find_cross_jump): Use walk_to_nondebug_insn. Recalculate bb1
1479 and bb2.
1480 (try_crossjump_to_edge): Handle case that newpos1 or newpos2 is not
1481 src1 or src2. Redirect edges to the last basic block. Update
1482 frequency and count on multiple basic blocks in case of fallthru.
823918ae 1483
472c95f5
TV
14842011-04-07 Tom de Vries <tom@codesourcery.com>
1485
1486 PR target/43920
1487 * cfgcleanup.c (equal_different_set_p, can_replace_by, merge_dir): New
1488 function.
3729983c
UB
1489 (old_insns_match_p): Change return type. Replace return false/true
1490 with return dir_none/dir_both. Use can_replace_by.
1491 (flow_find_cross_jump): Add dir_p parameter. Init replacement
1492 direction from dir_p. Register replacement direction in dir, last_dir
1493 and afterlast_dir. Handle new return type of old_insns_match_p using
472c95f5
TV
1494 merge_dir. Return replacement direction in dir_p.
1495 (flow_find_head_matching_sequence, outgoing_edges_match): Handle new
1496 return type of old_insns_match_p.
1497 (try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
1498 * ifcvt.c ( cond_exec_process_if_block): Add argument to call to
1499 flow_find_cross_jump.
1500 * basic-block.h (enum replace_direction): New type.
1501 (flow_find_cross_jump): Add parameter to declaration.
1502
a95d4000
UB
15032011-04-06 Uros Bizjak <ubizjak@gmail.com>
1504
1505 * config/i386/sse.md (AVXMODEDCVTDQ2PS): Remove.
1506 (AVXMODEDCVTPS2DQ): Ditto.
1507 (VEC_FLOAT_MODE): Ditto.
1508 (<sse>_andnot<mode>3): Merge with avx_andnot<mode>3. Use VF mode
1509 iterator. Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
1510 (<any_logic:code><mode>3): Use VF mode iterator.
1511 (*<any_logic:code><mode>3): Merge with *avx_<any_logic:code><mode>3.
1512 Use VF mode iterator.
1513 (copysign<mode>3): Use VF mode iterator.
1514 (*andnot<MODEF:mode>3): Merge with *avx_andnot<MODEF:mode>3. Handle
1515 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
1516 (*<any_logic:code><MODEF:mode>3): Merge with
1517 *avx_<any_logic:code><MODEF:mode>3.
1518 (sse_cvtsi2ss): Merge with *avx_cvtsi2ss.
1519 (sse_cvtsi2ssq): Merge with *avx_cvtsi2ssq.
1520 (avx_cvtdq2ps256): Split from avx_cvtdq2ps<avxmodesuffix>.
1521 (avx_cvtdq2ps<avxmodesuffix>): Remove.
1522 (sse2_cvtdq2ps): Use %v modifier.
1523 (avx_cvtps2dq256): Split from avx_cvtps2dq<avxmodesuffix>.
1524 (avx_cvtps2dq<avxmodesuffix>): Remove.
1525 (sse2_cvtps2dq): Use %v modifier.
1526 (avx_cvttps2dq256): Split from avx_cvttps2dq<avxmodesuffix>.
1527 (avx_cvttps2dq<avxmodesuffix>): Remove.
1528 (sse2_cvttps2dq): Use %v modifier.
1529 (sse2_cvtsi2sd): Merge with *avx_cvtsi2sd.
1530 (sse2_cvtsi2sdq): Merge with *avx_cvtsi2sdq.
1531 (sse2_cvtsd2siq): Fix insn template.
1532 (sse2_cvtsd2siq_2): Ditto.
1533 (sse2_cvttsd2siq): Ditto.
1534 (sse2_cvtsd2ss): Merge with *avx_cvtsd2ss.
1535 (sse2_cvtss2sd): Merge with *avx_cvtss2sd.
1536
ad01c437
JM
15372011-04-06 Joseph Myers <joseph@codesourcery.com>
1538
1539 * gcov-io.c: Use GCC Runtime Library Exception.
1540
fe846284
JJ
15412011-04-06 Jakub Jelinek <jakub@redhat.com>
1542
1543 PR debug/48466
1544 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
1545 as base_reg whatever register reg has been eliminated to, instead
1546 of hardcoding STACK_POINTER_REGNUM.
1547
acce4e77
JM
15482011-04-06 Joseph Myers <joseph@codesourcery.com>
1549
1550 * doc/tm.texi.in: Document C target hooks as separate from general
1551 target hooks.
1552 * doc/tm.texi: Regenerate.
1553 * genhooks.c (struct hook_desc): Add docname field.
1554 (HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize
1555 docname field.
1556 (hook_array): Include c-target.def.
1557 (emit_documentation): Use docname field in output.
1558 (emit_init_macros): Take docname argument. Only emit definitions
1559 for hooks matching docname.
1560 (main): Expect additional arguments in all cases. Pass argument
1561 to emit_init_macros.
1562 * target.def: Move initial macro definitions and comments to
1563 target-hooks-macros.h.
1564 (gcc_targetcm): Move to c-family/c-target.def.
1565 * target.h (targetcm): Move declaration to c-family/c-target.h.
1566 * targhooks.c (default_handle_c_option): Move to
1567 c-family/c-opts.c.
1568 * targhooks.h (default_handle_c_option): Move declaration to
1569 c-family/c-common.h.
1570 * target-hooks-macros.h: New file.
1571 * config.gcc (target_has_targetcm): Define and use to add to
1572 c_target_objs and cxx_target_objs.
1573 * config/default-c.c: New file.
1574 * config/darwin-c.c: Include c-target.h and c-target-def.h instead
1575 of target.h and target-def.h.
1576 (TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
1577 (darwin_objc_construct_string, darwin_cfstring_ref_p,
1578 darwin_check_cfstring_format_arg): Make static.
1579 (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
1580 TARGET_STRING_OBJECT_REF_TYPE_P,
1581 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
1582 * config/darwin-protos.h (darwin_objc_construct_string,
1583 darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
1584 declare.
1585 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
1586 TARGET_STRING_OBJECT_REF_TYPE_P,
a95d4000 1587 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM): Remove.
acce4e77
JM
1588 * config/t-darwin (darwin-c.o): Update dependencies.
1589 * system.h (TARGET_HAS_TARGETCM): Poison.
1590 * Makefile.in (TARGET_H): Update.
1591 (TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
1592 (c-family/c-format.o, c-family/c-opts.o): Update dependencies.
1593 (default-c.o): New target.
1594 (s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
a95d4000 1595 (c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New targets.
acce4e77
JM
1596 (s-tm-texi): Pass -d option to genhooks. Also test timestamp on
1597 c-target.def.
1598 (build/genhooks.o): Update dependencies.
1599
275b4baa 16002011-04-06 Richard Guenther <rguenther@suse.de>
a95d4000 1601
275b4baa
RG
1602 * ipa-inline.c (enum inlining_mode): Remove.
1603 (cgraph_flatten): Use some other token.
1604 (cgraph_edge_early_inlinable_p): New function, split out from ...
1605 (cgraph_perform_always_inlining): New function, split out from ...
1606 (cgraph_decide_inlining_incrementally): ... here.
1607 (cgraph_mark_inline_edge): Adjust.
1608 (cgraph_early_inlining): Re-structure.
1609 (pass_early_inline): Require SSA form.
1610
f15b8bdf 16112011-04-06 Andrew Stubbs <ams@codesourcery.com>
9adc580c
AS
1612 Julian Brown <julian@codesourcery.com>
1613 Mark Shinwell <shinwell@codesourcery.com>
1614
1615 * config/arm/arm.h (arm_class_likely_spilled_p): Check against
1616 LO_REGS only for Thumb-1.
1617 (MODE_BASE_REG_CLASS): Restrict base registers to those which can
1618 be used in short instructions when optimising for size on Thumb-2.
1619
516426da
EB
16202011-04-06 Eric Botcazou <ebotcazou@adacore.com>
1621
1622 * gimple-low.c (lower_gimple_return): When not optimizing, force labels
1623 associated with user returns to be preserved.
1624
96621ebf
TG
16252011-04-06 Tristan Gingold <gingold@adacore.com>
1626
f15b8bdf
EB
1627 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index,
1628 symbol_queue_size, DBXOUT_DECR_NESTING,
96621ebf
TG
1629 (DBXOUT_DECR_NESTING_AND_RETURN): Also define
1630 if XCOFF_DEBUGGING_INFO.
1631
07c0852e
UB
16322011-04-06 Uros Bizjak <ubizjak@gmail.com>
1633
1634 * config/i386/i386.md (attribute isa): New.
1635 (attribute enabled): New.
1636 (setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
1637 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
1638 (*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
1639 (*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
1640 (*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
1641 (<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
1642 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
1643 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.
1644
1645 * config/i386/sse.md (VF): New mode iterator.
1646 (VF1): Ditto.
1647 (VF2): Ditto.
1648 (VF_128): Ditto.
1649 (SSEMODEF4): Remove.
1650 (attribute sse): Handle V8SF and V4DF modes.
1651 (<absneg:code><mode>2): Use VF mode iterator.
1652 (*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2. Use VF
1653 mode iterator.
1654 (<plusminus_insn><mode>3): Use VF mode iterator.
1655 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
1656 Use VF mode iterator.
1657 (<sse>_vm<plusminus_insn><mode>3): Merge with
1658 *avx_vm<plusminus_insn><mode>3. Use VF_128 mode iterator.
1659 (mul<mode>3): Use VF mode iterator.
1660 (*mul<mode>3): Merge with *avx_mul<mode>3. Use VF mode iterator.
1661 (<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3. Use VF_128
1662 mode iterator.
1663 (div<VF2:mode>3): Merge from divv2df3 and divv4df3.
1664 (div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
1665 (<sse>_div<mode>3): Merge with *avx_div<mode>3. Use VF mode iterator.
1666 (<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3. Use VF_128
1667 mode iterator.
1668 (<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
1669 Use VF1 mode iterator.
1670 (sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
1671 (sqrt<VF2:mode>2): New expander.
1672 (sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
1673 (<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
1674 and sqrtv2df2. Use VF mode iterator.
1675 (<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2. Use VF_128
1676 mode iterator.
1677 (rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
1678 (<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
1679 Use VF1 mode iterator.
1680 (sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
1681 (<smaxmin:code><mode>3): Use VF mode iterator.
1682 (*<smaxmin:code><mode>3_finite): Merge with
1683 *avx_<smaxmin:code><mode>3_finite. Use VF mode iterator.
1684 (*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
1685 (<sse>_vm<smaxmin:code><mode>2): Merge with
1686 *avx_vm<smaxmin:code><mode>2. Use VF_128 mode iterator.
1687 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3. Use VF
1688 mode iterator.
1689 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3. Use VF
1690 mode iterator.
1691 (sse3_addsubv2df3): Merge with *avx_addsubv2df3.
1692 (sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
1693 (sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
1694 (sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
1695 (avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3. Use
1696 VF mode iterator.
1697 (avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
1698 Use VF_128 mode iterator.
1699 (<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3. Use VF
1700 mode iterator.
1701 (<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3. Use
1702 VF_128 mode iterator.
1703 (vcond<mode>): Use VF mode iterator.
1704 * config/i386/predicates.md (sse_comparison_operator): Merge with
1705 avx_comparison_float_operator. Do not declare as special_predicate.
1706 * config/i386/i386.c (struct builtin_description): Update for renamed
1707 compare patterns.
1708 (ix86_expand_args_builtin): Ditto.
1709 (ix86_expand_sse_compare_mask): Ditto.
1710
ff5d142c
RG
17112011-04-06 Richard Guenther <rguenther@suse.de>
1712
1713 * tree-inline.c (estimate_num_insns): For calls simply account
1714 for all passed arguments and a used return value.
1715
d7d1d041 17162011-04-06 Richard Guenther <rguenther@suse.de>
07c0852e 1717
d7d1d041
RG
1718 PR tree-optimization/47663
1719 * cgraph.h (struct cgraph_edge): Add call_stmt_size and
1720 call_stmt_time fields.
1721 (cgraph_edge_inlinable_p): Declare.
1722 (cgraph_edge_recursive_p): New inline function.
1723 * cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
1724 (cgraph_clone_edge): Copy it.
1725 * ipa-inline.c (cgraph_estimate_edge_time): New function.
1726 Account for call stmt time.
1727 (cgraph_estimate_time_after_inlining): Take edge argument.
1728 (cgraph_estimate_edge_growth): Account call stmt size.
1729 (cgraph_estimate_size_after_inlining): Take edge argument.
1730 (cgraph_mark_inline_edge): Adjust.
1731 (cgraph_check_inline_limits): Likewise.
1732 (cgraph_recursive_inlining_p): Remove.
1733 (cgraph_edge_badness): Use cgraph_edge_recursive_p.
1734 (cgraph_decide_recursive_inlining): Take edge argument and
1735 adjust.
1736 (cgraph_decide_inlining_of_small_functions): Do not avoid
1737 diags for recursive inlining here.
1738 (cgraph_flatten): Adjust.
1739 (cgraph_decide_inlining_incrementally): Likewise.
1740 (estimate_function_body_sizes): Remove call cost handling.
1741 (compute_inline_parameters): Initialize caller edge call costs.
1742 (cgraph_estimate_edge_growth): New function.
1743 (cgraph_estimate_growth): Use it.
1744 (cgraph_edge_badness): Likewise.
1745 (cgraph_check_inline_limits): Take an edge argument.
1746 (cgraph_decide_inlining_of_small_functions): Adjust.
1747 (cgraph_decide_inlining): Likewise.
1748 * tree-inline.c (estimate_num_insns): Only account for call
1749 return value if it is used.
1750 (expand_call_inline): Avoid diagnostics on recursive inline
1751 functions here.
1752 * lto-cgraph.c (lto_output_edge): Output edge call costs.
1753 (input_edge): Input edge call costs.
1754
2feb95f7
RO
17552011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1756
1757 * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
1758
26fbd9c2
JW
17592011-04-06 Jonathan Wakely <jwakely.gcc@gmail.com>
1760
1761 * doc/invoke.texi (Spec Files): Fix typo.
1762
694dc0ca
EB
17632011-04-06 Eric Botcazou <ebotcazou@adacore.com>
1764
1765 * profile.c (branch_prob): Move declaration of local variable. Remove
1766 obsolete ??? comment. Expand the location explicitly instead of using
1767 the LOCATION_FILE and LOCATION_LINE macros.
1768
4925d0d5
WG
17692011-04-06 Wei Guozhi <carrot@google.com>
1770
1771 PR target/47855
1772 * config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
1773 (arm_cond_branch): Likewise.
1774 (arm_cond_branch_reversed): Likewise.
1775 (arm_jump): Likewise.
1776 (push_multi): Likewise.
1777 * config/arm/constraints.md (Py): New constraint.
1778
f55dfa2f
NF
17792011-04-05 Nathan Froyd <froydnj@codesourcery.com>
1780
1781 PR bootstrap/48471
1782 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
1783 Move these...
1784 (symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
1785 (DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
1786 #ifdef DBX_DEBUGGING_INFO.
1787
fca96842
BS
17882011-04-05 Bernd Schmidt <bernds@codesourcery.com>
1789
1790 PR bootstrap/48403
1791 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
1792 if old and new states differ.
1793
30b83e38
JM
17942011-04-05 Joseph Myers <joseph@codesourcery.com>
1795
1796 * config/m68k/m68k.c (m68k_handle_option): Don't handle OPT_m5200,
1797 OPT_m5206e, OPT_m528x, OPT_m5307, OPT_m5407 and OPT_mcfv4e.
1798 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
1799 handle -m5200, -m5206e, -m528x, -m5307, -m5407 and -mcfv4e.
1800 * config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407,
1801 mcfv4e): Use Alias.
1802 * config/m68k/t-mlibs (MULTILIB_MATCHES): Don't map legacy
1803 ColdFire options to -mcpu= options.
1804
277a9aa5
JL
18052011-04-05 Jeff Law <law@redhat.com>
1806
1807 * tree-ssa-threadupdate.c (determine_bb_domination_status): Always
1808 check if BB is a successor of LOOP->header and return
1809 NONDOMINATING if it is not, regardless of ENABLE_CHECKING.
1810
c1e2610e
SB
18112011-04-05 Steven Bosscher <steven@gcc.gnu.org>
1812
1813 * cprop.c (struct reg_use): Remove.
1814 (reg_use_table): Make an array of RTX.
1815 (find_used_regs, constprop_register, local_cprop_pass,
1816 bypass_block): Simplify users of reg_use_table.
1817 (cprop_insn): Likewise. Iterate if copy propagation succeeded
1818 on one of the uses found by find_used_regs.
1819
e532f586
NF
18202011-04-05 Nathan Froyd <froydnj@codesourcery.com>
1821
1822 PR bootstrap/48469
1823 * combine.c (combine_instructions): #ifdef AUTO_INC_DEC links
1824 declaration.
1825
3fb7c055
NF
18262011-04-05 Nathan Froyd <froydnj@codesourcery.com>
1827
1828 * combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
1829 as an rtx.
1830 (try_combine) [AUTO_INC_DEC]: Declare a local link rtx.
1831
b71b43d9
SB
18322011-04-05 Steven Bosscher <steven@gcc.gnu.org>
1833
1834 PR middle-end/48441
1835 * cprop.c (one_cprop_pass): Do not mark_oprs_set of deleted insns.
1836
b405b274
NF
18372011-04-05 Nathan Froyd <froydnj@codesourcery.com>
1838
1839 * combine.c: Include obstack.h.
1840 (struct insn_link): Define.
1841 (uid_log_links): Adjust type.
1842 (FOR_EACH_LOG_LINK): New macro.
1843 (insn_link_obstack): Declare.
1844 (alloc_insn_link): Define.
1845 (create_log_links): Call it. Use FOR_EACH_LOG_LINK and adjust
1846 type of link variables.
1847 (find_single_use, insn_a_feeds_b, combine_instructions): Likewise.
1848 (try_combine, record_promoted_values, distribute_notes): Likewise.
1849 (distribute_links): Likewise. Tweak prototype.
1850 (clear_log_links): Delete.
1851 (adjust_for_new_dest): Call alloc_insn_link.
1852 * Makefile.in (combine.o): Depend on $(OBSTACK_H).
1853
6409abe3
NF
18542011-04-05 Nathan Froyd <froydnj@codesourcery.com>
1855
1856 * gcse.c (modify_mem_list): Convert to an array of VECs.
1857 (canon_modify_mem_list, compute_transp): Tweak formatting.
1858 (alloc_gcse_mem): Likewise. Adjust for modify_mem_list change.
1859 (load_killed_in_block_p): Likewise.
1860 (record_last_mem_set_info): Likewise.
1861 (clear_modify_mem_tables): Likewise.
1862
170d8157
TV
18632011-04-05 Tom de Vries <tom@codesourcery.com>
1864
1865 PR middle-end/48461
1866 * function.c (emit_use_return_register_into_block): Only define if
1867 HAVE_return.
1868
c5911a55
EB
18692011-04-05 Eric Botcazou <ebotcazou@adacore.com>
1870
1871 * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
1872
abd016e6
JM
18732011-04-05 Joseph Myers <joseph@codesourcery.com>
1874
1875 * config/rx/rx-opts.h: New.
1876 * config/rx/rx.c (rx_cpu_type): Remove.
1877 (rx_handle_option): Don't assert that global structures are in
1878 use. Access variables via opts pointer. Defer most handling of
1879 OPT_mint_register_. Use error_at.
1880 (rx_option_override): Handle deferred OPT_mint_register_ here.
1881 * config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
1882 * config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
1883 (mcpu=): Use Enum and specifiy rx_cpu_type with Var.
1884 (rx_cpu_types): New Enum and EnumValue entries.
1885 (mint-register=): Use Defer and use Var accordingly.
1886
1ed13f83
NF
18872011-04-05 Nathan Froyd <froydnj@codesourcery.com>
1888
1889 * debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
1890 (debug_free_queue, debug_nesting, symbol_queue_index): Delete.
1891 * final.c (debug_flush_symbol_queue, debug_queue_symbol):
1892 Move these...
1893 (debug_free_queue, debug_nesting, symbol_queue_index):
1894 ...and these...
1895 * dbxout.c: ...to here. Make static.
1896
6ce1edcf
NF
18972011-04-05 Nathan Froyd <froydnj@codesourcery.com>
1898
1899 * gcse.c (modify_pair): Define. Define a VEC of it.
1900 (canon_modify_mem_list): Convert to an array of VECs.
1901 (free_insn_expr_list_list): Delete.
1902 (clear_modify_mem_tables): Call VEC_free instead.
1903 (record_last_mem_set_info): Don't modify canon_modify_mem_list.
1904 (alloc_gcse_mem): Adjust for canon_modify_mem_list change.
1905 (canon_list_insert, compute_transp): Likewise.
1906
c201ac94
TV
19072011-04-05 Tom de Vries <tom@codesourcery.com>
1908
1909 PR target/43920
1910 * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
1911 for size.
1912
4c029f40
TV
19132011-04-05 Tom de Vries <tom@codesourcery.com>
1914
1915 PR target/43920
1916 * function.c (emit_use_return_register_into_block): New function.
1917 (thread_prologue_and_epilogue_insns): Use
1918 emit_use_return_register_into_block.
1919
2a562b0a
TV
19202011-04-05 Tom de Vries <tom@codesourcery.com>
1921
1922 PR target/43920
1923 * cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
1924 insn.
1925
0248bceb
TV
19262011-04-05 Tom de Vries <tom@codesourcery.com>
1927
1928 * cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.
1929
ffa94123
YZ
19302011-04-05 Yufeng Zhang <yufeng.zhang@arm.com>
1931
798dd0ba
UB
1932 * config/arm/arm.md (define_constants for unspec): Replace with
1933 define_c_enum.
1934 (define_constants for unspecv): Replace with define_c_enum.
1935 * config/arm/neon.md (define_constants for unspec): Replace with
1936 define_c_enum.
ffa94123 1937
3b8f9b46
RH
19382011-04-04 Richard Henderson <rth@redhat.com>
1939
720cf80f 1940 PR bootstrap/48400
3b8f9b46
RH
1941 * dwarf2out.c (output_line_info): Always emit line info from
1942 at least one section.
1943 (dwarf2out_init): Create text_section_line_info here ...
1944 (set_cur_line_info_table): ... not here.
1945
720cf80f 19462011-04-04 Vladimir Makarov <vmakarov@redhat.com>
e5b0e1ca
VM
1947
1948 PR target/48380
1949 * ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
720cf80f 1950 not called.
e5b0e1ca 1951
720cf80f 1952 * ira-emit.c (emit_move_list): Update reg_equiv_init insn list.
e5b0e1ca 1953
196565d4
SB
19542011-04-04 Steven Bosscher <steven@gcc.gnu.org>
1955
b77f9eab
SB
1956 * cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
1957 (expr_equiv_p): Remove.
1958 (insert_set_in_table): Look at <dest, src> pair instead of expr.
1959 (hash_scan_set): Update call to insert_set_in_table.
1960 (dump_hash_table): Dump <dest, src> pair.
1961 (lookup_set): Simplify. Lookup <dest, src> pair.
1962 (compute_transp): Remove, fold heavily simplified code into...
1963 (compute_local_properties): ...here. Expect COMP and TRANSP
1964 unconditionally.
1965 (find_avail_set): Take set directly from struct expr.
1966 (find_bypass-set): Likewise.
1967 (bypass_block): Likewise.
1968 (cprop_insn): Likewise. Remove redundant INSN_P test.
1969
384d7a55
SB
1970 * cprop.c (implicit_set_cond_p): Assume nothing about COND, move
1971 checks on form of COND from find_implicit_sets to here.
1972 (find_implicit_sets): Cleanup control flow. Split critical edges
1973 if it exposes implicit sets. Allocate/resize implicit_sets as
1974 necessary.
1975 (one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
1976 changed something. Run df_analyze after find_implicit_sets if any
1977 edges were split. Do not allocate implicit_sets here.
1978
3084ce69
SB
1979 * cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
1980 (gcse_obstack): Renamed to cprop_obstack.
1981 (GNEW, GNEWVEC, GNEWVAR): Remove.
1982 (gmalloc): Remove.
1983 (alloc_hash_table): Use XNEWVAR instead of GNEWVAR.
1984 (GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming.
1985 (gcse_alloc): Likewise, and rename to cprop_alloc.
1986 (alloc_gcse_men, free_gcse_mem): Remove.
1987 (gcse_constant_p): Rename to cprop_constant_p, and adjust all callers.
1988 (compute_hash_table_work): Allocate and free reg_set_bitmap here.
1989 (one_cprop_pass): Likewise. Adjust for gcse_obstack renaming.
1990
196565d4
SB
1991 * cprop.c (oprs_not_set_p): Remove.
1992 (mark_set, mark_clobber): Remove.
1993 (mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache.
1994 (reg_not_set_p): New function.
1995 (find_avail_set): Use reg_not_set_p instead of oprs_not_set_p.
1996 (cprop_insn): Likewise.
1997 (cprop_jump): Use FOR_EACH_EDGE.
1998
9b69cf83
BS
19992011-04-04 Bernd Schmidt <bernds@codesourcery.com>
2000
2001 PR bootstrap/48403
2002 * haifa-sched.c (nonscheduled_insns_begin): New static variable.
2003 (rank_for_schedule): Use scheduled_insns vector instead of
2004 last_scheduled_insn.
2005 (ok_for_early_queue_removal): Likewise.
2006 (queue_to_ready): Search forward in nonscheduled_insns_begin if
2007 we have a dbg_cnt.
2008 (choose_ready): Likewise.
2009 (commit_schedule): Use VEC_iterate.
2010 (schedule_block): Initialize nonscheduled_insns_begin. If we have
2011 a dbg_cnt, use it and ensure the first insn is in the ready list.
2012 (haifa_sched_init): Allocate scheduled_insns.
2013 (sched_extend_ready_list): Don't allocate it; reserve space.
2014 (haifa_sched_finish): Free it.
2015
24f48c2f
JM
20162011-04-04 Joseph Myers <joseph@codesourcery.com>
2017
2018 * optc-gen.awk: Always remove type from Variable entry before
2019 recording in var_seen.
2020
8effe856
EB
20212011-04-04 Eric Botcazou <ebotcazou@adacore.com>
2022
2023 * cfghooks.c (tidy_fallthru_edges): Add ??? comment.
2024 * tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove
2025 call to tidy_fallthru_edges.
2026
413519ae
JM
20272011-04-04 Joseph Myers <joseph@codesourcery.com>
2028
2029 * doc/options.texi (ToLower): Document.
3729983c 2030 * opt-functions.awk (switch_bit_fields): Initialize cl_tolower field.
413519ae
JM
2031 * opts-common.c (decode_cmdline_option): Handle cl_tolower.
2032 * opts.h (cl_option): Add cl_tolower field.
2033 * config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu=
2034 arguments with lowercase strings.
2035 * config/rx/rx.opt (mcpu=): Add ToLower.
2036 * config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu=
2037 argument.
2038
7d34a1b0
RS
20392011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
2040
2041 * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.
2042
c30e7434
RS
20432011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
2044
2045 * config/vax/vax.c: Include reload.h.
2046
112a861d
AS
20472011-04-04 Anatoly Sokolov <aesok@post.ru>
2048
2049 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove.
2050 * config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
2051 (sparc_preferred_reload_class): New function.
2052
e8c6bb74
JJ
20532011-04-04 Jakub Jelinek <jakub@redhat.com>
2054
2aeaa366 2055 PR debug/48401
e8c6bb74
JJ
2056 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
2057 Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.
2058
2c081caf
NF
20592011-04-03 Nathan Froyd <froydnj@codesourcery.com>
2060
2061 * tree.h (struct tree_const_decl): Inherit from tree_decl_common.
2062 * tree.c (initialize_tree_contains_struct): Adjust accordingly.
2063
53802f27
AS
20642011-04-03 Anatoly Sokolov <aesok@post.ru>
2065
2066 * config/avr/avr.h (ASM_OUTPUT_BSS): Remove.
2067 (ASM_OUTPUT_ALIGNED_BSS): Define.
2068
e89964e3
MM
20692011-04-03 Michael Matz <matz@suse.de>
2070
2071 * lto-streamer.h (struct lto_streamer_cache_d): Remove offsets
2072 and next_slot members.
2073 (lto_streamer_cache_insert, lto_streamer_cache_insert_at,
2074 lto_streamer_cache_lookup, lto_streamer_cache_get): Adjust prototypes.
2075 (lto_streamer_cache_append): Declare.
2076 * lto-streamer.c (lto_streamer_cache_add_to_node_array): Use
2077 unsigned index, remove offset parameter, ensure that we append
2078 or update existing entries.
2079 (lto_streamer_cache_insert_1): Use unsigned index, remove offset_p
2080 parameter, update next_slot for append.
2081 (lto_streamer_cache_insert): Use unsigned index, remove offset_p
2082 parameter.
2083 (lto_streamer_cache_insert_at): Likewise.
2084 (lto_streamer_cache_append): New function.
2085 (lto_streamer_cache_lookup): Use unsigned index.
2086 (lto_streamer_cache_get): Likewise.
2087 (lto_record_common_node): Don't test tree_node_can_be_shared.
2088 (preload_common_node): Adjust call to lto_streamer_cache_insert.
2089 (lto_streamer_cache_delete): Don't free offsets member.
2090 * lto-streamer-out.c (eq_string_slot_node): Use memcmp.
2091 (lto_output_string_with_length): Use lto_output_data_stream.
2092 (lto_output_tree_header): Remove ix parameter, don't write it.
2093 (lto_output_builtin_tree): Likewise.
2094 (lto_write_tree): Adjust callers to above, don't track and write
2095 offset, write unsigned index.
2096 (output_unreferenced_globals): Don't emit all global vars.
2097 (write_global_references): Use unsigned indices.
2098 (lto_output_decl_state_refs): Likewise.
2099 (write_symbol): Likewise.
2100 * lto-streamer-in.c (lto_input_chain): Move earlier.
2101 (input_function): Use unsigned index.
2102 (input_alias_pairs): Don't read and then ignore all global vars.
2103 (lto_materialize_tree): Remove ix_p parameter, don't read index,
2104 don't pass it back, use lto_streamer_cache_append.
2105 (lto_register_var_decl_in_symtab): Use unsigned index.
2106 (lto_register_function_decl_in_symtab): Likewise.
2107 (lto_get_pickled_tree): Don't read in or handle offset, read unsigned
2108 index.
2109 (lto_get_builtin_tree): Don't read index, use
2110 lto_streamer_cache_append.
2111 (lto_read_tree): Adjust call to lto_materialize_tree.
2112
2113 * ipa-inline.c (cgraph_edge_badness): Move growth calculaton,
2114 don't use function calls in arguments to MIN.
2115
2116 * varasm.c (decl_binds_to_current_def_p): Don't check TREE_PUBLIC
2117 twice.
2118
2119 * gimple.c (gimple_type_leader_entry): Mark deletable.
2120
b9a5b5b2
AM
21212011-04-03 Alan Modra <amodra@gmail.com>
2122
2123 * dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
2124
ac6a641b
MM
21252011-04-03 Michael Matz <matz@suse.de>
2126
2127 * tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not
2128 an integer.
2129 * tree.h (tree_decl_non_common.vindex): Adjust comment.
2130
0038d4e0
MM
21312011-04-03 Michael Matz <matz@suse.de>
2132
e9c18386 2133 * cgraphbuild.c (record_reference): Canonicalize constructor values.
0038d4e0
MM
2134 * gimple-fold.c (canonicalize_constructor_val): Accept being called
2135 without function context.
2136 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
2137 current_function_decl and cfun.
2138
91f2fae8
MM
21392011-04-03 Michael Matz <matz@suse.de>
2140
2141 * tree.c (decl_init_priority_insert): Don't create entry for
2142 default priority.
2143 (decl_fini_priority_insert): Ditto.
2144 (fields_compatible_p, find_compatible_field): Remove.
2145 * tree.h (fields_compatible_p, find_compatible_field): Remove.
2146 * gimple.c (gimple_compare_field_offset): Adjust block comment.
2147
da29e070
EB
21482011-04-03 Eric Botcazou <ebotcazou@adacore.com>
2149
2150 * combine.c (try_combine): Remove useless local variable.
2151
4979c28b 21522011-04-03 Richard Guenther <rguenther@suse.de>
91f2fae8 2153 Ira Rosen <ira.rosen@linaro.org>
4979c28b
RG
2154
2155 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
2156 non-variable offsets and compare the remaining bases of the two
2157 accesses instead of looking for exact same data-ref.
2158
b4ddcaee
KT
21592011-04-02 Kai Tietz <ktietz@redhat.com>
2160
f90298e1
KT
2161 PR target/48416
2162 * i386.c (ix86_function_arg_boundary): Fix printf formatter.
2163
b4ddcaee
KT
2164 * i386.c (ix86_is_msabi_thiscall): New helper function.
2165 (ix86_is_type_thiscall): New helper function.
2166 (ix86_comp_type_attributes): Handle thiscall for method-functions
2167 special.
2168 (init_cumulative_args): Likewise.
2169 (find_drap_reg): Likewise.
2170 (ix86_static_chain): Likewise.
2171 (x86_this_parameter): Likewise.
2172 (x86_output_mi_thunk): Likewise.
2173
2a9d769a 21742011-04-01 Olivier Hainque <hainque@adacore.com>
91f2fae8
MM
2175 Nicolas Setton <setton@adacore.com>
2176 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
2177
2178 * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
2179 (add_gnat_descriptive_type_attribute): New function.
2180 (gen_array_type_die): Call it.
2181 (gen_enumeration_type_die): Likewise.
2182 (gen_struct_or_union_type_die): Likewise.
2183 (modified_type_die): Likewise.
2184 * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
2185 * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
2186 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
2187
15a03a11
JJ
21882011-04-01 Jakub Jelinek <jakub@redhat.com>
2189
2190 PR bootstrap/48148
2191 * dwarf2out.c (resolve_addr): Don't call force_decl_die
2192 if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
2193
2194 Revert:
2195 2011-03-17 Richard Guenther <rguenther@suse.de>
2196
2197 PR bootstrap/48148
2198 * lto-cgraph.c (input_overwrite_node): Clear the abstract
2199 origin for decls in other ltrans units.
2200 (input_varpool_node): Likewise.
2201
19228b93
JJ
22022011-04-01 Jakub Jelinek <jakub@redhat.com>
2203
2204 PR middle-end/48335
2205 * expr.c (expand_assignment): Handle all possibilities
2206 if TO_RTX is CONCAT.
e9c18386 2207 * expmed.c (store_bit_field_1): Avoid trying to create invalid SUBREGs.
19228b93
JJ
2208 (store_split_bit_field): If SUBREG_REG (op0) or
2209 op0 itself has smaller mode than word, return it
2210 for offset 0 and const0_rtx for out-of-bounds stores.
2211 If word is const0_rtx, skip it.
2212
88cb339e
N
22132011-04-01 Naveen H.S <naveen.S@kpitcummins.com>
2214
2215 * config/h8300/h8300.c (print_operand_address): Rename to...
2216 (h8300_print_operand_address): ...this. Make static. Adjust comments.
2217 Call h8300_print_operand and h8300_print_operand_address instead of
2218 print_operand and print_operand_address. Declare.
2219 (print_operand): Renake to...
2220 (h8300_print_operand): ...this. Make static. Adjust comments.
2221 Call h8300_print_operand instead of print_operand. Declare.
2222 (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
2223 (h8300_register_move_cost): Likewise.
2224 (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
2225 TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
2226 * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
2227 PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
2228 * config/h8300/h8300-protos.h (print_operand): Delete.
2229 (print_operand_address): Delete.
2230
756d6ee9
RH
22312011-04-01 Richard Henderson <rth@redhat.com>
2232
2233 PR 48400
2234 * dwarf2out.c (dwarf2out_source_line): Disable discriminators
2235 in strict mode before dwarf4. Re-order tests to early out
2236 before switching sections.
2237
ceaaaeab
NF
22382011-04-01 Nathan Froyd <froydnj@codesourcery.com>
2239
2240 * config/h8300/constraints.md: New file.
2241 * config/h8300/h8300.md: Include it. Use satisfies_constraint_J,
2242 satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
2243 (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
2244 * config/h8300/predicates.md (bit_operand): Likewise.
2245 (incdec_operand): Use satisfies_constraint_M and
2246 satisfies_constraint_O. Don't use C code block.
2247 * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
2248 * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
2249 (compute_mov_length): Use satisfies_constraint_G.
2250 (fix_bit_operand): Use satisfies_constraint_U.
2251 * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
2252 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
2253 (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
2254 (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
2255 (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
2256 (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
2257 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
2258 (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
2259 (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
2260 (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
2261 (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
2262 (EXTRA_MEMORY_CONSTRAINT): Delete.
2263
08ae38e0
AP
22642011-04-01 Andrew Pinski <pinskia@gmail.com>
2265 Michael Meissner <meissner@linux.vnet.ibm.com>
2266
2267 PR target/48262
2268 * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
2269 operands, as per the specifications.
2270
2271 * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
2272 (vec_extract_evenv4sf): Ditto.
2273 (vec_extract_evenv8hi): Ditto.
2274 (vec_extract_evenv16qi): Ditto.
2275 (vec_extract_oddv4si): Ditto.
2276
bdb0b0f6
MW
22772011-03-31 Mark Wielaard <mjw@redhat.com>
2278
2279 * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
2280 high_pc attribute if the CU has no associated code. Only output
2281 DW_AT_entry_pc for CU if not generating strict dwarf and
2282 dwarf_version < 4.
2283
722279e4
BS
22842011-04-01 Bernd Schmidt <bernds@codesourcery.com>
2285
2286 * dwarf2out.h (dwarf2out_frame_debug_init): Declare.
2287 * dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
2288 out of ...
2289 (dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
2290 * final.c (final_start_function): Call the new function rather
2291 than using a NULL argument for dwarf2out_frame_debug.
2292
c5dd277d
BS
2293 * ifcvt.c (cond_exec_process_insns): Disallow converting a block
2294 that contains the prologue.
2295
ec4efea9
BS
2296 * haifa-sched.c (queue_insn): New arg REASON. All callers
2297 changed. Print it in debugging output.
2298
2a6a0d80
BS
2299 * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
2300
86014d07
BS
2301 * sched-ebb.c (begin_schedule_ready): Remove second argument.
2302 Split most of the code into...
2303 (begin_move_insn): ... here. New function.
2304 (ebb_sched_info): Add a pointer to it.
2305 * haifa-sched.c (scheduled_insns): New static variable.
2306 (sched_extend_ready_list): Allocate it.
2307 (schedule_block): Use it to record the order of scheduled insns.
2308 Perform RTL changes to move insns only after all scheduling
2309 decisions have been made.
2310 * modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
2311 begin_move_insn field.
2312 * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
2313 * sched-int.h (struct haifa_sched_info): Remove second argument
2314 from begin_schedule_ready hook. Add new member begin_move_insn.
2315 * sched-rgn.c (begin_schedule_ready): Remove second argument.
2316 (rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
2317
9d701248
BS
2318 * haifa-sched.c (prune_ready_list): New function, broken out of
2319 schedule_block.
2320 (schedule_block): Use it.
2321
1ca1dad5
UW
23222011-04-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2323
2324 * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
2325
49568e45
KT
23262011-04-01 Kai Tietz <ktietz@redhat.com>
2327
2328 * config.gcc (*-*-mingw*): Allow as option the
2329 posix threading model.
07c0852e 2330 * config/i386/mingw32.h (SPEC_PTHREAD1, SPEC_PTHREAD2):
49568e45
KT
2331 New macros defined dependent to TARGET_USE_PTHREAD_BY_DEFAULT
2332 definition.
2333 (CPP_SPEC): Add pthread/no-pthread handling.
2334 (LIB_SPEC): Likewise.
2335 * config/i386/mingw-w64.h (CPP_SPEC):Likewise.
2336 (LIB_SPEC): Likewise.
2337 * config/i386/t-cygming (SHLIB_PTHREAD_CFLAG): New
2338 flag to pass -pthread option for shared libgcc build.
2339 (SHLIB_PTHREAD_LDFLAG): New option to pass -lpthread
2340 for shared libgcc build.
2341 * config/i386/t-mingw-pthread: New file.
2342 * config/i386/mingw-pthread.h (TARGET_USE_PTHREAD_BY_DEFAULT):
2343 New define to enable use of library pthread by default.
2344 * config/i386/mingw.opt (pthread): New driver option.
2345 (no-pthread): New driver option.
e9c18386 2346 * config/i386/cygming.opt: Make sure trailing empty line is retained.
49568e45
KT
2347 * config/i386/mingw-w64.opt: Likewise.
2348
636b4106
GF
23492011-04-01 Gary Funck <gary@intrepid.com>
2350
2351 * c-decl.c (grokdeclarator): Fix formatting.
2352
f04713ee
RS
23532011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
2354
2355 * expr.c (emit_block_move_via_movmem): Use n_generator_args
2356 instead of n_operands.
2357 (set_storage_via_setmem): Likewise.
2358 * optabs.c (maybe_gen_insn): Likewise.
2359 * config/arm/arm.c (arm_init_neon_builtins): Likewise.
2360 * config/mips/mips.c (mips_expand_builtin_compare_1): Likewise.
2361 (mips_expand_builtin_direct): Likewise.
2362 * config/spu/spu.c (expand_builtin_args): Likewise.
2363
b29387ee
RS
23642011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
2365
2366 * recog.h (insn_data_d): Add n_generator_args.
2367 * genoutput.c (data): Likewise.
2368 (output_insn_data): Print it.
2369 (max_opno, num_dups): Delete.
2370 (scan_operands): Just fill in "d->operand[...]".
2371 (gen_insn, gen_peephole, gen_expand, gen_split): Use get_pattern_stats.
2372
e792559a
RS
23732011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
2374
2375 * gensupport.h (pattern_stats): New structure.
2376 * gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
2377 * genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
2378 (max_operand_1, max_operand_vec): Delete.
2379 (gen_insn, gen_expand, gen_split): Use get_pattern_stats.
2380
e8110d6f
NF
23812011-03-31 Nathan Froyd <froydnj@codesourcery.com>
2382
2383 * emit-rtl.c (emit_pattern_after_setloc): New function.
2384 (emit_insn_after_setloc, emit_jump_insn_after_setloc): Call it.
2385 (emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise.
2386 (emit_pattern_after): New function.
2387 (emit_insn_after, emit_jump_insn_after): Call it.
2388 (emit_call_insn_after, emit_debug_insn_after): Likewise.
2389 (emit_pattern_before_setloc): New function.
2390 (emit_insn_before_setloc, emit_jump_insn_before_setloc): Call it.
2391 (emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
2392 Likewise.
2393 (emit_pattern_before): New function.
2394 (emit_insn_before, emit_jump_insn_before): Call it.
2395 (emit_call_insn_before, emit_debug_insn_before): Likewise.
2396
576f85f1
RH
23972011-03-31 Richard Henderson <rth@redhat.com>
2398
2399 * dwarf2out.c (dw_separate_line_info_ref): Remove.
2400 (dw_separate_line_info_entry): Remove.
2401 (enum dw_line_info_opcode): New.
2402 (dw_line_info_entry): Use it.
2403 (dw_line_info_table, dw_line_info_table_p): New.
2404 (DWARF_LINE_OPCODE_BASE): Include dwarf3 opcodes.
2405 (line_info_table, line_info_label_num): Remove.
2406 (line_info_table_in_use): Remove.
2407 (separate_line_info_table): Remove.
2408 (separate_line_info_table_allocated): Remove.
2409 (separate_line_info_table_in_use): Remove.
2410 (LINE_INFO_TABLE_INCREMENT): Remove.
2411 (line_info_label_num): New.
2412 (cur_line_info_table): New.
2413 (text_section_line_info, cold_text_section_line_info): New.
2414 (separate_line_info): New.
2415 (SEPARATE_LINE_CODE_LABEL): Remove.
2416 (print_dwarf_line_table): Remove.
2417 (debug_dwarf): Don't dump it.
2418 (output_one_line_info_table): New.
2419 (output_line_info): Use it.
2420 (new_line_info_table): New.
2421 (set_cur_line_info_table): New.
2422 (dwarf2out_switch_text_section): Use it.
2423 (dwarf2out_begin_function): Likewise.
2424 (push_dw_line_info_entry): New.
2425 (dwarf2out_source_line): Rewrite for new line info tables.
2426 (dwarf2out_init): Remove dead initailizations.
2427
300d83d9
JM
24282011-03-31 Joseph Myers <joseph@codesourcery.com>
2429
2430 * opts.h (cl_option): Add comments to fields. Add bit-fields for
2431 various flags.
2432 (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK,
2433 CL_SEPARATE_ALIAS, CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE,
2434 CL_DISABLED, CL_REPOR, CL_REJECT_NEGATIVE, CL_MISSING_OK,
2435 CL_UINTEGER, CL_NEGATIVE_ALIAS): Remove.
2436 (CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED): Update bit positions.
2437 * opt-functions.awk (flag_init, switch_bit_fields): New.
2438 (switch_flags): Don't handle flags moved to bit-fields. Don't
2439 generate CL_MISSING_OK or CL_SAVE.
2440 * optc-gen.awk: Update to generate bit-field output as well as
2441 flags field.
2442 * gcc.c (driver_wrong_lang_callback): Use cl_reject_driver
2443 bit-field instead of CL_REJECT_DRIVER flag.
2444 * opts-common.c (generate_canonical_option,
2445 decode_cmdline_option): Use bit-fields instead of CL_* flags.
2446 * opts.c (maybe_default_option): Use cl_reject_negative bit-field
2447 instead of CL_REJECT_NEGATIVE flag.
2448 * toplev.c (print_switch_values): Use cl_report bit-field instead
2449 of CL_REPORT flag.
2450
d4d73ce2
EB
24512011-03-31 Eric Botcazou <ebotcazou@adacore.com>
2452
2453 * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
2454 a zero minimum index only if it is redundant.
2455
b8faca75
VM
24562011-03-31 Vladimir Makarov <vmakarov@redhat.com>
2457
2458 PR rtl-optimization/48381
2459 * ira-color.c (assign_hard_reg): Use hard reg set intersection
2460 instead of ira_class_hard_reg_index for calculating conflicting
2461 hard registers.
2462
7d11cebe
SB
24632011-03-31 Steven Bosscher <steven@gcc.gnu.org>
2464
2465 * cprop.c: Clean up hash table building.
2466 (reg_avail_info): Remove.
2467 (oprs_available_p): Remove.
2468 (record_last_reg_set_info): Remove.
2469 (record_last_set_info): Remove.
2470 (reg_available_p): New function.
2471 (gcse_constant_p): Do not treat unfolded conditions as constants.
2472 (make_set_regs_unavailable): New function.
2473 (hash_scan_set): Simplify with new reg_available_p.
2474 (compute_hash_table_work): Traverse insns stream only once.
2475 Do not compute reg_avail_info. Traverse insns in reverse order.
2476 Record implicit sets after recording explicit sets from the block.
2477
98faf84f
MM
24782011-03-31 Michael Matz <matz@suse.de>
2479
e9c18386 2480 * builtins.c (build_va_arg_indirect_ref): Use build_simple_mem_ref_loc.
98faf84f 2481
f52d97da
AS
24822011-03-31 Anatoly Sokolov <aesok@post.ru>
2483
2484 * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove macro.
2485 * config/h8300/h8300-protos.h (h8300_get_index): Remove.
2486 * config/h8300/h8300.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
2487 (h8300_mode_dependent_address_p): New function.
2488 (h8300_get_index): Make static.
2489
e16b6fd0
JL
24902011-03-31 Jeff Law <law@redhat.com>
2491
10c51983
JL
2492 * reload1.c (elimination_effects): Fix typo in recent change.
2493
e9c18386 2494 * tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid
e16b6fd0
JL
2495 typo potentially leading to null pointer dereference.
2496
2497 * caller-save.c (new_saved_hard_reg): Eliminate return value.
2498 (setup_save_areas): Corresponding changes to avoid useless
2499 assignments.
2500
2501 * jump.c (reversed_comparison_code_parts): Avoid successive return
2502 statements when REVERSE_CONDITION is defined.
2503
2504 * expr.c (expand_assignment): Avoid useless assignments.
2505 (expand_expr_real_1): Likewise.
2506 (expand_expr_real_2): Avoid useless statements.
2507
2508 * tree-ssa-phiopt.c (minmax_replacement): Avoid useless statement.
2509
2510 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
2511
2512 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Avoid useless
2513 statements.
2514
2515 * stmt.c (expand_expr_stmt): Avoid useless assignment.
2516
eb1eb914
JM
25172011-03-31 Joseph Myers <joseph@codesourcery.com>
2518
2519 PR target/47109
2520 * doc/tm.texi.in (TARGET_VERSION): Remove.
2521 * doc/tm.texi: Regenerate.
2522 * system.h (TARGET_VERSION, MACHINE_TYPE): Poison.
2523 * collect2.c (main): Don't use TARGET_VERSION.
2524 * mips-tdump.c (main): Don't use TARGET_VERSION.
2525 * mips-tfile.c (main): Don't use TARGET_VERSION.
e9c18386 2526 * config.gcc (powerpc-wrs-vxworksae): Don't use rs6000/vxworksae.h.
eb1eb914
JM
2527 * config/rs6000/vxworksae.h: Remove.
2528 * config/alpha/alpha.h (TARGET_VERSION): Remove.
2529 * config/alpha/freebsd.h (TARGET_VERSION): Remove.
2530 * config/alpha/linux-elf.h (TARGET_VERSION): Remove.
2531 * config/alpha/netbsd.h (TARGET_VERSION): Remove.
2532 * config/alpha/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
2533 * config/arm/arm.h (TARGET_VERSION): Remove.
2534 * config/arm/coff.h (TARGET_VERSION): Remove.
2535 * config/arm/ecos-elf.h (TARGET_VERSION): Remove.
2536 * config/arm/elf.h (TARGET_VERSION): Remove.
2537 * config/arm/freebsd.h (TARGET_VERSION): Remove.
2538 * config/arm/linux-elf.h (TARGET_VERSION): Remove.
2539 * config/arm/netbsd-elf.h (TARGET_VERSION): Remove.
2540 * config/arm/pe.h (TARGET_VERSION): Remove.
2541 * config/arm/rtems-elf.h (TARGET_VERSION): Remove.
2542 * config/arm/semi.h (TARGET_VERSION): Remove.
2543 * config/arm/uclinux-elf.h (TARGET_VERSION): Remove.
2544 * config/arm/unknown-elf.h (TARGET_VERSION): Remove.
2545 * config/arm/vxworks.h (TARGET_VERSION): Remove.
2546 * config/avr/avr.h (TARGET_VERSION): Remove.
2547 * config/bfin/bfin.h (TARGET_VERSION): Remove.
2548 * config/fr30/fr30.h (TARGET_VERSION): Remove.
2549 * config/frv/frv.h (TARGET_VERSION): Remove.
2550 * config/h8300/h8300.h (TARGET_VERSION): Remove.
2551 * config/i386/cygwin.h (TARGET_VERSION): Remove.
2552 * config/i386/darwin.h (TARGET_VERSION): Remove.
2553 * config/i386/darwin64.h (TARGET_VERSION): Remove.
2554 * config/i386/djgpp.h (TARGET_VERSION): Remove.
2555 * config/i386/freebsd.h (TARGET_VERSION): Remove.
2556 * config/i386/freebsd64.h (TARGET_VERSION): Remove.
2557 * config/i386/gnu.h (TARGET_VERSION): Remove.
2558 * config/i386/i386-interix.h (TARGET_VERSION): Remove.
2559 * config/i386/i386elf.h (TARGET_VERSION): Remove.
2560 * config/i386/linux.h (TARGET_VERSION): Remove.
2561 * config/i386/linux64.h (TARGET_VERSION): Remove.
2562 * config/i386/lynx.h (TARGET_VERSION): Remove.
2563 * config/i386/mingw32.h (TARGET_VERSION): Remove.
2564 * config/i386/netbsd-elf.h (TARGET_VERSION): Remove.
2565 * config/i386/netbsd64.h (TARGET_VERSION): Remove.
2566 * config/i386/netware.h (TARGET_VERSION): Remove.
2567 * config/i386/nto.h (TARGET_VERSION): Remove.
2568 * config/i386/openbsd.h (TARGET_VERSION): Remove.
2569 * config/i386/vxworks.h (TARGET_VERSION): Remove.
2570 * config/ia64/elf.h (TARGET_VERSION): Remove.
2571 * config/ia64/freebsd.h (TARGET_VERSION): Remove.
2572 * config/ia64/hpux.h (TARGET_VERSION): Remove.
2573 * config/ia64/linux.h (TARGET_VERSION): Remove.
2574 * config/ia64/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
2575 * config/iq2000/iq2000.h (IQ2000_VERSION, MACHINE_TYPE,
2576 TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
2577 * config/lm32/lm32.h (TARGET_VERSION): Remove.
2578 * config/lm32/uclinux-elf.h (TARGET_VERSION): Remove.
2579 * config/m32c/m32c.h (TARGET_VERSION): Remove.
2580 * config/m32r/linux.h (LINUX_DEFAULT_ELF, TARGET_VERSION): Remove.
2581 * config/m32r/m32r.h (TARGET_VERSION): Remove.
2582 * config/m68k/linux.h (TARGET_VERSION): Remove.
2583 * config/m68k/m68k.h (TARGET_VERSION): Remove.
2584 * config/m68k/netbsd-elf.h (TARGET_VERSION): Remove.
2585 * config/m68k/uclinux.h (TARGET_VERSION): Remove.
2586 * config/mcore/mcore-elf.h (TARGET_VERSION): Remove.
2587 * config/mep/mep.h (TARGET_VERSION): Remove.
2588 * config/microblaze/microblaze.h (MICROBLAZE_VERSION,
2589 MACHINE_TYPE, TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
2590 * config/mips/iris6.h (MACHINE_TYPE): Remove.
2591 * config/mips/linux.h (TARGET_VERSION): Remove.
2592 * config/mips/netbsd.h (MACHINE_TYPE): Remove.
2593 * config/mips/vxworks.h (TARGET_VERSION): Remove.
2594 * config/mmix/mmix.h (TARGET_VERSION): Remove.
2595 * config/mn10300/linux.h (TARGET_VERSION): Remove.
2596 * config/mn10300/mn10300.h (TARGET_VERSION): Remove.
2597 * config/pa/pa.h (TARGET_VERSION): Remove.
2598 * config/pdp11/pdp11.h (TARGET_VERSION): Remove.
2599 * config/picochip/picochip.h (TARGET_VERSION): Remove.
2600 * config/rs6000/aix.h (TARGET_VERSION): Remove.
2601 * config/rs6000/darwin.h (TARGET_VERSION): Remove.
2602 * config/rs6000/darwin64.h (TARGET_VERSION): Remove.
2603 * config/rs6000/eabi.h (TARGET_VERSION): Remove.
2604 * config/rs6000/eabialtivec.h (TARGET_VERSION): Remove.
2605 * config/rs6000/eabisim.h (TARGET_VERSION): Remove.
2606 * config/rs6000/eabispe.h (TARGET_VERSION): Remove.
2607 * config/rs6000/freebsd.h (TARGET_VERSION): Remove.
2608 * config/rs6000/linux.h (TARGET_VERSION): Remove.
2609 * config/rs6000/linux64.h (TARGET_VERSION): Remove.
2610 * config/rs6000/linuxaltivec.h (TARGET_VERSION): Remove.
2611 * config/rs6000/linuxspe.h (TARGET_VERSION): Remove.
2612 * config/rs6000/lynx.h (TARGET_VERSION): Remove.
2613 * config/rs6000/netbsd.h (TARGET_VERSION): Remove.
2614 * config/rs6000/sysv4.h (TARGET_VERSION): Remove.
2615 * config/rs6000/vxworks.h (TARGET_VERSION): Remove.
2616 * config/s390/linux.h (TARGET_VERSION): Remove.
2617 * config/s390/s390.h (TARGET_VERSION): Remove.
2618 * config/s390/tpf.h (TARGET_VERSION): Remove.
2619 * config/score/score.h (TARGET_VERSION): Remove.
2620 * config/sh/linux.h (TARGET_VERSION): Remove.
2621 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN,
2622 TARGET_VERSION_CPU, TARGET_VERSION): Remove.
2623 * config/sh/sh.h (TARGET_VERSION): Remove.
2624 * config/sh/sh64.h (TARGET_VERSION): Remove.
2625 * config/sh/superh.h (TARGET_VERSION): Remove.
2626 * config/sh/vxworks.h (TARGET_VERSION): Remove.
2627 * config/sparc/freebsd.h (TARGET_VERSION): Remove.
2628 * config/sparc/linux.h (TARGET_VERSION): Remove.
2629 * config/sparc/linux64.h (TARGET_VERSION): Remove.
2630 * config/sparc/netbsd-elf.h (TARGET_VERSION, TARGET_NAME64,
2631 TARGET_NAME32, TARGET_NAME): Remove.
2632 * config/sparc/openbsd64.h (TARGET_VERSION): Remove.
2633 * config/sparc/sp-elf.h (TARGET_VERSION): Remove.
2634 * config/sparc/sp64-elf.h (TARGET_VERSION): Remove.
2635 * config/sparc/sysv4.h (TARGET_VERSION): Remove.
2636 * config/sparc/vxworks.h (TARGET_VERSION): Remove.
2637 * config/spu/spu.h (TARGET_VERSION): Remove.
2638 * config/stormy16/stormy16.h (TARGET_VERSION): Remove.
2639 * config/v850/v850.h (TARGET_VERSION): Remove.
2640 * config/vax/linux.h (TARGET_VERSION): Remove.
2641 * config/vax/vax.h (TARGET_NAME, TARGET_VERSION): Remove.
2642 * config/xtensa/elf.h (TARGET_VERSION): Remove.
2643 * config/xtensa/linux.h (TARGET_VERSION): Remove.
2644
ace31bca
EB
26452011-03-31 Eric Botcazou <ebotcazou@adacore.com>
2646
2647 PR target/48142
2648 * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
2649 frame-related from frame-unrelated adjustments to the stack pointer.
2650
76f9db36
JJ
26512011-03-31 Jakub Jelinek <jakub@redhat.com>
2652
2653 * common.opt (fdebug-types-section): Move earlier.
2654 * doc/invoke.texi: Fix up -fno-debug-types-section documentation.
2655
b7826465
AT
26562011-03-31 Andreas Tobler <andreast@fgznet.ch>
2657
2658 * config/rs6000/rs6000.c (rs6000_handle_option): Remove unused isel
2659 var.
2660
1290e54c
NF
26612011-03-30 Nathan Froyd <froydnj@codesourcery.com>
2662
2663 * tree.h (CASE_CHAIN): Define.
2664 * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
2665 (gimple_redirect_edge_and_branch): Likewise.
2666
bddc98e1
VM
26672011-03-30 Vladimir Makarov <vmakarov@redhat.com>
2668
2669 PR middle-end/48367
2670 * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
2671 calculation.
2672
c865e437
JL
26732011-03-30 Jeff Law <law@redhat.com>
2674
b3750213 2675 * PR bootstrap/48371
c865e437
JL
2676 * reload1.c (reload): Fix botch in last change.
2677
2678 * reload.h (struct reload): Fix typo introduced in last change.
2679
2cdf9574
JM
26802011-03-30 Joseph Myers <joseph@codesourcery.com>
2681
2682 * config/arm/arm.opt (mhard-float, msoft-float): Mark
2683 Undocumented. Remove help text.
2684 * doc/invoke.texi (ARM Options): Don't document -msoft-float and
2685 -mhard-float.
2686
666a21a2
JM
26872011-03-30 Joseph Myers <joseph@codesourcery.com>
2688
2689 * doc/options.texi (NegativeAlias): Document.
2690 (Alias): Mention NegativeAlias.
2691 * opt-functions.awk: Handle NegativeAlias.
e9c18386 2692 * optc-gen.awk: Disallow NegativeAlias with multiple Alias arguments.
666a21a2
JM
2693 * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
2694 * opts.h (CL_NEGATIVE_ALIAS): Define.
2695 * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
2696 (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
2697 OPT_mspe_.
2698 * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
2699 Alias entries.
2700 * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
2701 mno-spe and mno-isel instead of mspe=no and -misel=no.
2702
0fa4e351
MW
27032011-03-29 Mark Wielaard <mjw@redhat.com>
2704
2705 * common.opt (fdebug-types-section): New flag.
2706 * doc/invoke.texi: Document new -fno-debug-types-section flag.
2707 * dwarf2out.c (use_debug_types): New define.
2708 (struct die_struct): Mark die_id with GTY desc use_debug_types.
2709 (print_die): Guard output of type unit signatures using
2710 use_debug_types.
2711 (build_abbrev_table): Replace assert of dwarf_version >= 4
2712 with assert on use_debug_types.
2713 (size_of_die): Likewise.
2714 (unmark_dies): Likewise.
2715 (value_format): Decide AT_ref_external form on use_debug_types.
2716 (output_die): Replace dwarf_version version check guard with
2717 use_debug_types where appropriate.
2718 (modified_type_die): Likewise.
2719 (gen_reference_type_die): Likewise.
2720 (dwarf2out_start_source_file): Likewise.
2721 (dwarf2out_end_source_file): Likewise.
2722 (prune_unused_types_walk_attribs): Likewise.
2723 (dwarf2out_finish): Likewise.
2724
4648deb4
VM
27252011-03-30 Vladimir Makarov <vmakarov@redhat.com>
2726
2727 * ira-color.c (ira_assign_hard_reg): Use only one variable 'mode'.
2728
4f431835
RS
27292011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
2730
2731 PR rtl-optimization/48332
2732 * optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
2733 mode of input operand N and modeN to its actual mode.
2734
f2034d06
JL
27352011-03-30 Jeff Law <law@redhat.com>
2736
2737 * reload.h (reg_equiv_constant): Move into new structure reg_equivs,
2738 define accessor macro.
2739 (reg_equiv_invariant, reg_equiv_memory_loc): Likewise.
2740 (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise.
2741 (reg_equiv_init): Likewise.
2742 (reg_equivs_size): New variable.
2743 (reg_equiv_init_size): Remove.
2744 (allocate_initial_values): Move prototype to here from....
2745 * integrate.h (allocate_initial_values): Remove prototype.
2746 * integrate.c: Include reload.h.
2747 (allocate_initial_values): Corresponding changes.
2748 * ira.c (find_reg_equiv_invariant_cost): Corresponding changes.
2749 (fix_reg_equiv_init, no_equiv): Corresponding changes.
2750 (update_equiv_regs): Corresponding changes.
2751 (ira): Corresponding changes.
2752 * reload.c (push_reg_equiv_alt_mem): Corresponding changes.
2753 (push_secondary_reload): Corresponding changes.
2754 (push_reload, find_reloads, find_reloads_toplev): Corresponding changes.
2755 (make_memloc, find_reloads_address): Corresponding changes.
2756 (subst_reg_equivs, subst_indexed_address): Corresponding changes.
2757 (find_reloads_address_1): Corresponding changes.
2758 (find_reloads_subreg_address, subst_reloads): Corresponding changes.
2759 (refers_to_regno_for_reload_p): Corresponding changes.
2760 (reg_overlap_mentioned_for_reload_p): Corresponding changes.
2761 (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes.
2762 * reload1.c: Include ggc.h.
2763 (grow_reg_equivs): New function.
2764 (replace_pseudos_in, reload): Corresponding changes.
2765 (calculate_needs_all_insns, alter_regs): Corresponding changes.
2766 (eliminate_regs_1, elimination_effects): Corresponding changes.
2767 (emit_input_reload_insns, emit_output_reload_insns): Likewise.
2768 (delete_output_reload): Likewise.
2769 * caller-save.c (mark_referenced_regs): Corresponding changes.
2770 * alpha/alpha.c (resolve_reload_operand): Corresponding changes.
2771 * frv/predicates.md (frv_load_operand): Corresponding changes.
2772 * microblaze/microblaze.c (double_memory_operand): Corresponding
2773 changes.
2774 * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes.
2775 * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes.
e9c18386 2776 * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding changes.
f2034d06
JL
2777 * m68k/m68k.c (emit_move_sequence): Corresponding changes.
2778 * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding
2779 changes.
2780 * pa/pa.c (emit_move_sequence): Corresponding changes.
2781 * vax/vax.c (nonindexed_address_p): Corresponding changes.
2782
159b81b0
RS
27832011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
2784
2785 PR target/47551
2786 * config/arm/arm.c (coproc_secondary_reload_class): Handle
2787 structure modes. Don't check neon_vector_mem_operand for
2788 vector or structure modes.
2789
a6217191
RS
27902011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
2791 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
2792
2793 PR target/43590
2794 * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
2795 operand 1 and reshuffle the operands to match.
2796 (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.
2797
bd837408
CS
27982011-03-30 Christian Schüler <cschueler@gmx.de>
2799
6955d771 2800 PR driver/48208
bd837408 2801 * config/c.opt (F): Added 'Driver' to -F option.
e9c18386 2802
6955d771 2803 PR driver/48260
bd837408
CS
2804 * config/darwin-driver.c (darwin_driver_init): Add '-arch' to
2805 handler function.
2806 * config/darwin.opt: Added '-arch' option.
2807
e9c0470a
NC
28082011-03-30 Nick Clifton <nickc@redhat.com>
2809
2810 * config/rx/rx.md: Add peepholes and patterns to combine
2811 extending loads and simple arithmetic instructions.
2812 * config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
e9c18386
UB
2813 * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
2814 * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
e9c0470a 2815 modes to use pre-decrement and post-increment addressing.
e9c18386 2816 (rx_is_restricted_memory_address): Add range checking of REG+INT
e9c0470a 2817 addresses.
e9c18386
UB
2818 (rx_print_operand): Add support for %Q. Fix handling of %Q.
2819 (rx_memory_move_cost): Adjust cost of stores.
2820 (rx_adjust_insn_length): New function.
e9c0470a 2821
8a87e7ab
JJ
28222011-03-30 Jakub Jelinek <jakub@redhat.com>
2823
2824 PR c/48305
2825 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
2826 arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
2827 matching arg00/arg01 types.
2828
12486e03
EB
28292011-03-30 Eric Botcazou <ebotcazou@adacore.com>
2830
2831 * cfglayout.c (insn_locators_alloc): Initialize curr_location and
2832 last_location to UNKNOWN_LOCATION.
2833
0b99eef6
L
28342011-03-30 H.J. Lu <hongjiu.lu@intel.com>
2835
2836 PR target/48349
2837 * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
2838 FLOAT_SSE_REGS.
2839
023592aa
JM
28402011-03-30 Joseph Myers <joseph@codesourcery.com>
2841 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2842
2843 PR bootstrap/48337
2844 * config/sparc/sparc.opt (sparc_cpu_and_features): Add
2845 Init(PROCESSOR_V7).
2846 (sparc_cpu): Likewise.
2847 * config/sparc/sparc.c (sparc_option_override): Replace 0 by
2848 PROCESSOR_V7.
2849
ad3b266b
VM
28502011-03-29 Vladimir Makarov <vmakarov@redhat.com>
2851
2852 PR target/48336
2853 PR middle-end/48342
2854 PR rtl-optimization/48345
2855 * ira-color.c (setup_conflict_profitable_regs): Exclude prohibited
2856 hard regs for given mode from profitable regs when doing secondary
2857 allocation.
2858
633c9126
JL
28592011-03-29 Jeff Law <law@redhat.com>
2860
2861 PR bootstrap/48327
2862 * tree-ssa-threadupdate.c (struct redirection_data): Remove
2863 do_not_duplicate field.
2864 (lookup_redirection_data): Corresponding changes.
2865 (create_duplicates): Always create a template block.
2866 (redirect_edges): Remove code which reused the original block
2867 when it was going to become unreachable code.
2868 (thread_block): Don't set do_not_duplicate field.
2869
eb50f63a
JM
28702011-03-29 Joseph Myers <joseph@codesourcery.com>
2871
2872 * lto-opts.c (register_user_option_p, lto_register_user_option):
2873 Make type argument unsigned.
2874 * lto-streamer.h (lto_register_user_option): Make type argument
2875 unsigned.
2876 * opth-gen.awk: Make CL_* macros unsigned.
2877 * opts-common.c (find_opt): Make lang_mask argument unsigned.
2878 * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
2879 CL_TARGET, CL_COMMON, CL_SEPARATE_NARGS_MASK, CL_SEPARATE_ALIAS,
2880 CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE, CL_DISABLED,
2881 CL_REPORT, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE,
2882 CL_MISSING_OK, CL_UINTEGER, CL_UNDOCUMENTED): Make unsigned.
2883 (find_opt): Make lang_mask argument unsigned.
2884
76763a6d
VM
28852011-03-29 Vladimir Makarov <vmakarov@redhat.com>
2886
2887 PR rtl-optimization/48331
2888 PR rtl-optimization/48334
2889 * ira-color.c (color_allocnos): Call setup_profitable_hard_regs
2890 for any used algorithm.
2891
5c82436e
VM
28922011-03-29 Vladimir Makarov <vmakarov@redhat.com>
2893
2894 * ira-conflicts.c (build_object_conflicts): Add unused attribute
2895 to parent_max.
2896
7a81008b
UB
28972011-03-29 Uros Bizjak <ubizjak@gmail.com>
2898
2899 * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
2900 (alpha_option_override): Don't set alpha_sr_alias_set.
2901 (emit_frame_store_1): Use gen_frame_mem rather than calling
2902 set_mem_alias_set.
2903 (alpha_expand_epilogue): Ditto.
2904
86c8d1f6
IR
29052011-03-29 Ira Rosen <ira.rosen@linaro.org>
2906
2907 PR tree-optimization/48290
2908 * tree-vect-loop.c (vect_analyze_loop_operations): In outer loop
2909 vectorization, check that relevant phis in the basic block after
2910 the inner loop are really inner loop's exit phis.
2911
0d12220f
RS
29122011-03-29 Richard Sandiford <richard.sandiford@linaro.org>
2913
e8cf17e7 2914 PR debug/48190
0d12220f
RS
2915 * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
2916 (cached_dw_loc_list_def): New structure.
2917 (cached_dw_loc_list): New typedef.
2918 (cached_dw_loc_list_table): New variable.
2919 (cached_dw_loc_list_table_hash): New function.
2920 (cached_dw_loc_list_table_eq): Likewise.
2921 (add_location_or_const_value_attribute): Take a bool cache_p.
2922 Cache the list when the parameter is true.
2923 (gen_formal_parameter_die): Update caller.
2924 (gen_variable_die): Likewise.
2925 (dwarf2out_finish): Likewise.
2926 (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
2927 while generating debug info for the decl.
2928 (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
2929 (dwarf2out_init): Initialize cached_dw_loc_list_table.
2930 (resolve_addr): Cache the result of resolving a chain of
2931 location lists.
2932
1756cb66
VM
29332011-03-28 Vladimir Makarov <vmakarov@redhat.com>
2934
2935 * ira-color.c (update_left_conflict_sizes_p): Don't assume that
2936 conflict object hard regset nodes have intersecting hard reg sets.
7a81008b 2937
1756cb66
VM
2938 * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
2939 after regstat_init_n_sets_and_refs.
2940
2941 * ira.c: Add more comments at the top.
2942 (setup_stack_reg_pressure_class, setup_pressure_classes):
2943 Add comments how we compute the register pressure classes.
2944 (setup_allocno_and_important_classes): Add more comments.
2945 (setup_class_translate_array, reorder_important_classes)
2946 (setup_reg_class_relations): Add comments.
2947
2948 * ira-emit.c: Add 2011 to the Copyright line. Add comments at the
2949 start of the file.
2950
2951 * ira-color.c: Add 2011 to the Copyright line.
2952 (assign_hard_reg): Add more comments.
2953 (improve_allocation): Ditto.
2954
2955 * ira-costs.c: Add 2011 to the Copyright line.
2956 (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
2957 comments.
2958 (setup_regno_cost_classes_by_mode): Ditto.
2959
2960 Initial patches from ira-improv branch:
2961
2962 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
2963
2964 * ira-build.c: (ira_create_object): Remove initialization of
2965 OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA.
2966 (ira_create_allocno): Remove initialization of
2967 ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
2968 ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
2969 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
2970 ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
2971 ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
2972 Initialize ALLOCNO_ADD_DATA.
2973 (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
2974 and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
2975 ALLOCNO_REG.
2976 (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of
2977 ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
2978
2979 * ira.c (ira_reallocate): Remove.
2980 (setup_pressure_classes): Call
2981 ira_init_register_move_cost_if_necessary. Use
2982 ira_register_move_cost instead of ira_get_register_move_cost.
2983 (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
2984 (ira): Call ira_initiate_emit_data and ira_finish_emit_data.
2985
2986 * ira-color.c: Use ALLOCNO_COLOR_DATA instead of
2987 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
2988 ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
2989 ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
2990 instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
2991 OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
2992 Fix formatting.
7a81008b 2993 (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h.
1756cb66
VM
2994 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
2995 (struct allocno_color_data): New.
2996 (allocno_color_data_t): New typedef.
2997 (allocno_color_data): New definition.
2998 (ALLOCNO_COLOR_DATA): New macro.
2999 (struct object_color_data): New.
3000 (object_color_data_t): New typedef.
3001 (object_color_data): New definition.
3002 (OBJECT_COLOR_DATA): New macro.
3003 (update_copy_costs, calculate_allocno_spill_cost): Call
3004 ira_init_register_move_cost_if_necessary. Use
3005 ira_register_move_cost instead of ira_get_register_move_cost.
3006 (move_spill_restore, update_curr_costs): Ditto.
3007 (allocno_spill_priority): Make it inline.
7a81008b 3008 (color_pass): Allocate and free allocno_color_dat and object_color_data.
1756cb66
VM
3009 (struct coalesce_data, coalesce_data_t): New.
3010 (allocno_coalesce_data): New definition.
3011 (ALLOCNO_COALESCE_DATA): New macro.
3012 (merge_allocnos, coalesced_allocno_conflict_p): Use
3013 ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
3014 ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
3015 (coalesce_allocnos): Ditto.
3016 (setup_coalesced_allocno_costs_and_nums): Ditto.
3017 (collect_spilled_coalesced_allocnos): Ditto.
3018 (slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
3019 (setup_slot_coalesced_allocno_live_ranges): Ditto.
3020 (coalesce_spill_slots): Ditto.
3021 (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and
3022 free allocno_coalesce_data.
3023
3024 * ira-conflicts.c: Fix formatting.
3025 (process_regs_for_copy): Call
3026 ira_init_register_move_cost_if_necessary. Use
3027 ira_register_move_cost instead of ira_get_register_move_cost.
3028 (build_object_conflicts): Optimize.
3029
3030 * ira-costs.c (record_reg_classes): Optimize. Call
3031 ira_init_register_move_cost_if_necessary. Use
3032 ira_register_move_cost, ira_may_move_in_cost, and
3033 ira_may_move_out_cost instead of ira_get_register_move_cost and
3034 ira_get_may_move_cost.
3035 (record_address_regs): Ditto.
3036 (scan_one_insn): Optimize.
3037 (find_costs_and_classes): Optimize.
3038 (process_bb_node_for_hard_reg_moves): Call
3039 ira_init_register_move_cost_if_necessary. Use
3040 ira_register_move_cost instead of ira_get_register_move_cost.
3041
3042 * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
3043 ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
3044 ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
3045 (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
3046 definitions.
3047 (ira_initiate_emit_data, ira_finish_emit_data)
3048 (create_new_allocno): New functions.
7a81008b 3049 (modify_move_list): Call create_new_alloc instead of ira_create_allocno.
1756cb66
VM
3050 (emit_move_list): Call ira_init_register_move_cost_if_necessary.
3051 Use ira_register_move_cost instead of ira_get_register_move_cost.
3052
3053 * ira-int.h: Fix some comments.
7a81008b
UB
3054 (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c.
3055 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
1756cb66
VM
3056 (struct ira_object): Remove profitable_hard_regs, hard_regs_node,
3057 hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member
3058 add_data.
3059 (struct ira_allocno): Make mode and aclass a bitfield. Move other
3060 bitfield after mode. Make hard_regno a short int. Make
3061 hard_regno short. Remove first_coalesced_allocno and
3062 next_coalesced_allocno. Move mem_optimized_dest_p,
3063 somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
3064 into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p,
3065 available_regs_num, next_bucket_allocno, prev_bucket_allocno,
3066 temp, colorable_p. Add new member add_data.
3067 (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
3068 (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
3069 (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
3070 (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
3071 (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
3072 (ALLOCNO_ADD_DATA): New macro.
3073 (ira_emit_data_t): New typedef.
3074 (struct ira_emit_data): New. Move mem_optimized_dest_p,
3075 somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
3076 from struct ira_allocno.
3077 (ALLOCNO_EMIT_DATA): New macro.
3078 (ira_allocno_emit_data, allocno_emit_reg): New.
3079 (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
7a81008b 3080 (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove.
1756cb66
VM
3081 (OBJECT_ADD_DATA): New macro.
3082 (ira_reallocate): Remove.
3083 (ira_initiate_emit_data, ira_finish_emit_data): New.
3084 (ira_get_register_move_cost, ira_get_may_move_cost): Remove.
3085 (ira_init_register_move_cost_if_necessary): New.
3086 (ira_object_conflict_iter_next): Merge into
3087 ira_object_conflict_iter_cond.
7a81008b 3088 (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
1756cb66
VM
3089
3090 * ira-live.c: (process_single_reg_class_operands): Call
3091 ira_init_register_move_cost_if_necessary. Use
3092 ira_register_move_cost instead of ira_get_register_move_cost.
3093
3094 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
3095
3096 * ira-int.h (struct target_ira_int): Remove x_cost_classes.
3097
3098 * ira-costs.c: Fix formatting.
3099 (cost_classes, cost_classes_num): Remove.
3100 (struct cost_classes, cost_classes_t, const_cost_classes_t): New.
3101 (regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
3102 (cost_classes_del, cost_classes_htab): New.
3103 (cost_classes_aclass_cache, cost_classes_mode_cache): New.
3104 (initiate_regno_cost_classes, setup_cost_classes): New.
3105 (setup_regno_cost_classes_by_aclass): New.
7a81008b 3106 (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New.
1756cb66
VM
3107 (record_reg_classes): Use regno_cost_classes instead of
3108 cost_classes. Move checking opposite operand up.
3109 (record_address_regs): Use regno_cost_classes
3110 instead of cost_classes.
3111 (scan_one_insn): Ditto. Use always general register.
3112 (print_allocno_costs): Use regno_cost_classes instead of
3113 cost_classes.
3114 (print_pseudo_costs): Ditto. Use Reg_N_REFS.
3115 (find_costs_and_classes): Set up cost classes for each registers.
3116 Use also their mode for this. Use regno_cost_classes instead of
3117 cost_classes.
3118 (setup_allocno_class_and_costs): Use regno_cost_classes instead of
3119 cost_classes.
3120 (free_ira_costs, ira_init_costs): Don't use cost_classes.
3121 (ira_costs, ira_set_pseudo_classes): Call
3122 initiate_regno_cost_classes and finish_regno_cost_classes.
3123
3124 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
3125
3126 * target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
3127
3128 * target.def (ira_cover_classes): Remove.
3129
7a81008b 3130 * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES.
1756cb66
VM
3131
3132 * doc/tm.texi.in: Ditto.
3133
3134 * ira-conflicts.c: Remove mentioning cover classes from the file.
3135 Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use
7a81008b 3136 ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting.
1756cb66
VM
3137
3138 * targhooks.c (default_ira_cover_classes): Remove.
3139
3140 * targhooks.h (default_ira_cover_classes): Ditto.
3141
3142 * haifa-sched.c: Remove mentioning cover classes from the file.
3143 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
3144 ira_pressure_classes and ira_pressure_classes_num instead of
3145 ira_reg_class_cover_size and ira_reg_class_cover. Use
3146 sched_regno_pressure_class instead of sched_regno_cover_class.
3147 (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
3148 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
3149
3150 * ira-int.h: Add 2010 to Copyright. Remove mentioning cover
3151 classes from the file.
3152 (object_hard_regs_t, object_hard_regs_node_t): New typedefs.
3153 (struct object_hard_regs, struct object_hard_regs_node): New.
3154 (struct ira_object): New members profitable_hard_regs,
3155 hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
3156 (struct ira_allocno): Rename cover_class to aclass. Rename
3157 cover_class_cost and updated_cover_class_cost to class_cost and
3158 updated_class_cost. Remove splay_removed_p and
3159 left_conflict_size. Add new members colorable_p.
3160 (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
3161 (ALLOCNO_COLORABLE_P): New macro.
3162 (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
3163 (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
3164 Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
3165 (OBJECT_...): Rename parameter C to O.
3166 (OBJECT_PROFITABLE_HARD_REGS): New macro.
3167 (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
3168 (OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
3169 (struct target_ira_int): New members x_ira_max_memory_move_cost,
3170 x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
3171 x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
3172 x_ira_reg_pressure_class_p, x_ira_important_class_nums,
3173 x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to
3174 x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to
3175 x_ira_reg_class_subunion.
3176 (ira_max_memory_move_cost, ira_max_register_move_cost)
3177 (ira_max_may_move_in_cost, ira_max_may_move_out_cost)
3178 (ira_reg_allocno_class_p, ira_reg_pressure_class_p)
3179 (ira_important_class_nums, ira_reg_class_superunion): New macros.
7a81008b 3180 (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs.
1756cb66
VM
3181 (ira_reg_class_union): Rename to ira_reg_class_subunion.
3182 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
3183 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
3184 (ira_tune_allocno_costs_and_cover_classes): Rename to
3185 ira_tune_allocno_costs.
3186 (ira_debug_hard_regs_forest): New.
3187 (ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
3188 (ira_object_conflict_iter_next): Fix comments.
7a81008b 3189 (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions.
1756cb66
VM
3190 (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
3191 cover_class to aclass.
3192 (ira_allocate_and_accumulate_costs): Ditto.
3193 (ira_allocate_and_set_or_copy_costs): Ditto.
3194
3195 * opts.c (decode_options): Remove ira_cover_class check.
3196
3197 * ira-color.c: Remove mentioning cover classes from the file. Use
3198 ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
3199 instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
3200 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
3201 (splay-tree.h): Remove include.
3202 (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
3203 before copy_freq_compare_func.
3204 (allocnos_for_spilling, removed_splay_allocno_vec): Remove.
3205 (object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
3206 New definitions.
3207 (hard_regs_roots, hard_regs_node_vec): Ditto.
3208 (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
3209 (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
3210 (finish_object_hard_regs, object_hard_regs_compare): Ditto.
3211 (create_new_object_hard_regs_node): Ditto.
3212 (add_new_object_hard_regs_node_to_forest): Ditto.
7a81008b 3213 (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto.
1756cb66
VM
3214 (setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
3215 Ditto.
3216 (print_hard_reg_set, print_hard_regs_subforest): Ditto.
3217 (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
3218 (remove_unused_object_hard_regs_nodes): Ditto.
3219 (enumerate_object_hard_regs_nodes): Ditto.
3220 (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
3221 (object_hard_regs_subnode_t): Ditto.
3222 (struct object_hard_regs_subnode): Ditto.
3223 (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
3224 (setup_object_hard_regs_subnode_index): Ditto.
3225 (get_object_hard_regs_subnodes_num): Ditto.
3226 (form_object_hard_regs_nodes_forest): Ditto.
3227 (finish_object_hard_regs_nodes_tree): Ditto.
3228 (finish_object_hard_regs_nodes_forest): Ditto.
3229 (allocnos_have_intersected_live_ranges_p): Rename to
7a81008b 3230 allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func.
1756cb66
VM
3231 (pseudos_have_intersected_live_ranges_p): Rename to
3232 conflict_by_live_ranges_p. Move before copy_freq_compare_func.
3233 (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
3234 (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
3235 (update_copy_costs): Remove assert. Skip cost update if the hard
3236 reg does not belong the class.
3237 (assign_hard_reg): Process only profitable hard regs.
3238 (uncolorable_allocnos_num): Make it scalar.
3239 (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
3240 and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
3241 and ira_reg_class_max_nregs.
3242 (bucket_allocno_compare_func): Check frequency first.
3243 (sort_bucket): Add compare function as a parameter.
3244 (add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
3245 (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
3246 (push_allocno_to_stack): Rewrite for checking new allocno
3247 colorability.
7a81008b 3248 (remove_allocno_from_bucket_and_push): Print cost too. Remove assert.
1756cb66
VM
3249 (push_only_colorable): Pass new parameter to sort_bucket.
3250 (push_allocno_to_spill): Remove.
3251 (allocno_spill_priority_compare): Make it inline and rewrite.
3252 (splay_tree_allocate, splay_tree_free): Remove.
3253 (allocno_spill_sort_compare): New function.
3254 (push_allocnos_to_stack): Sort allocnos for spilling once. Don't
3255 build and use splay tree. Choose first allocno in uncolorable
3256 allocno bucket to spill. Remove setting spill cost.
3257 (all_conflicting_hard_regs): Remove.
3258 (setup_allocno_available_regs_num): Check only profitable hard
3259 regs. Print info about hard regs nodes.
3260 (setup_allocno_left_conflicts_size): Remove.
3261 (put_allocno_into_bucket): Don't call
7a81008b 3262 setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p.
1756cb66
VM
3263 (improve_allocation): New.
3264 (color_allocnos): Call setup_profitable_hard_regs,
3265 form_object_hard_regs_nodes_forest, improve_allocation,
3266 finish_object_hard_regs_nodes_forest. Setup spill cost.
3267 (print_loop_title): Use pressure classes.
3268 (color_allocnso): Ditto.
3269 (do_coloring): Remove allocation and freeing splay_tree_node_pool
3270 and allocnos_for_spilling.
3271 (ira_sort_regnos_for_alter_reg): Don't setup members
3272 {first,next}_coalesced_allocno.
3273 (color): Remove allocating and freeing removed_splay_allocno_vec.
3274 (fast_allocation): Use ira_prohibited_class_mode_regs instead of
3275 prohibited_class_mode_regs.
3276
3277 * ira-lives.c: Remove mentioning cover classes from the file. Fix
3278 formatting.
3279 (update_allocno_pressure_excess_length): Use pressure classes.
3280 (inc_register_pressure, dec_register_pressure): Check for pressure
3281 class.
3282 (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
3283 pressure class. Use ira_reg_class_nregs instead of
3284 ira_reg_class_max_nregs.
3285 (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
3286 (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
3287 (single_reg_class): Use ira_reg_class_nregs instead of
3288 ira_reg_class_max_nregs.
3289 (process_bb_node_lives): Use pressure classes.
3290
3291 * ira-emit.c: Remove mentioning cover classes from the file. Use
3292 ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting.
3293 (change_loop): Use pressure classes.
3294 (modify_move_list): Call ira_set_allocno_class instead of
3295 ira_set_allocno_cover_class.
3296
3297 * ira-build.c: Remove mentioning cover classes from the file. Use
3298 ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
3299 ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use
3300 ALLOCNO_UPDATED_CLASS_COST instead of
3301 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
3302 (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
3303 (ira_create_allocno): Remove initialization of
3304 ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize
3305 ALLOCNO_COLORABLE_P.
3306 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
3307 Update conflict regs for the objects.
3308 (create_cap_allocno): Remove assert. Don't propagate
3309 ALLOCNO_AVAILABLE_REGS_NUM.
3310 (ira_free_allocno_costs): New function.
3311 (finish_allocno): Change a part of code into call of
3312 ira_free_allocno_costs.
3313 (low_pressure_loop_node_p): Use pressure classes.
3314 (object_range_compare_func): Don't compare classes.
3315 (setup_min_max_conflict_allocno_ids): Ditto.
3316
3317 * loop-invariant.c: Remove mentioning cover classes from the file.
3318 Use ira_pressure_classes and ira_pressure_classes_num instead of
3319 ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting.
7a81008b
UB
3320 (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs.
3321 Use ira_reg_class_max_nregs instead of ira_reg_class_nregs.
3322 Use reg_allocno_class instead of reg_cover_class.
1756cb66
VM
3323 (get_inv_cost): Use instead ira_stack_reg_pressure_class of
3324 STACK_REG_COVER_CLASS.
3325 (get_regno_cover_class): Rename to get_regno_pressure_class.
3326 (move_loop_invariants): Initialize and finalize regstat.
3327
3328 * ira.c: Remove mentioning cover classes from the file. Add
3329 comments about coloring without cover classes. Use ALLOCNO_CLASS
3330 instead of ALLOCNO_COVER_CLASS. Fix formatting.
3331 (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
3332 setup_class_subset_and_memory_move_costs.
3333 (setup_stack_reg_pressure_class, setup_pressure_classes): New.
3334 (setup_cover_and_important_classes): Rename to
3335 setup_allocno_and_important_classes.
3336 (setup_class_translate_array): New.
3337 (setup_class_translate): Call it for allocno and pressure classes.
3338 (cover_class_order): Rename to allocno_class_order.
3339 (comp_reg_classes_func): Use ira_allocno_class_translate instead
3340 of ira_class_translate.
3341 (reorder_important_classes): Set up ira_important_class_nums.
3342 (setup_reg_class_relations): Set up ira_reg_class_superunion.
3343 (print_class_cover): Rename to print_classes. Add parameter.
3344 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
3345 Print pressure classes too.
3346 (find_reg_class_closure): Rename to find_reg_classes. Don't call
3347 setup_reg_subclasses.
7a81008b 3348 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
3349 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
3350 (setup_prohibited_class_mode_regs): Use
7a81008b 3351 ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs.
1756cb66
VM
3352 (clarify_prohibited_class_mode_regs): New function.
3353 (ira_init_register_move_cost): Set up ira_max_register_move_cost,
3354 ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
3355 (ira_init_once): Initialize them.
3356 (free_register_move_costs): Process them.
3357 (ira_init): Move calls of find_reg_classes and
3358 setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
3359 Call clarify_prohibited_class_mode_regs.
3360 (ira_no_alloc_reg): Remove.
3361 (too_high_register_pressure_p): Use pressure classes.
3362
3363 * sched-deps.c: Remove mentioning cover classes from the file.
3364 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
3365 ira_pressure_classes and ira_pressure_classes_num instead of
3366 ira_reg_class_cover_size and ira_reg_class_cover.
3367 (mark_insn_hard_regno_birth, mark_hard_regno_death): Use
3368 sched_regno_pressure_class instead of sched_regno_cover_class.
3369 (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use
3370 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
3371
3372 * ira.h: Add 2010 to Copyright.
3373 (ira_no_alloc_reg): Remove external.
3374 (struct target_ira): Rename x_ira_hard_regno_cover_class,
3375 x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
3376 x_ira_class_translate to x_ira_hard_regno_allocno_class,
3377 x_ira_allocno_classes_num, x_ira_allocno_classes, and
3378 x_ira_allocno_class_translate. Add x_ira_pressure_classes_num,
3379 x_ira_pressure_classes, x_ira_pressure_class_translate, and
3380 x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to
3381 x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and
3382 x_ira_no_alloc_regs.
7a81008b 3383 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
3384 (ira_reg_class_cover_size, ira_reg_class_cover): Rename to
3385 ira_allocno_classes_num and ira_allocno_classes.
3386 (ira_class_translate): Rename to ira_allocno_class_translate.
3387 (ira_pressure_classes_num, ira_pressure_classes): New definitions.
3388 (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
3389 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
3390 (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
3391 (ira_no_alloc_regs): New.
3392
3393 * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover
3394 classes from the file. Use ALLOCNO_CLASS instead of
3395 ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of
3396 ALLOCNO_COVER_CLASS_COST.
3397 (regno_cover_class): Rename to regno_aclass.
3398 (record_reg_classes): Use ira_reg_class_subunion instead of
3399 ira_reg_class_union.
3400 (record_address_regs): Check overflow.
3401 (scan_one_insn): Ditto.
7a81008b 3402 (print_allocno_costs): Print total mem cost fore regional allocation.
1756cb66
VM
3403 (print_pseudo_costs): Use REG_N_REFS.
3404 (find_costs_and_classes): Use classes intersected with them on the
3405 1st pass. Check overflow. Use ira_reg_class_subunion instead of
3406 ira_reg_class_union. Use ira_allocno_class_translate and
3407 regno_aclass instead of ira_class_translate and regno_cover_class.
3408 Modify code for finding regno_aclass. Setup preferred classes for
3409 the next pass.
3410 (setup_allocno_cover_class_and_costs): Rename to
3411 setup_allocno_class_and_costs. Use regno_aclass instead of
3412 regno_cover_class. Use ira_set_allocno_class instead of
3413 ira_set_allocno_cover_class.
3414 (init_costs, finish_costs): Use regno_aclass instead of
3415 regno_cover_class.
3416 (ira_costs): Use setup_allocno_class_and_costs instead of
3417 setup_allocno_cover_class_and_costs.
3418 (ira_tune_allocno_costs_and_cover_classes): Rename to
3419 ira_tune_allocno_costs. Check overflow. Skip conflict hard regs
3420 by processing objects. Use ira_reg_class_max_nregs instead of
3421 ira_reg_class_nregs.
3422
3423 * rtl.h (reg_cover_class): Rename to reg_allocno_class.
3424
3425 * sched-int.h: Remove mentioning cover classes from the file.
3426 (sched_regno_cover_class): Rename to sched_regno_pressure_class.
3427
3428 * reginfo.c: Add 2010 to Copyright. Remove mentioning cover
3429 classes from the file.
3430 (struct reg_pref): Rename coverclass into allocnoclass.
3431 (reg_cover_class): Rename to reg_allocno_class.
3432
7a81008b 3433 * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies.
1756cb66
VM
3434
3435 * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
3436
3437 * config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
3438
3439 * config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
3440
3441 * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
3442
3443 * config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
3444
3445 * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
3446
3447 * config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
3448
3449 * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
3450
3451 * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
3452
3453 * config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
3454 (i386_ira_cover_classes): Ditto.
3455
3456 * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
3457
3458 * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
3459
3460 * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
3461
3462 * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
3463
3464 * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
3465
3466 * config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
3467
3468 * config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
3469 (mips_ira_cover_classes): Ditto.
3470
3471 * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
3472
3473 * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
3474
3475 * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
3476
3477 * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
3478
3479 * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
3480
3481 * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
3482 (IRA_COVER_CLASSES_VSX): Ditto.
3483
3484 * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
3485 (rs6000_ira_cover_classes): Ditto.
3486
3487 * config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
3488
3489 * config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
3490
3491 * config/score/score.h (IRA_COVER_CLASSES): Ditto.
3492
3493 * config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
3494
3495 * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
3496
3497 * config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
3498
3499 * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
3500
3501 * config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
3502
3503 * config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
3504
3505 * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
3506
2b80199f
JJ
35072011-03-29 Jakub Jelinek <jakub@redhat.com>
3508
71dae1fe
JJ
3509 PR debug/48253
3510 * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
3511 dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
3512 dw_fde_unlikely_section_end_label, cold_in_std_section,
3513 dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
3514 Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
3515 fields.
3516 (output_fde): Use dw_fde_second_{begin,end} if second is
3517 true, otherwise dw_fde_{begin,end}.
3518 (output_call_frame_info): Test dw_fde_second_begin != NULL
3519 instead of dw_fde_switched_sections.
3520 (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
3521 fields, initialize new fields. Initialize in_std_section
3522 unconditionally from the first partition.
3523 (dwarf2out_end_epilogue): Don't override dw_fde_end when
3524 dw_fde_second_begin is non-NULL.
3525 (dwarf2out_switch_text_section): Stop initializing removed
3526 dw_fde_struct fields, initialize new fields, initialize
3527 also dw_fde_end here. Set dw_fde_switch_cfi even when
3528 dwarf2out_do_cfi_asm (). Call var_location_switch_text_section.
3529 (struct var_loc_list_def): Add last_before_switch field.
3530 (arange_table, arange_table_allocated, arange_table_in_use,
3531 ARANGE_TABLE_INCREMENT, add_arange): Removed.
3532 (size_of_aranges): Count !in_std_section and !second_in_std_section
3533 hunks in fdes, instead of looking at arange_table_in_use.
3534 (output_aranges): Add aranges_length argument, don't call
3535 size_of_aranges here. Instead of using aranges_table*
3536 emit ranges for fdes when !in_std_section resp.
3537 !second_in_std_section.
3538 (dw_loc_list): Break ranges crossing section switch.
3539 (convert_cfa_to_fb_loc_list): Likewise. If switched sections,
7a81008b 3540 use dw_fde_second_end instead of dw_fde_end as end of last range.
71dae1fe
JJ
3541 (gen_subprogram_die): Don't call add_arange. Use
3542 dw_fde_{begin,end} for first partition and if switched
3543 section dw_fde_second_{begin,end} for the second.
3544 (var_location_switch_text_section_1,
3545 var_location_switch_text_section): New functions.
3546 (dwarf2out_begin_function): Initialize cold_text_section even
3547 when function_section () isn't text_section.
3548 (prune_unused_types): Don't walk arange_table.
3549 (dwarf2out_finish): Don't needlessly test
3550 flag_reorder_blocks_and_partition when testing cold_text_section_used.
3551 If info_section_emitted, call size_of_aranges and if it indicates
3552 non-empty .debug_aranges, call output_aranges with the computed
3553 size. Stop using removed dw_fde_struct fields, use
3554 dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
3555 for second.
3556
2b80199f
JJ
3557 PR debug/48203
3558 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Only
3559 create ENTRY_VALUE if incoming or address of incoming's MEM
3560 is a hard REG.
3561 * dwarf2out.c (mem_loc_descriptor): Don't emit
3562 DW_OP_GNU_entry_value of DW_OP_fbreg.
3563 * var-tracking.c (vt_add_function_parameter): Ensure cselib_lookup
3564 on ENTRY_VALUE is able to find the canonical parameter VALUE.
3565 * cselib.c (rtx_equal_for_cselib_1) <case ENTRY_VALUE>: Use
3566 rtx_equal_p instead of rtx_equal_for_cselib_1 to compare
3567 ENTRY_VALUE_EXPs.
3568 (cselib_hash_rtx) <case ENTRY_VALUE>: If ENTRY_VALUE_EXP
3569 is a REG_P or MEM_P with REG_P address, compute hash directly
3570 instead of calling cselib_hash_rtx on ENTRY_VALUE_EXP.
3571 (preserve_only_constants): Don't clear VALUES forwaring
3572 ENTRY_VALUE to some other VALUE.
3573
8a445129
RS
35742011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
3575
3576 * builtins.c (expand_builtin_memset_args): Use gen_int_mode
3577 instead of GEN_INT.
3578
c82fee88
EB
35792011-03-28 Eric Botcazou <ebotcazou@adacore.com>
3580
3581 * cfgexpand.c (expand_gimple_cond): Always set the source location and
3582 block before expanding the statement.
3583 (expand_gimple_stmt_1): Likewise. Set them here...
3584 (expand_gimple_stmt): ...and not here. Tidy.
3585 * cfglayout.c (curr_insn_locator): Return 0 if the current location is
3586 unknown.
3587
e45425ec
SB
35882011-03-28 Steven Bosscher <steven@gcc.gnu.org>
3589
3590 * Makefile.in: New rule for cprop.o.
3591 * gcse.c: Move constant/copy propagation to cprop.c.
3592 (compute_local_properties): Only handle expression tables.
3593 (hash_scan_set, compute_hash_table_work, alloc_hash_table,): Likewise.
3594 (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
3595 (hash_set, insert_set_in_table, gcse_constant_p, lookup_set,
3596 next_set, reset_opr_set_tables, oprs_not_set_p, mark_call, mark_set,
7a81008b 3597 mark_clobber, mark_oprs_set, alloc_cprop_mem, free_cprop_mem,
e45425ec
SB
3598 compute_cprop_data, find_used_regs, try_replace_reg,
3599 find_avail_set, cprop_jump, constprop_register, cprop_insn,
3600 local_cprop_find_used_regs, do_local_cprop, local_cprop_pass,
3601 fis_get_condition, implicit_set_cond_p, find_implicit_sets,
3602 find_bypass_set, reg_killed_on_edge, bypass_block,
3603 bypass_conditional_jumps, one_cprop_pass, gate_rtl_cprop,
3604 execute_rtl_cprop, pass_rtl_cprop): Move to...
3605 * cprop.c: ...here. New file, constant/copy propagation for RTL
3606 moved from gcse.c to here with minor cleanups in duplicated code.
3607
c09d5426
L
36082011-03-28 H.J. Lu <hongjiu.lu@intel.com>
3609
3610 * config/i386/i386.c (flag_opts): Fix a typo in
3611 -mavx256-split-unaligned-store.
3612
9eaa7740
AS
36132011-03-28 Anatoly Sokolov <aesok@post.ru>
3614
3615 * config/h8300/h8300.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
3616 LIBCALL_VALUE): Remove macros.
3617 * config/h8300/h8300.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
3618 TARGET_FUNCTION_VALUE_REGNO_P): Define.
3619 (h8300_function_value, h8300_libcall_value,
3620 h8300_function_value_regno_p): New functions.
3621
dcec2be2
AS
36222011-03-28 Anatoly Sokolov <aesok@post.ru>
3623
3624 * config/h8300/h8300.h (ASM_OUTPUT_BSS): Remove macro.
3625
520af9ec
JL
36262011-03-28 Jeff Law <law@redhat.com>
3627
3628 * tree-ssa-threadupdate.c (redirect_edges): Call
3629 create_edge_and_update_destination_phis as needed.
3630 (create_edge_and_update_destination_phis): Accept new BB argument.
3631 All callers updated.
3632 (thread_block): Do not update the profile when threading around
3633 intermediate blocks.
3634 (thread_single_edge): Likewise.
3635 (determine_bb_domination_status): If BB is not a successor of the
3636 loop header, return NONDOMINATING.
3637 (register_jump_thread): Note when we register a jump thread around
3638 an intermediate block.
3639 * tree-ssa-threadedge.c (thread_around_empty_block): New function.
3640 (thread_across_edge): Use it.
3641
7450b54f
TG
36422011-03-28 Tristan Gingold <gingold@adacore.com>
3643
3644 * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
3645 when for_return is 2.
3646
649beb33
JL
36472011-03-28 Jeff Law <law@redhat.com>
3648
3649 * var-tracking.c (canonicalize_values_mark): Delete unused
3650 lhs assignment.
3651 (canonicalize_values_star, set_variable_part): Likewise.
3652 (clobber_variable_part, delete_variable_part): Likewise.
3653
d5b8da97
SB
36542011-03-28 Steven Bosscher <steven@gcc.gnu.org>
3655
3656 * gcse.c (free_gcse_mem): Free reg_set_bitmap.
3657
322dd859
MJ
36582011-03-28 Martin Jambor <mjambor@suse.cz>
3659
3660 * tree-inline.c (expand_call_inline): Do not check that destination
3661 node is analyzed.
3662 (optimize_inline_calls): Assert that destination node is analyzed.
3663 * cgraph.c (cgraph_add_new_function): Call cgraph_analyze_function, do
3664 not call tree_lowering_passes.
3665 * cgraph.h (cgraph_analyze_function): Declare.
3666 * cgraphunit.c (cgraph_analyze_function): Make public.
3667
aa53e58b
JM
36682011-03-28 Joseph Myers <joseph@codesourcery.com>
3669
3670 * config/sparc/sparc-opts.h: New.
3671 * config/sparc/sparc.c (sparc_handle_option, sparc_select,
3672 sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
3673 (sparc_option_override): Store processor_type enumeration rather
3674 than string in cpu_default. Remove name and enumeration from
3675 cpu_table. Directly default -mcpu then default -mtune from -mcpu
3676 without using sparc_select. Use target_flags_explicit instead of
3677 fpu_option_set.
3678 * config/sparc/sparc.h (enum processor_type): Move to
3679 sparc-opts.h.
3680 (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
3681 * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
3682 HeaderInclude entry.
3683 (mcpu=, mtune=): Use Var and Enum.
3684 (sparc_processor_type): New Enum and EnumValue entries.
3685
dd350eba
RO
36862011-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3687 Iain Sandoe <iains@gcc.gnu.org>
3688
3689 PR target/48245
3690 * config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.
3691
1b29f05e
EB
36922011-03-28 Eric Botcazou <ebotcazou@adacore.com>
3693
3694 * tree-vectorizer.h (vect_create_data_ref_ptr): Adjust prototype.
3695 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add GSI parameter.
3696 Insert new statements at it in lieu of STMT.
3697 (vect_setup_realignment): Adjust call to vect_create_data_ref_ptr.
3698 * tree-vect-stmts.c (vectorizable_store): Likewise.
3699 (vectorizable_load): Likewise.
3700
506e6808
UB
37012011-03-28 Uros Bizjak <ubizjak@gmail.com>
3702
3703 * config/alpha/alpha.md (addtf3): Change mode of operands to TFmode.
3704 (divtf3): Ditto.
3705 (multf3): Ditto.
3706 (subtf3): Ditto.
3707
2e939ee9
L
37082011-03-27 H.J. Lu <hongjiu.lu@intel.com>
3709
3710 * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
3711 unaligned 256bit load/store.
3712 (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
3713 (*avx_movdqu<avxmodesuffix>): Likewise.
3714
5e85ab88
JDA
37152011-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3716
3717 PR target/48288
3718 * config/pa/predicates.md (reg_or_ior_operand): New predicate.
3719 * config/pa/pa.md (iordi3): Use new predicate in expander.
3720 (iorsi3): Likewise.
3721
47be3d6d
AS
37222011-03-27 Anatoly Sokolov <aesok@post.ru>
3723
506e6808 3724 * config/mips/mips.h (LIBCALL_VALUE, FUNCTION_VALUE,
47be3d6d 3725 FUNCTION_VALUE_REGNO_P): Remove macros.
506e6808
UB
3726 * config/mips/mips-protos.h (mips_function_value): Remove.
3727 * config/mips/mips.c (mips_function_value): Rename to...
47be3d6d
AS
3728 (mips_function_value_1): ... this. Make static. Handle receiving
3729 the function type in 'fn_decl_or_type' argument.
3730 (mips_function_value, mips_libcall_value,
3731 mips_function_value_regno_p): New function.
3732 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
3733 TARGET_FUNCTION_VALUE_REGNO_P): Define.
3734
d253656a
L
37352011-03-27 H.J. Lu <hongjiu.lu@intel.com>
3736
3737 * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
3738 and -mavx256-split-unaligned-store.
3739 (ix86_option_override_internal): Split 32-byte AVX unaligned
3740 load/store by default.
3741 (ix86_avx256_split_vector_move_misalign): New.
3742 (ix86_expand_vector_move_misalign): Use it.
3743
3744 * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
3745 -mavx256-split-unaligned-store.
3746
3747 * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
3748 256bit load/store. Generate unaligned store on misaligned memory
3749 operand.
3750 (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
3751 256bit load/store.
3752 (*avx_movdqu<avxmodesuffix>): Likewise.
3753
3754 * doc/invoke.texi: Document -mavx256-split-unaligned-load and
3755 -mavx256-split-unaligned-store.
3756
1ea9206a
RS
37572011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
3758
3759 PR target/38598
3760 * config/mips/mips.md (extendsidi2): Add an "l" alternative.
3761 Update commentary.
3762
b99ce2a8
RS
37632011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
3764
3765 * config/mips/mips.c (mips_prepare_builtin_arg): Replace icode and
3766 opno arguments with an expand_operand. Use create_input_operand.
3767 (mips_prepare_builtin_target): Delete.
3768 (mips_expand_builtin_insn, mips_expand_builtin_compare_1): New
3769 functions.
3770 (mips_expand_builtin_direct): Use create_output_operand and
3771 mips_expand_builtin_insn. Update call to mips_prepare_builtin_arg.
3772 (mips_expand_builtin_movtf): Likewise. Use mips_expand_fp_comparison.
3773 (mips_expand_builtin_compare): Use mips_expand_fp_comparison.
3774
69d52339
IR
37752011-03-27 Ira Rosen <ira.rosen@linaro.org>
3776
3777 * config/arm/arm.c (arm_autovectorize_vector_sizes): New
3778 function.
3779 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
3780
ba5e9aca
EB
37812011-03-26 Eric Botcazou <ebotcazou@adacore.com>
3782
3783 * basic-block.h (fixup_abnormal_edges): Adjust prototype.
3784 * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover
3785 basic blocks and call commit_edge_insertions directly.
3786 (fixup_abnormal_edges): Move from here to...
3787 * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions
3788 on the edges and return whether some have actually been inserted.
3789 * reg-stack.c (convert_regs): Fix up abnormal edges before inserting
3790 compensation code.
3791
5d369d58
AB
37922011-03-26 Andrey Belevantsev <abel@ispras.ru>
3793
3794 PR rtl-optimization/48144
3795 * sel-sched-ir.c (merge_history_vect): Factor out from ...
3796 (merge_expr_data): ... here.
3797 (av_set_intersect): Rename to av_set_code_motion_filter.
3798 Update all callers. Call merge_history_vect when an expression
3799 is found in both sets.
3800 * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
3801
f082c000
AM
38022011-03-26 Alan Modra <amodra@gmail.com>
3803
3804 * config/rs6000/predicates.md (word_offset_memref_op): Handle
3805 cmodel medium addresses.
3806 * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
3807 64-bit gpr loads and stores.
3808 (rs6000_secondary_reload_ppc64): New function.
3809 * config/rs6000/rs6000-protos.h: Declare it.
3810 * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
3811
8ac5e12e
AM
38122011-03-26 Alan Modra <amodra@gmail.com>
3813
3814 PR target/47487
3815 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
3816 GNU Go in traceback table.
3817
c2654ded
RH
38182011-03-25 Richard Henderson <rth@redhat.com>
3819
3820 * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
3821 if there are exactly 6 operands.
3822 (set_storage_via_setmem): Similarly.
3823
ba78087b
KT
38242011-03-25 Kai Tietz <ktietz@redhat.com>
3825
3826 * collect2.c (write_c_file_stat): Handle backslash
3827 as right-hand directory separator.
3828 (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
3829 checking just for slash.
3830 * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
3831 instead of checking for trailing slash.
3832 * gcc.c (record_temp_file): Use filename_cmp instead
3833 of strcmp.
3834 (do_spec_1): Likewise.
3835 (replace_outfile_spec_function): Likewise.
3836 (is_directory): Use filename_ncmp instead of strncmp.
3837 (print_multilib_info): Likewise.
3838 * gcov.c (find_source): Use filename_cmp instead
3839 instead of strcmp.
3840 (make_gcov_file_name): Fix order of slash/backslash
3841 checks.
3842 * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
3843 (add_standard_paths): Likewise.
3844 * mips-tfile.c (saber_stop): Handle backslash.
3845 * prefix.c (update_path): Use filename_ncmp instead of
3846 strncmp.
3847 * profile.c (output_location): Use filename_cmp instead
3848 of strcmp.
3849 * read-md.c (handle_toplevel_file): Handle backslash.
3850 * tlink.c (frob_extension): Likewise.
3851 * tree-cfg.c (same_line_p): Use filename_cmp instead of
3852 strcmp.
3853 * tree-dump.c (dequeue_and_dump): Handle backslash.
3854 * tree.c (get_file_function_name): Likewise.
3855 * gengtype.c (read_input_list): Likewise.
3856 (get_file_realbasename): Likewise.
3857 (get_output_file_with_visibility): Use filename_cmp
3858 instead of strcmp.
3859
75f6ec9a
RS
38602011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
3861
3862 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
3863 case to VFPv1.
3864
6c4e2997
NF
38652011-03-25 Nathan Froyd <froydnj@codesourcery.com>
3866
3867 * fold-const.c (expr_location_or): New function.
3868 (fold_truth_not_expr): Call it.
3869
0edf1bb2
JL
38702011-03-25 Jeff Law <law@redhat.com>
3871
3872 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
3873 va_end.
3874 * c-family/c-common.c (def_fn_type): Likewise.
3875 * ada/gcc-interface/utils.c (def_fn_type): Likewise.
3876 * emit-rtl.c (gen_rtvec): Likewise.
3877 * lto/lto-lang.c (def_fn_type): Likewise.
3878
fdc2de95
RG
38792011-03-25 Richard Guenther <rguenther@suse.de>
3880
3881 * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
3882 also generate copies.
3883 (fini_copy_prop): Handle constant values properly.
3884
21385db0
JJ
38852011-03-25 Jakub Jelinek <jakub@redhat.com>
3886
3887 * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
3888 mode size instead of bitsize with DWARF2_ADDR_SIZE.
3889 (hash_loc_operands, compare_loc_operands): Handle
3890 DW_OP_GNU_entry_value.
3891
6510e8bb
KT
38922011-03-25 Kai Tietz <ktietz@redhat.com>
3893
3894 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
3895 (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
3896 * config/i386/i386.c (ix86_conditional_register_usage): Adjust
3897 comment and use macro TARGET_64BIT_MS_ABI instead.
3898 (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
3899 and change default behavior for 32-bit MS_ABI.
3900 (ix86_reg_parm_stack_space): Check additionally for bit-ness.
3901 (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
3902 32-bit, too.
3903 (ix86_cfun_abi): Likewise.
3904 (ix86_maybe_switch_abi): Adjust comment.
3905 (init_cumulative_args): Check for bit-ness in MS_ABI case.
3906 (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
3907 instead of checking for SYSV_ABI.
3908 (ix86_nsaved_sseregs): Likewise.
3909 (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
3910 to 16 bytes.
3911 (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
3912 * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
3913 (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
3914 (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
3915 * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
3916
34019e28
RG
39172011-03-25 Richard Guenther <rguenther@suse.de>
3918
3919 * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
3920 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
3921 (verify_gimple): Remove.
3922 * tree-cfg.c (verify_gimple_call): Merge verification
3923 from verify_stmts.
3924 (verify_gimple_phi): Merge verification from verify_stmts.
3925 (verify_gimple_label): New function.
3926 (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
3927 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
3928 (verify_stmt): Merge into verify_gimple_in_cfg and callees.
3929 (verify_stmts): Rename to verify_gimple_in_cfg.
3930 (verify_gimple_in_cfg): New function.
3931 * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
3932 * tree-ssa.c (verify_ssa): Likewise.
3933 * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
3934
605896f5
RG
39352011-03-25 Richard Guenther <rguenther@suse.de>
3936
3937 * passes.c (init_optimization_passes): Add FRE pass after
3938 early SRA.
3939
7baa7c13
BS
39402011-03-25 Bernd Schmidt <bernds@codesourcery.com>
3941 Andrew Stubbs <ams@codesourcery.com>
3942
3943 * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
3944 for Cortex-A8.
3945 (arm_movdi_vfp_cortexa8): New pattern.
3946 * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
3947 iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
3948 instructions when tuning for Cortex-A8. Set attribute "arch".
3949 * config/arm/arm.md: Move include arm-tune.md up a bit.
3950 (define_attr "arch"): Add "onlya8" and "nota8" values.
3951 (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
3952
45dbce1b
NF
39532011-03-25 Nathan Froyd <froydnj@codesourcery.com>
3954
4ff08abf 3955 PR bootstrap/48282
45dbce1b
NF
3956 Revert:
3957 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
3958
3959 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
3960 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
3961 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
3962 * passes.c (init_optimization_passes): Move
3963 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
3964
ac9a30ae
KT
39652011-03-25 Kai Tietz <ktietz@redhat.com>
3966
3967 * c-typeck.c (comptypes_internal): Replace target
3968 hook call of comp_type_attributes by version in tree.c file.
3969 * gimple.c (gimple_types_compatible_p_1): Likewise.
3970 * tree-ssa.c (useless_type_conversion_p): Likewise.
3971 * tree.c (build_type_attribute_qual_variant): Likewise.
3972 (attribute_value_equal): New static helper function.
3973 (comp_type_attributes): New function.
3974 (merge_attributes): Use attribute_value_equal for comparison.
3975 (attribute_list_contained): Likewise.
3976 * tree.h (comp_type_attributes): New prototype.
3977
afdac116
RG
39782011-03-25 Richard Guenther <rguenther@suse.de>
3979
3980 * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
3981 of complex types at -O0.
3982 (verify_gimple_assign_binary): Likewise.
3983 (verify_gimple_assign_ternary): Likewise.
3984
ec6165f8
MW
39852011-03-24 Mark Wielaard <mjw@redhat.com>
3986
3987 * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
3988 (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
3989
2a5ac39a
MW
39902011-03-24 Mark Wielaard <mjw@redhat.com>
3991
3992 PR debug/48041
3993 * dwarf2out.c (output_abbrev_section): Only write table when
3994 abbrev_die_table_in_use > 1.
3995
e533b2a4
RH
39962011-02-24 Richard Henderson <rth@redhat.com>
3997
3998 * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
3999 (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
4000 (alpha_expand_unaligned_load_words): Use extql.
4001 (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
4002 (emit_insxl): Handle all modes for consistency.
4003
0b2a7367
RH
40042011-02-24 Richard Henderson <rth@redhat.com>
4005
4006 * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
4007 (alpha_expand_unaligned_load): Likewise.
4008 (alpha_expand_unaligned_store): Likewise.
4009 (alpha_expand_unaligned_load_words): Likewise.
4010 (alpha_expand_unaligned_store_words): Likewise.
4011 (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
4012 (alpha_split_lock_test_and_set_12): Likewise.
4013 (print_operand, alpha_fold_builtin_extxx): Likewise.
4014 (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
4015 * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
4016 (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
4017 (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
4018 (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
4019 (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
4020 (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
4021 (unaligned_storeqi_be, unaligned_storehi_be): Remove.
4022 (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
4023 (extwl, extll, extql): Similarly.
4024 (inswh, inslh, insqh): Similarly.
4025 (mskbl, mskwl, mskll, mskql): Similarly.
4026 (mskwh, msklh, mskqh): Similarly.
4027
315b2bef
RH
40282011-02-24 Richard Henderson <rth@redhat.com>
4029
4030 * config/alpha/alpha.md (attribute isa): Add er, ner.
4031 (attribute enabled): Handle them.
4032 (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
4033
67102517
RH
40342011-02-24 Richard Henderson <rth@redhat.com>
4035
4036 * config/alpha/alpha.md (attribute isa): Add vms.
4037 (attribute enabled): Handle it.
4038 (*movsf): Merge *movsf_{nofix,fix,nofp}.
4039 (*movdf): Merge *movdf_{nofix,fix,nofp}.
4040 (*movtf): Rename from *movtf_internal for consistency.
4041 (*movsi): Merge with *movsi_nt_vms.
4042 (*movhi): Merge *movhi_nobwx, *movhi_bwx.
4043 (*movqi): Merge *movqi_nobwx, *movqi_bwx.
4044 (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
4045 * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
4046
6aba5cb4
RH
40472011-02-24 Richard Henderson <rth@redhat.com>
4048
4049 * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
4050 (extendqisi2, extendhisi2): Likewise.
4051 (extendqidi2): Simplify BWX/non-BWX expansions.
4052 (extendhidi2): Similarly.
4053
bdfb351b
RH
40542011-02-24 Richard Henderson <rth@redhat.com>
4055
4056 * config/alpha/alpha.md (attribute isa): New.
4057 (attribute enabled): New.
4058 (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
4059 (zero_extendqisi2, zero_extendqidi2): Similarly.
4060 (zero_extendhisi2, zero_extendhidi2): Similarly.
4061 * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
4062
6abe71eb
RH
40632011-02-24 Richard Henderson <rth@redhat.com>
4064
4065 * config/alpha/predicates.md (input_operand): Revert last change;
4066 update comment to mention 32-bit VMS rather than Windows.
4067
7114321e
NF
40682011-03-24 Nathan Froyd <froydnj@codesourcery.com>
4069
4070 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
4071 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
4072 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
4073 * passes.c (init_optimization_passes): Move
4074 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
4075
c8679567
EB
40762011-03-24 Eric Botcazou <ebotcazou@adacore.com>
4077
4078 * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
4079
27173058
UB
40802011-03-24 Uros Bizjak <ubizjak@gmail.com>
4081
4082 * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
4083 correctly.
4084
6f0c9f06
JJ
40852011-03-24 Jakub Jelinek <jakub@redhat.com>
4086
4087 PR debug/48204
4088 * simplify-rtx.c (simplify_const_unary_operation): Call
4089 real_convert when changing mode class with FLOAT_EXTEND.
4090
662666e5
NC
40912011-03-24 Nick Clifton <nickc@redhat.com>
4092
4093 * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
4094 (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
4095 * config/rx/rx.c (rx_option_override): Set align_jumps,
4096 align_loops and align_labels if not set by the user.
4097 (rx_align_for_label): New function.
4098 (rx_max_skip_for_label): New function.
4099 (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
4100 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
4101 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
4102 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
4103 * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
4104
2b99b2b8
RS
41052011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
4106
4107 PR rtl-optimization/48263
4108 * optabs.c (expand_binop_directly): Reinstate convert_modes code
4109 and original commutative_p handling. Use maybe_gen_insn.
4110
ccecd6ea
AK
41112011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4112
4113 * reload.c (find_reloads_subreg_address): Add address_reloaded
4114 parameter and return true there if the full address has been
4115 reloaded.
4116 (find_reloads_toplev): Pass address_reloaded flag.
4117 (find_reloads_address_1): Don't use address_reloaded parameter.
4118
67295642
JL
41192011-03-24 Jeff Law <law@redhat.com>
4120
4121 * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
4122 unused variable "ann".
4123 (remove_unused_locals): Likewise.
4124
4125 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
4126 statement.
4127
4128 * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
4129 after it is freed.
4130
212aa74f
AK
41312011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4132
4133 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
4134 for invalid symbolic addresses.
4135 (s390_secondary_reload): Don't use s390_check_symref_alignment for
4136 larl operands.
4137
fe784e0d
EB
41382011-03-24 Eric Botcazou <ebotcazou@adacore.com>
4139
4140 * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
4141 the argument in calls to fold_truth_not_expr.
4142
63ee8641
NF
41432011-03-24 Nathan Froyd <froydnj@codesourcery.com>
4144
4145 * tree.c (record_node_allocation_statistics): New function.
4146 (make_node_stat, copy_node_stat, build_string): Call it.
4147 (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
4148 (build1_stat, build_omp_clause): Likewise.
4149
61be2a1c
RS
41502011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
4151
4152 * builtins.c (expand_movstr): Fix endp == 1 adjustment after
4153 last commit.
4154
a881aaa7
RG
41552011-03-24 Richard Guenther <rguenther@suse.de>
4156
4157 PR tree-optimization/48271
4158 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
4159 blocks that still exist.
4160
dbaa912c
RG
41612011-03-24 Richard Guenther <rguenther@suse.de>
4162
4163 PR tree-optimization/48270
4164 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
4165 not free datarefs before ddrs.
4166
1d60cc55
EB
41672011-03-24 Eric Botcazou <ebotcazou@adacore.com>
4168
4169 * tree-sra.c (build_ref_for_offset): Strip useless type conversions
4170 from the address built for a reference with variable offset.
4171
c78dd519
UB
41722011-03-24 Uros Bizjak <ubizjak@gmail.com>
4173
4174 PR target/48237
4175 * config/i386/i386.md (*movdf_internal_rex64): Do not split
4176 alternatives that can be handled with movq or movabsq insn.
4177 (*movdf_internal): Disable for !TARGET_64BIT.
4178 (*movdf_internal_nointeger): Ditto.
4179 * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
4180
b25b9e8f
NF
41812011-03-24 Nathan Froyd <froydnj@codesourcery.com>
4182
4183 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
4184 (FUNCTION_ARG_ADVANCE): Likewise.
4185 * tm.texi.in: Change references to them to hook references.
4186 * tm.texi: Regenerate.
c78dd519 4187 * targhooks.c (default_function_arg): Eliminate check for target macro.
b25b9e8f
NF
4188 (default_function_incoming_arg): Likewise.
4189 (default_function_arg_advance): Likewise.
c78dd519 4190 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
b25b9e8f
NF
4191 (function_arg_advance): Likewise.
4192 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
4193
190b2187
RG
41942011-03-24 Richard Guenther <rguenther@suse.de>
4195
4196 PR middle-end/48269
4197 * tree-object-size.c (addr_object_size): Do not double-account
4198 for MEM_REF offsets.
4199
a183b5c7
DN
42002011-03-24 Diego Novillo <dnovillo@google.com>
4201
4202 * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
c78dd519 4203 * lto-streamer-in.c (input_string_internal): Add clarifying comments.
a183b5c7
DN
4204 (lto_input_data_block): Move from lto-opts.c. Make extern.
4205 Update all users.
4206 (lto_input_string): Rename from input_string. Make extern.
4207 Update all users.
4208 * lto-streamer-out.c (lto_output_string_with_length): Rename from
4209 output_string_with_length.
4210 Output 0 to indicate a non-NULL string. Update all callers to
4211 not emit 0.
4212 (lto_output_string): Rename from output_string. Make extern.
4213 Update all users.
4214 (lto_output_decl_state_streams): Make extern.
4215 (lto_output_decl_state_refs): Make extern.
4216 * lto-streamer.h (lto_input_string): Declare.
4217 (lto_input_data_block): Declare.
4218 (lto_output_string): Declare.
4219 (lto_output_string_with_length): Declare.
4220 (lto_output_decl_state_streams): Declare.
4221 (lto_output_decl_state_refs): Declare.
4222
cfef45c8
RG
42232011-03-24 Richard Guenther <rguenther@suse.de>
4224
4225 PR tree-optimization/46562
4226 * tree.c (build_invariant_address): New function.
4227 * tree.h (build_invariant_address): Declare.
4228 * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
4229 a renamed function moved ...
4230 * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
4231 Take valueization callback parameter.
4232 * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
4233 * gimple-fold.h: New file.
4234 * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
4235 (ccp_fold, fold_const_aggregate_ref,
4236 fold_ctor_reference, fold_nonarray_ctor_reference,
4237 fold_array_ctor_reference, fold_string_cst_ctor_reference,
4238 get_base_constructor): Move ...
4239 * gimple-fold.c: ... here.
4240 (gimple_fold_stmt_to_constant_1): New function
4241 split out from ccp_fold. Take a valueization callback parameter.
4242 Valueize all operands.
4243 (gimple_fold_stmt_to_constant): New wrapper function.
4244 (fold_const_aggregate_ref_1): New function split out from
4245 fold_const_aggregate_ref. Take a valueization callback parameter.
4246 (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
4247 * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
4248 invariant POINTER_PLUS_EXPRs to invariant form.
4249 (vn_valueize): New function.
4250 (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
4251 * tree-vrp.c (vrp_valueize): New function.
4252 (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
4253 to fold statements to constants.
4254 * tree-ssa-pre.c (eliminate): Properly guard propagation of
4255 function declarations.
4256 * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
4257 tree-ssa-ccp.o): Add gimple-fold.h dependencies.
4258
5e0a7e40
RS
42592011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
4260
4261 * config/h8300/predicates.md (jump_address_operand): Fix register
4262 mode check.
4263
bfe068c3
IR
42642011-03-24 Ira Rosen <ira.rosen@linaro.org>
4265
4266 * doc/invoke.texi (max-stores-to-sink): Document.
4267 * params.h (MAX_STORES_TO_SINK): Define.
4268 * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
4269 if either vectorization or if-conversion is disabled.
4270 * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
4271 tree-vect-data-refs.c vect_equal_offsets.
4272 (dr_equal_offsets_p): New function.
4273 (find_data_references_in_bb): Remove static.
4274 * tree-data-ref.h (find_data_references_in_bb): Declare.
4275 (dr_equal_offsets_p): Likewise.
4276 * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
4277 (vect_drs_dependent_in_basic_block): Update calls to
4278 vect_equal_offsets.
4279 (vect_check_interleaving): Likewise.
4280 * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
4281 (cond_if_else_store_replacement): Rename to...
4282 (cond_if_else_store_replacement_1): ... this. Change arguments and
4283 documentation.
4284 (cond_if_else_store_replacement): New function.
4285 * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
4286 * params.def (PARAM_MAX_STORES_TO_SINK): Define.
4287
4908b0bf
CLT
42882011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
4289
4290 PR target/46934
4291 * config/arm/arm.md (casesi): Use the gen_int_mode() function
4292 to subtract lower bound instead of GEN_INT().
4293
2be478a2
JW
42942011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
4295
4296 PR other/48179
4297 PR other/48221
4298 PR other/48234
4299 * doc/extend.texi (Alignment): Move section to match order in TOC.
4300 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
4301 (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
4302
0c617be4
JL
43032011-03-23 Jeff Law <law@redhat.com>
4304
4305 * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
4306 before removing the edge.
4307
4308 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
4309 it may have been freed by redirect_branch_edge or
4310 redirect_edge_succ_nodup.
4311
58da96fe
RG
43122011-03-23 Richard Guenther <rguenther@suse.de>
4313
c78dd519 4314 * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
58da96fe
RG
4315 (check_va_list_escapes): Likewise.
4316 (check_all_va_list_escapes): Likewise.
4317
b8beb4d1
RG
43182011-03-23 Richard Guenther <rguenther@suse.de>
4319
4320 * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
4321 (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
4322 (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
4323 (alias.o): Likewise.
4324 (ipa-type-escape.o): Remove.
4325 (ipa-struct-reorg.o): Likewise.
4326 (GTFILES): Remove ipa-struct-reorg.c.
4327 * alias.c: Do not include ipa-type-escape.h.
4328 * tree-ssa-alias.c: Likewise.
4329 * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
4330 * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
4331 * passes.c (init_optimization_passes): Remove ipa-struct-reorg
4332 and ipa-type-escape passes.
4333 * tree-pass.h (pass_ipa_type_escape): Remove.
4334 (pass_ipa_struct_reorg): Likewise.
4335 * ipa-struct-reorg.h: Remove.
4336 * ipa-struct-reorg.c: Likewise.
4337 * ipa-type-escape.h: Likewise.
4338 * ipa-type-escape.c: Likewise.
4339 * doc/invoke.texi (-fipa-struct-reorg): Remove.
4340 (--param struct-reorg-cold-struct-ratio): Likewise.
4341 * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
4342 * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
4343 * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
4344
f137aa63
AK
43452011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4346
4347 * config/s390/2084.md: Enable all insn reservations also for z9_ec
4348 cpu attribute value.
4349 * config/s390/s390-opts.h (enum s390_arch_option): Remove.
4350 (enum processor_type): Add PROCESSOR_2094_Z9_EC.
4351 * config/s390/s390.c (processor_flags_table): New constant array.
4352 (s390_handle_arch_option): Remove.
4353 (s390_handle_option): Remove s390_handle_arch_option invocations
4354 and OPT_mwarn_framesize_ handling.
4355 (s390_option_override): Remove s390_handle_arch_option invocation.
4356 (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
4357 warnings.
4358 * config/s390/s390.md (cpu attribute): Add z9_ec value.
4359 * config/s390/s390.opt (s390_tune, s390_arch)
4360 (march=): Replace s390_arch_option enum and values with
4361 processor_type. Set variable name to s390_arch. Set
4362 initialization value.
4363 (mtune=): Replace s390_arch_option with processor_type. Set
4364 variable name to s390_tune. Set initialization value.
4365
bf90208f
JB
43662011-03-23 Julian Brown <julian@codesourcery.com>
4367
4368 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
4369 accesses which are not naturally aligned.
4370
3460fdf3
RS
43712011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
4372
4373 PR target/47553
4374 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
4375
a5c7d693
RS
43762011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
4377
4378 * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
4379 parameter from "int" to "enum insn_code".
4380 (expand_operand_type): New enum.
4381 (expand_operand): New structure.
4382 (create_expand_operand): New function.
4383 (create_fixed_operand, create_output_operand): Likewise
4384 (create_input_operand, create_convert_operand_to): Likewise.
4385 (create_convert_operand_from, create_address_operand): Likewise.
4386 (create_integer_operand): Likewise.
4387 (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
4388 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
4389 (expand_insn, expand_jump_insn): Likewise.
4390 * builtins.c (expand_builtin_prefetch): Use the new interfaces.
4391 (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
4392 (expand_movstr, expand_builtin___clear_cache): Likewise.
4393 (expand_builtin_lock_release): Likewise.
4394 * explow.c (allocate_dynamic_stack_space): Likewise.
4395 (probe_stack_range): Likewise. Allow check_stack to FAIL,
4396 and use the default handling in that case.
4397 * expmed.c (check_predicate_volatile_ok): Delete.
4398 (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
4399 (emit_cstore): Likewise.
4400 * expr.c (emit_block_move_via_movmem): Likewise.
4401 (set_storage_via_setmem, expand_assignment): Likewise.
4402 (emit_storent_insn, try_casesi): Likewise.
4403 (emit_single_push_insn): Likewise. Allow the expansion to fail.
4404 * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
4405 (expand_vec_shift_expr, expand_binop_directly): Likewise.
4406 (expand_twoval_unop, expand_twoval_binop): Likewise.
4407 (expand_unop_direct, emit_indirect_jump): Likewise.
4408 (emit_conditional_move, vector_compare_rtx): Likewise.
4409 (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
4410 (expand_sync_operation, expand_sync_fetch_operation): Likewise.
4411 (expand_sync_lock_test_and_set): Likewise.
4412 (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
4413 (emit_unop_insn): Likewise.
4414 (expand_copysign_absneg): Change icode to an insn_code.
4415 (create_convert_operand_from_type): New function.
4416 (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
4417 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
4418 (expand_insn, expand_jump_insn): Likewise.
4419 * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
4420 than const_int_operand for operand 2.
4421
78fadbab
AK
44222011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4423
4424 * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
4425 if possible.
4426
5f02387d
NF
44272011-03-22 Nathan Froyd <froydnj@codesourcery.com>
4428
4429 * emit-rtl.c (emit_pattern_before_noloc): New function.
4430 (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
4431 (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
4432 (emit_pattern_after_noloc): New function.
4433 (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
4434 (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
4435
fdf3e18a
NF
44362011-03-22 Nathan Froyd <froydnj@codesourcery.com>
4437
4438 * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
4439 (__ffsDI2): Likewise.
4440
42d085c1
RH
44412011-03-22 Richard Henderson <rth@redhat.com>
4442
4443 * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
4444 of !TARGET_ABI_OPEN_VMS.
4445 (alpha_trampoline_init, alpha_start_function): Likewise.
4446 (alpha_expand_epilogue, alpha_file_start): Likewise.
4447 * config/alpha/alpha.md (divsi3, modsi3): Likewise.
4448 (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
4449 (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
4450 (*divmodsi_internal, *divmoddi_internal_er): Likewise.
4451 (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
4452
cabbe12a
JM
44532011-03-22 Joseph Myers <joseph@codesourcery.com>
4454
4455 * config/s390/s390-opts.h: New.
4456 * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
4457 s390_arch_flags, s390_warn_framesize, s390_stack_size,
4458 s390_stack_guard): Remove.
4459 (s390_handle_arch_option): Return void. Take enum
4460 s390_arch_option value instead of string and searching array.
4461 (s390_handle_option): Don't assert that global structures are in
4462 use. Access variables via opts pointer. Use error_at. Don't use
4463 sscanf for -mstack-guard= or -mstack-size=. Update call to
4464 s390_handle_arch_option.
4465 (s390_option_override): Update call to s390_handle_arch_option.
4466 (s390_emit_prologue): Use %d format for s390_stack_size in
4467 diagnostic. Use %wd for HOST_WIDE_INT.
4468 * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
4469 (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
4470 * config/s390/s390.opt (config/s390/s390-opts.h): New
4471 HeaderInclude entry.
4472 (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
4473 s390_arch_flags, s390_warn_framesize): New Variable entries.
4474 (s390_arch_option): New Enum and EnumValue entries.
4475 (march=): Use Enum instead of Var.
4476 (mstack-guard=, mstack-size=): Use UInteger and Var.
4477 (mtune=): Use Enum.
4478
05b12036
JM
44792011-03-22 Joseph Myers <joseph@codesourcery.com>
4480
4481 * config/score/score.c (score_handle_option): Don't assert that
4482 global structures are in use. Access target_flags via opts
4483 pointer. Use value of -march= option to determine target_flags
4484 settings.
4485 * config/score/score.opt (march=): Use Enum.
4486 (score_arch): New Enum and EnumValue entries.
4487
dd51e35a
JM
44882011-03-22 Joseph Myers <joseph@codesourcery.com>
4489
4490 * config/mep/mep.c (option_mtiny_specified): Remove.
4491 (mep_option_override): Move register handling for -mivc2 from
4492 mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
4493 instead of option_mtiny_specified.
4494 (mep_handle_option): Access target_flags via opts pointer. Don't
4495 assert that global structures are in use. Defer part of -mivc2
4496 handling and move it to mep_option_override.
4497 * config/mep/mep.opt (IVC2): New Mask entry.
4498 (mivc2): Use Var and Defer instead of Mask.
4499
4a8d3d91
JM
45002011-03-22 Joseph Myers <joseph@codesourcery.com>
4501
4502 * config/v850/v850-opts.h: New.
4503 * config/v850/v850.c (small_memory): Replace with
4504 small_memory_physical_max array. Make that array static const.
4505 (v850_handle_memory_option): Take integer value of argument. Take
4506 gcc_options pointer, option text and location. Return void.
4507 Update for changes to small memory structures.
4508 (v850_handle_option): Access target_flags via opts pointer. Don't
4509 assert that global structures are in use. Update calls to
4510 v850_handle_memory_option.
c78dd519
UB
4511 (v850_encode_data_area): Update references to small memory settings.
4512 * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
4a8d3d91
JM
4513 (enum small_memory_type): Move to v850-opts.h.
4514 * config/v850/v850.opt (config/v850/v850-opts.h): New
4515 HeaderInclude entry.
4516 (small_memory_max): New Variable entry.
4517 (msda): Replace by pair of options msda= and msda-. Use UInteger.
4518 (mtda, mzda): Likewise.
4519
117fdbfa
JM
45202011-03-22 Joseph Myers <joseph@codesourcery.com>
4521
4522 * config/sh/sh.c (sh_handle_option): Access target_flags via opts
4523 pointer. Don't assert that global structures are in use.
4524
d715091c
JM
45252011-03-22 Joseph Myers <joseph@codesourcery.com>
4526
4527 * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
4528 via opts pointer. Don't assert that global structures are in use.
4529
1bb721dc
JM
45302011-03-22 Joseph Myers <joseph@codesourcery.com>
4531
4532 * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
4533 (munix=93): Use Var.
4534 * config/pa/pa-hpux1010.opt (munix=95): Use Var.
4535 * config/pa/pa-hpux1111.opt (munix=98): Use Var.
4536 * config/pa/pa-opts.h: New.
4537 * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
4538 (pa_handle_option): Don't assert that global structures are in
4539 use. Access target_flags via opts pointer. Don't handle
4540 OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
4541 OPT_munix_98 here.
4542 (pa_option_override): Handle deferred OPT_mfixed_range_.
4543
cd8d8754
JM
45442011-03-22 Joseph Myers <joseph@codesourcery.com>
4545
4546 * config/mn10300/mn10300-opts.h: New.
4547 * config/mn10300/mn10300.c (mn10300_processor,
4548 mn10300_tune_string): Remove.
4549 (mn10300_handle_option): Don't assert that global structures are
4550 in use. Access mn10300_processor via opts pointer. Don't handle
4551 OPT_mtune_ here.
4552 * config/mn10300/mn10300.h (enum processor_type): Move to
4553 mn10300-opts.h.
4554 (mn10300_processor): Remove.
4555 * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
4556 HeaderInclude entry.
4557 (mn10300_processor): New Variable entry.
4558 (mtune=): Use Var.
4559
24e6e6b1
JM
45602011-03-22 Joseph Myers <joseph@codesourcery.com>
4561
4562 * config/microblaze/microblaze.c: Don't include opts.h.
4563 (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
4564 * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
4565 (mno-clearbss): Use Var and Warn.
4566
8a784afb
JM
45672011-03-22 Joseph Myers <joseph@codesourcery.com>
4568
4569 * config/m32r/m32r-opts.h: New.
4570 * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
4571 (m32r_handle_option): Don't assert that global structures are in
4572 use. Access target_flags and m32r_cache_flush_func via opts
4573 pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
4574 OPT_mno_flush_trap here.
4575 * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
4576 include of m32r-opts.h.
4577 * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
4578 HeaderInclude entry.
4579 (m32r_model_selected, m32r_sdata_selected): New Variable entries.
4580 (mmodel=): Use Enum and Var.
4581 (m32r_model): New Enum and EnumValue entries.
4582 (mno-flush-trap): Use Var.
4583 (msdata=): Use Enum and Var.
4584 (m32r_sdata): New Enum and EnumValue entries.
4585
bbfc9a8c
JM
45862011-03-22 Joseph Myers <joseph@codesourcery.com>
4587
4588 * config/m32c/m32c.c: Don't include opts.h.
4589 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
4590 m32c_handle_option): Remove.
4591 (m32c_option_override): Check global_options_set.x_target_memregs
4592 instead of target_memregs_set.
4593 * config/m32c/m32c.h (target_memregs): Remove.
4594 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
4595 variable.
4596
e24b8335
JM
45972011-03-22 Joseph Myers <joseph@codesourcery.com>
4598
4599 * config/iq2000/iq2000-opts.h: New.
4600 * config/iq2000/iq2000.c: Don't include opts.h.
4601 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 4602 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
e24b8335
JM
4603 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
4604 HeaderInclude entry.
4605 (iq2000_tune): New Variable entry.
4606 (march=): Add comment. Use Enum.
4607 (iq2000_arch): New Enum and EnumValue entries.
4608 (mcpu=): Use Enum and Var.
4609 (iq2000_tune): New Enum and EnumValue entries.
4610
e6cc0c98
JM
46112011-03-22 Joseph Myers <joseph@codesourcery.com>
4612
4613 * config/ia64/ia64-opts.h: New.
4614 * config/ia64/ia64.c (ia64_tune): Remove.
4615 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
4616 here. Use error_at.
4617 (ia64_option_override): Handle deferred OPT_mfixed_range_.
4618 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
4619 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
4620 HeaderInclude entry.
4621 (ia64_tune): New Variable entry.
4622 (mfixed-range=): Use Defer and Var.
4623 (mtune=): Use Enum and Var.
4624 (ia64_tune): New Enum and EnumValue entries.
4625
db25893c
JM
46262011-03-22 Joseph Myers <joseph@codesourcery.com>
4627
4628 * config/frv/frv-opts.h: New.
4629 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
4630 frv-opts.h.
4631 (frv_cpu_type): Remove.
4632 * config/frv/frv.c: Don't include opts.h.
4633 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 4634 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
db25893c
JM
4635 (frv_cpu_type): New Variable entry.
4636 (frv_cpu): New Enum and EnumValue entries.
4637
6c223f5d
JM
46382011-03-22 Joseph Myers <joseph@codesourcery.com>
4639
4640 * config/cris/cris.c (cris_handle_option): Access target_flags via
4641 opts pointer. Don't assert that global structures are in use.
4642 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
4643 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
4644
bbd399cf
JM
46452011-03-22 Joseph Myers <joseph@codesourcery.com>
4646
4647 * config/bfin/bfin-opts.h: New.
4648 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
4649 bfin_si_revision, bfin_workarounds): Remove.
4650 (bfin_cpus): Make static const.
4651 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
4652 not bfin_lib_id_given.
4653 (bfin_handle_option): Don't set bfin_lib_id_given. Access
4654 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
c78dd519 4655 pointer. Use error_at. Don't assert that global structures are in use.
bbd399cf
JM
4656 * config/bfin/bfin.h: Include bfin-opts.h.
4657 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
4658 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
4659 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
4660 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
4661 entries.
4662
5e1b4d5a
JM
46632011-03-22 Joseph Myers <joseph@codesourcery.com>
4664
4665 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
4666 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
4667 or -msoft-float here.
4668 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
4669 -msoft-float and -mhard-float.
c78dd519 4670 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
5e1b4d5a
JM
4671 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
4672 msoft-float.
4673 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
4674 -msoft-float.
4675 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
4676 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
4677 not mhard-float.
4678 (LIBGCC_SPEC): Don't handle -msoft-float.
4679 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
4680 -mhard-float.
4681 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
4682 msoft-float.
4683 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
4684 -mfloat-abi=*, not -msoft-float and -mhard-float.
4685 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
4686 -msoft-float.
4687 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
4688 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
4689 mhard-float and msoft-float.
4690 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
4691 mfloat-abi=soft in comments, not mhard-float and msoft-float.
4692 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
4693 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
4694 mhard-float.
4695 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
4696 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
4697 msoft-float.
4698 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
4699 not mhard-float.
4700 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
4701 not msoft-float.
4702
800d1de1
RH
47032011-03-22 Richard Henderson <rth@redhat.com>
4704
4705 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
4706 TARGET_ABI_WINDOWS_NT.
4707 (alpha_output_function_end_prologue): Likewise.
4708 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
4709 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
4710 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
4711 (trap, *movsi_nt_vms): Likewise.
4712 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
4713 (*tablejump_osf_nt_internal): Remove.
4714 * config/alpha/predicates.md (input_operand): Only test Pmode.
4715
c59ddd2b
JM
47162011-03-22 Joseph Myers <joseph@codesourcery.com>
4717
4718 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
4719 via opts pointer. Use error_at. Don't assert that global
4720 structures are in use.
4721
1333f97f
JM
47222011-03-22 Joseph Myers <joseph@codesourcery.com>
4723
4724 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
4725 (ix86_handle_option): Access ix86_isa_flags and
4726 ix86_isa_flags_explicit via opts pointer. Don't assert that
4727 global structures are in use.
4728 (ix86_function_specific_save, ix86_function_specific_restore):
4729 Update ix86_isa_flags_explicit field name.
c78dd519 4730 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
1333f97f
JM
4731 (ix86_isa_flags_explicit): Rename TargetSave entry to
4732 x_ix86_isa_flags_explicit.
4733
75db85d8
RH
47342011-03-22 Richard Henderson <rth@redhat.com>
4735
4736 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
4737 (alpha_option_override, direct_return): Likewise.
4738 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
4739 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
4740 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
4741 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
4742 (alpha_expand_epilogue, alpha_end_function): Likewise.
4743 (alpha_init_libfuncs): Likewise.
4744 (struct machine_function): Remove unicosmk members.
4745 (print_operand) ['t']: Remove.
4746 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
4747 unicosmk_output_module_name, unicosmk_output_common,
4748 current_section_align, unicosmk_output_text_section_asm_op,
4749 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
4750 unicosmk_section_type_flags, unicosmk_unique_section,
4751 unicosmk_asm_named_section, unicosmk_insert_attributes,
4752 unicosmk_output_align, unicosmk_defer_case_vector,
4753 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
4754 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
4755 unicosmk_output_ssib, unicosmk_add_call_info_word,
4756 unicosmk_extern_head, unicosmk_output_default_externs,
4757 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
4758 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
4759 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
4760 * config/alpha/alpha-protos.h: Update.
4761 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
4762 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
4763 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
4764 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
4765 (*mulsi_se, mulvsi3): Likewise.
4766 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
4767 (*divmodsi_internal, call, call_value, realign): Likewise.
4768 (moddi3, umoddi3): Likewise; remove duplicate expander.
4769 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
4770 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
4771 (*movdi_nofix): Remove r/U alternative.
4772 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
4773 * config/alpha/constraints.md ("U"): Remove.
4774 * config/alpha/predicates.md (call_operand"): Don't test
4775 TARGET_ABI_UNICOSMK.
4776
96e45421
JM
47772011-03-22 Joseph Myers <joseph@codesourcery.com>
4778
4779 * target.def (handle_option): Take gcc_options and
4780 cl_decoded_option pointers and location_t.
4781 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
4782 * doc/tm.texi: Regenerate.
4783 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
4784 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
4785 * lto-opts.c (lto_reissue_options): Generate option structure for
4786 targetm.handle_option call.
4787 * opts.c (target_handle_option): Update call to
4788 targetm.handle_option. Remove assertions about values now passed
4789 down to hook.
4790 * targhooks.c (default_target_handle_option): New.
4791 * targhooks.h (default_target_handle_option): Declare.
4792 * config/alpha/alpha.c: Include opts.h.
4793 (alpha_handle_option): Update to new hook interface.
4794 * config/arm/arm.c: Include opts.h.
4795 (arm_handle_option): Update to new hook interface.
4796 * config/arm/t-arm (arm.o): Update dependencies.
4797 * config/bfin/bfin.c: Include opts.h.
4798 (bfin_handle_option): Update to new hook interface.
4799 * config/cris/cris.c: Include opts.h.
4800 (cris_handle_option): Update to new hook interface.
4801 * config/frv/frv.c: Include opts.h.
4802 (frv_handle_option): Update to new hook interface.
4803 * config/i386/i386.c: Include opts.h.
4804 (ix86_handle_option): Update to new hook interface.
4805 (ix86_valid_target_attribute_inner_p): Generate option structure
4806 for call to ix86_handle_option.
4807 * config/i386/t-i386 (i386.o): Update dependencies.
4808 * config/ia64/ia64.c: Include opts.h.
4809 (ia64_handle_option): Update to new hook interface.
4810 * config/ia64/t-ia64 (ia64.o): Update dependencies.
4811 * config/iq2000/iq2000.c: Include opts.h.
4812 (iq2000_handle_option): Update to new hook interface.
4813 * config/m32c/m32c.c: Include opts.h.
4814 (m32c_handle_option): Update to new hook interface.
4815 * config/m32r/m32r.c: Include opts.h.
4816 (m32r_handle_option): Update to new hook interface.
4817 * config/m68k/m68k.c: Include opts.h.
4818 (m68k_handle_option): Update to new hook interface.
4819 * config/mep/mep.c: Include opts.h.
4820 (mep_handle_option): Update to new hook interface.
4821 * config/microblaze/microblaze.c: Include opts.h.
4822 (microblaze_handle_option): Update to new hook interface.
4823 * config/mips/mips.c: Include opts.h.
4824 (mips_handle_option): Update to new hook interface.
4825 * config/mn10300/mn10300.c: Include opts.h.
4826 (mn10300_handle_option): Update to new hook interface.
4827 * config/pa/pa.c: Include opts.h.
4828 (pa_handle_option): Update to new hook interface.
4829 * config/pdp11/pdp11.c: Include opts.h.
4830 (pdp11_handle_option): Update to new hook interface.
4831 * config/rs6000/rs6000.c: Include opts.h.
4832 (rs6000_handle_option): Update to new hook interface.
4833 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
4834 * config/rx/rx.c: Include opts.h.
4835 (rx_handle_option): Update to new hook interface.
4836 * config/s390/s390.c: Include opts.h.
4837 (s390_handle_option): Update to new hook interface.
4838 * config/score/score.c: Include opts.h.
4839 (score_handle_option): Update to new hook interface.
4840 * config/sh/sh.c: Include opts.h.
4841 (sh_handle_option): Update to new hook interface.
4842 * config/sparc/sparc.c: Include opts.h.
4843 (sparc_handle_option): Update to new hook interface.
4844 * config/v850/v850.c: Include opts.h.
4845 (v850_handle_option): Update to new hook interface.
4846
66017846
JM
48472011-03-22 Joseph Myers <joseph@codesourcery.com>
4848
4849 * gcc.c (driver_unknown_option_callback): Only permit and save
4850 unknown -Wno- options.
4851 (driver_wrong_lang_callback): Save options directly instead of via
4852 driver_unknown_option_callback.
4853
e8b97ccd
EB
48542011-03-22 Eric Botcazou <ebotcazou@adacore.com>
4855
4856 * combine.c (simplify_set): Try harder to find the best CC mode when
4857 simplifying a nested COMPARE on the RHS.
4858
ebb9f8b0
JM
48592011-03-22 Joseph Myers <joseph@codesourcery.com>
4860
4861 * config/alpha/gnu.h: Remove.
4862 * config/arc: Remove directory.
4863 * config/arm/netbsd.h: Remove.
4864 * config/arm/t-pe: Remove.
4865 * config/crx: Remove directory.
4866 * config/i386/netbsd.h: Remove.
4867 * config/m68hc11: Remove directory.
4868 * config/m68k/uclinux-oldabi.h: Remove.
4869 * config/mcore/mcore-pe.h: Remove.
4870 * config/mcore/t-mcore-pe: Remove.
4871 * config/netbsd-aout.h: Remove.
4872 * config/rs6000/gnu.h: Remove.
4873 * config/sh/sh-symbian.h: Remove.
4874 * config/sh/symbian-base.c: Remove.
4875 * config/sh/symbian-c.c: Remove.
4876 * config/sh/symbian-cxx.c: Remove.
4877 * config/sh/symbian-post.h: Remove.
4878 * config/sh/symbian-pre.h: Remove.
4879 * config/sh/t-symbian: Remove.
4880 * config/svr3.h: Remove.
4881 * config/vax/netbsd.h: Remove.
4882 * config.build: Don't handle i[34567]86-*-pe.
4883 * config.gcc: Remove handling of deprecations for most deprecated
4884 targets.
4885 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
4886 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
4887 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
4888 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
4889 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
4890 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
4891 Remove cases.
4892 * config.host: Don't handle i[34567]86-*-pe.
4893 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
4894 (ASM_SPEC32): Don't handle -mcall-gnu.
4895 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
4896 -mcall-gnu.
4897 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
4898 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
4899 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
4900 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
4901 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
4902 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
4903 conditional on SYMBIAN.
4904 * configure.ac: Don't handle powerpc*-*-gnu*.
4905 * configure: Regenerate.
4906 * doc/extend.texi (interrupt attribute): Don't mention CRX.
4907 * doc/install-old.texi (m6811, m6812): Don't mention.
4908 * doc/install.texi (arc-*-elf*): Don't document multilib option.
4909 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
4910 (m68k-uclinuxoldabi): Don't mention.
4911 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
4912 Remove.
4913 (-mcall-gnu): Remove.
4914 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
4915 families): Remove constraint documentation.
4916
999a7d80
MS
49172011-03-22 Marius Strobl <marius@FreeBSD.org>
4918
4919 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
4920 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
4921 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
4922
980a0ff4
GJL
49232011-03-21 Georg-Johann Lay <avr@gjlay.de>
4924
4925 * config/avr/avr-protos.h (expand_epilogue): Change prototype
4926 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
4927 * config/avr/avr.c (init_cumulative_args)
4928 (avr_function_arg_advance): Use it.
4929 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
4930 sibcall epilogues.
4931 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
4932 (avr_function_ok_for_sibcall): ...this new function.
4933 (avr_lookup_function_attribute1): New static Function.
4934 (avr_naked_function_p, interrupt_function_p)
4935 (signal_function_p, avr_OS_task_function_p)
4936 (avr_OS_main_function_p): Use it.
4937 * config/avr/avr.md ("sibcall", "sibcall_value")
4938 ("sibcall_epilogue"): New expander.
4939 ("*call_insn", "*call_value_insn"): New insn.
4940 ("call_insn", "call_value_insn"): Remove
4941 ("call", "call_value", "epilogue"): Change expander to handle
4942 sibling calls.
4943
49168734
NC
49442011-03-21 Nick Clifton <nickc@redhat.com>
4945
4946 * doc/invoke.texi (Overall Options): Move closing brace to end of
4947 options list.
4948 (Optimization Options): Add missing @gol.
4949 (Directory Options): Likewise.
4950 (i386 and x86-64 Options): Likewise.
4951 (RS6000 and PowerPC Options): Likewise.
4952 (i386 and x86-64 Windows Options): Likewise.
4953 (V850 Options): Add text missing from descriptions.
4954
bdfe906f
RH
49552011-03-22 Richard Henderson <rth@redhat.com>
4956
4957 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
4958 (avr_incoming_return_addr_rtx): New.
4959 (emit_push_byte): New.
4960 (expand_prologue): Use it. Remove incorrect dwarf annotation for
4961 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
4962 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
4963 (emit_pop_byte): New.
4964 (expand_epilogue): Use it. Pop frame pointer by bytes.
4965 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
4966 (INCOMING_RETURN_ADDR_RTX): New.
4967 (INCOMING_FRAME_SP_OFFSET): New.
4968 (ARG_POINTER_CFA_OFFSET): New.
4969 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
4970 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
4971 (pophi): Remove.
4972
d090a5aa
RH
4973 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
4974
fdf3e18a
NF
49752011-03-22 Nathan Froyd <froydnj@codesourcery.com>
4976
4977 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
4978 (FUNCTION_ARG_ADVANCE): Likewise.
4979 * tm.texi.in: Change references to them to hook references.
4980 * tm.texi: Regenerate.
4981 * targhooks.c (default_function_arg): Eliminate check for target
4982 macro.
4983 (default_function_incoming_arg): Likewise.
4984 (default_function_arg_advance): Likewise.
c78dd519 4985 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
fdf3e18a
NF
4986 (function_arg_advance): Likewise.
4987 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
4988
009d3fcf
NF
49892011-03-22 Nathan Froyd <froydnj@codesourcery.com>
4990
4991 * tree.c (build_call_1): New function.
4992 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
4993
7bec30e1
RG
49942011-03-22 Richard Guenther <rguenther@suse.de>
4995
4996 PR tree-optimization/48228
4997 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
4998 for single-arg PHIs.
4999
0b7e851b
AB
50002011-03-22 Andrey Belevantsev <abel@ispras.ru>
5001
5002 PR rtl-optimization/48143
5003 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
5004 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
5005 sse2_cvtps2pd): Likewise.
5006
d89afca5
AK
50072011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5008
5009 * recog.c (canonicalize_change_group): Use validate_unshare_change.
5010
f471fe72
RG
50112011-03-22 Richard Guenther <rguenther@suse.de>
5012
5013 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
5014 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
5015 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
5016 and REALIGN_LOAD_EXPR.
5017 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
5018 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
5019 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
5020 DOT_PROD_EXPR case ...
5021 (expand_expr_real_2): ... here.
5022 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
5023 and REALIGN_LOAD_EXPR.
5024 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
5025 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
5026 (vect_create_epilog_for_reduction): Likewise.
5027 (vectorizable_reduction): Likewise.
5028 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
5029 * tree-vect-stmts.c (vectorizable_load): Likewise.
5030
f2f81d57
EB
50312011-03-22 Eric Botcazou <ebotcazou@adacore.com>
5032
5033 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
5034
ab081dd6
AK
50352011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5036
5037 * config/s390/s390.c (s390_delegitimize_address): Fix offset
5038 handling for PLTOFF/GOTOFF.
5039
6fd5332b
NC
50402011-03-22 Nick Clifton <nickc@redhat.com>
5041
5042 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
5043 trailing backslash from the end of the macro definition.
5044
01841ac0
AK
50452011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5046
5047 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
5048 and PLT unspecs.
5049
2ef6ce06
RS
50502011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
5051
5052 * expr.h (prepare_operand): Move to...
5053 * optabs.h (prepare_operand): ...here and change the insn code
5054 parameter from "int" to "enum insn_code".
5055 (insn_operand_matches): Declare.
5056 * expr.c (init_expr_target): Use insn_operand_matches.
5057 (compress_float_constant): Likewise.
5058 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
5059 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
5060 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
c78dd519
UB
5061 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
5062 Likewise.
2ef6ce06
RS
5063 (gen_cond_trap): Likewise.
5064 (prepare_operand): Likewise. Change icode to an insn_code.
5065 (insn_operand_matches): New function.
5066 * reload.c (find_reloads_address_1): Use insn_operand_matches.
5067 * reload1.c (gen_reload): Likewise.
5068 * targhooks.c (default_secondary_reload): Likewise.
5069
9e43ad68
UB
50702011-03-21 Uros Bizjak <ubizjak@gmail.com>
5071
9a96da32
UB
5072 * config/alpha/alpha.md (unspec): New define_c_enum.
5073 (unspecv): Ditto.
5074
50752011-03-21 Uros Bizjak <ubizjak@gmail.com>
5076
5077 PR debug/48214
9e43ad68
UB
5078 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
5079 between a call and its CALL_ARG_LOCATION note.
5080
31408f60
EB
50812011-03-21 Eric Botcazou <ebotcazou@adacore.com>
5082
5083 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
5084
50852011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
5086
5087 PR c/42544
5088 PR c/48197
5089 * c-common.c (shorten_compare): If primopN is first sign-extended
5090 to opN and then zero-extended to result type, set primopN to opN.
5091
9dfd55f5
DJ
50922011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
5093
5094 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
5095 for barrier handlers.
5096
f3c33d9d
MM
50972011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
5098
5099 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
5100 UNSPEC constants to be in the unspec enumeration, and redefine
5101 all UNSPECV constants to be in the unspecv enumeration, so that
5102 dumps print which unspec/unspec_volatile this is.
5103 * config/rs6000/vector.md (UNSPEC_*): Ditto.
5104 * config/rs6000/paired.md (UNSPEC_*): Ditto.
5105 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
5106 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
5107 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
5108
5109 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
5110 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
5111 UNSPECV_LWSYNC, since these are used as unspec_volatile.
5112 * config/rs6000/sync.md (isync, lwsync): Ditto.
5113
ac43f774
RG
51142011-03-21 Richard Guenther <rguenther@suse.de>
5115
5116 * params.def (lto-min-partition): Fix typo.
5117
411cdbd8
RG
51182011-03-21 Richard Guenther <rguenther@suse.de>
5119
5120 PR c/47939
5121 * c-decl.c (grokdeclarator): Drop to the main variant only
5122 for array types. Drop flag_gen_aux_info check.
5123
1cd9e416
RG
51242011-03-21 Richard Guenther <rguenther@suse.de>
5125
5126 PR translation/47911
5127 * params.def (lto-partitions): Fix typo.
5128 (lto-min-partition): Fix wording.
5129
ada5ad67
AT
51302011-03-21 Andreas Tobler <andreast@fgznet.ch>
5131
5132 * config/rs6000/t-freebsd: Remove duplication from file.
5133
f9613c9a
RG
51342011-03-21 Richard Guenther <rguenther@suse.de>
5135
5136 PR middle-end/47661
5137 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
5138
9bfbc1eb
RG
51392011-03-21 Richard Guenther <rguenther@suse.de>
5140
5141 PR lto/48210
5142 * params.def (lto-partitions): Require at least 1 partition.
5143
a2268084
RO
51442011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5145
5146 * gthr-solaris.h: Remove.
5147 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
5148 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
5149 (LIB_SPEC): Likewise.
5150 * config/sol2.opt (threads): Remove.
9e43ad68 5151 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
5152 (sparc*-*-solaris2*): Likewise.
5153 * configure.ac (enable_threads): Enable solaris support.
5154 * configure: Regenerate.
9e43ad68 5155 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
5156 * doc/install.texi (Configuration, --enable-threads=lib): Remove
5157 solaris.
5158
c43d9a1b
RO
51592011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5160
5161 * config.gcc: Obsolete *-*-solaris2.8*.
5162 * doc/install.texi (Specific, *-*-solaris2*): Document it.
5163
084239f4
RO
51642011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5165
5166 PR bootstrap/48135
5167 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
5168 reference. Solaris 8 perl works.
5169
64cadbe7
RO
51702011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5171
5172 PR bootstrap/48135
5173 * doc/install.texi (Prerequisites): Move jar etc. up.
5174 Explain support library version requirements.
5175
eb975109
RO
51762011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5177
5178 PR bootstrap/48135
5179 * doc/install.texi (Prerequisites): Move Perl to build
5180 requirements. Always necessary on Solaris 2 with Sun ld.
5181
8a509ffd
RO
51822011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5183
5184 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
5185 binutils 2.21.
5186 (Specific, i?86-*-solaris2.[89]): Likewise.
5187 (Specific, i?86-*-solaris2.10): Likewise.
5188 (Specific, mips-sgi-irix6): Likewise.
5189 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
5190 Update for binutils 2.21.
5191
8fbc58a1
RO
51922011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5193
5194 * configure.ac (gcc_cv_lto_plugin): Fix typo.
5195 Allow -fuse-linker-plugin for non-default plugin linker.
5196 * configure: Regenerate.
5197
7e84ad0b
NP
51982011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
5199
5200 PR bootstrap/48167
5201 * gengtype.c (files_rules): Added rule for cp/parser.h.
5202
2f36e14b
JJ
52032011-03-21 Jakub Jelinek <jakub@redhat.com>
5204
5205 PR target/48213
5206 * config/s390/s390.c (s390_delegitimize_address): Don't call
5207 lowpart_subreg if orig_x has BLKmode.
5208
62d784f7
KT
52092011-03-21 Kai Tietz <ktietz@redhat.com>
5210
5211 PR target/12171
9e43ad68
UB
5212 * doc/plugins.texi: Adjust documentation for plugin register_callback.
5213 * tree.h (attribute_spec): Add new member affects_type_identity.
5214 * attribs.c (empty_attribute_table): Adjust attribute_spec
5215 initializers.
62d784f7
KT
5216 * config/alpha/alpha.c: Likewise.
5217 * config/arc/arc.c: Likewise.
5218 * config/arm/arm.c: Likewise.
5219 * config/avr/avr.c: Likewise.
5220 * config/bfin/bfin.c: Likewise.
5221 * config/crx/crx.c: Likewise.
5222 * config/darwin.h: Likewise.
5223 * config/h8300/h8300.c: Likewise.
5224 * config/i386/cygming.h: Likewise.
5225 * config/i386/i386.c: Likewise.
5226 * config/ia64/ia64.c: Likewise.
5227 * config/m32c/m32c.c: Likewise.
5228 * config/m32r/m32r.c: Likewise.
5229 * config/m68hc11/m68hc11.c: Likewise.
5230 * config/m68k/m68k.c: Likewise.
5231 * config/mcore/mcore.c: Likewise.
5232 * config/mep/mep.c: Likewise.
5233 * config/microblaze/microblaze.c: Likewise.
5234 * config/mips/mips.c: Likewise.
5235 * config/rs6000/rs6000.c: Likewise.
5236 * config/rx/rx.c: Likewise.
5237 * config/sh/sh.c: Likewise.
5238 * config/sol2.h: Likewise.
5239 * config/sparc/sparc.c: Likewise.
5240 * config/spu/spu.c: Likewise.
5241 * config/stormy16/stormy16.c: Likewise.
5242 * config/v850/v850.c: Likewise.
5243
54833ec0
CLT
52442011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
5245
5246 * simplify-rtx.c (simplify_binary_operation_1): Handle
5247 (xor (and A B) C) case when B and C are both constants.
5248
14a41392
MX
52492011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
5250
5251 * tree-dfa.c (add_referenced_var): Fix typo in comment.
5252
806c3492
EB
52532011-03-20 Eric Botcazou <ebotcazou@adacore.com>
5254
5255 PR bootstrap/48168
5256 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
5257
65e0a0f3
JJ
52582011-03-20 Jakub Jelinek <jakub@redhat.com>
5259
5260 PR rtl-optimization/48156
5261 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
5262 assume df and df_lr are not NULL.
5263
b6a75dda
RR
52642011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
5265
5266 PR debug/48023
5267 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
5268 between a call and its CALL_ARG_LOCATION note.
5269
5969b52d
KK
52702011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
5271
5272 PR debug/48178
5273 * config/sh/sh.c (find_barrier): Don't emit a constant pool
5274 between a call and its corresponding CALL_ARG_LOCATION note.
5275
f773c2bd
AS
52762011-03-19 Anatoly Sokolov <aesok@post.ru>
5277
5278 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
5279 instead of loop. Use HARD_REGISTER_NUM_P predicate.
5280 * haifa-sched.c (setup_ref_regs): Ditto.
5281 * caller-save.c (add_used_regs_1): Ditto.
5282 * dse.c (look_for_hardregs): Ditto.
5283 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
5284 * sched-rgn.c (check_live_1): Ditto.
5285
8bf872f9
JM
52862011-03-18 Joseph Myers <joseph@codesourcery.com>
5287
5288 * c-decl.c (diagnose_mismatched_decls): Give an error for
5289 redefining a typedef with variably modified type.
5290
ff8e2159
JM
52912011-03-18 Joseph Myers <joseph@codesourcery.com>
5292
5293 * c-decl.c (grokfield): Don't allow typedefs for structures or
5294 unions with no tag by default.
5295 * doc/extend.texi (Unnamed Fields): Update.
5296
16cc4440
UB
52972011-03-18 Uros Bizjak <ubizjak@gmail.com>
5298
5299 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
5300 Rewrite using indirect functions.
5301 (lwp_slwpcb): Ditto.
5302 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
5303 (avx_vinsertf128<mode>): Ditto.
5304
e101e12e
AK
53052011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5306
5307 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
5308 unspecs.
5309
4627c7fb
AK
53102011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5311
5312 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 5313 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 5314
2d36b47f
MK
53152011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
5316
5317 PR rtl-optimization/48170
5318 * gcse.c (hoist_code): Remove bogus asserts.
5319
2a3d7659
JL
53202011-03-18 Georg-Johann Lay <avr@gjlay.de>
5321
5322 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
5323 computation for prologue/epilogue.
5324
34c3ef05
RO
53252011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5326
5327 * Makefile.in (check-consistency): Remove.
5328
81f2b976
JJ
53292011-03-18 Jakub Jelinek <jakub@redhat.com>
5330
5331 PR debug/48176
5332 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
5333 arange_table_in_use is 0, but either text_section_used or
5334 cold_text_section_used is true. Don't call it if
5335 !info_section_emitted.
5336
68fd7765
AS
53372011-03-18 Anatoly Sokolov <aesok@post.ru>
5338
5339 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
5340 FUNCTION_VALUE_REGNO_P): Remove.
5341 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
5342 Remove.
5343 * config/avr/avr.c (avr_ret_register): Make static inline.
5344 (avr_function_value_regno_p): New function.
5345 (avr_libcall_value): Make static. Add 'func' argument.
5346 (avr_function_value): Make static. Rename 'func' argument to
5347 'fn_decl_or_type', forward it to avr_libcall_value. Call
5348 avr_ret_register function instead of RET_REGISTER macro.
5349 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
5350
b4ef8aac
JM
53512011-03-18 Jason Merrill <jason@redhat.com>
5352
5353 PR c++/23372
5354 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
5355
09a52fc3
RG
53562011-03-18 Richard Guenther <rguenther@suse.de>
5357
5358 * doc/install.texi (--enable-gold): Remove.
5359 (--with-plugin-ld): Document.
5360 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
5361
2a3d7659 53622011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
5363
5364 PR middle-end/47790
5365 * expr.c (optimize_bitfield_assignment_op): Revamp to work
5366 again after expansion changes.
5367
2abbb0fe
CLT
53682011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
5369
5370 * combine.c (try_combine): Do simplification only call of
5371 subst() on i2 even when i1 is present. Update comments.
5372
2efd0aa6
KK
53732011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
5374
5375 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
5376 and UNSPEC_PCREL_SYMOFF.
5377
30a49b23
AK
53782011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5379
5380 * config/s390/s390.md: Use define_c_enum for the unspec constant
5381 definitions.
5382
419e1853
JJ
53832011-03-18 Richard Henderson <rth@redhat.com>
5384 Jakub Jelinek <jakub@redhat.com>
5385
5386 PR bootstrap/48161
5387 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
5388 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
5389
37875856
L
53902011-03-17 H.J. Lu <hongjiu.lu@intel.com>
5391
5392 PR middle-end/47725
5393 * combine.c (cant_combine_insn_p): Don't check zero/sign
5394 extended hard registers.
5395
76069764
L
53962011-03-17 H.J. Lu <hongjiu.lu@intel.com>
5397
5398 PR middle-end/47725
5399 * combine.c (cant_combine_insn_p): Check zero/sign extended
5400 hard registers.
5401
24da2019
AS
54022011-03-17 Anatoly Sokolov <aesok@post.ru>
5403
5404 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
5405 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
5406 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
5407 Change return type to bool.
5408 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
5409
a82ff31f
JJ
54102011-03-17 Jakub Jelinek <jakub@redhat.com>
5411
8b29c87a
JJ
5412 PR debug/48163
5413 * var-tracking.c (prepare_call_arguments): If CALL target
5414 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
5415 pc instead of looking it up using cselib_lookup and use
5416 Pmode for it if x has VOIDmode.
5417 * dwarf2out.c (gen_subprogram_die): If also both first and
5418 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
5419
a82ff31f
JJ
5420 PR debug/48163
5421 * function.c (assign_parms): For data.passed_pointer parms
5422 use MEM of data.entry_parm instead of data.entry_parm itself
5423 as DECL_INCOMING_RTL.
5424 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
5425 also when passed and declared mode is the same, DECL_RTL
5426 is a MEM with pseudo as address and DECL_INCOMING_RTL is
5427 a MEM too.
5428
82ce305c
JL
54292011-03-16 Jeff Law <law@redhat.com>
5430
5431 PR rtl-optimization/37273
5432 * ira-costs.c (scan_one_insn): Detect constants living in memory and
5433 handle them like argument loads from stack slots. Do not double
5434 count memory for memory constants and argument loads from stack slots.
5435
fe58e02b
L
54362011-03-17 H.J. Lu <hongjiu.lu@intel.com>
5437
5438 PR debug/48160
5439 * var-tracking.c (prepare_call_arguments): Check SUBREG.
5440
6fc4dbc7
L
54412011-03-17 H.J. Lu <hongjiu.lu@intel.com>
5442
5443 PR target/48171
5444 * config/i386/i386.opt: Add Save to -mavx and -mfma.
5445
db3ed0b3
JJ
54462011-03-17 Jakub Jelinek <jakub@redhat.com>
5447
8054a389
JJ
5448 PR bootstrap/48153
5449 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
5450 if dwarf_strict.
5451 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
5452 Clear call_arg_locations and call_arg_loc_last always.
5453
db3ed0b3
JJ
5454 PR middle-end/48152
5455 * var-tracking.c (prepare_call_arguments): If argument needs to be
5456 passed by reference, adjust argtype and mode.
5457
1bce4ff3
RG
54582011-03-17 Richard Guenther <rguenther@suse.de>
5459
5460 PR middle-end/48134
5461 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
5462 a value make sure to fold the statement.
5463
7c71147d
CLT
54642011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
5465
5466 PR target/43872
5467 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
5468 return condition with !cfun->calls_alloca.
5469
0e1ee172
RG
54702011-03-17 Richard Guenther <rguenther@suse.de>
5471
5472 PR bootstrap/48148
5473 * lto-cgraph.c (input_overwrite_node): Clear the abstract
5474 origin for decls in other ltrans units.
5475 (input_varpool_node): Likewise.
5476
f8bce518
RG
54772011-03-17 Richard Guenther <rguenther@suse.de>
5478
5479 PR middle-end/48165
5480 * tree-object-size.c (compute_object_offset): Properly return
5481 the offset operand of MEM_REFs as sizetype.
5482
1b6fa860
JJ
54832011-03-17 Jakub Jelinek <jakub@redhat.com>
5484
dabd47e7
JJ
5485 PR rtl-optimization/48141
5486 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
5487 * dse.c: Include params.h.
5488 (active_local_stores_len): New variable.
5489 (add_wild_read, dse_step1): Clear it when setting active_local_stores
5490 to NULL.
5491 (record_store, check_mem_read_rtx): Decrease it when removing
5492 from the chain.
5493 (scan_insn): Likewise. Increase it when adding to chain, if it
5494 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
5495 set active_local_stores to NULL before the addition.
5496 * Makefile.in (dse.o): Depend on $(PARAMS_H).
5497
1b6fa860
JJ
5498 PR rtl-optimization/48141
5499 * dse.c (record_store): If no positions are needed in an insn
5500 that cannot be deleted, at least unchain it from active_local_stores.
5501
7b5cb7d6
DS
55022011-03-16 Dodji Seketeli <dodji@redhat.com>
5503
5504 PR debug/47510
5505 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
5506 (lookup_type_die_strip_naming_typedef): ... here.
5507 (get_context_die): Use it.
5508 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
5509 the anonymous struct named by the naming typedef.
5510
585e9d9d
L
55112011-03-16 H.J. Lu <hongjiu.lu@intel.com>
5512
5513 PR target/48154
5514 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
5515 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
5516
6261ab0e
JL
55172011-03-16 Jeff Law <law@redhat.com>
5518
5519 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 5520 check for operands of conditional. Allow type to be a pointer.
6261ab0e 5521
0b0081ec
RG
55222011-03-16 Richard Guenther <rguenther@suse.de>
5523
5524 PR tree-optimization/48149
5525 * fold-const.c (fold_binary_loc): Fold
5526 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
5527
64a3d647
RG
55282011-03-16 Richard Guenther <rguenther@suse.de>
5529
5530 PR tree-optimization/26134
5531 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
5532 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
5533 (non_rewritable_mem_ref_base): Handle complex type component
5534 accesses, constrain offsets for vector and complex extracts
5535 more properly.
5536
ef13324e
RG
55372011-03-16 Richard Guenther <rguenther@suse.de>
5538
5539 PR tree-optimization/48146
5540 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
5541 operands avoiding the need for renaming.
5542
f0eddb90
RG
55432011-03-16 Richard Guenther <rguenther@suse.de>
5544
5545 * gimple-fold.c (maybe_fold_reference): Open-code relevant
5546 constant folding. Move MEM_REF canonicalization first.
5547 Rely on fold_const_aggregate_ref for initializer folding.
5548 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
5549
e42348b8
JJ
55502011-03-16 Jakub Jelinek <jakub@redhat.com>
5551
29f10e71
JJ
5552 PR middle-end/48136
5553 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
5554 arg0/arg1 or their arguments are always fold converted to matching
5555 types.
5556
e42348b8
JJ
5557 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
5558 to nargs.
5559
55b46574
RO
55602011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5561
5562 PR lto/46944
5563 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
5564 Handle in-tree gold.
5565 (ld_vers): Extract binutils version for gold.
5566 (gcc_cv_ld_hidden): Handle gold here.
5567 (gcc_cv_lto_plugin): Determine level of linker plugin support.
5568 * configure: Regenerate.
5569 * config.in: Regenerate.
5570 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
5571 -fuse-linker-plugin otherwise.
5572 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
5573 (LINK_COMMAND_SPEC): Use it.
5574 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
5575
2b1c5433
JJ
55762011-03-16 Jakub Jelinek <jakub@redhat.com>
5577
c2969d8e
JJ
5578 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
5579 * calls.c: Remove debug.h include.
5580 (emit_call_1): Don't call virtual_call_token debug hook.
5581 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
5582 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
5583 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
5584 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
5585 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
5586 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
5587 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
5588 dwarf2out_virtual_call): Remove.
5589 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
5590 copy_call_info and virtual_call hooks.
5591 (dwarf2out_init): Don't initialize vcall_insn_table,
5592 debug_dcall_section and debug_vcall_section.
5593 (prune_unused_types): Don't mark nodes from dcall_table.
5594 (dwarf2out_finish): Don't output dcall or vcall tables.
5595 * final.c (final_scan_insn): Don't call direct_call or
5596 virtual_call debug hooks.
5597 * debug.h (struct gcc_debug_hooks): Remove direct_call,
5598 virtual_call_token, copy_call_info and virtual_call hooks.
5599 (debug_nothing_uid): Remove prototype.
5600 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
5601 copy_call_info and virtual_call hooks.
5602 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
5603 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
5604 * debug.c (do_nothing_debug_hooks): Likewise.
5605 (debug_nothing_uid): Remove.
5606 * doc/invoke.texi (-fenable-icf-debug): Remove.
5607 * common.opt (-fenable-icf-debug): Likewise.
5608
325f5379
JJ
5609 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
5610 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
5611 call's MEM. Handle functions returning aggregate through a hidden
5612 first pointer. For virtual calls add clobbered pc to call arguments
5613 chain.
5614 * dwarf2out.c (gen_subprogram_die): Emit
5615 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
5616 can't be emitted.
5617
a58a8e4b
JJ
5618 PR debug/45882
5619 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
5620 * rtl.h (ENTRY_VALUE_EXP): Define.
5621 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
5622 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
5623 * print-rtl.c (print_rtx): Likewise.
5624 * gengtype.c (adjust_field_rtx_def): Likewise.
5625 * var-tracking.c (vt_add_function_parameter): Adjust
5626 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
5627 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
5628 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
5629 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
5630 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
5631
2b1c5433
JJ
5632 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
5633 Call var_location debug hook even on CALL_INSNs.
5634 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
5635 * rtl.def (ENTRY_VALUE): New.
5636 * dwarf2out.c: Include cfglayout.h.
5637 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
5638 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
5639 (struct call_arg_loc_node): New type.
5640 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
5641 tail_call_site_count): New variables.
5642 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
5643 DW_TAG_GNU_call_site_parameter.
5644 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
5645 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
5646 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
5647 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
5648 and DW_AT_GNU_all_source_call_sites.
5649 (mem_loc_descriptor): Handle ENTRY_VALUE.
5650 (add_src_coords_attributes): Don't add enything if
5651 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
5652 (dwarf2out_abstract_function): Save and clear call_arg_location,
5653 call_site_count and tail_call_site_count around dwarf2out_decl call.
5654 (gen_call_site_die): New function.
5655 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
5656 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
5657 (dwarf2out_function_decl): Clear call_arg_locations,
5658 call_arg_loc_last, set call_site_count and tail_call_site_count
5659 to -1 and free block_map.
5660 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
5661 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
5662 followed by any real instructions.
5663 (dwarf2out_begin_function): Set call_site_count and
5664 tail_call_site_count to 0.
5665 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
5666 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
5667 attempt to force a DIE for it and worst case remove the attribute.
5668 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
5669 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
5670 the decl itself.
5671 * var-tracking.c: Include tm_p.h.
5672 (vt_stack_adjustments): For calls call note_register_arguments.
5673 (argument_reg_set): New variable.
5674 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
5675 ensure the VALUE is resolved.
5676 (call_arguments): New variable.
5677 (prepare_call_arguments): New function.
5678 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
5679 (struct expand_loc_callback_data): Add ignore_cur_loc field.
5680 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
5681 always use the best expression.
5682 (vt_expand_loc): Add ignore_cur_loc argument.
5683 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
5684 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
5685 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
5686 note for all calls.
5687 (vt_add_function_parameter): Use cselib_lookup_from_insn.
5688 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
5689 argument. Don't call cselib_preserve_only_values and
5690 cselib_reset_table.
5691 (note_register_arguments): New function.
5692 (vt_initialize): Compute argument_reg_set. Call
5693 vt_add_function_parameters before processing basic blocks instead of
5694 afterwards. For calls call prepare_call_arguments before calling
5695 cselib_process_insn.
5696 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
5697 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
5698 (var-tracking.o): Depend on $(TM_P_H).
5699 * cfglayout.h (insn_scope): New prototype.
5700 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
5701 * cfglayout.c (insn_scope): No longer static.
5702 * insn-notes.def (CALL_ARG_LOCATION): New.
5703 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
5704 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
5705 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
5706 nothing for DECL_EXTERNAL BLOCK_VARS.
5707
9ef13bd0
AM
57082011-03-16 Alan Modra <amodra@gmail.com>
5709
5710 PR target/45844
5711 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
5712 create invalid offset address for vsx splat insn.
5713 * config/rs6000/predicates.md (splat_input_operand): New.
5714 * config/rs6000/vsx.md (vsx_splat_*): Use it.
5715
56b67510
XDL
57162011-03-15 Xinliang David Li <davidxl@google.com>
5717
5718 PR c/47837
5719 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
5720 (normalize_preds): New function.
5721 (is_use_properly_guarded): Normalize def predicates.
5722
80fffdef
RR
57232011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
5724
732f37c6 5725 PR target/46788
80fffdef
RR
5726 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
5727 in the output template.
5728
930672ad
RG
57292011-03-15 Richard Guenther <rguenther@suse.de>
5730
5731 PR middle-end/47650
5732 * tree-pretty-print.c (dump_function_declaration): Properly
5733 dump unprototyped and varargs function types.
5734
c7ee7b45
RG
57352011-03-15 Richard Guenther <rguenther@suse.de>
5736
5737 PR tree-optimization/13954
5738 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
5739 and friends.
5740
b2ad5e37
RG
57412011-03-15 Richard Guenther <rguenther@suse.de>
5742
5743 PR tree-optimization/48037
5744 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
5745 selects into BIT_FIELD_REFs.
5746 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
5747 vector select.
5748
7ee93d4e
JJ
57492011-03-15 Jakub Jelinek <jakub@redhat.com>
5750
5751 PR tree-optimization/48129
5752 * builtins.c (fold_builtin_snprintf): Convert to type of
5753 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
5754 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
5755
e106efc7
RG
57562011-03-15 Richard Guenther <rguenther@suse.de>
5757
5758 PR tree-optimization/41490
5759 * tree-ssa-dce.c (propagate_necessity): Handle returns without
5760 value but with VUSE.
5761 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
5762 return statements.
5763 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
5764 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
5765 * tree-tailcall.c (find_tail_calls): Ignore returns.
5766
17dea42f
RG
57672011-03-15 Richard Guenther <rguenther@suse.de>
5768
5769 PR middle-end/48031
5770 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
5771 or variable-indexed array accesses when in gimple form.
5772
01c77a60
RG
57732011-03-15 Richard Guenther <rguenther@suse.de>
5774
16cc4440 5775 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 5776
77b0791e
AM
57772011-03-15 Alan Modra <amodra@gmail.com>
5778
5779 PR target/48032
5780 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
5781 presume symbol_refs without a symbol_ref_decl are suitably
5782 aligned, nor other trees we may see here. Handle anchor symbols.
5783 (legitimate_constant_pool_address_p): Comment. Add mode param.
5784 Check cmodel=medium addresses. Adjust all calls.
5785 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
5786 creating cmodel=medium optimized access to locals.
5787 * config/rs6000/constraints.md (R): Pass QImode to
5788 legitimate_constant_pool_address_p.
5789 * config/rs6000/predicates.md (input_operand): Pass mode to
5790 legitimate_constant_pool_address_p.
5791 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
5792 Update prototype.
5793
35f61ba4
MM
57942011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
5795
5796 PR target/48053
5797 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
5798 64-bit constants being loaded into registers other than GPRs such
5799 as loading 0 into a VSX register.
5800
07332e6d
RO
58012011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5802
16cc4440 5803 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 5804
de888d90
JJ
58052011-03-14 Jakub Jelinek <jakub@redhat.com>
5806
ba3ceb2d
JJ
5807 PR middle-end/47917
5808 * builtins.c (fold_builtin_snprintf): New function.
5809 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
5810 (fold_builtin_4): Likewise.
5811
2e64f8b8
JJ
5812 PR middle-end/38878
5813 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
5814 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
5815 and C - X == X also strip nops from +/-/p+ operand.
5816 When optimizing -X == C, fold C to arg0's type.
5817
de888d90
JJ
5818 PR debug/47946
5819 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
5820 emit it as add_AT_int instead of add_AT_unsigned.
5821
58222011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
5823
5824 * unwind-dw2.c: Include sys/sdt.h if it exists.
5825 (_Unwind_DebugHook): Use STAP_PROBE2.
5826 * config.in, configure: Rebuild.
5827 * configure.ac: Check for sys/sdt.h.
5828
d34abfd2
UB
58292011-03-14 Uros Bizjak <ubizjak@gmail.com>
5830
5831 * config/i386/i386.md (ROUND_FLOOR): New constant.
5832 (ROUND_CEIL): Ditto.
5833 (ROUND_TRUNC): Ditto.
5834 (ROUND_MXCSR): Ditto.
5835 (ROUND_NO_EXC): Ditto.
5836 (rint<mode>2): Use new defines instead of numerical constants.
5837 (floor<mode>2): Ditto.
5838 (ceil<mode>2): Ditto.
5839 (btrunc<mode>2): Ditto.
5840 * config/i386/i386-builtin-types.def: Define ROUND function type
5841 aliases.
5842 * config/i386/i386.c (enum ix86_builtins): Add
5843 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
5844 (struct builtin_description): Add
5845 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
5846 (ix86_expand_sse_round): New static function.
5847 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
5848 function types.
5849 (ix86_builtin_vectorized_function): Handle
5850 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
5851
87f9e23d
TT
58522011-03-14 Tom Tromey <tromey@redhat.com>
5853
5854 * c-parser.c (c_parser_asm_string_literal): Clear
5855 warn_overlength_strings.
5856
b3ab9ea2
TT
58572011-03-14 Tom Tromey <tromey@redhat.com>
5858
5859 * c-parser.c (disable_extension_diagnostics): Save
5860 warn_overlength_strings.
5861 (restore_extension_diagnostics): Restore warn_overlength_strings.
5862
6bd73dd8
JJ
58632011-03-14 Jakub Jelinek <jakub@redhat.com>
5864
5865 * BASE-VER: Change to 4.7.0.
5866
7f4d6e1b
RG
58672011-03-14 Richard Guenther <rguenther@suse.de>
5868
5869 PR middle-end/48098
5870 * tree.c (build_vector_from_val): Adjust assert to requirements
5871 and reality.
5872
c6104ef1
JJ
58732011-03-14 Jakub Jelinek <jakub@redhat.com>
5874
5875 PR bootstrap/48102
d34abfd2 5876 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 5877
dfa95e19
AT
58782011-03-14 Andreas Tobler <andreast@fgznet.ch>
5879
5880 * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
5881 terms of target_flags_explicit. Adjust copyright year.
5882
5883 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
5884 * config/rs6000/t-freebsd: New file. Add override for
5885 LIB2FUNCS_EXTRA.
5886
bb322018
CD
58872011-03-13 Chris Demetriou <cgd@google.com>
5888
5889 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
5890 (-fno-diagnostics-show-option): this, to reflect current default.
5891 (-Werror=): Update text about -fno-diagnostics-show-option.
5892
12b1c80b
PB
58932011-03-12 Peter Bergner <bergner@vnet.ibm.com>
5894
5895 PR target/48053
5896 * config/rs6000/predicates.md (easy_vector_constant_add_self,
5897 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
5898 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
5899 mode is not V2DImode or V2DFmode.
5900 (vspltis_constant): Do not handle V2DImode and V2DFmode.
5901 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
5902 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
5903 registers to 0.
5904 (movdi_internal64): Likewise.
5905
57d598f7
SP
59062011-03-12 Sebastian Pop <sebastian.pop@amd.com>
5907
5908 PR tree-optimization/47127
5909 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
5910 parameter.
5911 (set_cloog_options): Same.
5912 (scop_to_clast): Same.
5913 (print_clast_stmt): Do not call cloog_state_malloc and
5914 cloog_state_free.
5915 (print_generated_program): Same.
5916 (gloog): Same.
5917 * graphite-clast-to-gimple.h (cloog_state): Declared.
5918 (scop_to_clast): Adjust declaration.
5919 * graphite.c (cloog_state): Defined here.
5920 (graphite_initialize): Call cloog_state_malloc.
5921 (graphite_finalize): Call cloog_state_free.
5922
f231b5ff
JM
59232011-03-11 Jason Merrill <jason@redhat.com>
5924
5925 * attribs.c (lookup_attribute_spec): Take const_tree.
5926 * tree.h: Adjust.
5927
6a4e2bd5
JM
59282011-03-11 Joseph Myers <joseph@codesourcery.com>
5929
5930 * config/sparc/sparc.c (sparc_option_override): Use
5931 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
5932
a758fd67
RG
59332011-03-11 Richard Guenther <rguenther@suse.de>
5934
5935 PR tree-optimization/48067
5936 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
5937 multiplication result will be only used once on the target
5938 stmt.
5939
03dfda54
RG
59402011-03-11 Richard Guenther <rguenther@suse.de>
5941
5942 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
5943
5f11a50a
RG
59442011-03-11 Richard Guenther <rguenther@suse.de>
5945
5946 PR lto/48073
5947 * tree.c (find_decls_types_r): Do not walk types only reachable
5948 from IDENTIFIER_NODEs.
5949
4074f163
JJ
59502011-03-11 Jakub Jelinek <jakub@redhat.com>
5951
5952 PR middle-end/48044
5953 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
5954 all vnode->force_output nodes as needed.
5955
30f7cdcd
JM
59562011-03-11 Jason Merrill <jason@redhat.com>
5957
5958 PR c++/48069
5959 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
5960 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
5961
62ecfeb8
MJ
59622011-03-11 Martin Jambor <mjambor@suse.cz>
5963
5964 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
5965 cgraph_node.
5966
e89e03ab
JJ
59672011-03-11 Jakub Jelinek <jakub@redhat.com>
5968
5969 PR tree-optimization/48063
5970 * ipa-inline.c (cgraph_decide_inlining): Don't try to
5971 inline functions called once if !tree_can_inline_p (node->callers).
5972
efbe978b 59732011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 5974
efbe978b
EB
5975 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
5976 extra_objs.
9d6193a7
CL
5977 * config/score/score3.c: Delete.
5978 * config/score/score3.h: Delete.
5979 * config/score/mul-div.S: Delete.
5980 * config/score/sfp-machine.h: Add new file.
5981 * config/score/constraints.md: Add new file.
5982 * config/score/t-score-softfp: Add new file.
efbe978b 5983 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
5984 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
5985 (score7_extra_constraint): Delete.
efbe978b 5986 (score7_option_override): Remove unused code.
9d6193a7
CL
5987 * config/score/score.c: Remove score3 and score5 define and code.
5988 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 5989 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
5990 * config/score/score.opt: Remove score3 and score5 options.
5991
5de27cca
JDA
59922011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5993
5994 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
5995 when _HPUX_SOURCE is defined.
5996 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
5997
18d92053
JM
59982011-03-10 Jason Merrill <jason@redhat.com>
5999
6000 PR c++/48029
6001 * stor-layout.c (layout_type): Don't set structural equality
6002 on arrays of incomplete type.
6003 * tree.c (type_hash_eq): Handle comparing them properly.
6004
67a2f76d
JJ
60052011-03-10 Jakub Jelinek <jakub@redhat.com>
6006
6007 PR debug/48043
18d92053 6008 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
6009 result mode matches original rtl mode.
6010
d845b2f9
NC
60112011-03-10 Nick Clifton <nickc@redhat.com>
6012
6013 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 6014 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 6015
db7ec035
JJ
60162011-03-09 Jakub Jelinek <jakub@redhat.com>
6017
6018 PR rtl-optimization/47866
6019 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
6020 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
6021 if target wasn't scalar.
6022 * function.c (assign_stack_temp_for_type): Assert that neither
6023 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
6024 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
6025 macro.
6026 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
6027
5d304e47
AK
60282011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6029
6030 * config/s390/s390-protos.h (s390_label_align): New prototype.
6031 * config/s390/s390.c (s390_label_align): New function.
6032 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
6033
93b826f0
MM
60342011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
6035
6036 PR target/47755
6037 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
6038 V2DI/V2DF constants. Only all 0's or all 1's are easy.
6039 (output_vec_const_move): Ditto.
6040
ef78aed6
AS
60412011-03-08 Anatoly Sokolov <aesok@post.ru>
6042
6043 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
6044 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
6045 * config/mips/mips.c (mips_preferred_reload_class): Make static.
6046 Change 'rclass' argument and result type to reg_class_t.
6047 (TARGET_PREFERRED_RELOAD_CLASS): Define.
6048
5f892aa0
GJL
60492011-03-08 Georg-Johann Lay <avr@gjlay.de>
6050
9e43ad68
UB
6051 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
6052 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
6053 (TARGET_MEMORY_MOVE_COST): Define.
6054 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 6055
32bd2409
JJ
60562011-03-08 Jakub Jelinek <jakub@redhat.com>
6057
530a4800
JJ
6058 PR debug/47881
6059 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
6060 removed anything.
6061
32bd2409
JJ
6062 PR tree-optimization/48022
6063 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
6064 for EQ/NE_EXPR.
6065
c7148991
JJ
60662011-03-07 Jakub Jelinek <jakub@redhat.com>
6067
6068 PR debug/47991
6069 * var-tracking.c (find_use_val): Return NULL for
6070 cui->sets && cui->store_p BLKmode MEMs.
6071
43070a6e
AS
60722011-03-07 Anatoly Sokolov <aesok@post.ru>
6073
6074 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
6075 Remove.
6076 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
6077 xstormy16_print_operand_address): Remove.
6078 * config/stormy16/stormy16.c (xstormy16_print_operand,
6079 xstormy16_print_operand_address): Make static.
6080 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
6081
efbe978b 60822011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
6083
6084 PR target/47862
6085 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
6086 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
6087 before definition.
6088
cec8ac0b
ZD
60892011-03-07 Zdenek Dvorak <ook@ucw.cz>
6090
6091 PR bootstrap/48000
6092 * cfgloopmanip.c (fix_bb_placements): Return immediately
6093 if FROM is BASE_LOOP's header.
6094
59527282
PW
60952011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
6096
6097 * gimplify.c (gimplify_function_tree): Fix building calls
6098 to __builtin_return_address.
6099
617718f7
AM
61002011-03-07 Alan Modra <amodra@gmail.com>
6101
6102 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
6103 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
6104 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
6105 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
6106 return_mode args.
6107 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
6108 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
6109 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
6110 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
6111 * config/rs6000/rs6000.c
6112 (rs6000_elf_end_indicate_exec_stack): Rename to..
6113 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
6114 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
6115 (rs6000_file_start): ..here.
6116 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
6117 file scope variables.
6118 (call_ABI_of_interest): New function.
6119 (init_cumulative_args): Set above vars when function return value
6120 is a float, vector, or small struct.
6121 (rs6000_function_arg_advance_1): Likewise for function args.
6122 (rs6000_va_start): Set rs6000_passes_float if variable arg function
6123 references float args.
6124
38528d50
MX
61252011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
6126
6127 * doc/cfg.texi: Remove "See" before @ref.
6128 * doc/invoke.texi: Likewise.
6129
f42cf4f4
JM
61302011-03-05 Jason Merrill <jason@redhat.com>
6131
6132 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
6133
804a304d
AG
61342011-03-05 Anthony Green <green@moxielogic.com>
6135
6136 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
6137
634ee309
ZD
61382011-03-05 Zdenek Dvorak <ook@ucw.cz>
6139
6140 PR rtl-optimization/47899
6141 * cfgloopmanip.c (fix_bb_placements): Fix first argument
6142 to flow_loop_nested_p when moving the loop upward.
6143
6fe471c8
RE
61442011-03-05 Richard Earnshaw <rearnsha@arm.com>
6145
6146 PR target/47719
6147 * arm.md (movhi_insn_arch4): Accept any immediate constant.
6148
cc58ceee
JJ
61492011-03-05 Jakub Jelinek <jakub@redhat.com>
6150
6151 PR tree-optimization/47967
6152 * ipa-cp.c (build_const_val): Return NULL instead of creating
6153 VIEW_CONVERT_EXPR for mismatching sizes.
6154 (ipcp_create_replace_map): Return NULL if build_const_val failed.
6155 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
6156 give up on versioning.
6157
ea868305
AM
61582011-03-05 Alan Modra <amodra@gmail.com>
6159
6160 PR target/47986
6161 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
6162 full cmodel medium/large lo_sum + high addresses.
6163
bc6ce334
AK
61642011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6165
6166 * config/s390/s390.c (s390_decompose_address): Reject non-literal
6167 pool references in UNSPEC_LTREL_OFFSET.
6168
87e7b310
JH
61692011-03-04 Jan Hubicka <jh@suse.cz>
6170
6171 PR lto/47497
6172 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
6173 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
6174 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
6175 Add node pointers.
87e7b310
JH
6176 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
6177 cgraph_add_thunk): Add node pointers.
6178 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
6179 associated to right node.
6180 (input_node): Update use of cgraph_same_body_alias
6181 and cgraph_add_thunk.
6182
d9c64246
CF
61832011-03-04 Changpeng Fang <changpeng.fang@amd.com>
6184
6185 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
6186 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
6187 modes when the flag -mprefer-avx128 is on.
d9c64246 6188
08707076
RS
61892011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
6190
6191 * dwarf2out.c (compare_loc_operands): Fix address handling.
6192
52517c81
AM
61932011-03-04 Alan Modra <amodra@gmail.com>
6194
6195 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
6196
b147c5b9
RG
61972011-03-04 Richard Guenther <rguenther@suse.de>
6198
6199 PR middle-end/47968
6200 * expmed.c (extract_bit_field_1): Prefer vector modes that
6201 vec_extract patterns can handle.
6202
8750672f
RG
62032011-03-04 Richard Guenther <rguenther@suse.de>
6204
6205 PR middle-end/47975
6206 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
6207
9eac0f2a
RH
62082011-03-04 Richard Henderson <rth@redhat.com>
6209
6210 * explow.c (emit_stack_save): Remove 'after' parameter.
6211 (emit_stack_restore): Likewise.
6212 * expr.h: Update to match.
6213 * builtins.c, calls.c, stmt.c: Likewise.
6214 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
6215 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
6216 * function.c (expand_function_end): Insert the emit_stack_save
6217 sequence before parm_birth_insn instead of after.
6218
dfee1406
UB
62192011-03-03 Uros Bizjak <ubizjak@gmail.com>
6220
6221 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
6222 (ssse3_pmaddubsw128): Ditto.
6223 (ssse3_pmaddubsw): Ditto.
6224
f1d4c3de
SE
62252011-03-03 Steve Ellcey <sje@cup.hp.com>
6226
6227 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
6228
71f3a3f5
JJ
62292011-03-03 Jakub Jelinek <jakub@redhat.com>
6230
423ed416
JJ
6231 PR c/47963
6232 * gimplify.c (omp_add_variable): Only call omp_notice_variable
6233 on TYPE_SIZE_UNIT if it is a DECL.
6234
71f3a3f5
JJ
6235 PR debug/47283
6236 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
6237 first operand is not is_gimple_mem_ref_addr, try to fold it.
6238 If the operand still isn't is_gimple_mem_ref_addr, clear
6239 MEM_EXPR on op0.
6240
4b1a5c0d
RG
62412011-03-03 Richard Guenther <rguenther@suse.de>
6242
6243 PR middle-end/47283
6244 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
6245 match comment.
6246 (refs_may_alias_p_1): For release branches return true if
6247 we are confused by our input.
6248
b46616fd
AK
62492011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6250
6251 * config/s390/s390.c (s390_function_value): Rename to ...
6252 (s390_function_and_libcall_value): ... this.
6253 (s390_function_value): New function.
6254 (s390_libcall_value): New function.
dfee1406 6255 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
6256 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
6257 target macro definitions.
6258 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
6259
46d8fabb
JM
62602011-03-02 Joseph Myers <joseph@codesourcery.com>
6261
6262 * config/i386/freebsd64.h (CC1_SPEC): Define.
6263 * config/i386/linux64.h (CC1_SPEC): Define.
6264 * config/i386/x86-64.h (CC1_SPEC): Don't define.
6265
6b1ce545
AS
62662011-03-02 Anatoly Sokolov <aesok@post.ru>
6267
6268 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
6269 Remove.
6270 * config/stormy16/stormy16.c: Include reload.h.
6271 (xstormy16_memory_move_cost): New function.
6272 (TARGET_MEMORY_MOVE_COST): Define.
6273
34161e98
RS
62742011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
6275
6276 PR rtl-optimization/47925
6277 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
6278 with side effects. Remove the more-specific check for volatile asms.
6279
f60a97cf
AM
62802011-03-02 Alan Modra <amodra@gmail.com>
6281
6282 PR target/47935
6283 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
6284 toc relative addresses for valid offsets.
6285
f2ca11ca
RG
62862011-03-01 Richard Guenther <rguenther@suse.de>
6287
6288 PR tree-optimization/47890
6289 * tree-vect-loop.c (get_initial_def_for_induction): Set
6290 related stmt properly.
6291
7a00d9ea
RG
62922011-03-01 Richard Guenther <rguenther@suse.de>
6293
6294 PR lto/47924
6295 * lto-streamer.c (lto_record_common_node): Also register
6296 the canonical type.
6297
06c7edcc
RG
62982011-03-01 Richard Guenther <rguenther@suse.de>
6299
6300 PR lto/46911
6301 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
6302 Do not stream DECL_ABSTRACT_ORIGIN.
6303 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
6304 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
6305 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
6306 Do not stream DECL_ABSTRACT_ORIGIN.
6307 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
6308 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
6309
998871e9
AS
63102011-02-28 Anatoly Sokolov <aesok@post.ru>
6311
6312 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
6313 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 6314 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
6315 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
6316 Add 'outgoing' argument.
6317 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
6318 function.
6319 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
6320 TARGET_FUNCTION_VALUE_REGNO_P): Define.
6321
94369251
KT
63222011-02-28 Kai Tietz <kai.tietz@onevision.com>
6323
6324 PR debug/28047
6325 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
6326 (lookup_filename): Likewise.
b2e2ea67 6327 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 6328
80a832cd
JJ
63292011-02-28 Bernd Schmidt <bernds@codesourcery.com>
6330 Jakub Jelinek <jakub@redhat.com>
6331
6332 PR middle-end/47893
6333 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
6334 (assign_stack_local_1): Change last argument type to int.
6335 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
6336 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 6337 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
6338 (assign_stack_local): Adjust caller.
6339 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
6340 of assign_stack_local, pass 0 as last argument.
6341 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
6342 callers.
6343
1b500976
JJ
63442011-02-28 Jakub Jelinek <jakub@redhat.com>
6345
f61c6f34
JJ
6346 PR debug/47283
6347 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
6348 Use target address_mode and pointer_mode hooks instead of hardcoded
6349 Pmode and ptr_mode. Handle some simple cases of extending if
6350 POINTERS_EXTEND_UNSIGNED < 0.
6351 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
6352 Call convert_debug_memory_address.
6353 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
6354 convert_debug_memory_address.
6355
1b500976
JJ
6356 PR middle-end/46790
6357 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
6358 * configure: Regenerated.
6359 * config.in: Regenerated.
6360 * varasm.c (default_function_section): Return NULL
b2e2ea67 6361 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 6362
2f2935b6
MJ
63632011-02-28 Martin Jambor <mjambor@suse.cz>
6364
6365 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
6366 the description to match the printed values.
6367
474086eb
RG
63682011-02-28 Richard Guenther <rguenther@suse.de>
6369
6370 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
6371 of the copied scope tree.
6372
15bf6f3a
RW
63732011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6374
6375 * doc/extend.texi (Function Attributes): Avoid deeply (and
6376 wrongly) nested tables.
6377
f6b439c9
JJ
63782011-02-27 Jakub Jelinek <jakub@redhat.com>
6379
6380 PR middle-end/47903
6381 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
6382 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
6383 r isn't op0 nor op1.
6384
1d8ca2c7
GJL
63852011-02-23 Georg-Johann Lay <avr@gjlay.de>
6386
6387 * config/avr/avr.md: Remove magic comment for emacs.
6388
593fca4b
GJL
63892011-02-23 Georg-Johann Lay <avr@gjlay.de>
6390
6391 PR target/45261
6392 * config/avr/avr.c (avr_option_override): Use error on bad options.
6393 (avr_help): New function.
6394 (TARGET_HELP): Define.
6395
6609216e
GJL
63962011-02-22 Georg-Johann Lay <avr@gjlay.de>
6397
6398 PR target/42240
6399 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
6400 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
6401
03d458af
GP
64022011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
6403
6404 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
6405 (ARM Options): Ditto.
6406 (i386 and x86-64 Options): Ditto.
6407 (RX Options): Ditto.
6408 (SPARC Options): Ditto.
6409
1c379b78
TC
64102011-02-26 Tijl Coosemans <tijl@coosemans.org>
6411
6412 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
6413 FreeBSD 6 and later. Generally use cpu generic.
6414
d5ed058c 64152011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 6416
d5ed058c
GP
6417 * doc/cpp.texi: Update copyright years.
6418
509d65dd 64192011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 6420
509d65dd 6421 PR target/46898
308d39cd
SB
6422 * config/lm32/lm32.md (ashrsi3): Added needed variable.
6423
509d65dd 64242011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 6425
509d65dd 6426 PR target/46898
308d39cd
SB
6427 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
6428 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
6429 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
6430 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 6431 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
6432 (gen_int_relational): Move declarations to start of function.
6433
822ba6d7
EB
64342011-02-25 Eric Botcazou <ebotcazou@adacore.com>
6435
6436 PR tree-optimization/45470
6437 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
6438 can throw internally only.
6439 * tree-vect-stmts.c (vectorizable_call): Likewise.
6440
ef795fc2
AS
64412011-02-24 Anatoly Sokolov <aesok@post.ru>
6442
6443 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
6444 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
6445 * config/stormy16/stormy16-protos.h
6446 (xstormy16_preferred_reload_class): Remove.
6447 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
6448 static. Change 'rclass' argument and return type to reg_class_t.
6449 (TARGET_PREFERRED_RELOAD_CLASS,
6450 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
6451
1c3277ee
RG
64522011-02-24 Richard Guenther <rguenther@suse.de>
6453
6454 * lto-streamer-in.c (input_bb): Do not find referenced vars
6455 in debug statements.
6456
67e18edb
JM
64572011-02-23 Jason Merrill <jason@redhat.com>
6458
6459 * common.opt (fabi-version): Document v5 and v6.
6460
b14fad9d
RG
64612011-02-23 Richard Guenther <rguenther@suse.de>
6462
6463 PR tree-optimization/47849
6464 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
6465
7fcf46f5
JZ
64662011-02-23 Jie Zhang <jie@codesourcery.com>
6467
6468 * opts-common.c (decode_cmdline_option): Print empty string
6469 argument as "" in decoded->orig_option_with_args_text.
6470 * gcc.c (execute): Print empty string argument as ""
6471 in the verbose output.
6472 (do_spec_1): Keep empty string argument.
6473
f85b70fd
NF
64742011-02-23 Nathan Froyd <froydnj@codesourcery.com>
6475
6476 * config.gcc: Declare score-* and crx-* obsolete.
6477
b152a615
JZ
64782011-02-23 Jie Zhang <jie@codesourcery.com>
6479
6480 PR rtl-optimization/47763
6481 * web.c (web_main): Ignore naked clobber when replacing register.
6482
bb6e77bc
AS
64832011-02-22 Anatoly Sokolov <aesok@post.ru>
6484
6485 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
6486 Remove.
6487
68bf6491
SP
64882011-02-22 Sebastian Pop <sebastian.pop@amd.com>
6489
6490 PR doc/47848
6491 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
6492
88ee1fc7
MS
64932011-02-22 Mike Stump <mikestump@comcast.net>
6494
6495 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
6496 assembler.
6497 * configure: Regenerate.
6498
6042d1dd
CLT
64992011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
6500
6501 PR rtl-optimization/46002
6502 * ira-color.c (update_copy_costs): Change class intersection
6503 test to reg_class_contents[] test of 'hard_regno'.
6504
7de97f9e
JM
65052011-02-21 Joseph Myers <joseph@codesourcery.com>
6506
6507 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
6508 than Driver option.
6509 * config/hpux11.opt (mt): Likewise.
6510 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
6511 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
6512 * config/vax/elf.opt (mno-asm-pic): Likewise.
6513 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
6514
d1d46f9f
MS
65152011-02-21 Mike Stump <mikestump@comcast.net>
6516
6517 PR target/47822
6518 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
6519 tree so we can get save the type.
6520 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
6521 for CFString instead of trying to use past the end of the builtins.
6522 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
6523 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
6524 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
6525 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
6526 Rename to darwin_builtin_cfstring.
6527 (darwin_init_cfstring_builtins): Return the built type.
6528
23e0d930
UB
65292011-02-21 Uros Bizjak <ubizjak@gmail.com>
6530
6531 PR target/47840
6532 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
6533 (_mm256_insert_epi64): Use _mm_insert_epi64.
6534
192997cf
AS
65352011-02-21 Anatoly Sokolov <aesok@post.ru>
6536
6537 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
6538 * config/stormy16/stormy16-protos.h
6539 (xstormy16_mode_dependent_address_p): Remove.
6540 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
6541 Make static. Change return type to bool. Change argument type to
6542 const_rtx. Remove dead code.
6543 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
6544
e292d003
RG
65452011-02-21 Richard Guenther <rguenther@suse.de>
6546
6547 PR lto/47820
6548 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
6549 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
6550 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
6551 TUs context.
23e0d930 6552 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
6553 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
6554
77f846e9
RG
65552011-02-20 Richard Guenther <rguenther@suse.de>
6556
6557 PR lto/47822
6558 * tree.c (free_lang_data_in_decl): Clean builtins from
6559 the TU decl BLOCK_VARS.
23e0d930 6560
b2cddfc8
AO
65612011-02-19 Alexandre Oliva <aoliva@redhat.com>
6562
6563 PR debug/47620
6564 PR debug/47630
6565 * haifa-sched.c (fix_tick_ready): Skip tick computation
6566 for debug insns.
6567
becf4c11
RG
65682011-02-19 Richard Guenther <rguenther@suse.de>
6569
6570 PR lto/47647
6571 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
6572 Remove lazy BLOCK_VARS streaming.
6573 (lto_input_ts_block_tree_pointers): Likewise.
6574 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
6575
27f98305
JM
65762011-02-19 Joseph Myers <joseph@codesourcery.com>
6577
6578 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
6579
064bf3f4
JM
65802011-02-19 Joseph Myers <joseph@codesourcery.com>
6581
6582 * config/i386/biarch32.h, config/i386/mach.h,
6583 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
6584
9215ddc3
JJ
65852011-02-19 Jakub Jelinek <jakub@redhat.com>
6586
6587 PR target/47800
6588 * config/i386/i386.md (peephole2 for shift and plus): Use
6589 operands[1] original mode in the first insn.
6590
8b021004
MS
65912011-02-18 Mike Stump <mikestump@comcast.net>
6592
65ded153 6593 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 6594
f84ae14c
JH
65952011-02-18 Jan Hubicka <jh@suse.cz>
6596
6597 PR middle-end/47788
65ded153
EB
6598 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
6599 to zero when the function is not inlinable at all.
f84ae14c 6600
eddabc80
JDA
66012011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6602
6603 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
6604 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
6605 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
6606 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
6607 * config/pa/t-pa64: Likewise.
6608 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
6609
ca3da783
JJ
66102011-02-18 Jakub Jelinek <jakub@redhat.com>
6611
6612 PR driver/47787
6613 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
6614
430aa868
JDA
66152011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6616
6617 PR target/47792
6618 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
6619
4bf7ff7e
AS
66202011-02-18 Anatoly Sokolov <aesok@post.ru>
6621
6622 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
6623 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
6624 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
6625 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
6626 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
6627 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
6628 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
6629 m32r_load_postinc_p, m32r_store_preinc_predec_p,
6630 m32r_legitimate_address_p): New functions.
6631 * config/m32r/constraints.md (constraint "S"): Don't use
6632 STORE_PREINC_PREDEC_P.
6633 (constraint "U"): Don't use LOAD_POSTINC_P.
6634
7efcf910
CLT
66352011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
6636
6637 PR rtl-optimization/46178
6638 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
6639 compute ira_hard_regno_cover_class[].
6640
237d6259
RG
66412011-02-18 Richard Guenther <rguenther@suse.de>
6642
6643 PR lto/47798
6644 * lto-streamer.h (lto_global_var_decls): Declare.
6645 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
6646 statics for global var processing.
6647
12d80acc
RG
66482011-02-18 Richard Guenther <rguenther@suse.de>
6649
6650 PR tree-optimization/47737
6651 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
6652 edge dominance check.
6653
abfea58d
JJ
66542011-02-18 Jakub Jelinek <jakub@redhat.com>
6655
6656 PR debug/47780
6657 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
6658 avoid invalid rtx sharing.
6659
f73c8882
GP
66602011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
6661
6662 * doc/cpp.texi (Obsolete Features): Add background on the
6663 origin of assertions.
6664
d764a8e6
IS
66652011-02-17 Iain Sandoe <iains@gcc.gnu.org>
6666
6667 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 6668 objc_abi == 2.
d764a8e6
IS
6669 * config/darwin.c (output_objc_section_asm_op): Added support for
6670 ABI v1 and v2.
6671 (is_objc_metadata): New.
6672 (darwin_objc2_section): New.
6673 (darwin_objc1_section): New.
6674 (machopic_select_section): Added support for ABI v1 and v2.
6675 (darwin_emit_objc_zeroed): New.
6676 (darwin_output_aligned_bss): Detect objc metadata and treat it
6677 appropriately.
6678 (darwin_asm_output_aligned_decl_common): Same.
6679 (darwin_asm_output_aligned_decl_local): Same.
6680 * config/darwin-sections.def: Updated for ABI v1 and v2.
6681 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
6682 compiling Objective-C code for the NeXT runtime, default to using
6683 ABI version 0 for 32-bit, and version 2 for 64-bit.
6684
0a8134ca
JM
66852011-02-17 Joseph Myers <joseph@codesourcery.com>
6686
6687 * common.opt (optimize_fast): New Variable.
6688 * opts.c (default_options_optimization): Use opts->x_optimize_fast
6689 instead of local variable ofast.
6690
0a256240
NP
66912011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
6692
6693 * doc/invoke.texi (fobjc-abi-version): Documented.
6694 (fobjc-nilcheck): Documented.
6695 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
6696 version.
6697
fa381cb2
JM
66982011-02-17 Joseph Myers <joseph@codesourcery.com>
6699
6700 PR driver/47390
6701 * common.opt (export-dynamic): New Driver option.
6702 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
6703
5437eaa6
JM
67042011-02-17 Joseph Myers <joseph@codesourcery.com>
6705
6706 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
6707
bb7e6d55
AO
67082011-02-17 Alexandre Oliva <aoliva@redhat.com>
6709 Jan Hubicka <jh@suse.cz>
6710
6711 PR debug/47106
6712 PR debug/47402
6713 * cfgexpand.c (account_used_vars_for_block): Remove.
6714 (estimated_stack_frame_size): Use referenced vars.
6715 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
6716 that were referenced in the original function. Test src_fn
6717 rather than cfun. Drop redundant get_var_ann.
6718 (setup_one_parameter): Drop redundant get_var_ann.
6719 (declare_return_variable): Likewise.
6720 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
6721 (copy_arguments_for_versioning): Drop redundant get_var_ann.
6722 * ipa-inline.c (compute_inline_parameters): Do not compute
6723 disregard_inline_limits here.
bb7e6d55
AO
6724 (compute_inlinable_for_current, pass_inlinable): New.
6725 (pass_inline_parameters): Require PROP_referenced_vars.
6726 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 6727 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
6728 (cgraph_analyze_function): Set .disregard_inline_limits.
6729 * tree-sra.c (convert_callers): Compute inliner parameters
6730 only for functions already in SSA form.
6731
f181a8a7
JM
67322011-02-17 Joseph Myers <joseph@codesourcery.com>
6733
6734 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
6735 -mlittle-endian-data.
6736
c6869789
JM
67372011-02-17 Joseph Myers <joseph@codesourcery.com>
6738
6739 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
6740 -mno-fpu, not -fpu and -no-fpu.
6741 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
6742 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
6743
fbf4bfd3
UB
67442011-02-17 Uros Bizjak <ubizjak@gmail.com>
6745
6746 PR target/43653
6747 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
6748 input reload with PLUS RTX.
6749
70be5dc7
JM
67502011-02-16 Joseph Myers <joseph@codesourcery.com>
6751
6752 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
6753 of InverseVar(MDMX).
6754
30b1646e
JM
67552011-02-16 Joseph Myers <joseph@codesourcery.com>
6756
6757 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
6758 --m4-340.
6759
ab7b71e9
JM
67602011-02-16 Joseph Myers <joseph@codesourcery.com>
6761
6762 * config/mn10300/mn10300.opt (mno-crt0): New.
6763
466f3f08
JM
67642011-02-16 Joseph Myers <joseph@codesourcery.com>
6765
6766 * config/m68k/uclinux.opt (static-libc): New Driver option.
6767
8226cd7b
JM
67682011-02-16 Joseph Myers <joseph@codesourcery.com>
6769
6770 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
6771
45cab1d7
JM
67722011-02-16 Joseph Myers <joseph@codesourcery.com>
6773
6774 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
6775 %{muser-extend-enabled}.
6776
65aab64f
RG
67772011-02-16 Richard Guenther <rguenther@suse.de>
6778
6779 PR tree-optimization/47738
6780 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
6781 the TODO from tree_predictive_commoning.
6782
fc2fa4fb
JL
67832011-02-15 Jeff Law <law@redhat.com>
6784
6785 Revert
6786 2011-01-25 Jeff Law <law@redhat.com>
6787
6788 PR rtl-optimization/37273
6789 * ira-costs.c (scan_one_insn): Detect constants living in memory and
6790 handle them like argument loads from stack slots. Do not double
6791 count memory for memory constants and argument loads from stack slots.
6792
4e380b8e
L
67932011-02-15 H.J. Lu <hongjiu.lu@intel.com>
6794
6795 PR middle-end/47725
6796 * combine.c (cant_combine_insn_p): Revert the last change.
6797
e3a69bb4
MM
67982011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
6799
6800 PR target/47755
6801 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
6802 mode for vector constants. Remove code that checks for TImode.
6803
de650422
AO
68042011-02-15 Alexandre Oliva <aoliva@redhat.com>
6805
6806 PR debug/47106
6807 PR debug/47402
6808 * cgraph.h (compute_inline_parameters): Return void.
6809 * ipa-inline.c (compute_inline_parameters): Adjust.
6810
30925d94
AO
68112011-02-15 Alexandre Oliva <aoliva@redhat.com>
6812
6813 PR debug/47106
6814 PR debug/47402
6815 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
6816 rather than decl.
6817 * cfgexpand.c (estimated_stack_frame_size): Likewise.
6818 * ipa-inline.c (compute_inline_parameters): Adjust.
6819
1b9a784a
AO
68202011-02-15 Alexandre Oliva <aoliva@redhat.com>
6821
6822 PR debug/47106
6823 PR debug/47402
6824 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
6825 Adjust all users. Pass FN to...
6826 * tree-flow-inline.h (first_referenced_var): ... this. Add
6827 fn argument.
6828 * ipa-struct-reorg.c: Adjust.
6829 * tree-dfa.c: Adjust.
6830 * tree-into-ssa.c: Adjust.
6831 * tree-sra.c: Adjust.
6832 * tree-ssa-alias.c: Adjust.
6833 * tree-ssa-live.c: Adjust.
6834 * tree-ssa.c: Adjust.
6835 * tree-ssanames.c: Adjust.
6836 * tree-tailcall.c: Adjust.
6837
27c6b086
AO
68382011-02-15 Alexandre Oliva <aoliva@redhat.com>
6839
6840 PR debug/47106
6841 PR debug/47402
6842 * tree-flow.h (referenced_var_lookup): Add fn parameter.
6843 Adjust all callers.
6844 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
6845 * tree-flow-inline.h: Adjust.
6846 * gimple-pretty-print.c: Adjust.
6847 * tree-into-ssa.c: Adjust.
6848 * tree-ssa.c: Adjust.
6849 * cfgexpand.c: Adjust.
6850
679e8183
NF
68512011-02-15 Nathan Froyd <froydnj@codesourcery.com>
6852
fbf4bfd3
UB
6853 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
6854 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
6855 (EXTRA_CONSTRAINT): Delete.
6856 * config/iq2000/constraints.md: New file.
6857 * config/iq2000/iq2000.md: Include it.
679e8183
NF
6858 (define_insn ""): Delete.
6859 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
6860 unsupported constraint letters from patterns.
6861 (call_value, call_value_internal1): Likewise.
6862 (call_value_multiple_internal1): Likewise.
6863
a45d420a
NC
68642011-02-15 Nick Clifton <nickc@redhat.com>
6865
6866 * config/mn10300/mn10300.c: Include tm-constrs.h.
6867 (struct liw_data): New data structure describing an LIW candidate
6868 instruction.
6869 (extract_bundle): Use struct liw_data. Allow small integer
6870 operands for some instructions.
6871 (check_liw_constraints): Use struct liw_data. Remove swapped
6872 parameter. Add comments describing the checks. Fix bug when
6873 assigning the source of liw1 to the source of liw2.
6874 (liw_candidate): Delete. Code moved into extract_bundle.
6875 (mn10300_bundle_liw): Use struct liw_data. Check constraints
6876 before swapping.
6877 * config/mn10300/predicates.md (liw_operand): New predicate.
6878 Allows registers and small integer constants.
6879 * config/mn10300/constraints.md (O): New constraint. Accetps
6880 integers in the range -8 to +7 inclusive.
6881 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
6882 for moving a small integer into a register. Give this alternative
6883 LIW attributes.
6884 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
6885 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
6886 using the J,K,L and M constraints,
6887 (liw): Remove SI mode on second operands to allow for HI and QI
6888 mode values.
6889 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
6890 instruction.
6891
8a73faf1
L
68922011-02-15 H.J. Lu <hongjiu.lu@intel.com>
6893
6894 PR middle-end/47725
6895 * combine.c (cant_combine_insn_p): Check zero/sign extended
6896 hard registers.
6897
48feba28
RG
68982011-02-15 Richard Guenther <rguenther@suse.de>
6899
6900 PR tree-optimization/47743
6901 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
6902 for a non-type-compatible VN lookup bail out.
6903
ad1c1eeb
NF
69042011-02-15 Nathan Froyd <froydnj@codesourcery.com>
6905
6906 * config/fr30/constraints.md: New file.
6907 * config/fr30/fr30.md: Include it.
6908 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
6909 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
6910 (EXTRA_CONSTRAINT): Delete.
6911
49ac143d
NF
69122011-02-15 Nathan Froyd <froydnj@codesourcery.com>
6913
6914 * config/frv/constraints.md: New file.
6915 * config/frv/predicates.md: Include it.
6916 * config/frv/frv.c (reg_class_from_letter): Delete.
6917 (frv_option_override): Don't initialize it.
6918 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
6919 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
6920 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
6921 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
6922 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
6923 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
6924 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
6925 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
6926 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
6927 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
6928 (REG_CLASS_FROM_CONSTRAINT): Delete.
6929
c95f9494
JJ
69302011-02-15 Jakub Jelinek <jakub@redhat.com>
6931
6932 PR middle-end/47581
6933 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
6934 if frame size is 0 in a leaf function.
6935
13aed611
RO
69362011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6937
6938 PR pch/14940
6939 * config/alpha/host-osf.c: New file.
6940 * config/alpha/x-osf: New file.
6941 * config.host (alpha*-dec-osf*): Use it.
6942
b09c3081
AS
69432011-02-14 Anatoly Sokolov <aesok@post.ru>
6944
6945 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
6946 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
6947 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
6948 (rx_mode_dependent_address_p): ...this. Make static. Change argument
6949 type to const_rtx.
6950 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
6951
d634083b
NF
69522011-02-14 Nathan Froyd <froydnj@codesourcery.com>
6953
6954 * config/stormy16/constraints.md: New file.
6955 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
6956 Use satisfies_constraint_Q and satisfies_constraint_R.
6957 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
6958 Delete.
6959 (xstormy16_legitiamte_address_p): Declare.
6960 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
6961 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
6962 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 6963 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
6964 Un-staticize.
6965 (xstormy16_extra_constraint_p): Delete.
6966
c7dd803e
EB
69672011-02-14 Eric Botcazou <ebotcazou@adacore.com>
6968
6969 PR tree-optimization/46494
6970 * loop-unroll.c (split_edge_and_insert): Adjust comment.
6971 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
6972 (pass_rtl_loop_done): Add TODO_verify_flow.
6973 * fwprop.c (pass_rtl_fwprop): Likewise.
6974 * modulo-sched.c (pass_sms): Likewise.
6975 * tree-ssa-dom.c (pass_dominator): Likewise.
6976 * tree-ssa-loop-ch.c (pass_ch): Likewise.
6977 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
6978 (pass_tree_loop_done): Likewise.
6979 * tree-ssa-pre.c (execute_pre): Likewise.
6980 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
6981 * tree-ssa-sink.c (pass_sink_code): Likewise.
6982 * tree-vrp.c (pass_vrp): Likewise.
6983
c6150df6
NF
69842011-02-14 Nathan Froyd <froydnj@codesourcery.com>
6985
c7dd803e
EB
6986 * config/v850/constraints.md: New file.
6987 * config/v850/v850.md: Include it.
6988 * config/v850/predicates.md (reg_or_0_operand): Use
6989 satisfies_constraint_G.
6990 (special_symbolref_operand): Use satisfies_constraint_K.
6991 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
6992 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
6993 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
6994 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
6995 (EXTRA_CONSTRAINT): Delete.
6996 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
6997 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
6998 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 6999
30dd1ea3
AS
70002011-02-14 Anatoly Sokolov <aesok@post.ru>
7001
7002 PR target/47696
7003 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
7004 description.
7005
944f4bb3
NF
70062011-02-14 Nathan Froyd <froydnj@codesourcery.com>
7007
7008 * config/mcore/constraints.md: New file.
7009 * config/mcore/mcore.md: Include it.
7010 * config/mcore/mcore.c (reg_class_from_letter): Delete.
7011 * config/mcore/mcore.h (reg_class_from_letter): Delete.
7012 (REG_CLASS_FROM_LETTER): Delete.
7013 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
7014 insn_const_int_ok_for_constraint.
7015 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
7016 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
7017 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
7018 (EXTRA_CONSTRAINT): Delete.
7019
ad56a54c
RO
70202011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7021
7022 PR ada/41929
7023 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
7024 (IS_SIGHANDLER): Define.
7025 (sparc64_is_sighandler): New function, split off from
7026 sparc64_fallback_frame_state.
7027 (sparc_is_sighandler): New function, split off from
7028 sparc_fallback_frame_state.
7029 (sparc64_fallback_frame_state): Merge with ...
7030 (sparc_fallback_frame_state): ... this into ...
7031 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
7032 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
7033 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
7034 stack instead of hardcoded offsets.
ad56a54c 7035
fbf4bfd3 70362011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
7037
7038 PR target/45808
7039 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
7040
029c8f3e
RW
70412011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7042
7043 * configure: Regenerate.
7044
a016dc83
JM
70452011-02-12 Joseph Myers <joseph@codesourcery.com>
7046
7047 PR driver/45731
7048 * gcc.c (asm_options): Correct spec matching --target-help.
7049
8957a0ec
MJ
70502011-02-12 Martin Jambor <mjambor@suse.cz>
7051
7052 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
7053 to gimple call error.
7054
6ef828bc
MS
70552011-02-12 Mike Stump <mikestump@comcast.net>
7056
7057 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
7058 comments in backslash regions.
7059
a4015be5
MS
70602011-02-12 Mike Stump <mikestump@comcast.net>
7061 Jakub Jelinek <jakub@redhat.com>
7062 Iain Sandoe <iains@gcc.gnu.org>
7063
7064 PR target/47324
7065 * dwarf2out.c (output_cfa_loc): When required, apply the
7066 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
7067 (output_loc_sequence): Likewise.
7068 (output_loc_operands_raw): Likewise.
7069 (output_loc_sequence_raw): Likewise.
7070 (output_cfa_loc): Likewise.
7071 (output_loc_list): Suppress register number adjustment when
7072 calling output_loc_sequence()
7073 (output_die): Likewise.
7074
5378dda2
AS
70752011-02-12 Anatoly Sokolov <aesok@post.ru>
7076
7077 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
7078 Remove macros.
7079 * config/xtensa/xtensa.c (xtensa_register_move_cost,
7080 xtensa_memory_move_cost): New functions.
7081 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
7082
f3d533d3
AO
70832011-02-12 Alexandre Oliva <aoliva@redhat.com>
7084
7085 PR lto/47225
7086 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
7087 in the current directory.
7088 * configure: Rebuilt.
7089
9d53403c
IS
70902011-02-12 Iain Sandoe <iains@gcc.gnu.org>
7091
7092 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 7093 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
7094 correct indents of the preceding block.
7095
a350a6c8
IS
70962011-02-12 Iain Sandoe <iains@gcc.gnu.org>
7097
7098 * gcc.c (driver_handle_option): Concatenate the argument to -F with
7099 the switch.
7100
bab79a40
JM
71012011-02-11 Joseph Myers <joseph@codesourcery.com>
7102
7103 * common.opt (nostartfiles): New Driver option.
7104
1bbc6693
XDL
71052011-02-11 Xinliang David Li <davidxl@google.com>
7106
7107 PR tree-optimization/47707
7108 * tree-chrec.c (convert_affine_scev): Keep type precision.
7109
1da7d8c0
EB
71102011-02-11 Eric Botcazou <ebotcazou@adacore.com>
7111
7112 PR tree-optimization/47420
7113 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
7114
71152011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
7116
7117 PR rtl-optimization/47614
7118 * rtl.h (check_for_inc_dec): Declare.
7119 * dse.c (check_for_inc_dec): Externalize...
7120 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
7121 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
7122
4df47bca
JM
71232011-02-11 Joseph Myers <joseph@codesourcery.com>
7124
7125 PR driver/47678
7126 * gcc.c (main): Do not compile inputs if there were errors in
7127 option handling.
7128 * opts-common.c (read_cmdline_option): Check for wrong language
7129 after other error checks.
7130
61502ca8
NF
71312011-02-11 Nathan Froyd <froydnj@codesourcery.com>
7132
7133 * cgraph.c: Fix comment typos.
7134 * cgraph.h: Likewise.
7135 * cgraphunit.c: Likewise.
7136 * ipa-cp.c: Likewise.
7137 * ipa-inline.c: Likewise.
7138 * ipa-prop.c: Likewise.
7139 * ipa-pure-const.c: Likewise.
7140 * ipa-ref.c: Likewise.
7141 * ipa-reference.c: Likewise.
7142
b63f974e
JJ
71432011-02-11 Jakub Jelinek <jakub@redhat.com>
7144
d50c5e0c
JJ
7145 PR debug/47684
7146 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 7147
6dd2a13c
RO
71482011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7149
7150 PR testsuite/47400
7151 * doc/sourcebuild.texi (Require Support): Document
7152 dg-require-ascii-locale.
7153
4a087ccf
MX
71542011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
7155
7156 * doc/lto.texi (Write summary): Fix missing parentheses.
7157
a4403164
DD
71582011-02-10 DJ Delorie <dj@redhat.com>
7159
7160 * config/m32c/m32c.c (m32c_option_override): Disable
7161 -fcombine-stack-adjustments until flag value tracking and compare
7162 optimization can be rewritten.
7163
4fac45bd
PB
71642011-02-10 Peter Bergner <bergner@vnet.ibm.com>
7165
7166 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
7167 PROCESSOR_POWER7.
7168 (PROCESSOR_DEFAULT64): Likewise.
7169
72602cd1
RH
71702011-02-10 Richard Henderson <rth@redhat.com>
7171
7172 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
7173 change from 2011-02-03.
7174 * config/rx/rx.c (flags_from_code): Likewise.
7175 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
7176 is valid, n/pz otherwise.
7177 (rx_select_cc_mode): Return CCmode if Y is not zero.
7178
ea57f573
RG
71792011-02-10 Richard Guenther <rguenther@suse.de>
7180
ea4c3e65 7181 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 7182
92b1d23b
RG
71832011-02-10 Richard Guenther <rguenther@suse.de>
7184
7185 PR tree-optimization/47677
7186 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
7187
525a2d06
JJ
71882011-02-10 Jakub Jelinek <jakub@redhat.com>
7189
7190 PR target/47665
7191 * combine.c (make_compound_operation): Only change shifts into
7192 multiplication for SCALAR_INT_MODE_P.
7193
06c969bd
JZ
71942011-02-10 Jie Zhang <jie@codesourcery.com>
7195
7196 PR testsuite/47622
7197 Revert
7198 2011-02-05 Jie Zhang <jie@codesourcery.com>
7199 PR debug/42631
7200 * web.c (entry_register): Don't clobber the number of the
7201 first uninitialized reference in used[].
7202
282ec48e
RG
72032011-02-09 Richard Guenther <rguenther@suse.de>
7204
7205 PR tree-optimization/47664
7206 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
7207 all edges again.
7208
df98c3e8
DE
72092011-02-09 David Edelsohn <dje.gcc@gmail.com>
7210
d0f21cd6
DE
7211 PR target/46481
7212 PR target/47032
df98c3e8
DE
7213 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
7214 PROCESSOR_POWER7.
7215 (PROCESSOR_DEFAULT64): Same.
7216 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
7217
67b6839f
RO
72182011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7219
7220 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
7221
4fd73214
MJ
72222011-02-09 Martin Jambor <mjambor@suse.cz>
7223
7224 PR middle-end/45505
7225 * tree-sra.c (struct access): New flags grp_scalar_read and
7226 grp_scalar_write. Changed description of assignment read and write
7227 flags.
7228 (dump_access): Dump new flags, reorder all of them.
7229 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
7230 to detect multiple scalar reads.
7231 (analyze_access_subtree): Use the new scalar read write flags instead
7232 of the old flags. Adjusted comments.
7233
91140cd3
DD
72342011-02-08 DJ Delorie <dj@redhat.com>
7235
7236 PR target/47548
7237 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
7238 patterns.
7239
4254bbfe
JM
72402011-02-08 Joseph Myers <joseph@codesourcery.com>
7241
7242 * config/m68k/uclinux.opt: New.
7243 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
7244
f1fda84e
JM
72452011-02-08 Joseph Myers <joseph@codesourcery.com>
7246
7247 * config/cris/elf.opt (sim): New Driver option.
7248
4933ae74
JM
72492011-02-08 Joseph Myers <joseph@codesourcery.com>
7250
7251 * config/xtensa/elf.opt: New.
7252 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
7253
4ad70280
JM
72542011-02-08 Joseph Myers <joseph@codesourcery.com>
7255
7256 * config/vax/elf.opt: New.
7257 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
7258
20893707
JM
72592011-02-08 Joseph Myers <joseph@codesourcery.com>
7260
7261 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
7262
b8e7038e
JM
72632011-02-08 Joseph Myers <joseph@codesourcery.com>
7264
7265 * config/gnu-user.opt: New.
7266 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
7267 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
7268 *-*-uclinux*): Use gnu-user.opt.
7269
e1c5225a
TS
72702011-02-08 Thomas Schwinge <thomas@schwinge.name>
7271
7272 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
7273 * config/i386/gnu.h (CPP_SPEC): Likewise.
7274
5e46b0c6
ILT
72752011-02-08 Ian Lance Taylor <iant@google.com>
7276
7277 * common.opt (fcx-limited-range): Add SetByCombined flag.
7278 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
7279 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
7280 (fassociative-math, freciprocal-math): Likewise.
7281 (funsafe-math-optimizations): Likewise.
7282 * opth-gen.awk: Handle SetByCombined.
7283 * optc-gen.awk: Likewise.
ea4c3e65 7284 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
7285 (set_unsafe_math_optimizations_flags): Likewise.
7286 * doc/options.texi (Option properties): Document SetByCombined.
7287
32243d46
JM
72882011-02-08 Joseph Myers <joseph@codesourcery.com>
7289
7290 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
7291 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
7292 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
7293 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
7294 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
7295
479c1fb3
SP
72962011-02-08 Sebastian Pop <sebastian.pop@amd.com>
7297
7298 PR tree-optimization/46834
7299 PR tree-optimization/46994
7300 PR tree-optimization/46995
7301 * graphite-sese-to-poly.c (used_outside_reduction): New.
7302 (detect_commutative_reduction): Call used_outside_reduction.
7303 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
7304 translate_scalar_reduction_to_array only when at least one
7305 loop-phi/close-phi tuple has been detected.
7306
3865a06f
RG
73072011-02-08 Richard Guenther <rguenther@suse.de>
7308
7309 PR middle-end/47639
7310 * tree-vect-generic.c (expand_vector_operations_1): Update
7311 stmts here ...
7312 (expand_vector_operations): ... not here. Cleanup EH info
7313 and the CFG if required.
7314
62902f3f
RG
73152011-02-08 Richard Guenther <rguenther@suse.de>
7316
7317 PR tree-optimization/47641
7318 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
7319 require type compatibility.
7320
0efb9d64
AK
73212011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
7322
7323 * gimple-low.c (lower_function_body): Don't remove the location of
7324 the return statement here.
7325 (lower_gimple_return): Do it here instead but only if the return
7326 statement is actually used twice.
7327
034b8ae4
RG
73282011-02-08 Richard Guenther <rguenther@suse.de>
7329
7330 PR tree-optimization/47632
7331 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
7332 unused up_to_stmt parameter, return whether cfg-cleanup is
7333 necessary, remove EH info properly.
7334 (forward_propagate_into_gimple_cond): Adjust caller.
7335 (forward_propagate_into_cond): Likewise.
7336 (forward_propagate_comparison): Likewise.
7337 (tree_ssa_forward_propagate_single_use_vars): Make
7338 forward_propagate_comparison case similar to the two others.
7339
298362c8
NC
73402011-02-08 Nick Clifton <nickc@redhat.com>
7341
7342 * config/mn10300/mn10300.opt (mliw): New command line option.
7343 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
7344 (liw_bundling): New automaton.
7345 (liw): New attribute.
7346 (liw_op): New attribute.
7347 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
7348 (movsi_internal): Add LIW attributes.
7349 (andsi3): Likewise.
7350 (iorsi3): Likewise.
7351 (xorsi3): Likewise.
7352 (addsi3): Separate register and immediate alternatives.
7353 Add LIW attributes.
7354 (subsi3): Likewise.
7355 (cmpsi): Likewise.
7356 (aslsi3): Likewise.
7357 (lshrsi3): Likewise.
7358 (ashrsi3): Likewise.
7359 (liw): New pattern.
7360 * config/mn10300/mn10300.c (liw_op_names): New
7361 (mn10300_print_operand): Handle 'W' operand descriptor.
7362 (extract_bundle): New function.
7363 (check_liw_constraints): New function.
7364 (liw_candidate): New function.
7365 (mn10300_bundle_liw): New function.
7366 (mn10300_reorg): New function.
7367 (TARGET_MACHINE_DEPENDENT_REORG): Define.
7368 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
7369 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
7370 __LIW__ or __NO_LIW__.
7371 * doc/invoke.texi: Describe the -mliw command line option.
7372
90488014
JDA
73732011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7374
7375 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
7376 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
7377 pthread_mutex_unlock): Remove.
7378 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
7379 * config/pa/t-pa64: Likewise.
7380 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
7381 shared libc if not linking against libpthread.
7382 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
7383
689ff841
IS
73842011-02-07 Iain Sandoe <iains@gcc.gnu.org>
7385
7386 PR target/47558
7387 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
7388 on 10.6 and later to ensure that we always use the unwinder from
7389 the system. Only add -no_compact_unwind when tarteting darwin
7390 10.6 or later.
7391
821014aa
SE
73922011-02-07 Steve Ellcey <sje@cup.hp.com>
7393
7394 PR target/46997
7395 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
7396 (vec_interleave_lowv2sf): Ditto.
7397 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
7398 (vec_extract_oddv2sf): Ditto.
7399
41cf94fb
MS
74002011-02-07 Mike Stump <mikestump@comcast.net>
7401
62dea57d 7402 PR target/42333
41cf94fb
MS
7403 Add __ieee_divdc3 entry point.
7404 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
7405 entry point.
7406 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
7407 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
7408 * config/darwin.c (darwin_rename_builtins): Add.
7409 * config/darwin-protos.h (darwin_rename_builtins): Add.
7410
ee09a3dd
MM
74112011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
7412
7413 PR target/47636
7414 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
7415 for the condition.
7416
83296cd0
MS
74172011-02-07 Mike Stump <mikestump@comcast.net>
7418
ea4c3e65 7419 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 7420
0f4e946f
DC
74212011-02-07 Denis Chertykov <chertykov@gmail.com>
7422
7423 PR target/47534
7424 * config/avr/libgcc.S (exit): Move .endfunc
7425
1ec87690
RG
74262011-02-07 Richard Guenther <rguenther@suse.de>
7427
7428 PR tree-optimization/47615
7429 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
7430 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
7431 (run_scc_vn): Initialize it.
7432 (visit_reference_op_load): Use it.
7433 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
7434
b46ae6da
UW
74352011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
7436
7437 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
7438 DImode trapping arithmetic libfuncs.
7439
c0aae19c
RG
74402011-02-07 Richard Guenther <rguenther@suse.de>
7441
7442 PR tree-optimization/47621
7443 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
7444 two duplicates ...
7445 (execute_update_addresses_taken): ... here. Make it more
7446 conservative in what we accept.
7447
295d926b
JM
74482011-02-06 Joseph Myers <joseph@codesourcery.com>
7449
7450 * config/sparc/freebsd.h (ASM_SPEC): Define.
7451 * config/sparc/vxworks.h (ASM_SPEC): Define.
7452
bdeb2471
JM
74532011-02-06 Joseph Myers <joseph@codesourcery.com>
7454
7455 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
7456
d5d3781a
SB
74572011-02-06 Steven Bosscher <steven@gcc.gnu.org>
7458
7459 * doc/invoke.texi: Remove reference to compiler internals from
7460 user documentation.
7461
7462 * reg-notes.def: Remove REG_VALUE_PROFILE.
7463 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
7464
c42c09fc
JJ
74652011-02-05 Jakub Jelinek <jakub@redhat.com>
7466
7467 PR middle-end/47610
7468 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 7469 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 7470
beea2755
JZ
74712011-02-05 Jie Zhang <jie@codesourcery.com>
7472
7473 PR debug/42631
7474 * web.c (entry_register): Don't clobber the number of the
7475 first uninitialized reference in used[].
7476
a130584a
SP
74772011-02-04 Sebastian Pop <sebastian.pop@amd.com>
7478
7479 PR tree-optimization/46194
7480 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
7481 (build_classic_dist_vector_1): Do not represent classic distance
7482 vectors when the access functions are variating in different loops.
7483
962101ac
JM
74842011-02-04 Joseph Myers <joseph@codesourcery.com>
7485
7486 * config/mips/iris6.opt: New.
7487 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
7488
55eaaa5b
RH
74892011-02-04 Richard Henderson <rth@redhat.com>
7490 Steve Ellcey <sje@cup.hp.com>
7491
7492 PR target/46997
7493 * config/ia64/predicates.md (mux1_brcst_element): New.
7494 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
7495 * config/ia64/ia64.c (ia64_unpack_assemble): New.
7496 (ia64_unpack_sign): New.
7497 (ia64_expand_unpack): Rewrite using new routines.
7498 (ia64_expand_widen_sum): Ditto.
7499 (ia64_expand_dot_prod_v8qi): Ditto.
7500 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
7501 routines, add endian check.
7502 (pmpy2_even): Rename from pmpy2_r, add endian check.
7503 (pmpy2_odd): Rename from pmpy2_l, add endian check.
7504 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
7505 (vec_widen_smult_hi_v4hi): Ditto.
7506 (vec_widen_umult_lo_v4hi): Ditto.
7507 (vec_widen_umult_hi_v4hi): Ditto.
7508 (mulv2si3): Change endian checks.
7509 (sdot_prodv4hi): Rewrite with new calls.
7510 (udot_prodv4hi): New.
7511 (vec_pack_ssat_v4hi): Add endian check.
7512 (vec_pack_usat_v4hi): Ditto.
7513 (vec_pack_ssat_v2si): Ditto.
7514 (max1_even): Rename from max1_r, add endian check.
7515 (max1_odd): Rename from max1_l, add endian check.
7516 (*mux1_rev): Format change.
7517 (*mux1_mix): Ditto.
7518 (*mux1_shuf): Ditto.
7519 (*mux1_alt): Ditto.
7520 (*mux1_brcst_v8qi): Use new predicate.
7521 (vec_extract_evenv8qi): Remove endian check.
7522 (vec_extract_oddv8qi): Ditto.
7523 (vec_interleave_lowv4hi): Format change.
7524 (vec_interleave_highv4hi): Ditto.
7525 (mix2_even): Rename from mix2_r, add endian check.
7526 (mix2_odd): Rename from mux2_l, add endian check.
7527 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
7528 (vec_extract_evenodd_helper): Format change.
7529 (vec_extract_evenv4hi): Remove endian check.
7530 (vec_extract_oddv4hi): Remove endian check.
7531 (vec_interleave_lowv2si): Format change.
7532 (vec_interleave_highv2si): Format change.
7533 (vec_initv2si): Remove endian check.
7534 (vecinit_v2si): Add endian check.
7535 (reduc_splus_v2sf): Add endian check.
7536 (reduc_smax_v2sf): Ditto.
7537 (reduc_smin_v2sf): Ditto.
7538 (vec_initv2sf): Remove endian check.
7539 (fpack): Add endian check.
7540 (fswap): Add endian check.
7541 (vec_interleave_highv2sf): Add endian check.
7542 (vec_interleave_lowv2sf): Add endian check.
7543 (fmix_lr): Add endian check.
7544 (vec_setv2sf): Format change.
7545 (*vec_extractv2sf_0_be): Use shift to extract operand.
7546 (*vec_extractv2sf_1_be): New.
7547 (vec_pack_trunc_v4hi): Add endian check.
7548 (vec_pack_trunc_v2si): Format change.
7549
dcde5957
JJ
75502011-02-04 Jakub Jelinek <jakub@redhat.com>
7551
7552 PR inline-asm/23200
7553 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 7554 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
7555 (stmt_is_replaceable_p): New function.
7556 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
7557 callers.
7558 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
7559 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
7560 SSA_NAME_DEF_STMT.
7561 * tree-flow.h (stmt_is_replaceable_p): New prototype.
7562
a64a8e5a
JM
75632011-02-04 Joseph Myers <joseph@codesourcery.com>
7564
7565 * config/rs6000/xilinx.opt: New.
7566 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
7567
4da2ed2f
JM
75682011-02-04 Joseph Myers <joseph@codesourcery.com>
7569
7570 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
7571
a6e508f9
AS
75722011-02-03 Anatoly Sokolov <aesok@post.ru>
7573
7574 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
7575 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
7576 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
7577 secondary_reload_info, xtensa_secondary_reload): Remove.
7578 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
7579 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
7580 (xtensa_preferred_reload_class): Make static. Change return and
7581 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
7582 Use CONST_DOUBLE_P predicate.
7583 (xtensa_preferred_output_reload_class): New function.
7584 (xtensa_secondary_reload): Make static.
7585
82dc0de3
JM
75862011-02-03 Joseph Myers <joseph@codesourcery.com>
7587
7588 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
7589 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
7590 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
7591
7fece979
JJ
75922011-02-03 Jakub Jelinek <jakub@redhat.com>
7593
7594 PR middle-end/31490
7595 * output.h (SECTION_RELRO): Define.
7596 (SECTION_MACH_DEP): Adjust.
7597 (get_variable_section): New prototype.
7598 * varpool.c (varpool_finalize_named_section_flags): New function.
7599 (varpool_assemble_pending_decls): Call it.
7600 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
7601 * cgraphunit.c (cgraph_output_in_order): Call
7602 varpool_finalize_named_section_flags.
7603 * varasm.c (get_section): Allow section flags conflicts between
7604 relro and read-only sections if the section hasn't been declared yet.
7605 Set SECTION_OVERRIDE after diagnosing section type conflict.
7606 (get_variable_section): No longer static.
7607 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
7608 readonly sections that need relocations.
7609 (decl_readonly_section_1): New function.
7610 (decl_readonly_section): Use it.
7611
7612 Revert:
509d65dd 7613 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
7614 Steve Ellcey <sje@cup.hp.com>
7615
7616 PR middle-end/31490
7617 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
7618 if section attribute used.
7619
d18d5478
JJ
76202011-02-03 Jakub Jelinek <jakub@redhat.com>
7621
7622 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
7623 * config/darwin.c (SECTION_NO_ANCHOR): Define.
7624 (darwin_init_sections): Remove assertion.
7625
6479ed4b
NC
76262011-02-03 Nick Clifton <nickc@redhat.com>
7627
7628 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
7629 lt and ge.
38be4072 7630 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
7631 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
7632 instead of "n" and "pz".
7633 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
7634 CC_FLAG_S.
7635
89843f5d
JJ
76362011-02-03 Jakub Jelinek <jakub@redhat.com>
7637
65450d64
JJ
7638 PR target/47312
7639 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
7640 fma, expand FMA_EXPR as fma{,f,l} call.
7641
7d58701c
JJ
7642 PR lto/47274
7643 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
7644 copy them into a unsigned char variable and pass address of it to
7645 lto_output_data_stream.
7646
89843f5d
JJ
7647 PR target/47564
7648 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
7649 around backend_init_target and lang_dependent_init_target calls.
7650 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
7651 (verify_cgraph_node): Don't call set_cfun here. Use
7652 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
7653 Set error_found for incorrectly represented calls to thunks.
7654
4deef538
AO
76552011-02-03 Alexandre Oliva <aoliva@redhat.com>
7656
7657 PR debug/43092
7658 PR rtl-optimization/43494
7659 * rtl.h (for_each_inc_dec_fn): New type.
7660 (for_each_inc_dec): Declare.
7661 * rtlanal.c (struct for_each_inc_dec_ops): New type.
7662 (for_each_inc_dec_find_inc_dec): New fn.
7663 (for_each_inc_dec_find_mem): New fn.
7664 (for_each_inc_dec): New fn.
7665 * dse.c (struct insn_size): Remove.
7666 (replace_inc_dec, replace_inc_dec_mem): Remove.
7667 (emit_inc_dec_insn_before): New fn.
7668 (check_for_inc_dec): Use it, along with for_each_inc_dec.
7669 (canon_address): Pass mem modes to cselib_lookup.
7670 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
7671 (cselib_lookup_from_insn): Likewise.
7672 (cselib_subst_to_values): Likewise.
7673 * cselib.c (find_slot_memmode): New var.
7674 (cselib_find_slot): New fn. Use it instead of
7675 htab_find_slot_with_hash everywhere.
7676 (entry_and_rtx_equal_p): Use find_slot_memmode.
7677 (autoinc_split): New fn.
7678 (rtx_equal_for_cselib_p): Rename and implement in terms of...
7679 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
7680 Deal with autoinc. Special-case recursion into MEMs.
7681 (cselib_hash_rtx): Likewise.
7682 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
7683 address and MEM modes.
7684 (cselib_subst_to_values): Add memmode, pass it on.
7685 Deal with autoinc.
7686 (cselib_lookup): Add memmode argument, pass it on.
7687 (cselib_lookup_from_insn): Add memmode.
7688 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
7689 (struct cselib_record_autoinc_data): New.
7690 (cselib_record_autoinc_cb): New fn.
7691 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
7692 mode to cselib_lookup. Reset autoinced REGs here instead of...
7693 (cselib_process_insn): ... here.
7694 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
7695 to cselib_lookup.
7696 (add_uses): Likewise, also to cselib_subst_to_values.
7697 (add_stores): Likewise.
7698 * sched-deps.c (add_insn_mem_dependence): Pass mode to
7699 cselib_subst_to_values.
7700 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
7701 * gcse.c (do_local_cprop): Adjusted.
7702 * postreload.c (reload_cse_simplify_set): Adjusted.
7703 (reload_cse_simplify_operands): Adjusted.
7704 * sel-sched-dump (debug_mem_addr_value): Pass mode.
7705
1551d44a
AO
77062011-02-03 Alexandre Oliva <aoliva@redhat.com>
7707
7708 PR tree-optimization/45122
7709 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
7710 unsafe assumptions when there's more than one loop exit.
7711
c9485473
MM
77122011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
7713
7714 PR target/47272
7715 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
7716 Document using vector double with the load/store builtins, and
7717 that the load/store builtins always use Altivec instructions.
7718
7719 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
7720 to use altivec memory instructions, even on VSX.
7721 (vector_altivec_store_<mode>): Ditto.
7722
7723 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
7724 function.
7725
7726 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
7727 V2DF, V2DI support to load/store overloaded builtins.
7728
7729 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
7730 altivec load/store builtins for V2DF/V2DI types.
7731
7732 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
7733 set avoid indexed addresses on power6 if -maltivec.
7734 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
7735 vector_altivec_load/vector_altivec_store builtins.
7736 (altivec_expand_st_builtin): Ditto.
7737 (altivec_expand_builtin): Add VSX memory builtins.
7738 (rs6000_init_builtins): Add V2DI types to internal types.
7739 (altivec_init_builtins): Add support for V2DF/V2DI altivec
7740 load/store builtins.
7741 (rs6000_address_for_altivec): Insure memory address is appropriate
7742 for Altivec.
7743
7744 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
7745 vec_vsx_ld and vec_vsx_st.
7746 (vsx_store_<mode>): Ditto.
7747
7748 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
7749 variables to hold long long types for VSX vector memory builtins.
7750 (RS6000_BTI_unsigned_long_long): Ditto.
7751 (long_long_integer_type_internal_node): Ditti.
7752 (long_long_unsigned_type_internal_node): Ditti.
7753
7754 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
7755 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
7756 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
7757
7758 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
7759 short cuts.
7760 (vec_vsx_st): Ditto.
7761
b24d1acf
JM
77622011-02-02 Joseph Myers <joseph@codesourcery.com>
7763
7764 * config/pa/pa-hpux10.opt: New.
7765 * config/hpux11.opt (pthread): New Driver option.
7766 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
7767 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
7768
aa18dd0f
JM
77692011-02-02 Joseph Myers <joseph@codesourcery.com>
7770
7771 * config/ia64/vms.opt: New.
7772 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
7773
28fc3eee
MM
77742011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
7775
7776 PR target/47580
7777 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
7778 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
7779 generator functions.
7780 (vsx_floatuns<VSi><mode>2): Ditto.
7781 (vsx_fix_trunc<mode><VSi>2): Ditto.
7782 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
7783
b5838b1f
JM
77842011-02-02 Joseph Myers <joseph@codesourcery.com>
7785
7786 * config/i386/djgpp.opt (posix): New Driver option.
7787
0db8fa89
GP
77882011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
7789
7790 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
7791 Move to the unsupported targets list.
7792
9cd4f22a
PB
77932011-02-02 Peter Bergner <bergner@vnet.ibm.com>
7794
7795 PR rtl-optimization/47525
7796 * df-scan.c: Update copyright years.
7797 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
7798 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
7799
9ed8059c
RO
78002011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7801
7802 * config/i386/sysv4.h (TARGET_VERSION): Remove.
7803 (SUBTARGET_RETURN_IN_MEMORY): Remove.
7804 (ASM_OUTPUT_ASCII): Remove.
7805 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
7806
2a737389
JL
78072011-02-02 Jeff Law <law@redhat.com>
7808
7809 PR middle-end/47543
7810 * reload.c (find_reloads_address): Handle reg+d address where both
7811 components are invalid by reloading the entire address.
7812
9dac82c4
SP
78132011-02-02 Sebastian Pop <sebastian.pop@amd.com>
7814 Richard Guenther <rguenther@suse.de>
7815
7816 PR tree-optimization/40979
7817 PR bootstrap/47044
7818 * passes.c (init_optimization_passes): After LIM call copy_prop
7819 and DCE to clean up.
7820 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
7821
14dd9aab
SP
78222011-02-02 Sebastian Pop <sebastian.pop@amd.com>
7823
7824 PR tree-optimization/47576
7825 PR tree-optimization/47555
7826 * doc/invoke.texi (scev-max-expr-complexity): Documented.
7827 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
7828 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
7829 * tree-scalar-evolution.c (follow_ssa_edge): Use
7830 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
7831
5cbf5c20
RG
78322011-02-02 Richard Guenther <rguenther@suse.de>
7833
7834 PR tree-optimization/47566
7835 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
7836
83d70792
AO
78372011-02-02 Alexandre Oliva <aoliva@redhat.com>
7838
e829c321
AO
7839 PR debug/47106
7840 PR debug/47402
7841 * tree-inline.c (declare_return_variable): Remove unused caller
7842 variable.
7843
83d70792
AO
7844 PR debug/47106
7845 PR debug/47402
7846 * tree-flow-inline.h (clear_is_used, is_used_p): New.
7847 * cfgexpand.c (account_used_vars_for_block): Use them.
7848 * tree-nrv.c (tree_nrv): Likewise.
7849 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
7850 (dump_scope_block): Likewise.
7851 (remove_unused_locals): Likewise.
7852
aaa2ac93
AO
7853 PR debug/47106
7854 PR debug/47402
7855 * tree-inline.c (declare_return_variable): Add result decl to
7856 local decls only once.
7857 * gimple-low.c (record_vars_into): Mark newly-created variables
7858 as referenced.
7859
a59d15cf
AO
78602011-02-02 Alexandre Oliva <aoliva@redhat.com>
7861
7862 PR debug/47498
7863 PR debug/47501
7864 PR debug/45136
7865 PR debug/45130
7866 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
7867 debug insns.
7868 (no_real_insns_p, schedule_block, set_priorities): Drop special
7869 treatment of boundary debug insns.
38be4072 7870 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
7871 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
7872 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
7873 (BOUNDARY_DEBUG_INSN_P): Likewise.
7874 (SCHEDULE_DEBUG_INSN_P): Likewise.
7875 * sched-rgn.c (init_ready_list): Drop special treatment of
7876 boundary debug insns.
7877 * final.c (rest_of_clean_state): Clear notes' BB.
7878
6fc2f091
JM
78792011-02-01 Joseph Myers <joseph@codesourcery.com>
7880
7881 * config/openbsd.opt (assert=): New Driver option.
7882
fc523387
JM
78832011-02-01 Joseph Myers <joseph@codesourcery.com>
7884
7885 * config/i386/nto.opt: New.
7886 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
7887
6d9821e5
JM
78882011-02-01 Joseph Myers <joseph@codesourcery.com>
7889
7890 * config/i386/netware.opt: New.
7891 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
7892
cef932d4
JM
78932011-02-01 Joseph Myers <joseph@codesourcery.com>
7894
7895 * config/interix.opt (posix): New Driver option.
7896
22843acd
DD
78972011-02-01 DJ Delorie <dj@redhat.com>
7898
56490b74
DD
7899 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
7900
22843acd
DD
7901 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
7902 class for A0/A1.
7903
199c8f2f
SP
79042011-02-01 Sebastian Pop <sebastian.pop@amd.com>
7905
7906 PR tree-optimization/47561
7907 * toplev.c (process_options): Print the Graphite flags. Add
7908 flag_loop_flatten to the list of options requiring Graphite.
7909
926bcf22
JM
79102011-02-01 Joseph Myers <joseph@codesourcery.com>
7911
7912 * config/i386/cygming.opt (posix): New Driver option.
7913
59793c51
JM
79142011-02-01 Joseph Myers <joseph@codesourcery.com>
7915
7916 * config/arm/vxworks.opt: New.
7917 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
7918
183c38a4
JM
79192011-02-01 Joseph Myers <joseph@codesourcery.com>
7920
7921 * config/alpha/elf.opt: New.
7922 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
7923 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
7924
9939e416
RG
79252011-02-01 Richard Guenther <rguenther@suse.de>
7926
7927 PR tree-optimization/47559
7928 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
7929 store-motion on references that can throw.
7930
4a3c9687
BS
79312011-02-01 Bernd Schmidt <bernds@codesourcery.com>
7932
7933 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
7934 * tree-pass.h (TDF_CSELIB): New macro.
7935 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
7936 cselib_lookup): Check for it rather than for TDF_DETAILS.
7937
dd3b31fb
L
79382011-02-01 H.J. Lu <hongjiu.lu@intel.com>
7939
7940 PR driver/47547
7941 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
7942 is HOST_BIT_BUCKET.
7943
7944 * opts.c (finish_options): Don't add x_aux_base_name if it is
7945 HOST_BIT_BUCKET.
7946
34c1de79
RG
79472011-02-01 Richard Guenther <rguenther@suse.de>
7948
7949 PR tree-optimization/47555
7950 Revert
7951 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
7952
7953 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
7954
dd2804d2
SB
79552011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
7956
7957 PR gcc/46692
7958 * config/lm32/t-lm32: Add multilib for all CPU options.
7959
3fd3b156
RG
79602011-02-01 Richard Guenther <rguenther@suse.de>
7961
7962 PR tree-optimization/47541
7963 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
7964 sure to have a field at offset zero.
7965
f16072b6
JM
79662011-01-31 Joseph Myers <joseph@codesourcery.com>
7967
7968 * config/arc/arc.opt (EB, EL): New Driver options.
7969
6456cf2e
JM
79702011-01-31 Joseph Myers <joseph@codesourcery.com>
7971
7972 * config/alpha/osf5.opt: New.
7973 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
7974
cdde6ab4
JM
79752011-01-31 Joseph Myers <joseph@codesourcery.com>
7976
7977 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
7978
7633415c
SP
79792011-01-31 Sebastian Pop <sebastian.pop@amd.com>
7980
7981 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
7982 -floop-interchange.
7983 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
7984 is an alias of -floop-interchange and that it requires the
7985 Graphite infrastructure.
7986 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
7987 flag_loop_interchange based on the value of flag_tree_loop_linear.
7988
0425d6f5
JJ
79892011-01-31 Jakub Jelinek <jakub@redhat.com>
7990 Richard Guenther <rguenther@suse.de>
7991
7992 PR tree-optimization/47538
7993 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
7994 type instead of r1type, except for comparisons. For right
7995 shifts and comparisons punt if there are mismatches in
7996 sizetype vs. non-sizetype types.
7997
500b16c3
RO
79982011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7999
8000 * doc/sourcebuild.texi (Effective-Target Keywords): Document
8001 avx_runtime.
8002
e279edb0
RO
80032011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8004
8005 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
8006 version number.
8007 * configure: Regenerate.
8008
c6092243
RO
80092011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8010
8011 * configure.ac (gcc_cv_ld_static_option): Define.
8012 (gcc_cv_ld_dynamic_option): Define.
8013 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
8014 instead.
8015 (HAVE_LD_STATIC_DYNAMIC): Update message.
8016 (LD_STATIC_OPTION): Define.
8017 (LD_DYNAMIC_OPTION): Define.
8018 * configure: Regenerate.
8019 * config.in: Regenerate.
8020 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
8021 HAVE_LD_STATIC_DYNAMIC]: Use them.
8022
d7862be3
NC
80232011-01-31 Nick Clifton <nickc@redhat.com>
8024
8025 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
8026 registers inside interrupt handlers if the handler is not a leaf
8027 function.
8028
ba4ec0e0
NC
80292011-01-31 Nick Clifton <nickc@redhat.com>
8030
8031 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
8032 reg_renumber returning an INVALID_REGNUM.
8033
29a63921
AO
80342011-01-31 Alexandre Oliva <aoliva@redhat.com>
8035
8036 PR libgcj/44341
8037 * doc/install.texi: Document host options discarded when cross
8038 configuring target libraries.
8039
ef591d3f
AO
80402011-01-31 Alexandre Oliva <aoliva@redhat.com>
8041
8042 Reverted:
8043 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
8044 PR debug/45136
8045 PR debug/45130
8046 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
8047 debug insns.
8048 (no_real_insns_p, schedule_block, set_priorities): Drop special
8049 treatment of boundary debug insns.
38be4072 8050 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
8051 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
8052 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
8053 (BOUNDARY_DEBUG_INSN_P): Likewise.
8054 (SCHEDULE_DEBUG_INSN_P): Likewise.
8055 * sched-rgn.c (init_ready_list): Drop special treatment of
8056 boundary debug insns.
8057 * final.c (rest_of_clean-state): Clear notes' BB.
8058
61052244
AM
80592011-01-31 Alan Modra <amodra@gmail.com>
8060
8061 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
8062 toc relative expressions as we do in print_operand_address.
8063
c4c8962b
KH
80642011-01-30 Kazu Hirata <kazu@codesourcery.com>
8065
8066 * doc/extend.texi: Follow spelling conventions.
8067 * doc/invoke.texi: Fix a typo.
8068
e543b94c
JM
80692011-01-30 Joseph Myers <joseph@codesourcery.com>
8070
8071 * config/hpux11.opt: New.
8072 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
8073 ia64*-*-hpux*): Use hpux11.opt.
8074
509d65dd 80752011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
8076
8077 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
8078 to tmake_file.
8079
7be03a0e
GP
80802011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
8081
8082 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
8083 support sites.
8084
419d1d37
GP
80852011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
8086
b596ed64
GP
8087 * doc/install.texi (Binaries): Remove outdated reference for
8088 Motorola 68HC11/68HC12 downloads.
8089
80902011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 8091
419d1d37
GP
8092 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
8093 Drepper's paper.
8094
4406d0e9
JW
80952011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
8096
8097 PR bootstrap/47147
8098 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
8099 used by NetBSD.
8100
38be4072 81012011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
8102
8103 * value-prof.c (check_counter): Corrected error message.
8104
0cd98787
JZ
81052011-01-29 Jie Zhang <jie@codesourcery.com>
8106
8107 * config/arm/arm.c (arm_legitimize_reload_address): New.
8108 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
8109 arm_legitimize_reload_address.
38be4072 8110 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 8111
9b798ac5
ILT
81122011-01-28 Ian Lance Taylor <iant@google.com>
8113
8114 * godump.c (go_define): Ignore macros whose definitions include
8115 two adjacent operands.
8116
591e29d9
JJ
81172011-01-28 Jakub Jelinek <jakub@redhat.com>
8118
8119 PR target/42894
8120 * varasm.c (force_const_mem): Store copy of x in desc->constant
8121 instead of x itself.
8122 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
8123 itself into REG_EQUAL note.
8124
62dcc44a
JM
81252011-01-28 Joseph Myers <joseph@codesourcery.com>
8126
8127 * config/freebsd.opt (posix, rdynamic): New Driver options.
8128
c9f58b9a
RO
81292011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8130
8131 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
8132 -Bstatic/-Bdynamic.
8133 * configure: Regenerate.
8134
5f02b9db
JM
81352011-01-27 Joseph Myers <joseph@codesourcery.com>
8136
8137 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
8138 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
8139
5df97412
AS
81402011-01-27 Anatoly Sokolov <aesok@post.ru>
8141
8142 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
8143 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
8144 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
8145 (s390_preferred_reload_class): Make static. Change return and
8146 'rclass' argument type to reg_class_t.
8147
779d4b91
JH
81482011-01-27 Jan Hubicka <jh@suse.cz>
8149
8150 PR middle-end/46949
8151 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
8152 (process_function_and_variable_attributes): Check defined weakrefs.
8153
e80b21ed
MJ
81542011-01-27 Martin Jambor <mjambor@suse.cz>
8155
8156 PR tree-optimization/47228
8157 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
8158 build_ref_for_offset.
8159
6dcc4f31
UW
81602011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8161
8162 * config/spu/spu-elf.h (ASM_SPEC): Remove.
8163
509d65dd 81642011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
8165
8166 PR rtl-optimization/46856
8167 * postreload.c (reload_combine_recognize_const_pattern): Do not
8168 separate cc0 setter and user on cc0 targets.
8169
04af8788
NP
81702011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
8171
8172 PR c/43082
8173 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
8174 passed a VOID_TYPE expression, immediately emit an error and
8175 return error_mark_node.
8176
f7a60085
JL
81772011-01-26 Jeff Law <law@redhat.com>
8178
8179 PR rtl-optimization/47464
8180 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
8181 rather than may_trap_p as needed.
8182
5c2917ec
DD
81832011-01-26 DJ Delorie <dj@redhat.com>
8184
8185 PR rtl-optimization/46878
8186 * combine.c (insn_a_feeds_b): Check for the implicit cc0
8187 setter/user dependency as well.
8188
bef16e87
EB
81892011-01-26 Eric Botcazou <ebotcazou@adacore.com>
8190
8191 PR rtl-optimization/44469
8192 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
8193 after removing trivially dead basic blocks.
8194
c75d884b
JM
81952011-01-26 Joseph Myers <joseph@codesourcery.com>
8196
8197 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
8198 * config/frv/frv.h (LINK_SPEC): Likewise.
8199 * config/i386/netware.h (LINK_SPEC): Likewise.
8200 * config/m68k/linux.h (ASM_SPEC): Likewise.
8201 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
8202 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
8203 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
8204 * config/sparc/linux.h (ASM_SPEC): Likewise.
8205 * config/sparc/linux64.h (ASM_SPEC): Likewise.
8206 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
8207
d3153553
JM
82082011-01-26 Joseph Myers <joseph@codesourcery.com>
8209
8210 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
8211 * config/frv/frv.h (ASM_SPEC): Likewise.
8212 * config/m68k/linux.h (ASM_SPEC): Likewise.
8213 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
8214 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
8215 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
8216 * config/sparc/linux.h (ASM_SPEC): Likewise.
8217 * config/sparc/linux64.h (ASM_SPEC): Likewise.
8218 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
8219
b89b1e9d
JM
82202011-01-26 Joseph Myers <joseph@codesourcery.com>
8221
8222 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
8223 * config/frv/frv.h (LINK_SPEC): Likewise.
8224 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
8225
12eb1a9c
JM
82262011-01-26 Joseph Myers <joseph@codesourcery.com>
8227
8228 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
8229 * config/frv/frv.h (ASM_SPEC): Likewise.
8230 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
8231 * config/m68k/linux.h (ASM_SPEC): Likewise.
8232 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
8233 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
8234 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
8235 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
8236 * config/sparc/linux.h (ASM_SPEC): Likewise.
8237 * config/sparc/linux64.h (ASM_SPEC): Likewise.
8238 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
8239 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
8240
e435f098
SE
82412011-01-26 Steve Ellcey <sje@cup.hp.com>
8242
8243 PR target/46997
8244 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
8245 (*mux2): Ditto.
8246 (vec_extract_evenodd_help): Ditto.
8247 (vec_extract_evenv4hi): Ditto.
8248 (vec_extract_oddv4hi): Ditto.
8249 (vec_interleave_lowv2si): Ditto.
8250 (vec_interleave_highv2si): Ditto.
8251 (vec_extract_evenv2si): Ditto.
8252 (vec_extract_oddv2si: Ditto.
8253 (vec_pack_trunc_v2si): Ditto.
8254
34f0eee0
JH
82552011-01-22 Jan Hubicka <jh@suse.cz>
8256
8257 PR target/47237
8258 * cgraph.h (cgraph_local_info): New field can_change_signature.
8259 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
8260 signature can change.
8261 (ipcp_estimate_growth): Call sequence simplify only if calle signature
8262 can change.
8263 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
8264 (cgraph_function_versioning): We can not change signature of functions
8265 that don't allow that.
8266 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
8267 (lto_input_node): Likewise.
38be4072
UB
8268 * ipa-inline.c (compute_inline_parameters): Compute
8269 local.can_change_signature.
34f0eee0 8270 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
8271 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
8272 functions that can not change signature.
34f0eee0 8273 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
8274 init_cumulative_args): Do not use local calling conventions
8275 for functions that can not change signature.
34f0eee0 8276
980ca891
JH
82772011-01-22 Jan Hubicka <jh@suse.cz>
8278
8279 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
8280
768e3c60
RG
82812011-01-26 Richard Guenther <rguenther@suse.de>
8282
8283 PR tree-optimization/47190
61052244
AM
8284 * cgraphunit.c (process_common_attributes): New function.
8285 (process_function_and_variable_attributes): Use it.
768e3c60 8286
21d6a1c7
RG
82872011-01-26 Richard Guenther <rguenther@suse.de>
8288
8289 PR lto/47423
8290 * cgraphbuild.c (record_eh_tables): Record reference to personality
8291 function.
8292
48bb58b1
AO
82932011-01-26 Alexandre Oliva <aoliva@redhat.com>
8294
8295 PR debug/45454
8296 * sel-sched.c (moveup_expr): Don't let debug insns prevent
8297 non-debug insns from moving up.
8298
58c741a6
DK
82992011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
8300
8301 PR target/40125
8302 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
8303 t-dlldir{,-x} fragment for build and add it to tmake_file.
8304 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
8305 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
8306 * config/i386/t-dlldir: New file.
8307 (SHLIB_DLLDIR): Define.
8308 * config/i386/t-dlldir-x: New file.
8309 (SHLIB_DLLDIR): Define.
8310 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
8311 (SHLIB_INSTALL): Use it.
8312
bff99262
CLT
83132011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
8314
8315 PR target/47246
8316 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
8317 lower bound of the allowed Thumb-2 coprocessor load/store
8318 index range to -256. Add explaining comment.
8319
82c03907
ILT
83202011-01-25 Ian Lance Taylor <iant@google.com>
8321
8322 * godump.c (go_define): Improve lexing of macro expansion to only
8323 accept expressions which match Go spec.
8324
47ea1edf
DK
83252011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
8326
d4dba752 8327 PR c++/43601
47ea1edf
DK
8328 * tree.c (handle_dll_attribute): Handle it.
8329 * doc/extend.texi (@item dllexport): Mention it.
8330 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
8331
744f0946
ILT
83322011-01-25 Ian Lance Taylor <iant@google.com>
8333
8334 PR tree-optimization/26854
8335 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
8336 (decl_jump_unsafe): Move higher in file, with no other change.
8337 (bind): Set has_jump_unsafe_decl if appropriate.
8338 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
8339 (check_earlier_gotos): Likewise.
8340 (c_check_switch_jump_warnings): Likewise.
8341
5734f2b3
JW
83422011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
8343
8344 * doc/invoke.texi (Warning Options): Add missing hyphen.
8345 (-fprofile-dir): Minor grammatical fixes.
8346 (-fbranch-probabilities): Likewise.
8347
9bdbdcef
AO
83482011-01-25 Alexandre Oliva <aoliva@redhat.com>
8349
8350 PR debug/45136
8351 PR debug/45130
8352 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
8353 debug insns.
8354 (no_real_insns_p, schedule_block, set_priorities): Drop special
8355 treatment of boundary debug insns.
38be4072 8356 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
8357 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
8358 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
8359 (BOUNDARY_DEBUG_INSN_P): Likewise.
8360 (SCHEDULE_DEBUG_INSN_P): Likewise.
8361 * sched-rgn.c (init_ready_list): Drop special treatment of
8362 boundary debug insns.
8363 * final.c (rest_of_clean-state): Clear notes' BB.
8364
b305e3da
SP
83652011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8366
8367 * Makefile.in (LAMBDA_H): Removed.
8368 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
8369 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
8370 lambda-trans.o, and tree-loop-linear.o.
8371 (lto-symtab.o): Remove dependence on LAMBDA_H.
8372 (tree-loop-linear.o): Remove rule.
8373 (lambda-mat.o): Same.
8374 (lambda-trans.o): Same.
8375 (lambda-code.o): Same.
8376 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
8377 (tree-vect-slp.o): Same.
8378 * hwint.h (gcd): Moved here.
8379 (least_common_multiple): Same.
8380 * lambda-code.c: Removed.
8381 * lambda-mat.c: Removed.
8382 * lambda-trans.c: Removed.
8383 * lambda.h: Removed.
8384 * tree-loop-linear.c: Removed.
8385 * lto-symtab.c: Do not include lambda.h.
8386 * omega.c (gcd): Removed.
8387 * passes.c (init_optimization_passes): Remove pass_linear_transform.
8388 * tree-data-ref.c (print_lambda_vector): Moved here.
8389 (lambda_vector_copy): Same.
8390 (lambda_matrix_copy): Same.
8391 (lambda_matrix_id): Same.
8392 (lambda_vector_first_nz): Same.
8393 (lambda_matrix_row_add): Same.
8394 (lambda_matrix_row_exchange): Same.
8395 (lambda_vector_mult_const): Same.
8396 (lambda_vector_negate): Same.
8397 (lambda_matrix_row_negate): Same.
8398 (lambda_vector_equal): Same.
8399 (lambda_matrix_right_hermite): Same.
8400 * tree-data-ref.h: Do not include lambda.h.
8401 (lambda_vector): Moved here.
8402 (lambda_matrix): Same.
8403 (dependence_level): Same.
8404 (lambda_transform_legal_p): Removed declaration.
8405 (lambda_collect_parameters): Same.
8406 (lambda_compute_access_matrices): Same.
8407 (lambda_vector_gcd): Same.
8408 (lambda_vector_new): Same.
8409 (lambda_vector_clear): Same.
8410 (lambda_vector_lexico_pos): Same.
8411 (lambda_vector_zerop): Same.
8412 (lambda_matrix_new): Same.
8413 * tree-flow.h (least_common_multiple): Removed declaration.
8414 * tree-parloops.c (lambda_trans_matrix): Moved here.
8415 (LTM_MATRIX): Same.
8416 (LTM_ROWSIZE): Same.
8417 (LTM_COLSIZE): Same.
8418 (LTM_DENOMINATOR): Same.
8419 (lambda_trans_matrix_new): Same.
8420 (lambda_matrix_vector_mult): Same.
8421 (lambda_transform_legal_p): Same.
8422 * tree-pass.h (pass_linear_transform): Removed declaration.
8423 * tree-ssa-loop.c (tree_linear_transform): Removed.
8424 (gate_tree_linear_transform): Removed.
8425 (pass_linear_transform): Removed.
8426 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
8427 flag_loop_interchange.
8428
6bdfdb96
JJ
84292011-01-25 Jakub Jelinek <jakub@redhat.com>
8430
8431 PR tree-optimization/47265
8432 PR tree-optimization/47443
8433 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
8434 if name still has some uses.
8435
e4cba915
MJ
84362011-01-25 Martin Jambor <mjambor@suse.cz>
8437
8438 PR tree-optimization/47382
8439 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
8440 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
8441
509d65dd 84422011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
8443
8444 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
8445 sjlj_except_unwind_info.
8446
194313e2
RG
84472011-01-25 Richard Guenther <rguenther@suse.de>
8448
8449 PR tree-optimization/47426
8450 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
8451 visible functions results escape.
8452
147a0bcf
JJ
84532011-01-25 Jakub Jelinek <jakub@redhat.com>
8454
8455 PR target/45701
8456 * config/arm/arm.c (any_sibcall_uses_r3): New function.
8457 (arm_get_frame_offsets): Use it.
8458
db963b52
SP
84592011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8460 Jakub Jelinek <jakub@redhat.com>
8461
8462 PR tree-optimization/47271
8463 * tree-if-conv.c (bb_postdominates_preds): New.
8464 (if_convertible_bb_p): Call bb_postdominates_preds.
8465 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
8466 (predicate_scalar_phi): Call bb_postdominates_preds.
8467
bcddd3b9
NC
84682011-01-25 Nick Clifton <nickc@redhat.com>
8469
8470 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
8471 * config/rx/rx.c (rx_function_value): Likewise.
8472 (rx_promote_function_mode): Likewise.
8473 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
8474 in order to make it legitimate.
38be4072
UB
8475 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
8476 make sure that the first operand is the same as the result register.
bcddd3b9
NC
8477 (addsi3_unspec): Delete.
8478 (subdi3): Do not accept immediate operands.
8479 (subdi3_internal): Likewise.
8480
7e6cb022
JL
84812011-01-25 Jeff Law <law@redhat.com>
8482
8483 PR rtl-optimization/37273
8484 * ira-costs.c (scan_one_insn): Detect constants living in memory and
8485 handle them like argument loads from stack slots. Do not double
8486 count memory for memory constants and argument loads from stack slots.
8487
9ffa621e
JJ
84882011-01-25 Jakub Jelinek <jakub@redhat.com>
8489
8490 PR tree-optimization/47427
8491 PR tree-optimization/47428
8492 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
8493 coalesce if the new root var would be TREE_READONLY.
8494
5bd6e652
RG
84952011-01-25 Richard Guenther <rguenther@suse.de>
8496
8497 PR middle-end/47414
8498 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
8499 correct type for TBAA.
8500
7c48ea69
SP
85012011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8502
8503 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
8504 (close_phi_written_to_memory): Call for_each_index with
8505 dr_indices_valid_in_loop.
8506
38013f25
SP
85072011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8508
8509 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
8510 when it is initialized.
8511
5c640e29
SP
85122011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8513
8514 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
8515 call to graphite_find_data_references_in_stmt.
8516 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
8517 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
8518 call to graphite_find_data_references_in_stmt.
8519 (analyze_drs_in_stmts): Same.
8520 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
8521 in which the scalar analysis of indices is performed.
8522 (create_data_ref): Same. Update call to dr_analyze_indices.
8523 (find_data_references_in_stmt): Update call to create_data_ref.
8524 (graphite_find_data_references_in_stmt): Same.
8525 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
8526 declaration.
8527 (create_data_ref): Same.
8528 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
8529 call to create_data_ref.
8530
ac53c069
SP
85312011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8532
8533 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 8534 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 8535
3d17df15
SP
85362011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8537
8538 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
8539 VAR_DECL, PARM_DECL, and RESULT_DECL.
8540
c513da01
SP
85412011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8542
8543 * graphite-dependences.c (reduction_dr_1): Allow several reductions
8544 in a reduction PBB.
8545 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
8546 that have already been marked as PBB_IS_REDUCTION.
8547
3a292d59
SP
85482011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8549
8550 * graphite-scop-detection.c (same_close_phi_node): New.
8551 (remove_duplicate_close_phi): New.
8552 (make_close_phi_nodes_unique): New.
8553 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
8554
ba858447
SP
85552011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8556
8557 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
8558 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
8559 of both data references to be the same.
8560
8d865c56
SP
85612011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8562
38be4072
UB
8563 * graphite-dependences.c (build_lexicographical_constraint): Remove
8564 the gdim parameter.
8565 (build_lexicographical_constraint): Adjust call to
8566 ppl_powerset_is_empty.
8d865c56
SP
8567 (dependence_polyhedron): Same.
8568 (graphite_legal_transform_dr): Same.
8569 (graphite_carried_dependence_level_k): Same.
38be4072
UB
8570 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
8571 parameter.
8d865c56
SP
8572 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
8573
50034a36
SP
85742011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8575
8576 * graphite-sese-to-poly.c
8577 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
8578 (close_phi_written_to_memory): New.
8579 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
8580 and unshare_expr.
8581
0deada9e
SP
85822011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8583
8584 * doc/install.texi: Update the expected version number of PPL to 0.11.
8585 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
8586 #if PPL_VERSION_MINOR < 11.
8587
d7d3d6af
SP
85882011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8589
8590 * graphite-dependences.c: Include graphite-cloog-util.h.
8591 (new_poly_ddr): Inlined into dependence_polyhedron.
8592 (free_poly_ddr): Moved close by new_poly_ddr.
8593 (dependence_polyhedron_1): Renamed dependence_polyhedron.
8594 Early return NULL when ppl_powerset_is_empty returns true.
8595 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
8596 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
8597 (graphite_legal_transform_dr): Call new_poly_ddr.
8598 (graphite_carried_dependence_level_k): Same.
8599 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
8600 (dot_transformed_deps_stmt_1): Removed.
8601 (dot_deps_stmt_1): Call dot_deps_stmt_2.
8602 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
8603 (dot_deps_1): Call dot_deps_2.
8604 * Makefile.in (graphite-dependences.o): Add missing dependence on
8605 graphite-cloog-util.h.
8606
28c5db57
SP
86072011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8608
8609 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
8610 (build_lexicographical_constraint): Same.
8611 (dependence_polyhedron_1): Same.
8612 (graphite_legal_transform_dr): Same.
8613 (graphite_carried_dependence_level_k): Same.
8614 * graphite-ppl.c (ppl_powerset_is_empty): New.
8615 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
8616 * tree-data-ref.c (dump_data_reference): Print the basic block index.
8617
5168d98f
SP
86182011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8619
8620 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
8621 the "a followed by b" relation and document it.
8622
4a40293a
SP
86232011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8624
8625 * graphite-dependences.c (build_lexicographical_constraint): Stop the
8626 iteration when the bag of constraints is empty.
8627
271fb6fa
SP
86282011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8629
8630 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
8631
92d23680
SP
86322011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8633
8634 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
8635 nest and two loop depths as parameters.
8636 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
8637 lst_perfect_nestify.
8638
2f51deff
SP
86392011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8640
8641 * graphite-dependences.c (print_pddr): Call
8642 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
8643
07f3593c
SP
86442011-01-25 Sebastian Pop <sebastian.pop@amd.com>
8645
8646 * graphite-ppl.c (debug_gmp_value): New.
8647 * graphite-ppl.h (debug_gmp_value): Declared.
8648
3fae6099
TG
86492011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
8650
8651 * doc/install.texi: Document availability of cloog-0.16.
8652
1c3ba85b
SP
86532011-01-25 Vladimir Kargov <kargov@gmail.com>
8654
8655 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
8656 invalid postdominance info.
8657
e8ba94fc
JH
86582011-01-24 Jan Hubicka <jh@suse.cz>
8659
8660 PR c/21659
8661 * doc/extend.texi (weak pragma): Drop claim that it must
8662 appear before definition.
8663 * varasm.c (merge_weak, declare_weak): Only sanity check
8664 that DECL is not output at a time it is declared weak.
8665
2b6e2d13
KZ
86662011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
8667
8668 * machmode.def: Fixed comments.
1c3ba85b 8669
9841210f
KT
86702011-01-24 Kai Tietz <kai.tietz@onevision.com>
8671
8672 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
8673
86742011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
8675
8676 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 8677 WORDS_BIG_ENDIAN.
e046112d 8678
a6c5070a
L
86792011-01-24 H.J. Lu <hongjiu.lu@intel.com>
8680
8681 PR target/46519
8682 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
8683 (block_info): Add scanned and prev.
8684 (move_or_delete_vzeroupper_2): Return if the basic block
8685 has been scanned and the upper 128bit state is unchanged
8686 from the last scan.
8687 (move_or_delete_vzeroupper_1): Return true if the exit
8688 state is changed.
8689 (move_or_delete_vzeroupper): Visit basic blocks using the
8690 work-list based algorithm based on vt_find_locations in
8691 var-tracking.c.
8692
8693 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
8694
a40d79d7
NC
86952011-01-24 Nick Clifton <nickc@redhat.com>
8696
8697 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
8698 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
8699 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
8700 then define __v850e1__.
8701 * doc/invoke.texi: Document -mv850es.
8702
440eb8de
RH
87032011-01-24 Richard Henderson <rth@redhat.com>
8704
8705 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
8706 compound unordered comparisons.
8707 * config/rx/rx.c (rx_split_fp_compare): Remove.
8708 * config/rx/rx-protos.h: Update.
8709 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
8710 (cbranchsf4): Don't call rx_split_fp_compare.
8711 (*cbranchsf4): Use rx_split_cbranch.
8712 (*cmpsf): Don't accept "i" constraint.
8713 (*conditional_branch): Only valid after reload.
8714 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
8715
3ff79f99
MM
87162011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
8717
8718 PR target/47385
8719 * config/rs6000/altivec.md (vector constant splitters): Add
8720 support for creating vector single precision constants if -mvsx is
8721 used and we would create the constant using Altivec primitives.
8722
ff3d9d08
BS
87232011-01-23 Bernd Schmidt <bernds@codesourcery.com>
8724 Richard Sandiford <rdsandiford@googlemail.com>
8725
8726 PR rtl-optimization/47166
8727 * reload1.c (emit_reload_insns): Disable the spill_reg_store
8728 mechanism for PRE_MODIFY and POST_MODIFY.
8729 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
8730 reloadreg.
8731
7fcaf152
AS
87322011-01-23 Andreas Schwab <schwab@linux-m68k.org>
8733
8788adb6 8734 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 8735
d09b58c4
JH
87362011-01-22 Jan Hubicka <jh@suse.cz>
8737
8738 PR lto/47333
8739 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
8740
e8ff8c5a
JH
87412011-01-22 Jan Hubicka <jh@suse.cz>
8742
8743 PR tree-optimization/43884
8744 PR lto/44334
8788adb6 8745 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
8746 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
8747
ccaed3ba
AS
87482011-01-22 Anatoly Sokolov <aesok@post.ru>
8749
8750 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
8751 * config/s390/s390.c (s390_register_move_cost,
8752 s390_memory_move_cost): New.
8753 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
8754
0cecee06
UW
87552011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8756
8757 PR middle-end/47401
8758 * except.c (sjlj_assign_call_site_values): Move setting the
8759 crtl->uses_eh_lsda flag to ...
8760 (sjlj_mark_call_sites): ... here.
8761 (sjlj_emit_function_enter): Support NULL dispatch label.
8762 (sjlj_build_landing_pads): In a function with no landing pads
8763 that still has must-not-throw regions, generate code to register
8764 a personality function with empty LSDA.
8765
e692f276
RH
87662011-01-21 Richard Henderson <rth@redhat.com>
8767
1b7ae0b7
RH
8768 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
8769
3843787f
RH
8770 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
8771
e692f276
RH
8772 * compare-elim.c: New file.
8773 * Makefile.in (OBJS-common): Add it.
8774 (compare-elim.o): New.
8775 * common.opt (fcompare-elim): New.
8776 * opts.c (default_options_table): Add OPT_fcompare_elim.
8777 * tree-pass.h (pass_compare_elim_after_reload): New.
8778 * passes.c (init_optimization_passes): Add it.
8779 * recog.h: Protect against re-inclusion.
8780 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
8781 * doc/invoke.texi (-fcompare-elim): Document it.
8782 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
8783 * doc/tm.texi: Rebuild.
8784
9a7c2050
NC
87852011-01-22 Nick Clifton <nickc@redhat.com>
8786
8787 * config/rx/rx.md (cstoresf4): Pass comparison operator to
8788 rx_split_fp_compare.
8789
15ba5696
NC
87902011-01-22 Nick Clifton <nickc@redhat.com>
8791
8792 * config/rx/rx.md (UNSPEC_CONST): New.
8793 (deallocate_and_return): Wrap the amount popped off the stack in
8794 an UNSPEC_CONST in order to stop it being rejected by
8795 -mmax-constant-size.
8796 (pop_and_return): Add a "(return)" rtx.
8797 (call): Drop the immediate operand.
8798 (call_internal): Likewise.
8799 (call_value): Likewise.
8800 (call_value_internal): Likewise.
8801 (sibcall_internal): Likewise.
8802 (sibcall_value_internal): Likewise.
8803 (sibcall): Likewise. Generate an explicit call using
8804 sibcall_internal.
8805 (sibcall_value): Likewise.
8806 (mov<>): FAIL if a constant operand is not legitimate.
8807 (addsi3_unpsec): New pattern.
9a7c2050 8808
38be4072 8809 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
8810 (ok_for_max_constant): New function.
8811 (gen_safe_add): New function.
8812 (rx_expand_prologue): Use gen_safe_add.
8813 (rx_expand_epilogue): Likewise.
8814 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
8815 UNSPEC CONSTs.
8816
caaf13d3
JL
88172011-01-21 Jeff Law <law@redhat.com>
8818
8819 PR tree-optimization/47053
8820 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
8821 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
8822 statements are deleted.
8823 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
8824 is nonempty, then purge dead edges and cleanup the CFG.
8825
12c30f2f
AO
88262011-01-21 Alexandre Oliva <aoliva@redhat.com>
8827
8828 PR debug/47402
8829 Temporarily revert:
8830 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
8831 PR debug/47106
8832 * tree-dfa.c (create_var_ann): Mark variable as used.
8833
7360d2ac
JJ
88342011-01-21 Jakub Jelinek <jakub@redhat.com>
8835
aaa52a96
JJ
8836 PR middle-end/45566
8837 * except.c (convert_to_eh_region_ranges): Emit queued no-region
8838 notes from other section in hot/cold partitioning even if
8839 last_action is -3. Increment call_site_base.
8840
7360d2ac
JJ
8841 PR rtl-optimization/47366
8842 * fwprop.c (forward_propagate_into): Return bool. If
8843 any changes are made, -fnon-call-exceptions is used and
8844 REG_EH_REGION note is present, call purge_dead_edges
8845 and return true if it purged anything.
8846 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
8847 any EH edges were purged.
8848
e90b336f
JL
88492011-01-21 Jeff Law <law@redhat.com>
8850
8851 PR rtl-optimization/41619
8852 * caller-save.c (setup_save_areas): Break out code to determine
8853 which hard regs are live across calls by examining the reload chains
8854 so that it is always used.
8855 Eliminate code which checked REG_N_CALLS_CROSSED.
8856
3ffe07e1
JJ
88572011-01-21 Jakub Jelinek <jakub@redhat.com>
8858
8859 PR tree-optimization/47355
8860 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
8861 NOP has non-debug uses beyond PHIs in new_bb.
8862
1c7d0b34
AO
88632011-01-21 Alexandre Oliva <aoliva@redhat.com>
8864
8865 PR debug/47106
8866 * cfgexpand.c (account_used_vars_for_block): Only account vars
8867 that are annotated as used.
8868 (estimated_stack_frame_size): Don't set TREE_USED.
8869 * tree-dfa.c (create_var_ann): Mark variable as used.
8870
f99cc488
RG
88712011-01-21 Richard Guenther <rguenther@suse.de>
8872
8873 PR middle-end/47395
8874 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
8875
3bc27de7
RG
88762011-01-21 Richard Guenther <rguenther@suse.de>
8877
8878 PR tree-optimization/47365
8879 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
8880 (vn_reference_lookup_pieces): Adjust.
8881 (vn_reference_lookup): Likewise.
8882 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
8883 (vn_reference_lookup_3): Only look through kills if in
8884 VN_WALKREWRITE mode.
8885 (vn_reference_lookup_pieces): Adjust.
8886 (vn_reference_lookup): Likewise.
8887 (visit_reference_op_load): Likewise.
8888 (visit_reference_op_store): Likewise.
8889 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
8890 (compute_avail): Likewise.
8891 (eliminate): Likewise.
8892
d8debb1d
JJ
88932011-01-21 Jakub Jelinek <jakub@redhat.com>
8894
8895 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
8896 DECL_IGNORED_P non-reg vars if they are used.
8897
3a2df831
JJ
8898 PR tree-optimization/47391
8899 * varpool.c (const_value_known_p): Return false if
8900 decl is volatile.
8901
1dd584a2
KT
89022011-01-21 Kai Tietz <kai.tietz@onevision.com>
8903
8904 PR bootstrap/47215
8905 * config/i386/i386.c (ix86_local_alignment): Handle
8906 case for va_list_type_node is nil.
8907 (ix86_canonical_va_list_type): Likewise.
8908
7f9f095e
AM
89092011-01-21 Alan Modra <amodra@gmail.com>
8910
8911 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
8912 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
8913
837b01f6
RR
89142011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8915
8916 * config/arm/arm.md (define_attr type): Rename f_load
8917 and f_store to f_fpa_load and f_fpa_store. Update.
8918 (write_conflict): Deal with rename fallout.
8919 (*push_fp_multi): Likewise.
8920 * config/arm/fpa.md (f_load): Use f_fpa_load.
8921 (f_store): Use f_fpa_store.
8922 (*movsf_fpa): Likewise.
8923 (*movdf_fpa): Likewise.
8924 (*movxf_fpa): Likewise.
8925 (*thumb2_movsf_fpa): Likewise.
8926 (*thumb2_movdf_fpa): Likewise.
8927 (*thumb2_movxf_fpa): Likewise.
8928 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
8929 f_loadd and f_stored.
8930 (*thumb2_movdi_vfp): Likewise.
8931 (*thumb2_movsf_vfp): Fix attribute to f_loads.
8932 (*thumb2_movsi_vfp): Likewise.
8933 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
8934 Use f_loads instead of f_load.
8935 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
8936
a1a79768
AS
89372011-01-20 Anatoly Sokolov <aesok@post.ru>
8938
8939 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
8940 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
8941 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
8942 (xtensa_mode_dependent_address_p): New function.
8943 (constantpool_address_p): Make static. Change return type to bool.
8944 Change argument type to const_rtx. Use CONST_INT_P predicate.
8945
427f6cec
AO
89462011-01-20 Alexandre Oliva <aoliva@redhat.com>
8947
8948 PR debug/46583
8949 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
8950
583ac69c
JJ
89512011-01-20 Jakub Jelinek <jakub@redhat.com>
8952
8953 PR debug/47283
8954 * cfgexpand.c (expand_debug_expr): Instead of generating
8955 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
8956 etc. handling.
8957
93e452ed
RG
89582011-01-20 Richard Guenther <rguenther@suse.de>
8959
8960 PR middle-end/47370
8961 * tree-inline.c (remap_gimple_op_r): Recurse manually for
8962 the pointer operand of MEM_REFs.
8963
28fc44f3
JJ
89642011-01-20 Jakub Jelinek <jakub@redhat.com>
8965
8966 PR tree-optimization/46130
8967 * ipa-split.c (consider_split): If return_bb contains non-virtual
8968 PHIs other than for retval or if split_function would not adjust it,
8969 refuse to split.
8970
ddd268f2
RG
89712011-01-20 Richard Guenther <rguenther@suse.de>
8972
8973 PR tree-optimization/47167
8974 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
8975 Revert previous change, only avoid enumeral type changes.
8976
882020aa
MS
89772011-01-19 Mike Stump <mikestump@comcast.net>
8978
8979 * doc/tm.texi.in (BRANCH_COST): Englishify.
8980 * doc/tm.texi (BRANCH_COST): Likewise.
8981
7edb6247
DS
89822011-01-19 Dodji Seketeli <dodji@redhat.com>
8983
8984 PR c++/47291
8985 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
8986 (gen_scheduled_generic_parms_dies): New functions.
8987 (gen_struct_or_union_type_die): Schedule template parameters DIEs
8988 generation for the end of CU compilation.
8989 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 8990
23d5ed5d
AO
89912011-01-19 Alexandre Oliva <aoliva@redhat.com>
8992
8993 PR debug/46240
8994 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
8995 debug bind stmt on merge edges.
8996
37d6a488
AO
89972011-01-19 Alexandre Oliva <aoliva@redhat.com>
8998
8999 PR debug/47079
9000 PR debug/46724
9001 * function.c (instantiate_expr): Instantiate incoming rtl of
9002 implicit arguments, and recurse on VALUE_EXPRs.
9003 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
9004 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
9005
689f2c82
AO
90062011-01-19 Alexandre Oliva <aoliva@redhat.com>
9007
9008 * c-parser.c (c_parser_for_statement): Initialize
9009 collection_expression.
9010
03029de4
JM
90112011-01-19 Joseph Myers <joseph@codesourcery.com>
9012
9013 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
9014
3e03217e
JM
90152011-01-19 Joseph Myers <joseph@codesourcery.com>
9016
9017 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
9018 (LINK_SHLIB_SPEC): Don't use %(link_path).
9019 (SUBTARGET_EXTRA_SPECS): Remove link_path.
9020
5bbe9b3f
JM
90212011-01-19 Joseph Myers <joseph@codesourcery.com>
9022
9023 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
9024 (NO_SHARED_LIB_SUPPORT): Remove.
9025 (LINK_SHLIB_SPEC): Remove one conditional definition.
9026
368e0b39
JM
90272011-01-19 Joseph Myers <joseph@codesourcery.com>
9028
9029 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
9030 %{call_shared}.
9031 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
9032 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
9033 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
9034 %{call_shared} and conditionals on these options not being passed.
9035 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
9036 %{call_shared}.
9037
ed7656f6
JJ
90382011-01-19 Jakub Jelinek <jakub@redhat.com>
9039
68457901
JJ
9040 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
9041 simplify.
9042
ed7656f6
JJ
9043 * ipa-split.c: Spelling fixes.
9044
e0d1958f
RH
90452011-01-19 Richard Henderson <rth@redhat.com>
9046
9047 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
9048 (*mulsi3): Likewise.
9049
27098b6b
RH
9050 * longlong.h [__mn10300__] (count_leading_zeros): New.
9051 [__mn10300__] (umul_ppmm, smul_ppmm): New.
9052 [__mn10300__] (add_ssaaaa, subddmmss): New.
9053 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
9054 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
9055
d6be7c36
UW
90562011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9057
9058 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
9059
b1efde2a
RH
90602011-01-19 Richard Henderson <rth@redhat.com>
9061
44217823
RH
9062 * config/mn10300/mn10300.md (addsi3_flags): New.
9063 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
9064 (subsi3_flags, subc_internal, subdi3): New.
9065 (subdi3_internal, *subdi3_degenerate): New.
9066 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
9067
37a185d7
RH
9068 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
9069 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
9070 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
9071 * config/mn10300/mn10300-protos.h: Update.
9072 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
9073 (return_ret): Likewise. Rename from return_internal_regs.
9074 (return_internal): Remove.
9075
040c5757
RH
9076 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
9077 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
9078 (mn10300_legitimate_constant_p): Likewise.
9079 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
9080 (mn10300_frame_size): New.
9081 (mn10300_expand_prologue): Use it.
9082 (mn10300_expand_epilogue): Likewise.
9083 (mn10300_initial_offset): Likewise.
9084 * config/mn10300/mn10300-protos.h: Update.
9085 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
9086 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
9087 (prologue, epilogue, return_internal): Tidy output code.
9088 (mn10300_store_multiple_operation, return): Likewise.
9089 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
9090 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
9091 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
9092 (load_pic, am33_load_pic): New.
9093 (mn10300_load_pic0, mn10300_load_pic1): New.
9094
bad41521
RH
9095 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
9096 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
9097 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
9098 (cc_flags_for_mode, cc_flags_for_code): New.
9099 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
9100 overflow flag is not valid. Validate that the flags we need
9101 for the comparison are valid.
9102 (mn10300_output_cmp): Remove.
9103 (mn10300_output_add): New.
9104 (mn10300_select_cc_mode): Use cc_flags_for_code.
9105 (mn10300_split_cbranch): New.
9106 (mn10300_match_ccmode): New.
9107 (mn10300_split_and_operand_count): New.
9108 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
9109 to the function.
9110 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
9111 (addsi3): ... here. Use mn10300_output_add.
9112 (*addsi3_flags): New.
9113 (*am33_subsi3, *mn10300_subsi3): Merge...
9114 (subsi3): ... here. Use attribute isa.
9115 (*subsi3_flags): New.
9116 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
9117 when possible.
9118 (*am33_andsi3, *mn10300_andsi3): Merge...
9119 (andsi3): ... here.
9120 (*andsi3_flags): New.
9121 (andsi3 splitters): New.
9122 (*am33_iorsi3, *mn10300_iorsi3): Merge...
9123 (iorsi3): ... here.
9124 (*iorsi3_flags): New.
9125 (*am33_xorsi3, *mn10300_xorsi3): Merge...
9126 (xorsi3): ... here.
9127 (*xorsi3_flags): New.
9128 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
9129 (one_cmplsi2): ... here.
9130 (*one_cmplsi2_flags): New.
9131 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
9132 instead of "dax" in constraints. Use mn10300_split_cbranch.
9133 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
9134 use matching constraints to eliminate a self-comparison.
9135 (*integer_conditional_branch): Rename from integer_conditional_branch.
9136 Use int_mode_flags to match CC_REG.
9137 (*cbranchsi4_btst, *btstsi): New.
9138 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
9139 mn10300_split_cbranch.
9140 (*am33_cmpsf): Rename from am33_cmpsf.
9141 (*float_conditional_branch): Rename from float_conditional_branch.
9142 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
9143 (zero_extendqisi2): ... here.
9144 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
9145 (zero_extendhisi2): ... here.
9146 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
9147 (extendqisi2): ... here.
9148 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
9149 (extendhisi2): ... here.
9150 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
9151 (ashlsi3): ... here.
9152 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
9153 (lshrsi3): ... here.
9154 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
9155 (ashrsi3): ... here.
9156 (consecutive add peephole): Remove.
9157 * config/mn10300/predicates.md (label_ref_operand): New.
9158 (int_mode_flags): New.
9159 (CCZN_comparison_operator): New.
9160
9efb4993
RH
9161 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
9162 (throughput_42_latency_43): New reservation.
9163 (mulsidi3, umulsidi3): New expanders.
9164 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
9165 the MDR register to allocation; separately allocate the low and
9166 high parts of the DImode result.
9167 (umulsidi3_internal): Similarly.
9168 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
9169 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
9170 (udivsi3, umodsi3): Remove.
9171 (udivmodsi4, divmodsi4): New expanders.
9172 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
9173 (*divmodsi4): Simiarly.
9174 (ext_internal): New.
9175
c25a21f5
RH
9176 * config/mn10300/constraints.md ("z"): New constraint.
9177 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
9178 (FIXED_REGISTERS): Don't fix MDR.
9179 (CALL_USED_REGSITERS): Reformat nicely.
9180 (REG_ALLOC_ORDER): Add MDR.
9181 (enum regclass): Add MDR_REGS.
9182 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
9183 (IRA_COVER_CLASSES): Add MDR_REGS.
9184 (REGNO_REG_CLASS): Handle MDR_REG.
9185 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
9186 (mn10300_register_move_cost): Likewise.
9187 * config/mn10300/mn10300.md (MDR_REG): New.
9188 (*movsi_internal): Handle moves to/from MDR_REGS.
9189
36846b26
RH
9190 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
9191 POST_MODIFY.
9192 (mn10300_secondary_reload): Tidy combination reload classes.
9193 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
9194 addresses for AM33. Allow symbolic offsets for reg+imm.
9195 (mn10300_regno_in_class_p): New.
9196 (mn10300_legitimize_reload_address): New.
9197 * config/mn10300/mn10300.h (enum reg_class): Remove
9198 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
9199 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
9200 SP_OR_GENERAL_REGS.
9201 (REG_CLASS_NAMES): Update to match.
9202 (REG_CLASS_CONTENTS): Likewise.
9203 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
9204 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
9205 (REGNO_IN_RANGE_P): Remove.
9206 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
9207 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
9208 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
9209 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
9210 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
9211 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
9212 (REGNO_GENERAL_P): New.
9213 (HAVE_POST_MODIFY_DISP): New.
9214 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
9215 (LEGITIMIZE_RELOAD_ADDRESS): New.
9216 * config/mn10300/mn10300-protos.h: Update.
9217
8b119bb6
RH
9218 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
9219 DATA_REGS for AM33 stack-pointer destination.
9220 (mn10300_preferred_output_reload_class): Likewise.
9221 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
9222 into a form appropriate for ...
9223 (TARGET_SECONDARY_RELOAD): New.
9224 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
9225 * config/mn10300/mn10300-protos.h: Update.
9226 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
9227 reload_insi; use the "A" constraint for the scratch; handle AM33
9228 moves of sp to non-address registers.
9229
b1efde2a
RH
9230 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
9231 (*movqi_internal): ... here.
9232 (*am33_movhi, *mn10300_movhi): Merge into...
9233 (*movhi_internal): ... here.
9234 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
9235 as the source/destination of moves from/to SP.
9236 (movsf): Only allow for AM33-2.
1c3ba85b 9237 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
9238 any integer constant constraint. Only allow for AM33-2. Tidy
9239 all of the alternative outputs.
9240 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
9241 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
9242 for MN103.
9243 (udivsi3, umodsi3): New patterns for MN103 only.
9244
b899fd78
JR
92452011-01-19 Joern Rennecke <amylaar@spamcop.net>
9246
9247 * doc/tm.texi.in: Spell out that a lack of register class unions
9248 can lead to ICEs.
9249 * doc/tm.texi: Regenerate.
9250
afaaa67d
JJ
92512011-01-19 Jakub Jelinek <jakub@redhat.com>
9252
2e0642cd
JJ
9253 PR rtl-optimization/47337
9254 * dce.c (check_argument_store): New function.
9255 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
9256
afaaa67d
JJ
9257 PR tree-optimization/47290
9258 * tree-eh.c (infinite_empty_loop_p): New function.
9259 (cleanup_empty_eh): Use it.
9260
d2cd871f
SE
92612011-01-18 Steve Ellcey <sje@cup.hp.com>
9262
9263 PR target/46997
9264 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
9265 (a64_expand_widen_sum): Ditto.
9266 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
9267 (vec_extract_evenodd_help): Ditto.
9268 (vec_extract_evenv4hi): Ditto.
9269 (vec_extract_oddv4hi): Ditto.
9270 (vec_extract_evenv2si): Ditto.
9271 (vec_extract_oddv2si): Ditto.
9272 (vec_extract_evenv2sf): Ditto.
9273 (vec_extract_oddv2sf): Ditto.
9274 (vec_pack_trunc_v4hi: Ditto.
9275 (vec_pack_trunc_v2si): Ditto.
9276 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
9277 (vec_interleave_highv8qi): Ditto.
9278 (mix1_r): Ditto.
9279 (vec_extract_oddv8qi): Ditto.
9280 (vec_interleave_lowv4hi): Ditto.
9281 (vec_interleave_highv4hi): Ditto.
9282 (vec_interleave_lowv2si): Ditto.
9283 (vec_interleave_highv2si): Ditto.
9284
41a1208a
JDA
92852011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9286
9287 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
9288 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
9289 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
9290 (pa_c_mode_for_suffix): New.
9291 (TARGET_EXPAND_BUILTIN): Define.
9292 (TARGET_C_MODE_FOR_SUFFIX): Define.
9293 (pa_builtins): Define.
9294 (pa_init_builtins): Register __float128 type and init new support
9295 builtins.
9296 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
9297 * config/pa/quadlib.c (_U_Qfcopysign): New.
9298
1ecad98e
EB
92992011-01-18 Eric Botcazou <ebotcazou@adacore.com>
9300
9301 PR middle-end/46894
9302 * explow.c (allocate_dynamic_stack_space): Do not assume more than
9303 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
9304 are defined.
9305
d4f2460a
UW
93062011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9307
9308 PR tree-optimization/47179
9309 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
9310 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
9311
4994da65
RG
93122011-01-18 Richard Guenther <rguenther@suse.de>
9313
9314 PR rtl-optimization/47216
9315 * emit-rtl.c: Include tree-flow.h.
9316 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
9317 of replicating it with different semantics.
9318 * Makefile.in (emit-rtl.o): Adjust.
9319
1eb458d1
RR
93202011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9321
38be4072 9322 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 9323 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 9324
e7ef91dc
JJ
93252011-01-18 Jakub Jelinek <jakub@redhat.com>
9326
9327 PR rtl-optimization/47299
9328 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 9329 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
9330 * expmed.c (expand_widening_mult): Don't try to optimize constant
9331 multiplication if op0 has VOIDmode. Convert op1 constant to mode
9332 before using it.
9333
535b7874
RW
93342011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9335
9336 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
9337 spacing after 'e.g.', typos, comma, hyphenation.
9338
27bf36f3
RH
93392011-01-17 Richard Henderson <rth@redhat.com>
9340
8a5b5449
RH
9341 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
9342 (rx_restricted_mem_operand): New.
9343 (rx_shift_operand): Use register_operand.
9344 (rx_source_operand, rx_compare_operand): Likewise.
9345 * config/rx/rx.md (addsi3_flags): New expander.
9346 (adddi3): Rewrite as expander.
9347 (adc_internal, *adc_flags, adddi3_internal): New patterns.
9348 (subsi3_flags): New expander.
9349 (subdi3): Rewrite as expander.
9350 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
9351
784f69be
RH
9352 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
9353 (rx_init_builtins): Remove sat builtin.
9354 (rx_expand_builtin): Likewise.
9355 * config/rx/rx.md (ssaddsi3): New.
9356 (*sat): Rename from sat. Represent the CC_REG input.
9357
f033541c
RH
9358 * config/rx/predicates.md (rshift_operator): New.
9359 * config/rx/rx.c (rx_expand_insv): Remove.
9360 * config/rx/rx-protos.h: Update.
9361 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
9362 operand to the canonical position.
9363 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
9364 (*bitclr, *bitclr_in_memory): Similarly.
9365 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
9366 (insv): Retain the zero_extract in the expansion.
9367
34fee389
RH
9368 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
9369 (bswaphi2, bitinvert, revw): Likewise.
9370
265c835f
RH
9371 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
9372 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
9373 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
9374 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
9375 (bitset, bitset_in_memory): Likewise.
9376 (bitinvert, bitinvert_in_memory): Likewise.
9377 (bitclr, bitclr_in_memory): Likewise.
9378 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
9379 (rx_strend, rx_cmpstrn): Likewise.
9380 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
9381 (bitop peep2 patterns): Remove.
9382
b4d83be3
RH
9383 * config/rx/rx.c (rx_match_ccmode): New.
9384 * config/rx/rx-protos.h: Update.
9385 * config/rx/rx.md (abssi2): Clobber, don't set flags.
9386 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
9387 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
9388 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
9389 (fix_truncsfsi2, floatsisf2): Likewise.
9390 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
9391 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
9392 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
9393 (*subsi3_flags, *xorsi3_flags): New.
9394
d0acb939
RH
9395 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
9396
c06fc3d9
RH
9397 * config/rx/rx.c (rx_print_operand): Remove workaround for
9398 unsplit comparison operations.
9399
2882702b
RH
9400 * config/rx/rx.md (movsicc): Split after reload.
9401 (*movsicc): Merge *movsieq and *movsine via match_operator.
9402 (*stcc): New pattern.
9403
6f7310f2
RH
9404 * config/rx/rx.c (rx_float_compare_mode): Remove.
9405 * config/rx/rx.h (rx_float_compare_mode): Remove.
9406 * config/rx/rx.md (cstoresi4): Split after reload.
9407 (*sccc): New pattern.
9408
e963cb1a
RH
9409 * config/rx/predicates.md (label_ref_operand): New.
9410 (rx_z_comparison_operator): New.
9411 (rx_zs_comparison_operator): New.
9412 (rx_fp_comparison_operator): New.
9413 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
9414 Validate that the flags are set properly for the comparison.
9415 (rx_gen_cond_branch_template): Remove.
9416 (rx_cc_modes_compatible): Remove.
9417 (mode_from_flags): New.
9418 (flags_from_code): Rename from flags_needed_for_conditional.
9419 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
9420 (rx_select_cc_mode): Likewise.
9421 (rx_split_fp_compare): New.
9422 (rx_split_cbranch): New.
9423 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
9424 (*cbranchsi4): Use match_operator and rx_split_cbranch.
9425 (*cbranchsf4): Similarly.
9426 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
9427 match_operator and rx_split_cbranch.
9428 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
9429 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
9430 (*cmpsi): Rename from cmpsi.
9431 (*tstsi): Rename from tstsi.
9432 (*cmpsf): Rename from cmpsf; use CC_Fmode.
9433 (*conditional_branch): Rename from conditional_branch.
9434 (*reveresed_conditional_branch): Remove.
9435 (b<code>): Remove expander.
9436 * config/rx/rx-protos.h: Update.
9437
af530bb4
RH
9438 * config/rx/rx.c (rx_compare_redundant): Remove.
9439 * config/rx/rx.md (cmpsi): Don't use it.
9440 * config/rx/rx-protos.h: Update.
9441
27bf36f3
RH
9442 * config/rx/rx-modes.def (CC_F): New mode.
9443 * config/rx/rx.c (rx_select_cc_mode): New.
9444 * config/rx/rx.h (SELECT_CC_MODE): Use it.
9445 * config/rx/rx-protos.h: Update.
9446
d7fde127
RH
94472011-01-17 Richard Henderson <rth@redhat.com>
9448
9449 * except.c (dump_eh_tree): Fix stray ; after for statement.
9450
6ff38230
RG
94512011-01-17 Richard Guenther <rguenther@suse.de>
9452
9453 PR tree-optimization/47313
9454 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
9455 handling before copying the body. Properly deal with
9456 by-reference result in SSA form.
9457
114ce554
ILT
94582011-01-17 Ian Lance Taylor <iant@google.com>
9459
bf5cd92b 9460 PR target/47219
114ce554
ILT
9461 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
9462 (struct_value_alias_set): Don't define.
9463 (sparc_option_override): Don't set sparc_sr_alias_set and
9464 struct_value_alias_set.
9465 (save_or_restore_regs): Use gen_frame_mem rather than calling
9466 set_mem_alias_set.
9467 (sparc_struct_value_rtx): Likewise.
9468
98c6d93c
L
94692011-01-17 H.J. Lu <hongjiu.lu@intel.com>
9470
9471 PR target/47318
7a81008b 9472 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i.
98c6d93c
L
9473 (_mm_maskstore_pd): Likewise.
9474 (_mm_maskload_ps): Likewise.
9475 (_mm_maskstore_ps): Likewise.
9476 (_mm256_maskload_pd): Change mask to __m256i.
9477 (_mm256_maskstore_pd): Likewise.
9478 (_mm256_maskload_ps): Likewise.
9479 (_mm256_maskstore_ps): Likewise.
9480
9481 * config/i386/i386-builtin-types.def: Updated.
9482 (ix86_expand_special_args_builtin): Likewise.
9483
9484 * config/i386/i386.c (bdesc_special_args): Update
9485 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
9486 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
9487 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
9488 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
9489
9490 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
9491 Use <avxpermvecmode> on mask register.
9492 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
9493
b9361af2 94942011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
9495 Michael Haubenwallner <michael.haubenwallner@salomon.at>
9496 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
9497
9498 PR target/46655
9499 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
9500 if <= USHRT_MAX in 32-bit mode.
9501
b7ae9eb5
RW
95022011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9503
9504 * doc/install.texi (Configuration, Specific): Wrap long
9505 lines in examples. Allow line wrapping in long options
9506 and URLs where beneficial for PDF output.
9507
4377fad9
RS
95082011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
9509
9510 * config/mips/mips.c (mips_classify_symbol): Don't return
9511 SYMBOL_PC_RELATIVE for nonlocal labels.
9512
55959ffa 95132011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 9514
55959ffa
EB
9515 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
9516
95172011-01-15 Jan Hubicka <jh@suse.cz>
9518
9519 PR tree-optimization/47276
be46831f
JH
9520 * ipa.c (function_and_variable_visibility): Do not try to mark alias
9521 declarations as needed.
9522
05842ff5
MJ
95232011-01-15 Martin Jambor <mjambor@suse.cz>
9524
9525 * common.opt (fdevirtualize): New flag.
9526 * doc/invoke.texi (Option Summary): Document it.
9527 * opts.c (default_options_table): Add devirtualize flag.
9528 * ipa-prop.c (detect_type_change): Return immediately if
9529 devirtualize flag is not set.
9530 (detect_type_change_ssa): Likewise.
9531 (compute_known_type_jump_func): Likewise.
9532 (ipa_analyze_virtual_call_uses): Likewise.
9533
f65cf2b7
MJ
95342011-01-14 Martin Jambor <mjambor@suse.cz>
9535
9536 PR tree-optimization/45934
9537 PR tree-optimization/46302
9538 * ipa-prop.c (type_change_info): New type.
9539 (stmt_may_be_vtbl_ptr_store): New function.
9540 (check_stmt_for_type_change): Likewise.
9541 (detect_type_change): Likewise.
9542 (detect_type_change_ssa): Likewise.
9543 (compute_complex_assign_jump_func): Check for dynamic type change.
9544 (compute_complex_ancestor_jump_func): Likewise.
9545 (compute_known_type_jump_func): Likewise.
9546 (compute_scalar_jump_functions): Likewise.
9547 (ipa_analyze_virtual_call_uses): Likewise.
9548 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
9549
eb5bb0fd
JM
95502011-01-14 Joseph Myers <joseph@codesourcery.com>
9551
9552 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
9553 * config/i386/i386.opt (msse5): New Alias.
9554
f2060fbe
JM
95552011-01-14 Joseph Myers <joseph@codesourcery.com>
9556
9557 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
9558 * config/sparc/linux64.h (CC1_SPEC): Likewise.
9559 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
9560 * config/sparc/sparc.h (CC1_SPEC): Likewise.
9561
3a7b4385
JM
95622011-01-14 Joseph Myers <joseph@codesourcery.com>
9563
9564 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
9565 -mcpu options.
9566 * config/sparc/linux64.h (CC1_SPEC): Likewise.
9567 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
9568 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
9569 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
9570 Likewise.
9571 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
9572
a7b778f8
JM
95732011-01-14 Joseph Myers <joseph@codesourcery.com>
9574
38be4072 9575 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 9576
a7edae0a
MS
95772011-01-14 Mike Stump <mikestump@comcast.net>
9578
9579 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
9580 * config/fr30/fr30.md: Likweise
9581 (movsi_push): Likewise.
9582 (movsi_pop): Likewise.
9583 (enter_func): Likewise.
9584 * config/moxie/moxie.md (movsi_push): Likewise.
9585 (movsi_pop): Likewise.
9586
cbabf03f
JM
95872011-01-14 Joseph Myers <joseph@codesourcery.com>
9588
9589 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
9590 %{no_archive} %{exact_version}.
9591 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
9592 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
9593 %{no_archive} %{exact_version}.
9594 * config/mips/openbsd.h (LINK_SPEC): Likewise.
9595 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
9596 * config/mips/vxworks.h: Likewise.
9597
438da41a
JM
95982011-01-14 Joseph Myers <joseph@codesourcery.com>
9599
38be4072 9600 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 9601
da290a42
JM
96022011-01-14 Joseph Myers <joseph@codesourcery.com>
9603
9604 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
9605 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
9606
8989d00e
JM
96072011-01-14 Joseph Myers <joseph@codesourcery.com>
9608
9609 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
9610 -nodefaultlib.
9611
a3010a69
JM
96122011-01-14 Joseph Myers <joseph@codesourcery.com>
9613
9614 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
9615 for mcpu not cpu.
9616 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
9617 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
9618 not cpu.
9619 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
9620 Don't handle -shlib.
9621
e7f2f537
JM
96222011-01-14 Joseph Myers <joseph@codesourcery.com>
9623
9624 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
9625 (CC1_SPEC): Don't handle -profile.
9626
34830bfd
JM
96272011-01-14 Joseph Myers <joseph@codesourcery.com>
9628
9629 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
9630 * config/mips/mips.h (CC1_SPEC): Likewise.
9631
b2d36e74
JM
96322011-01-14 Joseph Myers <joseph@codesourcery.com>
9633
9634 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
9635 * config/mips/mips.h (CC1_SPEC): Likewise.
9636
dabadc52
JM
96372011-01-14 Joseph Myers <joseph@codesourcery.com>
9638
9639 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
9640 * config/m32r/linux.h (LINK_SPEC): Likewise.
9641 * config/mips/linux.h (LINK_SPEC): Likewise.
9642 * config/mips/linux64.h (LINK_SPEC): Likewise.
9643 * config/sparc/linux.h (LINK_SPEC): Likewise.
9644 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
9645 LINK_SPEC): Likewise.
9646 * config/xtensa/linux.h (LINK_SPEC): Likewise.
9647
43ee6785
JM
96482011-01-14 Joseph Myers <joseph@codesourcery.com>
9649
9650 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
9651 %{version:-v}.
9652 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
9653
45e79dfd
JM
96542011-01-14 Joseph Myers <joseph@codesourcery.com>
9655
9656 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
9657 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
9658
37e9e71d
JM
96592011-01-14 Joseph Myers <joseph@codesourcery.com>
9660
9661 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
9662
bb127cd8
RO
96632011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9664
9665 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
9666 supports -Bstatic/-Bdynamic.
9667 * configure: Regenerate.
9668
89a012ea 96692011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 9670 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
9671
9672 PR target/46037
9673 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
9674 when checking debug_info_level. Test write_symbols instead of
9675 debug_hooks->var_location when setting flag_var_tracking_uninit.
9676
7352c013
RG
96772011-01-14 Richard Guenther <rguenther@suse.de>
9678
9679 PR tree-optimization/47179
9680 * target.def (ref_may_alias_errno): New target hook.
9681 * targhooks.h (default_ref_may_alias_errno): Declare.
9682 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
9683 (default_ref_may_alias_errno): New function.
9684 * target.h (struct ao_ref_s): Declare.
9685 * tree-ssa-alias.c: Include target.h.
9686 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
9687 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
9688 (targhooks.o): Likewise.
9689 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
9690 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
9691
9a6c9288
RG
96922011-01-14 Richard Guenther <rguenther@suse.de>
9693
9694 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
9695
0fdb0d27
RG
96962011-01-14 Richard Guenther <rguenther@suse.de>
9697
9698 PR tree-optimization/47280
9699 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
9700 return CFG changes.
9701 (tree_ssa_forward_propagate_single_use_vars): Deal with
9702 CFG changes from associate_plusminus.
9703
8f66db3b
RG
97042011-01-14 Richard Guenther <rguenther@suse.de>
9705
9706 PR middle-end/47281
9707 Revert
9708 2011-01-11 Richard Guenther <rguenther@suse.de>
9709
280d9630
EB
9710 PR tree-optimization/46076
9711 * tree-ssa.c (useless_type_conversion_p): Conversions from
9712 unprototyped to empty argument list function types are useless.
8f66db3b 9713
6c0c92e6
RG
97142011-01-14 Richard Guenther <rguenther@suse.de>
9715
9716 PR tree-optimization/47286
280d9630 9717 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 9718
db09f943
MJ
97192011-01-14 Martin Jambor <mjambor@suse.cz>
9720
9721 PR middle-end/46823
9722 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
9723
dde8a3a4
AS
97242011-01-13 Anatoly Sokolov <aesok@post.ru>
9725
9726 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
9727 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
9728 * config/xtensa/xtensa.c (xtensa_libcall_value,
9729 xtensa_function_value_regno_p): New functions.
9730 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
9731
a2b63a20
KT
97322011-01-13 Kai Tietz <kai.tietz@onevision.com>
9733
9734 PR c++/47213
9735 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
9736 PE specific hook.
9737 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
9738 New function prototype.
9739 * config/i386/winnt.c (i386_pe_assemble_visibility):
9740 Warn only if attribute was specified by user.
9741
b41f0b34
MM
97422011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
9743
9744 PR target/47251
9745 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
9746 floating point.
9747 (floatunsdidf2_fcfidu): Ditto.
9748
3f3c098d
AK
97492011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9750
9751 * config/s390/s390.c (print_operand_address): Replace 'error' with
9752 'output_operand_lossage'.
9753 (print_operand): Likewise.
9754
29fa95ed
JL
97552011-01-13 Jeff Law <law@redhat.com>
9756
280d9630 9757 PR rtl-optimization/39077
29fa95ed
JL
9758 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
9759 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
9760 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
9761 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
9762 * gcse.c (prune_insertions_deletions): New function.
9763 (compute_pre_data): Use it.
9764
71d12276
DS
97652011-01-13 Dodji Seketeli <dodji@redhat.com>
9766
9767 PR debug/PR46973
9768 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
9769 static function.
61052244 9770 (prune_unused_types_mark): Use it.
71d12276 9771
9b0f04e7
AB
97722011-01-13 Andrey Belevantsev <abel@ispras.ru>
9773
9774 PR rtl-optimization/45352
1c3ba85b 9775 * sel-sched.c: Update copyright years.
9b0f04e7 9776 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 9777 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 9778
d6a3e264
RH
97792011-01-12 Richard Henderson <rth@redhat.com>
9780
a49b692a
RH
9781 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
9782 (TARGET_MD_ASM_CLOBBERS): New.
9783
126b1483
RH
9784 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
9785 (TARGET_DELEGITIMIZE_ADDRESS): New.
9786
f3d9d2e0
RH
9787 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
9788 (clzsi2, *bsch): New patterns.
9789
d84760c9
RH
9790 * config/mn10300/mn10300.md (INT): New mode iterator.
9791 (*mov<INT>_clr): New pattern, and peep2 to generate it.
9792
ec815d65
RH
9793 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
9794 flag_split_wide_types.
9795
d6a3e264
RH
9796 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
9797 (mn10300_trampoline_init): Rewrite without a template, an immediate
9798 load and a direct branch.
9799 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
9800
0f8ab434
AS
98012011-01-12 Anatoly Sokolov <aesok@post.ru>
9802
9803 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
9804 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
9805 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
9806 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
9807
d8a24b65
KT
98082011-01-12 Kai Tietz <kai.tietz@onevision.com>
9809
9810 PR debug/47209
9811 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
9812 of type.
9813
56e22cab
JH
98142011-01-12 Jan Hubicka <jh@suse.cz>
9815
9816 PR driver/47244
9817 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
9818 (PLUGIN_COND_CLOSE): New macro.
9819 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
9820
4b18b3c2
RG
98212011-01-12 Richard Guenther <rguenther@suse.de>
9822
9823 PR lto/47259
9824 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
9825 register variables in a MEM_REF.
9826
8e38461c
JM
98272011-01-12 Joseph Myers <joseph@codesourcery.com>
9828
9829 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
9830 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
9831 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
9832 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
9833 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
9834 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
9835 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
9836 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
9837 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
9838 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
9839 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
9840 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
9841 * config/gnu-user.h: New. Copied from linux.h.
9842 (LINUX_TARGET_STARTFILE_SPEC): Rename to
9843 GNU_USER_TARGET_STARTFILE_SPEC.
9844 (LINUX_TARGET_ENDFILE_SPEC): Rename to
9845 GNU_USER_TARGET_ENDFILE_SPEC.
9846 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
9847 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
9848 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
9849 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
9850 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
9851 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
9852 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
9853 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
9854 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
9855 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
9856 * config/arm/linux-eabi.h (CC1_SPEC): Use
9857 GNU_USER_TARGET_CC1_SPEC.
9858 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
9859 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
9860 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
9861 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
9862 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
9863 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
9864 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
9865 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
9866
a570fc16
RG
98672011-01-12 Richard Guenther <rguenther@suse.de>
9868
9869 PR other/46946
9870 * doc/invoke.texi (ffast-math): Document it is turned on
9871 with -Ofast.
9872
b0223c3e
JH
98732011-01-12 Jan Hubicka <jh@suse.cz>
9874
9875 PR tree-optimization/47233
ca1e00b3
EB
9876 * opts.c (common_handle_option): Disable ipa-reference with profile
9877 feedback.
b0223c3e 9878
1c3ba85b 98792011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
9880
9881 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
9882 error message.
9883
d853ee42
NP
98842011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
9885
9886 * c-parser.c (c_lex_one_token): Updated and reindented some
9887 comments. No changes in code.
9888
4053a5a0
ILT
98892011-01-11 Ian Lance Taylor <iant@google.com>
9890
9891 * godump.c (go_output_var): Don't output the variable if there is
9892 already a type with the same name.
9893
fa3e04d2
ILT
98942011-01-11 Ian Lance Taylor <iant@google.com>
9895
9896 * godump.c (go_format_type): Don't generate float80.
9897
885fe07c
RH
98982011-01-11 Richard Henderson <rth@redhat.com>
9899
72d6e3c5
RH
9900 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
9901 declaration. Rewrite for both speed and size.
9902 (mn10300_address_cost_1): Remove.
9903 (mn10300_register_move_cost): New.
9904 (mn10300_memory_move_cost): New.
9905 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
9906 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
9907 extensions, shifts, BSWAP, CLZ.
9908 (mn10300_wide_const_load_uses_clr): Remove.
9909 (TARGET_REGISTER_MOVE_COST): New.
9910 (TARGET_MEMORY_MOVE_COST): New.
9911 * config/mn10300/mn10300-protos.h: Update.
9912 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
9913
df37c023
RH
9914 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
9915 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
9916 * config/mn10300/mn10300-protos.h: Update.
9917 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
9918 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
9919 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
9920 (*test_int_bitfield, *test_byte_bitfield): Remove.
9921 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 9922 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 9923
85a337b5
RH
9924 * config/mn10300/constraints.md ("c"): Rename from "A".
9925 ("A", "D"): New constraint letters.
9926 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
9927 (fmssf4, fnmasf4, fnmssf4): Likewise.
9928
a5c727e3
RH
9929 * config/mn10300/mn10300.md (isa): New attribute.
9930 (enabled): New attribute.
9931
0d9e23f4
RH
9932 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
9933 (abssf2, negsf2): Define only for hardware fp.
9934 (sqrtsf2): Reformat.
9935 (addsf3, subsf3, mulsf3): Merge expander and insn.
9936
c157b3f0
RH
9937 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
9938 (DEBUGGER_AUTO_OFFSET): Remove.
9939 (DEBUGGER_ARG_OFFSET): Remove.
9940
cc909bba
RH
9941 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
9942 Emit register stores with the same offsets as the hardware.
9943 (mn10300_store_multiple_operation): Don't check that the register
9944 save offsets are monotonic.
9945 * config/mn10300/mn10300-protos.h: Update.
9946
e3b5c2f3
RH
9947 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
9948
885fe07c
RH
9949 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
9950 in terms of the value on the stack, not the MDR register.
9951
6e701822
JH
99522011-01-11 Jan Hubicka <jh@suse.cz>
9953
9954 PR lto/45721
9955 PR lto/45375
9956 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
9957 (symbol_alias_set_destroy, symbol_alias_set_contains,
9958 propagate_aliases_backward): Declare.
9959 * lto-streamer-out.c (struct sets): New sturcture.
9960 (trivally_defined_alias): New function.
9961 (output_alias_pair_p): Rewrite.
9962 (output_unreferenced_globals): Fix output of alias pairs.
9963 (produce_symtab): Likewise.
9964 * ipa.c (function_and_variable_visibility): Set weak alias destination
9965 as needed in lto.
9966 * varasm.c (symbol_alias_set_t): Remove.
9967 (symbol_alias_set_destroy): Export.
9968 (propagate_aliases_forward, propagate_aliases_backward): New functions
9969 based on ...
9970 (compute_visible_aliases): ... this one; remove.
9971 (trivially_visible_alias): New
9972 (trivially_defined_alias): New.
9973 (remove_unreachable_alias_pairs): Rewrite.
9974 (finish_aliases_1): Reorganize code checking if alias is defined.
9975 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
9976 in LTO mode.
9977
1b248907
RG
99782011-01-11 Richard Guenther <rguenther@suse.de>
9979
9980 PR tree-optimization/46076
9981 * tree-ssa.c (useless_type_conversion_p): Conversions from
9982 unprototyped to empty argument list function types are useless.
9983
b1923f0a
RG
99842011-01-11 Richard Guenther <rguenther@suse.de>
9985
9986 PR middle-end/45235
9987 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
9988 volatile MEMs as MEM_READONLY_P.
9989
e98965af
RG
99902011-01-11 Richard Guenther <rguenther@suse.de>
9991
9992 PR tree-optimization/47239
9993 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
9994
9f9ca914
JL
99952011-01-11 Jeff Law <law@redhat.com>
9996
1ee3ea05 9997 PR tree-optimization/47086
9f9ca914
JL
9998 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
9999 IVs from statements that might throw.
10000
345fdcb7
JH
100012011-01-10 Jan Hubicka <jh@suse.cz>
10002
10003 PR lto/45375
10004 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
10005
c459c97b
JH
100062011-01-10 Jan Hubicka <jh@suse.cz>
10007
10008 PR lto/45375
10009 * profile.c (read_profile_edge_counts): Ignore profile inconistency
10010 when correcting profile.
10011
06c9eb51
JH
100122011-01-10 Jan Hubicka <jh@suse.cz>
10013
10014 PR lto/46083
10015 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
10016 DECL_FINI_PRIORITY.
10017 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
10018 Restore DECL_FINI_PRIORITY.
10019
ae9fd815
RW
100202011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10021
10022 * doc/gimple.texi: Fix quoting of multi-word return values in
10023 @deftypefn statements. Ensure presence of return value. Wrap
10024 overlong @deftypefn lines.
10025 (is_gimple_operand, is_gimple_min_invariant_address): Remove
10026 descriptions of removed functions.
10027 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
10028 of multi-word return value in @deftypefn statement.
10029
0ecb4a7c
RW
100302011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10031
10032 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
10033 (Conditional Expressions, Logical Operators)
10034 (Statement and operand traversals): Do not indent smallexample
10035 code. Fix duplicate function argument in example.
10036
2e5e346d
JL
100372011-01-10 Jeff Law <law@redhat.com>
10038
1ee3ea05 10039 PR tree-optimization/47141
2e5e346d
JL
10040 * ipa-split.c (split_function): Handle case where we are
10041 returning a value and the return block has a virtual operand phi.
10042
cf9712cc
JH
100432011-01-10 Jan Hubicka <jh@suse.cz>
10044
1c3ba85b 10045 PR tree-optimization/47234
cf9712cc
JH
10046 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
10047 (pass_feedback_split_functions): Declare.
10048 * passes.c (init_optimization_passes): Add ipa-split as subpass of
10049 tree-profile.
10050 * ipa-split.c (gate_split_functions): Update comments; disable
10051 split-functions for profile_arc_flag and branch_probabilities.
10052 (gate_feedback_split_functions): New function.
10053 (execute_feedback_split_functions): New function.
10054 (pass_feedback_split_functions): New global var.
10055
94cd932c
L
100562011-01-10 H.J. Lu <hongjiu.lu@intel.com>
10057
10058 PR lto/46760
10059 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
10060 calling gimple_call_set_cannot_inline.
10061
fbbfcaf1
IS
100622011-01-10 Iain Sandoe <iains@gcc.gnu.org>
10063
10064 * config/darwin-sections.def: Remove unused section.
10065
d06865bf
DK
100662011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
10067
10068 PR c++/47218
10069 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
10070
96bbfbac
NP
100712011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
10072
10073 PR objc/47232
10074 * c-parser.c (c_parser_declaration_or_fndef): Improved
10075 error message.
10076
1ba6516f
KT
100772011-01-09 Kai Tietz <kai.tietz@onevision.com>
10078
10079 * config/i386/winnt.c (i386_pe_start_function): Make sure
10080 to switch back to function's section.
10081
0c5d770e
IS
100822011-01-09 Iain Sandoe <iains@gcc.gnu.org>
10083
10084 PR gcc/46902
10085 PR testsuite/46912
10086 * plugin.c: Move include of dlfcn.h from here...
10087 * system.h: ... to here.
10088
100892011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
10090
10091 * doc/cpp.texi (C++ Named Operators): Fix markup for header
10092 file name.
10093 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
10094 two extra empty pages in PDF output.
10095
046608a3
NP
100962011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
10097
10098 PR objc/47078
10099 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
10100 for error recovery purposes behave as if it was not specified so
10101 that the default type is usd.
10102
8cb114b9
JH
101032011-01-07 Jan Hubicka <jh@suse.cz>
10104
10105 PR tree-optmization/46469
10106 * ipa.c (function_and_variable_visibility): Clear needed flags on
10107 nodes with external decls; handle weakrefs merging correctly.
10108
b294a75e
JM
101092011-01-07 Joseph Myers <joseph@codesourcery.com>
10110
10111 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
10112 not false.
10113
96bdf9b4
JH
101142011-01-07 Jan Hubicka <jh@suse.cz>
10115
10116 * doc/invoke.texi: (-flto, -fuse-linker-plugin): Update defaults
10117 and no longer claim that gold is required for linker plugin.
10118 * configure: Regenerate.
10119 * gcc.c (PLUGIN_COND): New macro.
10120 (LINK_COMMAND_SPEC): Use it.
10121 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
10122 * config.in (HAVE_LTO_PLUGIN): New.
10123 * configure.ac (--with-lto-plugin): New parameter; autodetect
10124 HAVE_LTO_PLUGIN.
10125
17afc0fe
JH
101262011-01-07 Jan Hubicka <jh@suse.cz>
10127
10128 PR tree-optimization/46367
10129 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
10130 when we can update original.
10131 (cgraph_mark_inline_edge): Sanity check.
10132 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
10133
d4c48c0f
UW
101342011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10135
10136 * config/spu/spu.h (ASM_COMMENT_START): Define.
10137
96f5b137
L
101382011-01-07 H.J. Lu <hongjiu.lu@intel.com>
10139
10140 PR driver/42445
10141 * gcc.c (%>S): New.
10142 (SWITCH_KEEP_FOR_GCC): Likewise.
10143 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
10144 (do_spec_1): Handle "%>".
10145
10146 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
10147
c6a8f6de
JJ
101482011-01-07 Jakub Jelinek <jakub@redhat.com>
10149
c21bbd7a
JJ
10150 PR target/47201
10151 * config/i386/i386.c (ix86_delegitimize_address): If
10152 simplify_gen_subreg fails, return orig_x.
10153
c6a8f6de
JJ
10154 PR bootstrap/47187
10155 * value-prof.c (gimple_stringop_fixed_value): Handle
10156 lhs of the call properly.
10157
fe95fbf9
JH
101582011-01-07 Jan Hubicka <jh@suse.cz>
10159
10160 PR lto/45375
10161 * lto-opt.c (lto_reissue_options): Set flag_shlib.
10162
14d11d40
IS
101632011-01-07 Iain Sandoe <iains@gcc.gnu.org>
10164
72e961c8
EB
10165 * target.def (function_switched_text_sections): New hook.
10166 * doc/tm.texi: Regenerated.
10167 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 10168 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
10169 (final_scan_insn): Call function_switched_text_sections when a
10170 mid-function section change occurs.
14d11d40 10171 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
10172 * config/darwin-protos.h (darwin_function_switched_text_sections):
10173 Likewise.
14d11d40 10174 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 10175 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 10176
0b764288
IS
101772011-01-07 Iain Sandoe <iains@gcc.gnu.org>
10178
10179 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
10180 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
10181 the secondary code fragment when outputting for DWARF == 2.
10182
2ac6bb04
AS
101832011-01-07 Anatoly Sokolov <aesok@post.ru>
10184
10185 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
10186 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
10187 Remove.
10188 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
10189 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
10190
9f82de11
EB
101912011-01-06 Eric Botcazou <ebotcazou@adacore.com>
10192
10193 PR debug/46704
280d9630
EB
10194 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
10195 when it is not empty.
9f82de11
EB
10196
101972011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 10198
1ed72abf 10199 Bobcat Enablement
14b52538 10200 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 10201 (case ${target}): Add btver1.
14b52538 10202 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 10203 -march=native recognize btver1 processors.
14b52538 10204 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 10205 btver1 def_and_undef
14b52538 10206 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
10207 btver1 cost table.
10208 (m_BTVER1): New definition.
10209 (m_AMD_MULTIPLE): Includes m_BTVER1.
10210 (initial_ix86_tune_features): Add btver1 tune.
10211 (processor_target_table): Add btver1 entry.
10212 (static const char *const cpu_names): Add btver1 entry.
10213 (software_prefetching_beneficial_p): Add btver1.
10214 (ix86_option_override_internal): Add btver1 instruction sets.
10215 (ix86_issue_rate): Add btver1.
10216 (ix86_adjust_cost): Add btver1.
14b52538 10217 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
10218 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
10219 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
10220 * config/i386/i386.md (define_attr "cpu"): Add btver1.
10221
e1a973d8
RO
102222011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10223
10224 PR target/43309
10225 * config/i386/i386.c (legitimize_tls_address)
10226 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
10227 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
10228 (tls_initial_exec_64_sun): New pattern.
10229
c73f67c5
GP
102302011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
10231
10232 * doc/invoke.texi (Overall Options): Improve wording and markup
10233 of the description of -wrapper.
10234
bc4c6f9c
JM
102352011-01-06 Joseph Myers <joseph@codesourcery.com>
10236
10237 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
10238 rdynamic, threads): New Driver options.
10239
adb75db0
RO
102402011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10241
10242 PR target/38118
10243 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
10244 if coming from .tdata.
10245 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
10246
402c1cb4
JH
102472011-01-06 Jan Hubicka <jh@suse.cz>
10248
10249 PR lto/47188
10250 * collect2.c (main): Do not enable LTOmode when plugin is active.
10251
a4da6485
RO
102522011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10253
10254 PR other/45915
10255 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
10256 --version output if supported.
10257 * configure: Regenerate.
10258
028dbdf4
JM
102592011-01-06 Joseph Myers <joseph@codesourcery.com>
10260
10261 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
10262 Driver options.
10263
dfe776dd
JJ
102642011-01-06 Jakub Jelinek <jakub@redhat.com>
10265
10266 PR c/47150
10267 * c-convert.c (convert): When converting a complex expression
10268 other than COMPLEX_EXPR to a different complex type, ensure
10269 c_save_expr is called instead of save_expr, unless in_late_binary_op.
10270 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
10271 when converting COMPLEX_TYPE.
10272
210dedfe
IR
102732011-01-06 Ira Rosen <irar@il.ibm.com>
10274
10275 PR tree-optimization/47139
10276 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
10277 only the last reduction value is used outside the loop. Update
10278 documentation.
10279
cd33a412
JM
102802011-01-05 Joseph Myers <joseph@codesourcery.com>
10281
10282 * config/rtems.opt: New.
10283 * config.gcc (*-*-rtems*): Use rtems.opt.
10284
819edd94
CF
102852011-01-05 Changpeng Fang <changpeng.fang@amd.com>
10286
10287 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
10288 processors do not support 3DNow instructions.
10289
dc242c4a
UW
102902011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10291
10292 * config/spu/spu.c (spu_option_override): Set parameter
10293 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
10294
be286227
JH
102952011-01-05 Jan Hubicka <jh@suse.cz>
10296
10297 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
10298 at the command line.
10299
644e637f
MJ
103002011-01-05 Martin Jambor <mjambor@suse.cz>
10301
10302 PR lto/47162
10303 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
10304 deltas on streamed outgoing edges.
10305 (output_node_opt_summary): Output info for outgoing edges only when
10306 the node is in new parameter set.
10307 (output_cgraph_opt_summary): New parameter set, passed to the two
10308 aforementioned functions. Update its forward declaration and its
10309 callee too.
10310
7bd11157
TT
103112011-01-05 Tom Tromey <tromey@redhat.com>
10312
10313 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
10314 operator to c_finish_omp_atomic.
10315 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
10316 (build_unary_op): Update.
10317 (build_modify_expr): Update.
10318 (build_asm_expr): Update.
10319
f626b979
UW
103202011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10321
10322 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
10323 newly inserted insns.
10324 (pad_bb): Likewise.
10325 (spu_emit_branch_hint): Likewise.
10326 (insert_hbrp_for_ilb_runout): Likewise.
10327 (spu_machine_dependent_reorg): Call df_finish_pass after
10328 schedule_insns returns.
10329
4c825c02
UW
103302011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10331
10332 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
10333
5e9fba51
EB
103342011-01-05 Eric Botcazou <ebotcazou@adacore.com>
10335
10336 PR tree-optimization/47005
10337 * tree-sra.c (struct access): Add 'non_addressable' bit.
10338 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
10339 (decide_one_param_reduction): Return 0 if the parameter is passed by
10340 reference and one of the accesses in the group is non_addressable.
10341
3ebb5ca6
EB
103422011-01-04 Eric Botcazou <ebotcazou@adacore.com>
10343
10344 PR tree-optimization/47056
10345 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
10346 (mark_load): Likewise. Handle FUNCTION_DECL specially.
10347 (mark_store): Likewise. Pass STMT to ipa_record_reference.
10348
d5d4d14e
EB
103492011-01-04 Eric Botcazou <ebotcazou@adacore.com>
10350
10351 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
10352 initializer. Skip view conversions from aggregate types.
10353
d996ef70
KT
103542011-01-04 Kai Tietz <kai.tietz@onevision.com>
10355
10356 PR bootstrap/47055
10357 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
10358
509d65dd 103592011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
10360
10361 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
10362 obvious typo.
10363
55c623b5
UW
103642011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10365
10366 * function.c (thread_prologue_and_epilogue_insns): Do not crash
10367 on empty epilogue sequences.
10368
b98d6b35
JM
103692011-01-04 Joseph Myers <joseph@codesourcery.com>
10370
10371 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
10372 non-static): New Driver options.
10373
a0d43bac
JZ
103742011-01-04 Jie Zhang <jie@codesourcery.com>
10375
10376 PR driver/47137
10377 * gcc.c (default_compilers[]): Set combinable field to 0
10378 for all assembly languages.
10379
2b18eb32
MX
103802011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
10381
10382 * config/mips/loongson3a.md: New file.
10383 * config/mips/mips.md: Include loongson3a.md.
10384 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
10385 TUNE_LOONGSON_3A.
10386
42a48c4f
EB
103872011-01-03 Eric Botcazou <ebotcazou@adacore.com>
10388
10389 PR middle-end/47017
10390 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
10391 instead of convert_memory_address_addr_space on the base expression.
10392
9c1732c4
UW
103932011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10394
10395 * config/spu/spu.c (spu_option_override): Update error text
10396 for bad -march= / -mtune= values.
10397
aa474365
UW
103982011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
10399
10400 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
10401 if branch-hint optimization will be performed.
10402
9766135b
JJ
104032011-01-03 Jakub Jelinek <jakub@redhat.com>
10404
371556ee
JJ
10405 PR tree-optimization/47148
10406 * ipa-split.c (split_function): Convert arguments to
10407 DECL_ARG_TYPE if possible.
10408
1ac12fa2
JJ
10409 PR tree-optimization/47155
10410 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
10411 when computing uns.
10412
9766135b
JJ
10413 PR rtl-optimization/47157
10414 * combine.c (try_combine): If undobuf.other_insn becomes
10415 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
10416 and set *new_direct_jump_p too.
10417
f4a2e571
SP
104182011-01-03 Sebastian Pop <sebastian.pop@amd.com>
10419
10420 PR tree-optimization/47021
10421 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
10422
9f8e43c0
JJ
104232011-01-03 Jakub Jelinek <jakub@redhat.com>
10424
10425 * gcc.c (process_command): Update copyright notice dates.
10426 * gcov.c (print_version): Likewise.
10427 * gcov-dump.c (print_version): Likewise.
10428 * mips-tfile.c (main): Likewise.
10429 * mips-tdump.c (main): Likewise.
10430
1a2e38f3
MJ
104312011-01-03 Martin Jambor <mjambor@suse.cz>
10432
10433 PR tree-optimization/46801
10434 * tree-sra.c (type_internals_preclude_sra_p): Check whether
10435 aggregate fields start at byte boundary instead of the bit-field flag.
10436
56b721c5
L
104372011-01-03 H.J. Lu <hongjiu.lu@intel.com>
10438
10439 PR driver/47137
10440 * gcc.c (main): Revert revision 168407.
10441
839d549b
MJ
104422011-01-03 Martin Jambor <mjambor@suse.cz>
10443
10444 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
10445
4ce99a20 104462011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
10447
10448 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
10449 vector optab to expand vector/scalar shift, update gimple to vector.
10450
76df0ae6
MJ
104512011-01-03 Martin Jambor <mjambor@suse.cz>
10452
10453 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
10454 a thunk.
10455
ce47fda3
MJ
104562011-01-03 Martin Jambor <mjambor@suse.cz>
10457
10458 PR tree-optimization/46984
10459 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
10460 HOST_WIDE_INT.
10461 (cgraph_create_indirect_edge): Fixed line length.
10462 (cgraph_indirect_call_info): Declare.
10463 (cgraph_make_edge_direct) Update declaration.
10464 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
10465 (cgraph_create_indirect_edge): Use it.
10466 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
10467 callees.
10468 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
10469 the new thunk_delta representation.
10470 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
10471 HOST_WIDE_INT.
10472 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
10473 (ipa_read_indirect_edge_info): Likewise.
10474 * lto-cgraph.c (output_edge_opt_summary): New function.
10475 (output_node_opt_summary): Call it on all outgoing edges.
10476 (input_edge_opt_summary): New function.
10477 (input_node_opt_summary): Call it on all outgoing edges.
10478
1e67fa1f
L
104792011-01-02 H.J. Lu <hongjiu.lu@intel.com>
10480
10481 PR driver/47137
10482 * gcc.c (main): Don't check have_o when settting combine_inputs.
10483
6656b2ac
EB
104842011-01-02 Eric Botcazou <ebotcazou@adacore.com>
10485
10486 * regrename.c: Add general comment describing the pass.
10487 (struct du_head): Remove 'length' field.
10488 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
10489 (regrename_optimize): Do not sort chains. Rework comments, add others.
10490 Force renaming to the preferred class (if any) in the first pass and do
10491 not consider registers that belong to it in the second pass.
10492 (create_new_chain): Do not set 'length' field.
10493 (scan_rtx_reg): Likewise.
10494
bc470c24
JJ
104952011-01-02 Jakub Jelinek <jakub@redhat.com>
10496
4e996296
JJ
10497 PR tree-optimization/47140
10498 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
10499 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
10500 to bit_value_binop.
10501
bc470c24 10502 PR rtl-optimization/47028
6656b2ac
EB
10503 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
10504 parm_birth_insn instead of at the beginning of first bb.
bc470c24 10505
5af62fcd 105062011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
10507
10508 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
10509 Remove the word "see" before "@pxref".
10510 * doc/rtl.texi: Remove the word "see" before "@pxref".
10511
0e20c89f
JH
105122011-01-01 Jan Hubicka <jh@suse.cz>
10513
6656b2ac
EB
10514 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
10515 memory.
0e20c89f 10516
220e83ca
KT
105172011-01-01 Kai Tietz <kai.tietz@onevision.com>
10518
10519 PR target/38662
6656b2ac 10520 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 10521
ad41bd84 10522\f
797103eb 10523Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
10524
10525Copying and distribution of this file, with or without modification,
10526are permitted in any medium without royalty provided the copyright
10527notice and this notice are preserved.