]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
dfb737fc
UB
12011-05-15 Uros Bizjak <ubizjak@gmail.com>
2
3 * config/i386/i386.md (floating point move splitters): Fix
4 usage of standard_80387_constant_p.
5 (ix86_preferred_reload_class): Ditto.
6
8caa1de0
UB
72011-05-15 Uros Bizjak <ubizjak@gmail.com>
8
9 * config/i386/i386.md (*movdf_internal): Simplify insn condition.
10
8a519095
EB
112011-05-14 Eric Botcazou <ebotcazou@adacore.com>
12
13 * tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
14 (fill_always_executed_in): Use [SET_]ALWAYS_EXECUTED_IN.
15 (tree_ssa_lim_finalize): Likewise.
16
479fecd3
UB
172011-05-14 Uros Bizjak <ubizjak@gmail.com>
18
19 * config/i386/constraint.md (Yd, Yx): New register constraints.
20 * config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger. Use
21 Yd conditional register constraint.
22 (*movtf_internal): Use standard_sse_constant_opcode.
23 (*movxf_internal): Merge with *movxf_internal_nointeger. Use
24 Yx conditional register constraint.
25 (*movdf_internal): Merge with *movdf_internal_nointeger. Use
26 Yd conditional register constraint. Use standard_sse_constant_p to
27 check for valid SSE constants and call standard_sse_constant_opcode to
28 output SSE insn.
29 (*movsf_internal): Use standard_sse_constant_p to check for valid SSE
30 constants and call standard_sse_constant_opcode to output SSE insn.
31 * config/i386/i386.c (ix86_option_ovverride_internal): Set
32 TARGET_INTEGER_DFMODE_MOVES for 64bit targets. Clear it when
33 optimize_size is set.
34 (standard_sse_constant_opcode): Output conditional AVX insn templates.
35
362011-05-14 Uros Bizjak <ubizjak@gmail.com>
37
38 * config/i386/constraint.md (Yd, Yx): New register constraints.
39 * config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger. Use
40 Yd conditional register constraint.
41 (*movtf_internal): Use standard_sse_constant_opcode.
42 (*movxf_internal): Merge with *movxf_internal_nointeger. Use
43 Yx conditional register constraint.
44 (*movdf_internal): Merge with *movdf_internal_nointeger. Use
45 Yd conditional register constraint. Use standard_sse_constant_p to
46 check for valid SSE constants and call standard_sse_constant_opcode to
47 output SSE insn.
48 (*movsf_internal): Use standard_sse_constant_p to check for valid SSE
49 constants and call standard_sse_constant_opcode to output SSE insn.
50 * config/i386/i386.c (ix86_option_ovverride_internal): Set
51 TARGET_INTEGER_DFMODE_MOVES for 64bit targets. Clear it when
52 optimize_size is set.
53 (standard_sse_constant_opcode): Output conditional AVX insn templates.
54
2d8c9ad5
TB
552011-05-14 Tobias Burnus <burnus@net-b.de>
56
57 * doc/invoke.texi (-Ofast): Also enables -fstack-arrays.
58
411a20d6
MJ
592011-05-13 Martin Jambor <mjambor@suse.cz>
60
61 * ipa-prop.c (ipa_cst_from_jfunc): New function.
62 * ipa-prop.h (ipa_cst_from_jfunc): Declare.
63 * ipa-inline-analysis.c (evaluate_conditions_for_edge): Use it.
64 (evaluate_conditions_for_ipcp_clone): Removed.
65 (estimate_ipcp_clone_size_and_time): Accept vector of known constants.
66 * ipa-cp.c (ipcp_estimate_growth): Build vector of known constants.
67 * ipa-inline.h (estimate_ipcp_clone_size_and_time): Update.
68
dc764d10
EB
692011-05-13 Eric Botcazou <ebotcazou@adacore.com>
70
71 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.
72 * regcprop.c (copyprop_hardreg_forward): Test MAY_HAVE_DEBUG_INSNS in
73 lieu of MAY_HAVE_DEBUG_STMTS.
74 * tree-cfgcleanup.c (remove_forwarder_block): Do not attempt to move
75 debug statements if !MAY_HAVE_DEBUG_STMTS.
76
9f47a24e
MT
772011-05-13 Martin Thuresson <martint@google.com>
78
79 PR gcov-profile/47793
80 * libgcov.c (gcov_exit): Support relative profile paths.
81 * doc/invoke.texi (-fprofile-dir): Update for above change.
82
b8a71aed
RG
832011-05-13 Richard Guenther <rguenther@suse.de>
84
85 * gimple.c (gimple_canonical_types_compatible_p): Do not use
86 type-pair caching, do not compare hashes.
87
eb9f9259
NF
882011-05-13 Nathan Froyd <froydnj@codesourcery.com>
89
90 PR middle-end/48965
91 * tree-cfg.c (edge_to_cases_cleanup): Return true.
92 (verify_expr) [CASE_LABEL_EXPR]: Add checking.
93
3c6cbf7a
KT
942011-05-13 Kai Tietz <ktietz@redhat.com>
95
96 * gimplify.c (gimplify_expr): Make sure operand is boolified.
97 * tree-cfg.c (verify_gimple_assign_unary): Check for boolean
98 compatible type for TRUTH_NOT_EXPR.
99
2e7f5dc0
L
1002011-05-13 H.J. Lu <hongjiu.lu@intel.com>
101
dc764d10 102 * config/i386/i386.c (ix86_save_reg): Change return type to bool.
2e7f5dc0
L
103 (ix86_hard_regno_mode_ok): Change return value to bool. Use
104 can_create_pseudo_p ().
105
e834e95c
RG
1062011-05-13 Richard Guenther <rguenther@suse.de>
107
108 PR lto/48978
109 * gimple.c (iterative_hash_gimple_type): Revert change in
110 pointer target and function result and argument hashing.
111
34203483
UB
1122011-05-13 Uros Bizjak <ubizjak@gmail.com>
113
114 * config/i386/i386.md (*movxf_internal): Use !can_create_pseudo ().
115 (*movxf_internal_nointeger): Ditto.
116 (*movdf_internal_rex64): Ditto.
117 (*movdf_internal): Ditto.
118 (*movdf_internal_nointeger): Ditto.
119 (*movsf_internal): Ditto.
120 (sincos splitters): Use can_create_pseudo ().
121
7eb68c06
JM
1222011-05-13 Joseph Myers <joseph@codesourcery.com>
123
124 * config/i386/i386-opts.h: New.
125 * gcc/config/i386/i386.c (stringop_alg, ix86_cmodel,
126 ix86_asm_dialect, ix86_regparm, ix86_abi, ix86_branch_cost,
127 ix86_section_threshold): Remove.
128 (ix86_handle_option): Move MAX_CODE_ALIGN define here. Handle
129 OPT_malign_loops_, OPT_malign_jumps_, OPT_malign_functions_ and
130 OPT_mbranch_cost_.
131 (ix86_option_override_internal): Don't decode strings for options
132 other than -march=, -mtune= and -mfpmath=. Don't allow for
133 __attribute__ uses in remaining diagnostics for options with
34203483 134 string arguments. Don't check for integer arguments being negative.
7eb68c06 135 * gcc/config/i386/i386.h (enum stringop_alg, enum calling_abi,
34203483 136 enum tls_dialect, enum cmodel, enum asm_dialect): Move to i386-opts.h.
7eb68c06
JM
137 (ix86_abi, ix86_tls_dialect, ix86_cmodel, ix86_asm_dialect,
138 ix86_branch_cost, ix86_section_threshold): Remove.
139 * gcc/config/i386/i386.opt (config/i386/i386-opts.h): New
140 HeaderInclude.
141 (malign-functions=, malign-jumps=, malign-loops=): Use UInteger
142 but not Var.
143 (masm=): Use Enum and Init.
144 (asm_dialect): New Enum and EnumValue entries.
145 (mbranch-cost=): Use UInteger.
146 (mlarge-data-threshold=): Use UInteger and Init.
147 (mcmodel=): Use Enum and Init.
148 (cmodel): New Enum and EnumValue entries.
149 (mpc): Replace with separate mpc32, mpc64 and mpc80 entries.
150 (mpreferred-stack-boundary=, mincoming-stack-boundary=,
151 mregparm=): Use UInteger.
152 (mstringop-strategy=): Use Enum and Init.
153 (stringop_alg): New Enum and EnumValue entries.
154 (mtls-dialect=): Use Enum and Init.
155 (tls_dialect): New Enum and EnumValue entries.
156 (mabi=): Use Enum and Init.
157 (calling_abi): New Enum and EnumValue entries.
158 (mveclibabi=): Use Enum and Init.
159 (ix86_veclibabi): New Enum and EnumValue entries.
160
f67e203c
NC
1612011-05-13 Nick Clifton <nickc@redhat.com>
162
34203483
UB
163 * config/rx/rx.md (mov expander): Fix use of rx_legitimate_constant_p.
164 * config/rx/rx-protos.h (rx_legitimate_constant_p): Rename prototype.
f67e203c 165
221df0b6
KT
1662011-05-13 Kai Tietz <ktietz@redhat.com>
167
168 PR middle-end/48984
169 * gimplify.c (gimplify_expr): Check for boolean_type_node instead
170 for BOOLEAN_TYPE for TRUTH-NOT/AND/OR/XOR.
171 (gimple_boolify): Check for cast for boolean_type_node instead for
172 BOOLEAN_TYPE.
173
208cb8cb
RG
1742011-05-13 Richard Guenther <rguenther@suse.de>
175
176 PR tree-optimization/48172
177 * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
178 multiplying by number of iterations for equal step.
179 (vect_create_cond_for_alias_checks): Likewise.
180
b88ecf55
AS
1812011-05-13 Andreas Schwab <schwab@redhat.com>
182
183 * configure.ac: Use AS_HELP_STRING throughout.
184 * configure: Regenerate.
185
569b527e
L
1862011-05-12 H.J. Lu <hongjiu.lu@intel.com>
187
34203483 188 * config/i386/i386.c (ix86_save_reg): Change maybe_eh_return to bool.
569b527e
L
189 (ix86_emit_restore_regs_using_mov): Likewise.
190 (ix86_emit_restore_sse_regs_using_mov): Likewise.
191
8b9a1428
AS
1922011-05-12 Anatoly Sokolov <aesok@post.ru>
193
194 * config/sparc/sparc.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P,
195 SYMBOLIC_CONST, RTX_OK_FOR_BASE_P, RTX_OK_FOR_INDEX_P): Remove.
196 (RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Move to...
197 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P,
198 RTX_OK_FOR_OLO10_P): ...here.
199 (sparc_mode_dependent_address_p): Use symbolic_operand instead of
200 SYMBOLIC_CONST.
201
1d15f620
KT
2022011-05-12 Kai Tietz <ktietz@redhat.com>
203
204 * gimplify.c (gimple_boolify): Re-boolify expression
205 arguments even if expression type is of kind BOOLEAN_TYPE.
206 (gimplify_boolean_expr): Removed.
207 (gimplify_expr): Boolify truth opcodes AND, ANDIF, OR, ORIF,
208 and XOR. Additional take care that we keep expression's type.
209 * tree-cfg.c (verify_gimple_assign_binary): Adjust check for type
210 of TRUTH_AND|OR|XOR_EXPR.
211
c2b5fc8d
JJ
2122011-05-12 Jakub Jelinek <jakub@redhat.com>
213
214 PR tree-optimization/48975
215 * tree-if-conv.c (combine_blocks): Call free_bb_predicate
216 on all bbs here and free and clear ifc_bbs at the end.
217
61332f77
RG
2182011-05-12 Richard Guenther <rguenther@suse.de>
219
220 * gimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle
221 NULLPTR_TYPE similar to VOID_TYPE. Defer type-leader lookup
222 until after simple checks.
223 (gimple_types_compatible_p): Likewise.
224 (iterative_hash_gimple_type): Always hash pointer targets
225 and function return and argument types.
226 (iterative_hash_canonical_type): Do not hash TYPE_QUALS,
227 hash TYPE_ALIGN. Do not hash TYPE_MIN/MAX_VALUE.
228 (gimple_canonical_types_compatible_p): Compare TREE_ADDRESSABLE,
229 handle NULLPTR_TYPE similar to VOID_TYPE. Handle non-aggregates
230 completely in the simple compare section.
231 (gimple_register_canonical_type): Query the cache again after
232 registering.
233
e2a3a5f1
RG
2342011-05-12 Richard Guenther <rguenther@suse.de>
235
236 PR tree-optimization/48172
237 * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
238 the number of iterations from the segment size calculation.
239 (vect_create_cond_for_alias_checks): Adjust.
240
2c703f3a
JJ
2412011-05-12 Jakub Jelinek <jakub@redhat.com>
242
243 PR debug/48967
244 * var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
245 if validate_subreg fails.
246
2472011-05-12 Hariharan Sandanagobalane <hariharan@picochip.com>
b27981e0
HS
248
249 * ira.c (clarify_prohibited_class_mode_regs): Prevent the function from
250 accessing beyond the end of REGNO_REG_CLASS array by stopping the loop
251 early.
252
87e91fca
DD
2532011-05-12 DJ Delorie <dj@redhat.com>
254
d53903d6 255 * config/rx/rx.c (rx_builtins): New arrays - holds builtin functions.
87e91fca
DD
256 (ADD_RX_BUILTIN1, ADD_RX_BUILTIN2, ADD_RX_BUILTIN3): Install
257 created builtin into rx_builtins array.
258 (rx_builtin_decl): New function.
34203483 259 (TARGET_BUITLIN_DECL): Define. Include gt-rx.h.
87e91fca 260
5f2f13fd
DD
2612011-05-12 DJ Delorie <dj@redhat.com>
262 Nick Clifton <nickc@redhat.com>
263
264 * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
265 * config/rx/rx.c (CC_FLAG_FP): Fix comment.
266 (rx_is_legitimate_address): Add pre-decrement and post-increment
267 addressing in HImode and QImode. Fix test for out of range
268 REG+INT addressing.
87e91fca 269 (rx_legitimate_constant_p): Rename to rx_is_legitimate_constant.
34203483 270 (rx_align_for_label): Test label before extracting its usage count.
5f2f13fd 271 (rx_adjust_insn_lengths): Fix selection of insn codes.
87e91fca 272 (TARGET_LEGITIMATE_CONSTANT_P): Use renamed function.
5f2f13fd 273
57421f45
JM
2742011-05-11 Jason Merrill <jason@redhat.com>
275
276 * tree.c (type_hash_canon): Use struct tree_type_non_common.
277
898c90c0
EB
2782011-05-11 Eric Botcazou <ebotcazou@adacore.com>
279
280 * cfgrtl.c (commit_one_edge_insertion): Remove always-true test and
281 reindent the subsequent block.
282
79bec923
ST
2832011-05-11 Satoru Takabayashi <satorux@google.com>
284 Paul Pluzhnikov <ppluzhnikov@google.com>
285
34203483 286 * doc/install.texi (Configuration): Document --with-linker-hash-style.
e77e2cbb
PP
287 * gcc.c (init_spec): Handle LINKER_HASH_STYLE.
288 * config.in: Add LINKER_HASH_STYLE.
289 * configure.ac: Add --with-linker-hash-style.
290 * configure: Regenerate.
79bec923 291
d0340959
RG
2922011-05-11 Richard Guenther <rguenther@suse.de>
293
294 PR middle-end/48964
295 * gimple.c (iterative_hash_canonical_type): Fix typo.
296
cb032fee
UB
2972011-05-11 Uros Bizjak <ubizjak@gmail.com>
298
299 * config/i386/i386.c (legitimize_tls_address)
479fecd3 300 <case TLS_MODEL_GLOBAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
cb032fee
UB
301 expanders directly for TARGET_GNU2_TLS. Determine pic and
302 __tls_get_addr symbol reference here. Update call to
303 gen_tls_global_dynamic_{32,64} for added arguments.
479fecd3 304 <case TLS_MODEL_LOCAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
cb032fee
UB
305 expanders directly for TARGET_GNU2_TLS. Determine
306 __tls_get_addr symbol reference here. Update call to
307 gen_tls_local_dynamic_base_{32,64} for added arguments. Attach
308 unique UNSPEC REG_EQUIV to libcall block.
309 (ix86_tls_get_addr): Declare static.
310 * config/i386/i386-protos.h (ix86_tls_get_addr): Remove declaration.
311 * config/i386/i386.md (tls_global_dynamic_32): Add operand 2 and 3.
312 Do not determine pic and __tls_get_addr symbol reference here. Do not
313 call gen_tls_dynamic_gnu2_32 for TARGET_GNU2_TLS.
314 (tls_local_dynamic_base_32): Ditto for operands 1 and 2.
315 (tls_global_dynamic_64): Add operand 2. Do not determine
316 __tls_get_addr symbol reference here. Do not call
317 gen_tls_dynamic_gnu2_64 for TARGET_GNU2_TLS here.
318 (tls_local_dynamic_base64): Ditto for operand 1.
319
6d3cc8f0
EB
3202011-05-11 Eric Botcazou <ebotcazou@adacore.com>
321
322 * function.c (expand_function_start): Initialize stack_check_probe_note
323 only if the generic stack checking mechanism is used.
324
51e020fc
RG
3252011-05-11 Richard Guenther <rguenther@suse.de>
326
327 PR tree-optimization/15256
328 * tree-ssa-forwprop.c (simplify_bitwise_binary): Canonicalize
329 (A & B) | C, combine (A op CST1) op CST2.
330 (tree_ssa_forward_propagate_single_use_vars): Only bother to
331 visit assigns that have uses.
332
51545682
NF
3332011-05-11 Nathan Froyd <froydnj@codesourcery.com>
334
cb032fee 335 * ggc-page.c (extra_order_size_table): Use struct tree_type_non_common.
51545682
NF
336 * lto-streamer-in.c (unpack_ts_type_value_fields): Rename to...
337 (unpack_ts_type_common_value_fields): ...this. Update comment.
338 (unpack_value_fields): Adjust for renaming.
339 (lto_input_ts_type_tree_pointers): Split into...
340 (lto_input_ts_type_common_tree_pointer): ...this and...
341 (lto_input_ts_type_non_common_tree_pointers): ...this.
342 (lto_input_tree_pointers): Adjust for above split.
343 * lto-streamer-out.c (pack_ts_type_value_fields): Rename to...
344 (pack_ts_type_common_value_fields): ...this. Update comment.
345 (lto_output_ts_type_tree_pointers): Split into...
346 (lto_output_ts_type_common_tree_pointers): ...this and...
347 (lto_output_ts_type_non_common_tree_pointers): ...this.
348 (lto_output_tree_pointers): Adjust for above split.
349 * lto-streamer.c (check_handled_ts_structures): Mark TS_TYPE_COMMON,
350 TS_TYPE_WITH_LANG_SPECIFIC, and TS_TYPE_NON_COMMON as handled.
351 * stor-layout.c (vector_type_mode): Adjust location of mode field.
352 * tree.h (MARK_TS_TYPE_COMMON, MARK_TS_TYPE_WITH_LANG_SPECIFIC):
353 Define.
354 (struct tree_type): Split into...
355 (struct tree_type_common: ...this and...
356 (struct tree_type_with_lang_specific): ...this and...
357 (struct tree_type_non_common): ...this. Adjust accessor macros
358 accordingly.
359 (TYPE_VALUES_RAW): Define.
360 (union tree_node): Update for above changes.
361 * tree.c (tree_node_structure_for_code) [tcc_type]: Return
362 TS_TYPE_NON_COMMON.
363 (initialize_tree_contains_struct) [TS_TYPE]: Use TS_TYPE_COMMON.
364 Add TS_TYPE_WITH_LANG_SPECIFIC and TS_TYPE_NON_COMMON.
365 (tree_code_size) [tcc_type]: Use struct tree_type_non_common.
366 * treestructu.def (TS_TYPE): Remove.
367 (TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, TS_TYPE_NON_COMMON):
368 Define.
369
b03c3082
JJ
3702011-05-11 Jakub Jelinek <jakub@redhat.com>
371
372 PR debug/48159
373 * tree-ssa.c (reset_debug_uses): New function.
374 * tree-flow.h (reset_debug_uses): New prototype.
375 * tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
376 * tree-loop-distribution.c (generate_loops_for_partition): Call
377 reset_debug_uses on the stmts that will be removed. Keep around
378 all debug stmts, don't count them as bits in partition bitmap.
379 (generate_builtin): Don't count debug stmts or labels as bits in
380 partition bitmap.
381
b5e04de5
RG
3822011-05-11 Richard Guenther <rguenther@suse.de>
383
384 * gimple.c (gimple_type_hash_1): Merge with ...
385 (gimple_type_hash): ... this.
386 (gtc_visit): Remove mode parameter and simplify accordingly.
387 (gimple_types_compatible_p_1): Likewise.
388 (gimple_types_compatible_p): Likewise.
389 (iterative_hash_gimple_type): Likewise.
390 (visit): Likewise.
391 (gimple_type_eq): Adjust.
392
fc6970e4
RE
3932011-05-11 Revital Eres <revital.eres@linaro.org>
394
395 * ddg.c (create_ddg_dep_from_intra_loop_link): If a true dep edge
396 enters the branch create an anti edge in the opposite direction
397 to prevent the creation of reg-moves.
398 * modulo-sched.c: Adjust comment to reflect the fact we are
399 scheduling closing branch.
400 (PS_STAGE_COUNT): Rename to CALC_STAGE_COUNT and redefine.
401 (stage_count): New field in struct partial_schedule.
402 (calculate_stage_count): New function.
403 (normalize_sched_times): Rename to reset_sched_times and handle
404 incrementing the sched time of the nodes by a constant value
405 passed as parameter.
406 (duplicate_insns_of_cycles): Skip closing branch.
407 (sms_schedule_by_order): Schedule closing branch.
408 (ps_insn_find_column): Handle closing branch.
409 (sms_schedule): Call reset_sched_times and adjust the code to
410 support scheduling of the closing branch.
411 (ps_insert_empty_row): Update calls to normalize_sched_times
412 and rotate_partial_schedule functions.
413
41a58a92
RG
4142011-05-11 Richard Guenther <rguenther@suse.de>
415
416 PR middle-end/48953
417 * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
418
e9f8dcf9
JM
4192011-05-11 Joseph Myers <joseph@codesourcery.com>
420
cb032fee
UB
421 * opts.c (finish_options): Move warning settings from process_options.
422 * toplev.c (process_options): Move warning settings to finish_options.
e9f8dcf9 423
10c224a9
RG
4242011-05-11 Richard Guenther <rguenther@suse.de>
425
426 PR tree-optimization/18041
427 * tree-ssa-forwprop.c (simplify_bitwise_and): Rename to ...
428 (simplify_bitwise_binary): ... this. Handle operand conversions
429 by applying them to the result instead.
430 (tree_ssa_forward_propagate_single_use_vars): Adjust. CSE tree code.
431
825b27de
RG
4322011-05-11 Richard Guenther <rguenther@suse.de>
433
434 * gimple.c (gimple_canonical_types_compatible_p): Split out
435 from gimple_types_compatible_p and friends. Do not recurse
436 to pointed-to types.
437 (gimple_canonical_type_eq): Use it.
438 (iterative_hash_canonical_type): Split out from
439 iterative_hash_gimple_type and friends. Do not recurse
440 to pointed-to types.
441 (gimple_canonical_type_hash): Use it, allocate the hash here.
442
ca756625
RE
4432011-05-11 Revital Eres <revital.eres@linaro.org>
444
445 * modulo-sched.c (doloop_register_get): Ignore DEBUG_INSNs while
446 recognizing doloop.
447
b8abece3
RE
4482011-05-11 Revital Eres <revital.eres@linaro.org>
449
450 * loop-doloop.c (doloop_condition_get): Use prev_nondebug_insn
451 instead of PREV_INSN.
452
ce7b3761
RE
4532011-05-11 Revital Eres <revital.eres@linaro.org>
454
455 * modulo-sched.c (sms_schedule): Support new form of doloop pattern
456 * loop-doloop.c (doloop_condition_get): Likewise.
457 * config/arm/thumb2.md (*thumb2_addsi3_compare0): Remove "*".
458 (doloop_end): New.
459 * config/arm/arm.md (*addsi3_compare0): Remove "*".
460
a9dc9d37
NF
4612011-05-10 Nathan Froyd <froydnj@codesourcery.com>
462
463 * tree.def (CASE_LABEL_EXPR): Add an operand.
464 * tree.h (CASE_CHAIN): Use TREE_OPERAND instead of TREE_CHAIN.
465
96703596
JM
4662011-05-10 Joseph Myers <joseph@codesourcery.com>
467
468 * c-decl.c (c_override_global_bindings_to_false): Remove.
469 (global_bindings_p): Don't check
470 c_override_global_bindings_to_false.
471 * c-tree.h (c_override_global_bindings_to_false): Remove.
472 * c-typeck.c (composite_type): Don't set
473 c_override_global_bindings_to_false.
474
dbcc9f08
MM
4752011-05-10 Michael Meissner <meissner@linux.vnet.ibm.com>
476
477 PR target/48857, 48495
478 * config/rs6000/rs6000.h (VSX_SCALAR_MODE): Delete.
479 (VSX_MODE): Ditto.
480 (VSX_MOVE_MODE): Ditto.
481 (ALTIVEC_OR_VSX_VECTOR_MODE): New macro, combine all Altivec and
482 VSX vector types. Add V2DImode.
483 (HARD_REGNO_CALLER_SAVE_MODE): Use it instead of
484 ALTIVEC_VECTOR_MODE and VSX_VECTOR_MODE calls.
485 (MODES_TIEABLE_P): Ditto.
486
487 * config/rs6000/rs6000.c (rs6000_emit_move): Use
488 ALTIVEC_OR_VSX_MODE instead of ALTIVEC_VECTOR_MODE and
489 VSX_VECTOR_MODE.
490 (init_cumulative_args): Ditto.
491 (rs6000_function_arg_boundary): Ditto.
492 (rs6000_function_arg_advance_1): Ditto.
493 (rs6000_function_arg): Ditto.
494 (rs6000_function_ok_for_sibcall): Ditto.
495 (emit_frame_save): Ditto.
496 (rs6000_function_value): Ditto.
497 (rs6000_libcall_value): Ditto.
498
4a68b4ca
JM
4992011-05-10 Joseph Myers <joseph@codesourcery.com>
500
501 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
502 i386/darwin-lib.h to $libgcc_tm_file.
503 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Remove.
504
bcb521e9
JM
5052011-05-10 Joseph Myers <joseph@codesourcery.com>
506
507 * doc/sourcebuild.texi (Back End): Mention contrib/config-list.mk.
508
f10d3ac9
JM
5092011-05-10 Joseph Myers <joseph@codesourcery.com>
510
cb032fee 511 * config/rs6000/genopt.sh, config/rs6000/rs6000-cpus.def: New files.
f10d3ac9
JM
512 * config/rs6000/rs6000-tables.opt: New file (generated).
513 * config.gcc (powerpc*-*-*, rs6000*-*-*): Add
514 rs6000/rs6000-tables.opt to extra_options.
515 * config/rs6000/rs6000-opts.h (RS6000_CPU_OPTION_NATIVE): Define.
516 * config/rs6000/rs6000.c (rs6000_select): Remove.
517 (processor_target_table): Move contents to rs6000-cpus.def.
518 (darwin_rs6000_override_options): Check
519 global_options_set.x_rs6000_cpu_index instead of
520 rs6000_select[1].string.
521 (rs6000_option_override_internal): Likewise.
522 (rs6000_handle_option): Don't assert that global structures are in
523 use. Don't handle OPT_mcpu_ and OPT_mtune_ here.
524 (rs6000_default_cpu): New variable.
525 (rs6000_file_start): Set it instead of local default_cpu. Check
526 rs6000_default_cpu, global_options_set.x_rs6000_cpu_index and
527 global_options_set.x_rs6000_tune_index instead of rs6000_select.
528 (rs6000_darwin_file_start): Check rs6000_default_cpu and
529 global_options_set.x_rs6000_cpu_index instead of rs6000_select.
530 * config/rs6000/rs6000.h (struct rs6000_cpu_select,
531 rs6000_select): Remove.
532 * config/rs6000/rs6000.opt (rs6000_cpu_index, rs6000_tune_index):
533 Remove.
534 (mcpu=, mtune=): Use Var, Init, Enum and Save.
535 * config/rs6000/t-rs6000
536 ($(srcdir)/config/rs6000/rs6000-tables.opt): New.
537 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
538 global_options_set.x_rs6000_cpu_index instead of
539 rs6000_select[1].string.
540 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
541 global_options_set.x_rs6000_cpu_index instead of
542 rs6000_select[1].string.
543
80cf2e08
JM
5442011-05-10 Joseph Myers <joseph@codesourcery.com>
545
546 * config.gcc (libgcc_tm_file): Define instead of including files
547 from ../../libgcc/config/ in tm_file.
cb032fee 548 * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): Define.
80cf2e08
JM
549 * configure: Regenerate.
550 * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
551 libgcc_tm.h, cs-libgcc_tm.h): New.
552 (TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
553 (clean): Remove libgcc_tm.h.
554 * config/arm/symbian.h (RENAME_LIBRARY): Remove.
555 * mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
556 * system.h (DECLARE_LIBRARY_RENAMES): Poison.
557
fd01a351
GJL
5582011-05-10 Georg-Johann Lay <avr@gjlay.de>
559
560 PR target/48896
561 * config/avr/avr.c (avr_ret_register): Return unsigned int
562 instead of int.
563 (avr_function_value): Mark fn_decl_or_type as unused, don't pass
564 it to avr_libcall_value.
565 avr_expand_builtin): Use EXPAND_NORMAL as arg 4 in calls to
566 expand_expr.
567 (avr_expand_binop_builtin): Ditto.
568 (avr_expand_unop_builtin): Ditto.
569
34cc3c86
DD
5702011-05-10 DJ Delorie <dj@redhat.com>
571
572 * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
573 (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
574 * config/rx/rx.c (rx_align_for_label): Add label and
575 uses_threshold parameters. Do not align when the label is not
576 used enough.
577 * config/rx/rx-protos.h (rx_align_for_label): Update prototype.
578
be173289
RG
5792011-05-10 Richard Guenther <rguenther@suse.de>
580
581 * tree-ssa-forwprop.c (combine_conversions): Pattern-match
582 a series of conversions and apply foldings similar to what
583 fold-const does.
584 (tree_ssa_forward_propagate_single_use_vars): Call it.
585
e7f78021
JJ
5862011-05-10 Jakub Jelinek <jakub@redhat.com>
587
6ae70ea2
JJ
588 PR tree-optimization/48611
589 PR tree-optimization/48794
590 * tree-eh.c (remove_unreachable_handlers): Don't remove regions
591 referenced from RESX or EH_DISPATCH arguments.
592
e7f78021
JJ
593 PR debug/48928
594 * dfp.c (decimal_to_decnumber): Handle conversion from
595 dconst{1,2,m1,half}.
596
fca132b9
UB
5972011-05-09 Uros Bizjak <ubizjak@gmail.com>
598
599 * config/i386/i386.c (ix86_autovectorize_vector_sizes): Return 0
600 for !flag_prefer_avx128.
601 (ix86_preferred_simd_mode): Return word_mode for DFmode without SSE2.
602
e4c03378
EB
6032011-05-09 Eric Botcazou <ebotcazou@adacore.com>
604
605 * fold-const.c (fold_range_test): Pass LOC to build_range_check.
606 (fold_ternary_loc): Use expr_location_or.
607
805d6a75
L
6082011-05-09 H.J. Lu <hongjiu.lu@intel.com>
609
610 PR debug/48853
611 * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: If
612 POINTERS_EXTEND_UNSIGNED is defined, don't give up if mode is
613 Pmode and mem_mode is not VOIDmode.
614
e4c03378 6152011-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
b5da71d4 616
e4c03378
EB
617 * tree.h (TYPE_UNQUALIFIED, TYPE_QUAL_CONST, TYPE_QUAL_VOLATILE,
618 TYPE_QUAL_RESTRICT): Convert to enum.
b5da71d4 619
51e7f377
UB
6202011-05-09 Uros Bizjak <ubizjak@gmail.com>
621
622 * config/i386/predicates.md (const_pow2_1_to_2_operand): Remove.
623 (const_pow2_1_to_8_operand): Ditto.
624 (const_pow2_1_to_128_operand): Ditto.
625 (const_pow2_1_to_32768_operand): Ditto.
626 * config/i386/mmx.md (*mmx_pinsrw): Use const_int_operand instead of
627 const_pow2_1_to_8_operand for operand 3 predicate. Use exact_log2
628 in insn constraint to check integer value of operand 3.
629 * config/i386/sse.md (*vec_setv4sf_sse4_1): Ditto.
630
631 (PINSR_MODE): New mode iterator.
632 (sse2p4_1): New mode attribute.
633 (<sse2p4_1>_pinsr<ssemodesuffix>): Merge insn from sse4_1_pinsrb,
634 sse2_pinsrw, sse4_1_pinsrd and sse4_1_pinsrq using PINSR_MODE mode
635 iterator. Use const_int_operand instead of
636 const_pow2_1_to_{2,8,128,32768}_operand for operand 3 predicate. Use
637 exact_log2 in insn constraint to check integer value of operand 3.
638
6392011-05-09 Uros Bizjak <ubizjak@gmail.com>
640
641 * config/i386/sse.md (blendbits): Remove mode attribute.
642 (<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
643 instead of const_0_to_<blendbits>_operand for operand 3 predicate.
644 Check integer value of operand 3 in insn constraint.
645
0ca8de87
RG
6462011-05-09 Richard Guenther <rguenther@suse.de>
647
648 * lto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p
649 for diagnostics.
650 (lto_symtab_merge): Likewise. Do not register types here.
651 (lto_symtab_merge_decls_2): Likewise.
652 (lto_symtab_merge_decls_1): Likewise.
653 * gimple.h (enum gtc_mode, gimple_types_compatible_p): Do not declare.
654 * gimple.c (enum gtc_mode): Declare.
655 (gimple_types_compatible_p): Make static.
656
a9e6994a
AK
6572011-05-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
658
659 * config/s390/s390.md (TD/TF mem to reg move splitter): Make the
660 temporary register to match Pmode.
661
fb55d62e
UB
6622011-05-09 Uros Bizjak <ubizjak@gmail.com>
663
664 * config/i386/sse.md (*vec_concatv4si): Merge from *vec_concatv4si_1
665 and *vec_concatv4si_1_avx.
666
eb1485a6
UB
6672011-05-09 Uros Bizjak <ubizjak@gmail.com>
668
669 PR rtl-optimization/48927
670 * ira-conflicts.c (commutative_constraint_p): Use
671 recog_data.alternative_enabled_p to disable alternatives where
672 "enabled" attribute is false.
673 (get_dup_num): Ditto.
674 * ira-lives.c (single_reg_class): Ditto.
675 (ira_implicitly_set_insn_hard_regs): Ditto.
676
c46d001a
EB
6772011-05-09 Eric Botcazou <ebotcazou@adacore.com>
678
679 * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
680 (dataflow_set_preserve_mem_locs): Likewise.
681
6822011-05-09 Philipp Thomas <pth@suse.de>
683
6d9e7c41
PT
684 * config/mep/mep.c (mep_validate_vliw): Syntax description
685 should not be translated.
686
d371df6f
JM
6872011-05-09 Joseph Myers <joseph@codesourcery.com>
688
689 * config/mips/genopt.sh, config/mips/mips-cpus.def: New files.
690 * config/mips/mips-tables.opt: New file (generated).
eb1485a6 691 * config.gcc (mips*-*-*): Add mips/mips-tables.opt to extra_options.
d371df6f
JM
692 * config/mips/mips-opts.h (MIPS_ARCH_OPTION_FROM_ABI,
693 MIPS_ARCH_OPTION_NATIVE): Define.
694 * config/mips/mips.c (mips_cpu_info_table): Move contents to
695 mips-cpus.def.
696 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p,
697 mips_parse_cpu): Remove.
698 (mips_cpu_info_from_opt, mips_default_arch): New.
699 (mips_handle_option): Don't assert that global structures are in
700 use. Don't handle OPT_march_, OPT_mtune_ and OPT_mips here.
701 (mips_option_override): Use new variables and functions to set
eb1485a6 702 state of these options. Use strcmp to check for individual CPU names.
d371df6f
JM
703 * config/mips/mips.h (MIPS_CPU_STRING_DEFAULT): Remove default
704 definition.
705 * config/mips/mips.opt (march=): Use ToLower and Enum.
706 (mips): Use ToLower, Enum and Var.
707 (mtune=): Use ToLower and Enum.
708 * config/mips/t-mips ($(srcdir)/config/mips/mips-tables.opt): New.
709
4fc07af9
JH
7102011-05-08 Jan Hubicka <jh@suse.cz>
711
712 * gimple.c (type_pair_hash, type_pair_eq, lookup_type_pair):
713 Arrange type pairs to be UID ordered.
714 (gimple_lookup_type_leader): Make inline.
715
2cf320a8
NC
7162011-05-09 Nick Clifton <nickc@redhat.com>
717
61d6def5
NC
718 PR target/48899
719 * config/iq2000/iq2000.opt (iq2000_tune): Initialise to
720 PROCESSOR_DEFAULT.
721
2cf320a8
NC
722 PR target/48897
723 * config/mn10300/mn10300.c (extract_bundle): Remove spurious local
724 variable 's'.
725
4f82319d
CLT
7262011-05-08 Chung-Lin Tang <cltang@codesourcery.com>
727
728 * combine.c (simplify_comparison): Abstract out parts into...
729 (simplify_compare_const): ... new function.
730 (try_combine): Generalize parallel arithmetic/compare combining
731 to call simplify_compare_const() and CANONICALIZE_COMPARE().
732
74605a11
JH
7332011-05-08 Jan Hubicka <jh@suse.cz>
734
735 * cgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.
eb1485a6
UB
736 (cgraph_create_virtual_clone): Call hooks once virtual clone
737 is finished.
74605a11 738 * cgraph.h (cgraph_clone_node): Update prototype.
eb1485a6
UB
739 * ipa-cp.c (ipcp_estimate_growth): Use
740 estimate_ipcp_clone_size_and_time.
74605a11
JH
741 * ipa-inline-transform.c (clone_inlined_nodes): Update.
742 * lto-cgraph.c (input_node): Update.
743 * ipa-inline.c (recursive_inlining): Update.
744 * ipa-inline.h (estimate_ipcp_clone_size_and_time): New function.
745 (evaluate_conditions_for_known_args): Break out from ...
746 (evaluate_conditions_for_edge): ... here.
747 (evaluate_conditions_for_ipcp_clone): New function.
748 (inline_node_duplication_hook): Update clone summary based
749 on parameter map.
750 (estimate_callee_size_and_time): Rename to ...
751 (estimate_node_size_and_time): take NODE instead of EDGE;
752 take POSSIBLE_TRUTHS as argument.
753 (estimate_callee_size_and_time): Update.
754 (estimate_ipcp_clone_size_and_time): New function.
755 (do_estimate_edge_time): Update.
756
5c049507
RG
7572011-05-08 Richard Guenther <rguenther@suse.de>
758
759 PR middle-end/48908
760 PR middle-end/48905
761 * expmed.c (expand_shift_1): Compute adjusted constant shift
762 amount manually.
763
f64c36ba
EB
7642011-05-08 Eric Botcazou <ebotcazou@adacore.com>
765
766 * config/avr/avr.c (print_operand_address): Fix invalid RTL access.
767
c461a957
EB
7682011-05-08 Eric Botcazou <ebotcazou@adacore.com>
769
770 * config/rs6000/rs6000.c (output_profile_hook): Fix thinko.
771
7c74e556
JW
7722011-05-08 Jonathan Wakely <jwakely.gcc@gmail.com>
773
774 * doc/invoke.texi (-fuse-linker-plugin): Improve grammar.
775
b4c0a884
JH
7762011-05-07 Jan Hubicka <jh@suse.cz>
777
a9bcb3f0
EB
778 * ipa-inline-transform.c (inline_call): Account when program size
779 decreases.
b4c0a884 780 * ipa-inline.c (relative_time_benefit): New function.
a9bcb3f0
EB
781 (edge_badness): Reorganize to be power 2 based; fix thinko when
782 computing badness for negative growth; update comments to match
783 reality; better dumps.
b4c0a884 784
c99c0026
EB
7852011-05-07 Eric Botcazou <ebotcazou@adacore.com>
786
787 * langhooks.h (lang_hooks_for_types): Change global_bindings_p's return
788 type to bool and adjust comment.
789 * fold-const.c (fold_range_test): Adjust call to global_bindings_p.
790 (fold_mathfn_compare): Remove calls to global_bindings_p.
791 (fold_inf_compare): Likewise.
792 * stor-layout.c (variable_size): Adjust call to global_bindings_p.
793 * c-tree.h (global_bindings_p): Adjust prototype.
794 * c-decl.c (global_bindings_p): Return bool and simplify.
795
1400c8e5
ZD
7962011-05-07 Zdenek Dvorak <ook@ucw.cz>
797
798 PR tree-optimization/48837
799 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
800 when accumulator transformation is performed.
801
5d0878e7
JH
8022011-05-06 Jan Hubicka <jh@suse.cz>
803
a9bcb3f0
EB
804 * i386.h (ix86_tune_indices): Add
805 X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.
eb1485a6 806 (TARGET_SOFTWARE_PREFETCHING_BENEFICIAL): New macro.
a9bcb3f0
EB
807 * i386.c (initial_ix86_tune_features): Add
808 X86_SOFTARE_PREFETCHING_BENEFICIAL.
5d0878e7
JH
809 (software_prefetching_beneficial_p): Remove predicate.
810 (ix86_option_override_internal): Use new macro.
811
58696ce5
JH
8122011-05-06 Jan Hubicka <jh@suse.cz>
813
814 * ipa-inline.c (update_callee_keys): Don't reset node growth cache.
815
c47d0034
JH
8162011-05-06 Jan Hubicka <jh@suse.cz>
817
818 * cgraph.c (cgraph_add_thunk): Create real function node instead
819 of alias node; finalize it and mark needed/reachale; arrange visibility
820 to be right and add it into the corresponding same comdat group list.
821 (dump_cgraph_node): Dump thunks.
822 * cgraph.h (cgraph_first_defined_function, cgraph_next_defined_function,
a9bcb3f0
EB
823 cgraph_function_with_gimple_body_p,
824 cgraph_first_function_with_gimple_body,
c47d0034
JH
825 cgraph_next_function_with_gimple_body): New functions.
826 (FOR_EACH_FUNCTION_WITH_GIMPLE_BODY, FOR_EACH_DEFINED_FUNCTION):
827 New macros.
828 * ipa-cp.c (ipcp_need_redirect_p): Thunks can't be redirected.
829 (ipcp_generate_summary): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
830 * cgraphunit.c (cgraph_finalize_function): Only look into possible
831 devirtualization when optimizing.
832 (verify_cgraph_node): Verify thunks.
833 (cgraph_analyze_function): Analyze thunks.
834 (cgraph_mark_functions_to_output): Output thunks only in combination
835 with function they are assigned to.
836 (assemble_thunk): Turn thunk into non-thunk; don't try to turn
837 alias into normal node.
838 (assemble_thunks): New functoin.
839 (cgraph_expand_function): Use it.
840 * lto-cgraph.c (lto_output_node): Stream thunks.
841 (input_overwrite_node): Stream in thunks.
842 * ipa-pure-const.c (analyze_function): Thunks do nothing interesting.
843 * lto-streamer-out.c (lto_output): Do not try to output thunk's body.
844 * ipa-inline.c (inline_small_functions): Use FOR_EACH_DEFINED_FUNCTION.
845 * ipa-inline-analysis.c (compute_inline_parameters): "Analyze" thunks.
846 (inline_analyze_function): Do not care about thunk jump functions.
847 (inline_generate_summary):Use FOR_EACH_DEFINED_FUNCTION.
a9bcb3f0
EB
848 * ipa-prop.c (ipa_prop_write_jump_functions): Use
849 cgraph_function_with_gimple_body_p.
850 * passes.c (do_per_function_toporder): Use
851 cgraph_function_with_gimple_body_p.
c47d0034
JH
852 (execute_one_pass);Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
853 (ipa_write_summaries): Use cgraph_function_with_gimple_body_p.
854 (function_called_by_processed_nodes_p): Likewise.
855
d8f426ec
JM
8562011-05-06 Joseph Myers <joseph@codesourcery.com>
857
858 * config/rs6000/rs6000.opt (rs6000_ieeequad, rs6000_altivec_abi,
859 rs6000_spe_abi, rs6000_darwin64_abi): Remove TargetVariable
860 entries.
861 (mabi=): Replace with separate entries for mabi=altivec,
862 mabi=no-altivec, mabi=spe, mabi=no-spe, mabi=d64, mabi=d32,
863 mabi=ieeelongdouble and mabi=ibmlongdouble.
864 * config/rs6000/rs6000.c (rs6000_option_override_internal): Move
865 check for -mabi=spe without SPE ABI support here.
866 (rs6000_handle_option): Replace OPT_mabi_ handling with
867 OPT_mabi_altivec and OPT_mabi_spe handling.
868
80bde45b
CC
8692011-05-06 Cary Coutant <ccoutant@google.com>
870
871 * dwarf2out.c (contains_subprogram_definition): New function.
872 (should_move_die_to_comdat): Call it.
873
a91926b9
JL
8742011-05-06 Jeff Law <law@redhat.com>
875
876 * tree-ssa-threadupdate.c (create_block_for_threading): Do not call
877 remove_ctrl_stmt_and_useless_edges.
878 (create_duplicates): Call remove_ctrl_stmt_and_useless_edges.
879 (fixup_template_block, thread_single_edge): Likewise.
880 (mark_threaded_blocks): Use THREAD_TARGET.
881
1fc1b66d
AM
8822011-05-06 Alan Modra <amodra@gmail.com>
883
884 PR target/48900
885 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
886 const0_rtx as the arg to the dummy __tls_get_addr libcall.
887
e194de64
UB
8882011-05-06 Uros Bizjak <ubizjak@gmail.com>
889
890 * config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
891 constraint modifier to "r".
892
d740dc9e
JM
8932011-05-06 Joseph Myers <joseph@codesourcery.com>
894
895 * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle and
896 fall through for OPT_mcmodel_.
897
cab78b15
AK
8982011-05-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
899
900 * config/s390/s390.c (s390_asm_trampoline_template): Comment
901 instruction sizes.
e194de64 902 (s390_trampoline_init): Replace UNITS_PER_WORD with UNITS_PER_LONG.
cab78b15 903
ee6824ae
RR
9042011-05-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
905
eb1485a6
UB
906 PR target/47930
907 * config/arm/arm.opt (marm): Document it.
908 (mthumb): Reject negative variant.
ee6824ae 909
9ef58464
UB
9102011-05-06 Uros Bizjak <ubizjak@gmail.com>
911
912 PR target/48898
913 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
914 Fix typo in "ccvt" variable name.
915
155b6176
TG
9162011-05-06 Tristan Gingold <gingold@adacore.com>
917
918 PR target/48895
919 * config/vms/vms-ar.c (main): Remove cwd variable.
920
3becc47b
JJ
9212011-05-06 Jakub Jelinek <jakub@redhat.com>
922
923 PR debug/48902
924 * var-tracking.c (prepare_call_arguments): Move else before #endif.
925
3d528853
NF
9262011-05-05 Nathan Froyd <froydnj@codesourcery.com>
927
928 * except.c (sjlj_emit_dispatch_table): Call build_case_label.
929 * gimplify.c (gimplify_switch_expr): Likewise.
930 * omp-low.c (expand_omp_sections): Likewise.
931 * tree-eh.c (lower_try_finally_switch): Likewise.
932 (lower_eh_dispatch): Likewise.
933 * tree.h (build_case_label): Declare.
934 * tree.c (build_case_label): Define.
935
deb5046b
JM
9362011-05-05 Jason Merrill <jason@redhat.com>
937
938 PR c++/40975
939 * tree-inline.c (copy_tree_r): Use copy_statement_list.
940 (copy_statement_list): Don't recurse.
941 * stor-layout.c (copy_self_referential_tree_r): Don't allow
942 STATEMENT_LIST.
943
013c0411
JM
9442011-05-05 Joseph Myers <joseph@codesourcery.com>
945
946 * config/rs6000/rs6000.c (rs6000_handle_option): Don't fall
947 through from -mfpu= handling.
948 * config/rs6000/rs6000.opt (mfpu=): Use Var and Init.
949
a0905f8b
BS
9502011-05-05 Bernd Schmidt <bernds@codesourcery.com>
951
952 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 10]: Handle
953 POST_MODIFY.
954
fc4538e4
SE
9552011-05-05 Steve Ellcey <sje@cup.hp.com>
956
957 * config.gcc (hppa*64*-*-hpux11*): Modify tm_file and extra_options
958 for 11.31.
959 (hppa[12]*-*-hpux11*): Ditto.
960 (ia64*-*-hpux*): Add ia64/hpux-unix2003.h to tm_file.
961 * config/ia64/hpux-unix2003.h: New.
962 * config/pa/pa-hpux1131.opt: New.
963 * config/pa/pa-hpux1131.h: New.
964 * config/pa/pa64-hpux.h (STARTFILE_SPEC): Use unix2003.o if requested.
965 * config/pa/pa-hpux.opt (flag_pa_unix): Check TARGET_HPUX_11_31 value.
4eec64ff 966 * config/pa/pa.h (TARGET_HPUX_11_31): Provide default (0) value.
fc4538e4 967
1e30c578
JJ
9682011-05-05 Jakub Jelinek <jakub@redhat.com>
969
970 PR debug/48853
971 * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: Pass mem_mode
972 instead of mode as 3rd argument to recursive call.
973 (mem_loc_descriptor) <case REG>: If POINTERS_EXTEND_UNSIGNED, don't
974 emit DW_OP_GNU_regval_type if mode is Pmode and mem_mode is not
975 VOIDmode.
976 (mem_loc_descriptor) <case SYMBOL_REF>: If POINTERS_EXTEND_UNSIGNED,
977 don't give up if mode is Pmode and mem_mode is not VOIDmode.
978 (mem_loc_descriptor) <case CONST_INT>: If POINTERS_EXTEND_UNSIGNED,
979 use int_loc_descriptor if mode is Pmode and mem_mode is not VOIDmode.
980
d19eb620
JB
9812011-05-05 Julian Brown <julian@codesourcery.com>
982
983 * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
984 parenthesis in D-register case.
985
c860fe8c
JM
9862011-05-05 Joseph Myers <joseph@codesourcery.com>
987
988 * opt-functions.awk (var_type_struct): Handle Enum options.
989 * optc-gen.awk: Don't check range of variables of character type.
990 * config/rs6000/rs6000.c (rs6000_sched_insert_nops_str,
991 rs6000_sched_costly_dep_str, rs6000_recip_name, rs6000_abi_name,
992 rs6000_sdata_name, rs6000_explicit_options): Remove.
993 (rs6000_option_override_internal): Check for -malign-power here.
994 Use global_options_set instead of rs6000_explicit_options.
995 (rs6000_parse_fpu_option): Remove.
996 (rs6000_handle_option): Access variables via opts and opts_set
997 pointers. Use error_at and warning_at. Add fall-through
998 comments. Don't handle OPT_mcmodel_, OPT_maix_struct_return,
999 OPT_msvr4_struct_return, OPT_mvrsave, OPT_mspe, OPT_mcall_,
1000 OPT_msdata_, OPT_mtls_size_, OPT_mtraceback_, OPT_mfloat_gprs_,
1001 OPT_msched_costly_dep_, OPT_malign_ or OPT_mrecip_ explicitly
1002 here. Don't use rs6000_parse_fpu_option.
1003 * config/rs6000/rs6000.h (fpu_type): Remove declaration.
1004 * config/rs6000/rs6000.opt (rs6000_long_double_type_size,
1005 rs6000_spe, rs6000_float_gprs): Remove TargetVariable entries.
1006 (mrecip=): Use Var.
1007 (mspe): Use Var and Save.
1008 (mtraceback=): Use Enum and Var.
1009 (rs6000_traceback_type): New Enum and EnumValue entries.
1010 (mfloat-gprs=): Use Enum, Var and Save.
1011 (rs6000_float_gprs): New Enum and EnumValue entries.
1012 (mlong-double-): use Var and Save.
1013 (msched-costly-dep=, minsert-sched-nops=): Use Var.
1014 (malign-): Use Enum and Var.
1015 (rs6000_alignment_flags): New Enum and EnumValue entries.
1016 (mfpu=): Use Enum.
1017 (fpu_type_t): New Enum and EnumValue entries.
1018 * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Use
1019 global_options_set instead of rs6000_explicit_options.
1020 * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Use
1021 global_options_set instead of rs6000_explicit_options.
1022 * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Use
1023 global_options_set instead of rs6000_explicit_options.
1024 * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Use
1025 global_options_set instead of rs6000_explicit_options.
1026 * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Use
1027 global_options_set instead of rs6000_explicit_options.
1028 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
1029 global_options_set instead of rs6000_explicit_options.
1030 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Remove commented-out
1031 definition.
1032 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
1033 global_options_set instead of rs6000_explicit_options.
1034 * config/rs6000/linux64.opt (mcmodel=): Use Enum and Var.
1035 (rs6000_cmodel): New Enum and EnumValue entries.
1036 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
1037 global_options_set instead of rs6000_explicit_options.
1038 * config/rs6000/sysv4.opt (mcall-, msdata=): Use Var.
1039 (mtls-size=): Use Enum and Var.
1040 (rs6000_tls_size): New Enum and EnumValue entries.
1041
0691dde9
MM
10422011-05-05 Michael Matz <matz@suse.de>
1043
1044 * config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
1045 * config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
1046 * config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
1047 * config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
1048 * config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
1049 * config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
1050 * config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
1051 * config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
1052 * config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
1053 * config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
1054 * config/i386/gnu-user.h (ENDFILE_SPEC): Add Ofast.
1055 * config/i386/gnu-user64.h (ENDFILE_SPEC): Add Ofast.
1056 * config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
1057 * config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
1058 * config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
1059 * config/mips/linux.h (ENDFILE_SPEC): Add Ofast.
1060
86529a49
RG
10612011-05-05 Richard Guenther <rguenther@suse.de>
1062
1063 * expmed.c (expand_variable_shift): Rename to ...
1064 (expand_shift_1): ... this. Take an expanded shift amount.
1065 For rotates recurse directly not building trees for the shift amount.
1066 (expand_variable_shift): Wrap around expand_shift_1.
1067 (expand_shift): Adjust.
1068
d0228c2e
JJ
10692011-05-05 Jakub Jelinek <jakub@redhat.com>
1070
1071 * gimplify.c (create_tmp_var_raw): Don't call build_type_variant.
1072
907a08d9
EB
10732011-05-05 Eric Botcazou <ebotcazou@adacore.com>
1074
1075 * tree.h (get_pending_sizes): Remove prototype.
1076 (put_pending_size): Likewise.
1077 (put_pending_sizes): Likewise.
1078 * stor-layout.c (pending_sizes): Delete.
1079 (get_pending_sizes): Likewise.
1080 (put_pending_size): Likewise.
1081 (put_pending_sizes): Likewise.
1082 (variable_size): Do not call put_pending_size and tidy up.
1083 * function.h (struct function): Remove dont_save_pending_sizes_p.
1084 * lto-streamer-in.c (input_function): Do not stream it.
1085 * lto-streamer-out.c (output_function): Likewise.
1086 * tree-inline.c (initialize_cfun): Do not copy it.
1087 * c-decl.c (store_parm_decls): Do not set it.
1088 * omp-low.c (create_task_copyfn): Likewise.
1089 * tree-optimize.c (tree_rest_of_compilation): Likewise.
1090
386d9c57
UB
10912011-05-05 Uros Bizjak <ubizjak@gmail.com>
1092
1093 * config/i386/i386.md (*movdf_internal_rex64): Simplify nested "if"
1094 conditions.
1095 (*movdf_internal): Ditto.
1096 (*movdf_internal_nointeger): Ditto.
1097 (*movsf_internal): Ditto.
1098
a04a722b
JM
10992011-05-05 Joseph Myers <joseph@codesourcery.com>
1100
1101 * c-decl.c (finish_decl): Don't call get_pending_sizes.
1102 (grokparm): Add parameter expr. Pass it to grokdeclarator.
1103 (push_parm_decl): Add parameter expr. Pass it to grokdeclarator.
1104 (c_variable_size): Remove.
1105 (grokdeclarator): Use save_expr instead of c_variable_size. Don't
1106 call put_pending_sizes.
1107 (get_parm_info): Add parameter expr. Use it to set
1108 arg_info->pending_sizes.
1109 (store_parm_decls): Use arg_info->pending_sizes instead or calling
1110 get_pending_sizes.
1111 * c-parser.c (c_parser_parms_declarator): Update call to
1112 c_parser_parms_list_declarator.
1113 (c_parser_parms_list_declarator): Take parameter expr. Update
1114 call to push_parm_decl. Update recursive call. Don't call
1115 get_pending_sizes. Update calls to get_parm_info.
1116 (c_parser_objc_method_definition): Update calls to
1117 c_parser_objc_method_decl and objc_start_method_definition.
386d9c57 1118 (c_parser_objc_methodproto): Update call to c_parser_objc_method_decl.
a04a722b
JM
1119 (c_parser_objc_method_decl): Add parameter expr. Update call to
1120 grokparm.
386d9c57 1121 (c_parser_objc_try_catch_finally_statement): Update call to grokparm.
a04a722b
JM
1122 * c-tree.h (struct c_arg_info.pending_sizes): Change to a tree.
1123 (get_parm_info, grokparm, push_parm_decl): Update prototypes.
1124
c92a6f97
MH
11252011-05-05 Michael Hope <michael.hope@linaro.org>
1126
386d9c57
UB
1127 PR pch/45979
1128 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
1129 __ARM_EABI__ hosts.
c92a6f97 1130
07ea0048
UW
11312011-05-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1132
1133 * config/spu/spu.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
1134 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
1135 (spu_output_mi_thunk): New function.
1136
d634bfa1
RO
11372011-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1138
1139 * config/sparc/sol2.h (ASM_OUTPUT_CALL): Use
1140 targetm.asm_out.print_operand.
1141 * config/sol2.c: Include target.h.
1142
40fda55b
JH
11432011-05-04 Jan Hubicka <jh@suse.cz>
1144
1145 * ipa-inline.c (reset_edge_caches): New function.
1146 (update_caller_keys): Add check_inlinablity_for; do not
1147 reset edge caches; remove now unnecesary loop.
386d9c57 1148 (update_callee_keys): Add comments; reset node_growth_cache of callee.
40fda55b
JH
1149 (update_all_callee_keys): Likewise.
1150 (inline_small_functions): Sanity check cache; update code
1151 recomputing it.
1152
0360f70d
BS
11532011-05-04 Bernd Schmidt <bernds@codesourcery.com>
1154
1155 PR rtl-optimization/47612
1156 * df-problems.c (can_move_insns_across): Don't pick a cc0 setter
1157 as the last insn of the sequence to be moved.
1158
7a994646
TB
11592011-05-04 Tobias Burnus <burnus@net-b.de>
1160
1161 PR fortran/48864
1162 * doc/invoke.texi (Ofast): Document that it
1163 enables Fortran's -fno-protect-parens.
1164
7a2f7208
UB
11652011-05-04 Uros Bizjak <ubizjak@gmail.com>
1166
1167 * config/i386/i386.c (ix86_reorg): Run move_or_delete_vzeroupper first.
1168
a2d42931
EB
11692011-05-04 Eric Botcazou <ebotcazou@adacore.com>
1170
1171 * stor-layout.c (variable_size): Do not issue errors.
1172
f81b1a3d
RG
11732011-05-04 Richard Guenther <rguenther@suse.de>
1174
1175 * coverage.c (tree_coverage_counter_ref): Use integer_type_node
1176 for array-ref indices.
1177 (tree_coverage_counter_addr): Likewise.
1178 (build_fn_info_type): Use size_int for index types.
1179 (build_gcov_info): Likewise.
1180
c62c040f
RG
11812011-05-04 Richard Guenther <rguenther@suse.de>
1182
1183 * c-decl.c (check_bitfield_type_and_width): Do not pass NULL
1184 to build_int_cst.
1185 * c-typeck.c (really_start_incremental_init): Use bitsize_int
1186 for constructor indices.
1187 (push_init_level): Likewise.
1188
1e3287d0
RG
11892011-05-04 Richard Guenther <rguenther@suse.de>
1190
1191 * explow.c (promote_mode): Move variable declarations before code.
1192
6c32445b
NF
11932011-05-04 Nathan Froyd <froydnj@codesourcery.com>
1194
1195 * tree.h (build_function_type_array): Declare.
1196 (build_varargs_function_type_array): Declare.
1197 (build_function_type_vec, build_varargs_function_type_vec): Define.
1198 * tree.c (build_function_type_array_1): New function.
1199 (build_function_type_array): New function.
1200 (build_varargs_function_type_array): New function.
1201
fdabf269
RS
12022011-05-04 Richard Sandiford <richard.sandiford@linaro.org>
1203
1204 * tree-vect-loop.c (vectorizable_reduction): Check reduction cost
1205 before setting STMT_VINFO_TYPE.
1206
a207915a
UW
12072011-05-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1208
1209 * config/spu/spu.c (spu_gimplify_va_arg_expr): Call pass_by_reference
1210 instead of spu_pass_by_reference.
1211
5e617be8
AK
12122011-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1213
1214 * calls.c (emit_library_call_value_1): Invoke
1215 promote_function_mode hook on libcall arguments.
1216 * explow.c (promote_function_mode, promote_mode): Handle TYPE
1217 argument being NULL.
1218 * targhooks.c (default_promote_function_mode): Lisewise.
1219 * config/s390/s390.c (s390_promote_function_mode): Likewise.
1220 * config/sparc/sparc.c (sparc_promote_function_mode): Likewise.
1221
1222 * doc/tm.texi: Document that TYPE argument might be NULL.
1223
486d04be
SH
12242011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
1225
1226 * config/bfin/bfin.c (bfin_cpus): Update silicon revisions.
1227
9b19b026
SH
12282011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
1229
1230 From Bernd Schmidt
1231 * config/bfin/bfin.md (addsi3): Add an alternative for IREGS.
1232
502bc3df
RO
12332011-05-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1234
1235 * config/alpha/alpha.h (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB)
1236 (MIPS_UNMARK_STAB, SHASH_SIZE, THASH_SIZE, ALIGN_SYMTABLE_OFFSET):
1237 Move ...
1238 * mips-tfile.c: ... here.
1239 Don't include coretypes.h, tm.h, filenames.h.
1240 (saber_stop): Remove definition and all calls.
1241 [__SABER__]: Remove.
1242 (__LINE__): Remove default.
1243 (Size_t, Ptrdiff_t): Remove definitions.
1244 Replace by size_t, ptrdiff_t.
1245 [!MIPS_DEBUGGING_INFO]: Remove.
1246 (SHASH_SIZE, THASH_SIZE): Remove defaults.
1247 (progname): Add const.
1248 (STATIC): Remove.
1249 Replace all uses by static.
1250 (ALIGN_SYMTABLE_OFFSET): Remove default.
1251 * mips-tdump.c: Don't include coretypes.h, tm.h.
1252 Remove !MIPS_IS_STAB guard.
1253 * Makefile.in (mips-tfile.o): Remove $(RTL_H), coretypes.h,
1254 $(TM_H), filenames.h dependencies.
1255 (mips-tdump.o): Remove $(RTL_H), coretypes.h, $(TM_H) dependencies.
1256
991eb6ef
SH
12572011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
1258
1259 From Jie Zhang
1260 *config/bfin/bfin.c (bfin_extra_live_on_entry): New.
1261 (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
1262
420ccc84
SH
12632011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
1264
1265 From Bernd Schmidt
1266 * config/bfin/bfin.h (FUNCTION_PROFILER): Take TARGET_LONG_CALLS into
1267 account and save/restore RETS.
1268 (PROFILE_BEFORE_PROLOGUE): Define.
1269 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add tab character. Correct
1270 the push insn to use predecrement.
1271
9f8d69ee
SH
12722011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
1273
1274 From Jie Zhang
1275 * config/bfin/bfin.c (bfin_expand_prologue): Don't clobber P2.
1276
662c03f4
NC
12772011-05-04 Nick Clifton <nickc@redhat.com>
1278
1279 * config/mn10300/mn10300.c: Include cfgloop.h.
1280 (DUMP): New macro.
1281 (mn10300_insert_setlb_lcc): New function. Inserts a SETLB and a
1282 Lcc or a FLcc insn into the instruction stream.
1283 (mn10300_block_contains_call): New function. Returns true if the
1284 given basic block contains a CALL insn.
1285 (mn10300_loop_contains_call_insn): New function. Returns true if
1286 the given loop contains a CALL insn.
1287 (mn10300_scan_for_setlb_lcc): New function. Finds opportunities
1288 to use the SETLB and Lcc or FLcc insns.
1289 (mn10300_reorg): Invoke mn10300_scan_for_setlb_lcc when optimizing.
1290 (TARGET_FLAGS): Add MASK_ALLOW_SETLB.
1291 * config/mn10300/mn10300.opt (msetlb): New option. Used to
1292 disable the SETLB optimization.
1293 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
1294 __SETLB__ or __NO_SETLB__.
1295 * config/mn10300/mn10300.md (UNSPEC_SETLB): New constant.
1296 (movsf_internal): Handle MDR register.
1297 (cmpsi): Make visible.
1298 (setlb): New pattern.
1299 (Lcc): New pattern.
1300 (FLcc): New pattern.
1301
843b6915
UB
13022011-05-04 Uros Bizjak <ubizjak@gmail.com>
1303
1304 PR target/48860
1305 * config/i386/i386.md (*movdi_internal_rex64) Use %vmovd
1306 for reg<->xmm moves.
1307 * config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto.
1308 (vec_concatv2di_rex64_sse): Ditto.
1309 (*sse2_storeq_rex64): Do not emit %v prefix for mov{q} mnemonic.
1310 (*vec_extractv2di_1_rex64): Ditto.
1311
1312 Revert:
1313 2011-05-02 Uros Bizjak <ubizjak@gmail.com>
1314
1315 * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
1316 reg<->xmm moves.
1317 (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves.
1318
d35936ab
RG
13192011-05-04 Richard Guenther <rguenther@suse.de>
1320
1321 * tree.h (int_const_binop): Remove notrunc argument.
1322 * fold-const.c (int_const_binop): Remove notrunc argument. Always
1323 create integer constants that are properly truncated.
1324 (extract_muldiv_1): Expand one notrunc int_const_binop caller.
1325 (const_binop): Remove zero notrunc argument to int_const_binop.
1326 (size_binop_loc): Likewise.
1327 (fold_div_compare): Likewise.
1328 (maybe_canonicalize_comparison_1): Likewise.
1329 (fold_comparison): Likewise.
1330 (fold_binary_loc): Likewise.
1331 (multiple_of_p): Likewise.
1332 * expr.c (store_constructor): Likewise.
1333 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
1334 (maybe_fold_stmt_addition): Likewise.
1335 * ipa-prop.c (ipa_modify_call_arguments): Likewise.
1336 * stor-layout.c (layout_type): Likewise.
1337 * tree-data-ref.c (tree_fold_divides_p): Likewise.
1338 * tree-sra.c (build_ref_for_offset): Likewise.
1339 (build_user_friendly_ref_for_offset): Likewise.
1340 * tree-ssa-address.c (maybe_fold_tmr): Likewise.
1341 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
1342 * tree-ssa-loop-niter.c (inverse): Likewise.
1343 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
1344 * tree-ssa.c (maybe_rewrite_mem_ref_base): Likewise.
1345 * tree-switch-conversion.c (check_range): Likewise.
1346 (build_constructors): Likewise.
1347 * tree-vect-generic.c (expand_vector_piecewise): Likewise.
1348 * tree-vrp.c (set_and_canonicalize_value_range): Likewise.
1349 (extract_range_from_assert): Likewise.
1350 (vrp_int_const_binop): Likewise.
1351 (extract_range_from_binary_expr): Likewise.
1352 (extract_range_from_unary_expr): Likewise.
1353 (check_array_ref): Likewise.
1354 (find_case_label_range): Likewise.
1355 (simplify_div_or_mod_using_ranges): Likewise.
1356 * tree-cfg.c (group_case_labels_stmt): Use double-ints for
1357 comparing case labels for merging.
1358
8992c063
MW
13592011-05-03 Mark Wielaard <mjw@redhat.com>
1360
1361 * dwarf2out.c (debug_str_hash_forced): Removed.
1362 (gen_label_for_indirect_string): Removed.
1363 (get_debug_string_label): Removed.
1364 (AT_string_form): Generate label directly.
1365 (output_indirect_string): Test indirect_string_node for
1366 DW_FORM_strp instead of checking label and refcount.
1367 (prune_indirect_string): Removed.
1368 (prune_unused_types): Don't check debug_str_hash_forced or
1369 call prune_indirect_string.
1370
4868e6ea
AO
13712011-05-04 Alexandre Oliva <aoliva@redhat.com>
1372
1373 PR other/48093
1374 * doc/invoke.texi: Document -mtls-dialect and GCC_COMPARE_DEBUG.
1375
01a5c0ab
AO
13762011-05-04 Alexandre Oliva <aoliva@redhat.com>
1377
1378 PR debug/47994
1379 PR debug/47919
1380 * combine.c (try_combine): Skip debug insns at m_split tests.
1381
6ac00218
MW
13822011-04-26 Mark Wielaard <mjw@redhat.com>
1383
1384 PR42288
1385 * dwarf2out.c (dwarf2out_finish): Always call output_aranges ()
1386 when info_section_emitted.
1387
3af42a7b
JM
13882011-05-03 Joseph Myers <joseph@codesourcery.com>
1389
1390 * config/mips/mips-opts.h: New.
1391 * config/mips/mips.c (enum mips_r10k_cache_barrier_setting): Move
1392 to mips-opts.h.
1393 (mips_abi, mips_code_readable, mips_r10k_cache_barriee): Remove.
1394 (mips_handle_option): Don't handle OPT_mabi_, OPT_mcode_readable_
1395 or OPT_mr10k_cache_barrier_ here. Access mips_cache_flush_func
1396 via opts pointer.
1397 * config/mips/mips.h (enum mips_code_readable_setting): Move to
1398 mips-opts.h.
1399 (mips_abi, mips_code_readable): Don't declare.
843b6915 1400 * config/mips/mips.opt (config/mips/mips-opts.h): New HeaderInclude.
3af42a7b
JM
1401 (mabi=): Use Enum and Var.
1402 (mips_abi): New Enum and EnumValue entries.
1403 (mcode-readable=): Use Enum and Var.
1404 (mips_code_readable_setting): New Enum and EnumValue entries.
1405 (mr10k-cache-barrier=): Use Enum and Var.
1406 (mips_r10k_cache_barrier_setting): New Enum and EnumValue entries.
1407
1cb1a99f
JH
14082011-05-03 Jan Hubicka <jh@suse.cz>
1409
1410 * cgraph.h (cgraph_node_set_def, varpool_node_set_def): Move out of GTY;
1411 replace hash by pointer map.
1412 (cgraph_node_set_element_def, cgraph_node_set_element,
1413 const_cgraph_node_set_element, varpool_node_set_element_def,
1414 varpool_node_set_element, const_varpool_node_set_element): Remove.
1415 (free_cgraph_node_set, free_varpool_node_set): New function.
1416 (cgraph_node_set_size, varpool_node_set_size): Use vector size.
1417 * tree-emutls.c: Free varpool node set.
1418 * ipa-utils.c (cgraph_node_set_new, cgraph_node_set_add,
1419 cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
1420 debug_cgraph_node_set, free_cgraph_node_set, varpool_node_set_new,
1421 varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
1422 dump_varpool_node_set, free_varpool_node_set, debug_varpool_node_set):
1423 Move here from ipa.c; implement using pointer_map
1424 * ipa.c (cgraph_node_set_new, cgraph_node_set_add,
1425 cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
1426 debug_cgraph_node_set, varpool_node_set_new,
1427 varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
1428 dump_varpool_node_set, debug_varpool_node_set):
1429 Move to ipa-uitls.c.
1430 * passes.c (ipa_write_summaries): Update.
1431
7f31f4db
SH
14322011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
1433
7a2f7208
UB
1434 From Mike Frysinger:
1435 * config/bfin/bfin.c (bfin_cpus[]): Add 0.4 for
1436 bf542/bf544/bf547/bf548/bf549.
7f31f4db 1437
b70fce6d
UB
14382011-05-03 Uros Bizjak <ubizjak@gmail.com>
1439
1440 * expmed.c (extract_bit_field_1): Remove write-only variable "icode".
1441
265b1d82
SH
14422011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
1443
1444 From Bernd Schmidt:
1445 * config/bfin/bfin.md (MOVCC): New mode_macro.
1446 (mov<mode>cc_insn1, mov<mode>cc_insn2, mov<mode>cc): Renamed from
1447 movsicc_insn1, movsicc_insn2 and movsicc and macroized. Remove
1448 comments from generated assembly.
1449
f0b568f3
SH
14502011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
1451
1452 From Bernd Schmidt
1453 * config/bfin/t-bfin (LIB1ASMFUNCS): Add muldi3 and umulsi3_highpart.
1454 * config/bfin/t-bfin-elf (LIB1ASMFUNCS): Add muldi3.
1455 * config/bfin/t-bfin-linux (LIB1ASMFUNCS): Add muldi3.
1456 * config/bfin/t-bfin-uclinux (LIB1ASMFUNCS): Add muldi3.
1457 * config/bfin/lib1funcs.asm (___muldi3): New function.
1458
2c67cf6e
NF
14592011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1460
1461 * config/stormy16/stormy16 (xstormy16_init_builtins): Call
1462 build_function_type_list instead of build_function_type.
1463 Rearrange initialization of `args' to do so.
1464
f9ac28ad
NF
14652011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1466
1467 * config/i386/i386.c (ix86_code_end): Call build_function_type_list
1468 instead of build_function_type.
1469
22b8798c
NF
14702011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1471
1472 * config/rs6000/rs6000.c (spe_init_builtins): Call
1473 build_function_type_list instead of build_function_type.
1474 (paired_init_builtins, altivec_init_builtins): Likewise.
1475 (builtin_function_type): Likewise.
1476
4cb44528
NF
14772011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1478
1479 * config/sh/sh.c (sh_media_init_builtins): Call
1480 build_function_type_list instead of build_function_type.
1481
4c203a6a
NF
14822011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1483
1484 * config/sparc/sparc.c (sparc_file_end): Call
1485 build_function_type_list instead of build_function_type.
1486
d6a3d62b
NF
14872011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1488
1489 * config/alpha/alpha.c (alpha_init_builtins): Call
1490 build_function_type_list instead of build_function_type.
1491
de530b86
NF
14922011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1493
1494 * config/xtensa/xtensa.c (xtensa_init_builtins): Call
1495 build_function_type_list instead of build_function_type.
1496
baeec5f2
NF
14972011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1498
1499 * config/iq2000/i2000.c (iq2000_init_builtins): Call
1500 build_function_type_list instead of build_function_type.
1501 Delete `endlink' variable.
1502
c19afe52
NF
15032011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1504
1505 * config/avr/avr.c (avr_init_builtins): Call
1506 build_function_type_list instead of build_function_type.
1507
a341df0a
NF
15082011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1509
1510 * config/picochip/picochip.c (picochip_init_builtins): Call
1511 build_function_type_list instead of build_function_type.
1512 Delete `endlink' variable.
1513
2102b1e1
NF
15142011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1515
1516 * config/bfin/bfin.c (bfin_init_builtins): Call
1517 build_function_type_list instead of build_function_type.
1518
9f111209
SH
15192011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
1520
1521 From Bernd Schmidt
1522 * config/bfin/bfin.md (rotrsi, rotlsi): Don't take INTVAL of anything
1523 that's not CONST_INT. Seemingly redundant check is due to PR39768.
1524
7071d064
SH
15252011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
1526
1527 From Jie Zhang:
1528 * config/bfin/uclinux.h (LINK_GCC_C_SEQUENCE_SPEC): Make sure
1529 libbffastfp overrides libgcc when -mfast-fp.
1530
748f7574 15312011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
44fb48ef
SH
1532
1533 Originally from Bernd Schmidt
1534 * config/bfin/uclinux.h (SUBTARGET_FDPIC_NOT_SUPPORTED): New macro.
1535 * config/bfin/bfin.c (override_options): Test it and error if
1536 TARGET_FDPIC.
1537
1a3a9152
SH
15382011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
1539
1540 Originally From Bernd Schmidt
1541 * config/bfin/bfin.c (override_options): Disable -fstack-limit for
1542 FD-PIC.
1543
7134c090
JL
15442011-05-03 Jeff Law <law@redhat.com>
1545
1546 * tree-ssa-threadupdate.c (THREAD_TARGET): define.
1547 (remove_ctrl_stmt_and_useless_edges): Clear AUX field of outgoing edges.
1548 (craete_edge_and_update_destination_phis): Use THREAD_TARGET rather
b70fce6d
UB
1549 than accessing AUX field directly. Free the AUX field before
1550 clearing it.
7134c090
JL
1551 (thread_block, thread_through_loop_header): Likewise.
1552 (thread_single_edge, mark_threaded_blocks): Likewise.
1553 (redirect_edges): Delay clearing the AUX field. Free the AUX field.
1554 (register_jump_thread): Do not attempt to thread to a NULL edge.
b70fce6d 1555
2c7eebae
BS
15562011-05-03 Bernd Schmidt <bernds@codesourcery.com>
1557
1558 * function.c (init_function_start): Call decide_function_section.
1559 * varasm.c (decide_function_section): New function.
1560 (assemble_start_function): When not using
1561 flag_reorder_blocks_and_partition, don't compute in_cold_section_p
1562 or first_function_block_is_cold.
1563 * rtl.h (decide_function_section): Declare.
1564
17038fcf
JJ
15652011-05-03 Uros Bizjak <ubizjak@gmail.com>
1566 Jakub Jelinek <jakub@redhat.com>
1567
1568 PR target/48774
1569 * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
1570 only succeed if req_mode is the same as set_mode.
1571
3810076b
BS
15722011-05-03 Bernd Schmidt <bernds@codesourcery.com>
1573
1574 * gengenrtl.c (special_rtx): PC, CC0 and RETURN are special.
1575 * genemit.c (gen_exp): Handle RETURN.
1576 * emit-rtl.c (verify_rtx_sharing): Likewise.
1577 (init_emit_regs): Create pc_rtx, ret_rtx and cc0_rtx specially.
1578 * rtl.c (copy_rtx): RETURN is shared.
1579 * rtl.h (enum global_rtl_index): Add GR_RETURN.
1580 (ret_rtx): New.
1581 * jump.c (redirect_exp_1): Don't use gen_rtx_RETURN.
1582 * config/s390/s390.c (s390_emit_epilogue): Likewise.
1583 * config/rx/rx.c (gen_rx_rtsd_vector): Likewise.
1584 * config/cris/cris.c (cris_expand_return): Likewise.
1585 * config/m68k/m68k.c (m68k_expand_epilogue): Likewise.
1586 * config/rs6000/rs6000.c (rs6000_make_savres_rtx,
1587 rs6000_emit_epilogue, rs6000_output_mi_thunk): Likewise.
1588 * config/picochip/picochip.c (picochip_expand_epilogue): Likewise.
1589 * config/h8300/h8300.c (h8300_push_pop, h8300_expand_epilogue):
1590 Likewise.
1591 * config/v850/v850.c (expand_epilogue): Likewise.
1592 * config/bfin/bfin.c (bfin_expand_call): Likewise.
1593 * config/arm/arm.md (epilogue): Likewise.
1594 * config/mn10300/mn10300.c (mn10300_expand_epilogue): Likewise.
1595 * config/sparc/sparc.c (sparc_struct_value_rtx): Rename ret_rtx
1596 variable to ret_reg.
1597
9efdb4ad
RG
15982011-05-03 Richard Guenther <rguenther@suse.de>
1599
1600 PR lto/48846
1601 * lto-streamer-in.c (unpack_ts_decl_common_value_fields):
1602 Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
1603 * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
1604
60a45536
RG
16052011-05-03 Richard Guenther <rguenther@suse.de>
1606
1607 * c-decl.c (grokdeclarator): Instead of looking at
1608 TREE_OVERFLOW check if the constant fits in the index type.
1609
3188ed59
RS
16102011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
1611
1612 * config/arm/neon.md (vec_load_lanes<mode><mode>): New expanders,
1613 (vec_store_lanes<mode><mode>): Likewise.
1614
272c6793
RS
16152011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
1616
1617 * doc/md.texi (vec_load_lanes, vec_store_lanes): Document.
1618 * optabs.h (COI_vec_load_lanes, COI_vec_store_lanes): New
1619 convert_optab_index values.
1620 (vec_load_lanes_optab, vec_store_lanes_optab): New convert optabs.
1621 * genopinit.c (optabs): Initialize the new optabs.
1622 * internal-fn.def (LOAD_LANES, STORE_LANES): New internal functions.
1623 * internal-fn.c (get_multi_vector_move, expand_LOAD_LANES)
1624 (expand_STORE_LANES): New functions.
1625 * tree.h (build_array_type_nelts): Declare.
1626 * tree.c (build_array_type_nelts): New function.
1627 * tree-vectorizer.h (vect_model_store_cost): Add a bool argument.
1628 (vect_model_load_cost): Likewise.
1629 (vect_store_lanes_supported, vect_load_lanes_supported)
1630 (vect_record_strided_load_vectors): Declare.
1631 * tree-vect-data-refs.c (vect_lanes_optab_supported_p)
1632 (vect_store_lanes_supported, vect_load_lanes_supported): New functions.
1633 (vect_transform_strided_load): Split out statement recording into...
1634 (vect_record_strided_load_vectors): ...this new function.
1635 * tree-vect-stmts.c (create_vector_array, read_vector_array)
1636 (write_vector_array, create_array_ref): New functions.
1637 (vect_model_store_cost): Add store_lanes_p argument.
1638 (vect_model_load_cost): Add load_lanes_p argument.
1639 (vectorizable_store): Try to use store-lanes functions for
1640 interleaved stores.
1641 (vectorizable_load): Likewise load-lanes and loads.
1642 * tree-vect-slp.c (vect_get_and_check_slp_defs): Update call
1643 to vect_model_store_cost.
1644 (vect_build_slp_tree): Likewise vect_model_load_cost.
1645
0f6d54f7
RS
16462011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
1647
1648 * hooks.h (hook_bool_mode_uhwi_false): Declare.
1649 * hooks.c (hook_bool_mode_uhwi_false): New function.
1650 * target.def (array_mode_supported_p): New hook.
1651 * doc/tm.texi.in (TARGET_ARRAY_MODE_SUPPORTED_P): Add @hook.
1652 * doc/tm.texi: Regenerate.
1653 * stor-layout.c (mode_for_array): New function.
1654 (layout_type): Use it.
1655 * config/arm/arm.c (arm_array_mode_supported_p): New function.
1656 (TARGET_ARRAY_MODE_SUPPORTED_P): Define.
1657
b15eacc7
EB
16582011-05-03 Eric Botcazou <ebotcazou@adacore.com>
1659
1660 PR target/48723
1661 * config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
1662 for -fstack-check if the size to allocate is negative.
1663
575bfb00
LC
16642011-05-02 Lawrence Crowl <crowl@google.com>
1665
1666 * timevar.h (timevar_cond_start): Remove unused POP_TIMEVAR_AND_RETURN.
1667 (timevar_cond_start): New for starting a timer only when it is not
1668 already running.
1669 (timevar_cond_stop): New for stopping a timer when it was not already
1670 running.
1671
1672 * timevar.c (timevar_stop): Enable start/stop timers to start again.
1673 (timevar_cond_start): New as above.
1674 (timevar_cond_stop): New as above.
1675
1676 * timevar.def: Add start/stop timers for compiler phases,
1677 TV_PHASE_SETUP, TV_PHASE_PARSING, TV_PHASE_DEFERRED, TV_PHASE_CGRAPH,
1678 TV_PHASE_DBGINFO (C), TV_PHASE_CHECK_DBGINFO (C++), TV_PHASE_GENERATE,
1679 and TV_PHASE_FINALIZE.
1680 Change push/pop timer TV_PARSE to TV_PARSE_GLOBAL.
1681 Add push/pop timers TV_PARSE_STRUCT, TV_PARSE_ENUM, TV_PARSE_FUNC,
1682 TV_PARSE_INLINE, TV_PARSE_INMETH, TV_TEMPLATE_INST.
1683 Change push/pop timer TV_NAME_LOOKUP into a start/stop timer.
1684 Make unused TV_OVERLOAD into a start/stop timer.
1685
1686 Remove unused timers TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION.
1687 Mark the strings for TV_NAME_LOOKUP and TV_OVERLOAD with a "|"
1688 to indicate that they are start/stop timers.
1689
1690 * toplev.c (compile_file): Change TV_PARSE to TV_PARSE_GLOBAL.
1691 Add start/stop timers TV_PHASE_PARSING and TV_PHASE_GENERATE.
1692 Move initialization to do_compile.
1693 (do_compile): Add initialization from above.
1694 Add start/stop timers TV_PHASE_SETUP and TV_PHASE_FINALIZE.
1695
1696 * c-decl.c (c_write_global_declarations): Add start/stop of
1697 TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO.
1698
1699 * c-parser.c (c_parser_declaration_or_fndef): Push/pop TV_PARSE_FUNC
1700 or TV_PARSE_INLINE, as appropriate.
1701 (c_parser_enum_specifier): Push/pop TV_PARSE_ENUM.
1702 (c_parser_struct_or_union_specifier): Push/pop TV_PARSE_STRUCT.
1703
3533b943
JM
17042011-05-02 Jason Merrill <jason@redhat.com>
1705
1706 PR c++/40975
1707 * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.
1708
2609a0ce
SM
17092011-05-02 Simon Martin <simartin@users.sourceforge.net>
1710
1711 PR c/35445
1712 * c-decl.c (finish_decl): Only create a composite if the types are
1713 compatible.
1714
6b0e4cbb
JM
17152011-05-02 Joseph Myers <joseph@codesourcery.com>
1716
1717 * config/fr30/fr30-protos.h (Mmode): Don't define.
1718 * config/m32r/m32r-protos.h (Mmode): Don't define. Expand
1719 definition where used.
1720 * config/mn10300/mn10300-protos.h (Mmode, Cstar, Rclas): Don't
1721 define. Expand definitions where used.
1722 * config/rx/rx-protos.h (Mmode, Fargs, Rcode): Don't define.
1723 Expand definitions where used.
1724 * config/rx/rx.c (rx_is_legitimate_address, rx_function_arg_size,
1725 rx_function_arg, rx_function_arg_advance,
1726 rx_function_arg_boundary): Expand definitions of those macros.
1727 * config/v850/v850-protos.h (Mmode): Don't define. Expand
1728 definition where used.
1729
4e938ce6
UB
17302011-05-02 Uros Bizjak <ubizjak@gmail.com>
1731
1732 * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
1733 reg<->xmm moves.
1734 (*mov<mode>_internal): Merge with *mov<mode>_internal_avx.
1735 (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves. Merge
1736 with *movv2sf_internal_rex64_avx.
1737 (*movv2sf_internal): Merge with *movv2sf_internal_avx.
1738 * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
1739 Use %v prefix in insn mnemonic to handle TARGET_AVX.
1740 (*movdi_internal): Add "isa" attribute. Use "maybe_vex" instead of
1741 "vex" in "prefix" attribute calculation.
1742 (*movdf_internal): Output AVX mnemonics. Add "prefix" attribute.
1743
36019c19
SH
17442011-05-02 Stuart Henderson <shenders@gcc.gnu.org>
1745
7a2f7208
UB
1746 PR target/47951
1747 * config/bfin/bfin.md (loop_end): Use matching constraints to ensure
1748 inputs match the output.
36019c19 1749
f69ea688
AS
17502011-05-02 Andreas Schwab <schwab@linux-m68k.org>
1751
1752 PR target/47955
1753 * config/m68k/m68k.c (m68k_expand_prologue): Set
1754 current_function_static_stack_size.
1755
c33406f5
JH
17562011-05-02 Jan Hubicka <jh@suse.cz>
1757
1758 * lto-streamer.c (lto_streamer_cache_insert_1,
1759 lto_streamer_cache_lookup, lto_streamer_cache_create,
1760 lto_streamer_cache_delete): Use pointer map instead of hashtable.
1761 * lto-streamer.h (lto_streamer_cache_d): Turn node_map into pointer_map.
1762
47c94d21
JM
17632011-05-02 Joseph Myers <joseph@codesourcery.com>
1764
1765 * config/m68k/genopt.sh, config/m68k/m68k-isas.def,
1766 config/m68k/m68k-microarchs.def, config/m68k/m68k-opts.h,
1767 config/m68k/t-opts: New files.
1768 * config/m68k/m68k-tables.opt: New file (generated).
1769 * config.gcc (fido-*-*, m68k-*-*): Add m68k/m68k-tables.opt to
1770 extra_options and m68k/t-opts to tmake_file.
1771 * config/m68k/m68k.c (m68k_library_id_string): More to m68k.opt.
1772 (all_isas): Initialize using m68k-isas.def.
1773 (all_microarchs): Initialize using m68k-microarchs.def.
1774 (m68k_find_selection): Remove.
1775 (m68k_handle_option): Don't assert that global structures are in
1776 use. Use error_at. Access variables via opts pointer. Don't
1777 handle -march=, -mcpu= and -mtune= here. Set gcc_options fields
1778 directly for -m68020-40 and -m68020-60.
1779 (m68k_option_override): Set m68k_arch_entry, m68k_cpu_entry and
1780 m68k_tune_entry here.
1781 * config/m68k/m68k.h (enum uarch_type, enum target_device): Move
1782 to m68k-opts.h.
1783 (m68k_library_id_string): Remove declaration.
4e938ce6 1784 * config/m68k/m68k.opt (config/m68k/m68k-opts.h): New HeaderInclude.
47c94d21
JM
1785 (m68k_library_id_string): New Variable.
1786 (march=, mcpu=, mtune=): Use Enum and Var.
1787
e562bf36
RG
17882011-05-02 Richard Guenther <rguenther@suse.de>
1789
1790 * varasm.c (output_constructor_regular_field): Compute zero-based
1791 index with double-ints. Make sure to ICE instead of producing
1792 wrong code.
1793 * cgraph.c (cgraph_add_thunk): Do not create new tree nodes
1794 in asserts. Properly use a signed type.
1795
6bec6c98
UB
17962011-05-02 Uros Bizjak <ubizjak@gmail.com>
1797
1798 * config/i386/sse.md (V): New mode iterator.
1799 (V_128): Rename from SSEMODE. Make V2DF mode conditional on
1800 TARGET_SSE2.
1801 (V_256): Rename from AVX256MODE.
1802 (VF): Make V4SF mode unconditional. Add TARGET_SSE instruction
1803 condition to all users.
1804 (VF1): Ditto.
1805 (VF2): Make V2DF mode unconditional. Add TARGET_SSE2 instruction
1806 condition to all users.
1807 (VF_128): Make V4SF mode unconditional.
1808 (VF_256): Rename from AVX256MODEF2P.
1809 (VI4F_128): Rename from SSEMODE4S.
1810 (VI8F_128): Rename from SSEMODE2D.
1811 (VI4F_256): Rename from AVX256MODE8P.
1812 (VI8F_256): Rename from AVX256MODE4P.
1813 (avxsizesuffix): Add V16HI, V4DI, V8HI and V2DI modes.
1814 (ssescalarmodesuffix): Remove SF and DF modes.
1815 (SSEMODE124): Remove.
1816 (SSEMODE1248): Ditto.
1817 (SSEMODEF2P): Ditto.
1818 (AVXMODEF2P): Ditto.
1819 (AVXMODEFDP): Ditto.
1820 (AVXMODEFSP): Ditto.
1821 (VEC_EXTRACT_MODE): Make V16QI, V8HI, V4SI, V2DI, V4SF and V2DF modes
1822 unconditional.
1823 (VEC_EXTRACT_EVENODD_MODE): Rename from SSEMODE_EO. Make V4SF mode
1824 unconditional.
1825 (xop_pcmov_<mode><avxsizesuffix>): Merge from xop_pcmov_<mode> and
1826 xop_pcmov_<mode>256. Use V mode iterator.
1827
1828 Adjust RTX patterns globally for renamed mode attributes.
1829
2dfdcb4b
UW
18302011-05-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1831
1832 * haifa-sched.c (sched_emit_insn): Emit insn before first
1833 non-scheduled insn. Inform back-end about new insn. Add
1834 new insn to scheduled_insns list.
1835
90bc4623
RG
18362011-05-02 Richard Guenther <rguenther@suse.de>
1837
1838 PR tree-optimization/48822
1839 * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
1840 (process_scc): Indicate which iteration we start.
1841
bc0fe8cb
JH
18422011-05-02 Jan Hubicka <jh@suse.cz>
1843
1844 * lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
1845 (lto_section_overrun): New.
1846 * lto-section-out.c (append_block): Rename to ...
1847 (lto_append_block): ... this one; export.
1848 (lto_output_1_stream): Move lto lto-streamer.h
1849 (lto_output_data_stream): Update.
1850 * lto-streamer.h (lto_section_overrun, lto_append_block): Declare.
1851 (lto_output_1_stream, lto_input_1_unsigned): Turn into inline
1852 functions.
1853
f070a9d1
RG
18542011-05-02 Richard Guenther <rguenther@suse.de>
1855
1856 * tree.c (tree_code_counts): New global array.
1857 (record_node_allocation_statistics): Count individual tree codes.
1858 (dump_tree_statistics): Dump individual code stats.
1859
09dfe187
JH
18602011-05-01 Jan Hubicka <jh@suse.cz>
1861
1862 * ipa-inline.c (caller_growth_limits): Fix thinko when
1863 looking for largest stack frame.
1864 * ipa-inline.h (dump_inline_summary): Declare.
1865 * ipa-inline-analysis.c (dump_inline_edge_summary): Dump info
1866 on stack usage.
1867 (dump_inline_summary): Export.
1868 (debug_inline_summary): Declare as DEBUG_FUNCTION.
1869
6f76a878
AS
18702011-05-01 Anatoly Sokolov <aesok@post.ru>
1871
1872 * reginfo.c (memory_move_cost): Change rclass argument type form
1873 'enum reg_class' to reg_class_t.
1874 * reload.h (memory_move_cost): Update prototype.
1875 * postreload.c reload_cse_simplify_set): Change type dclass var to
1876 reg_class_t.
1877 * ira-int.h (ira_allocate_cost_vector, ira_free_cost_vector):
1878 Update prototype.
1879 (ira_allocate_and_set_costs): Change aclass argument type form
1880 'enum reg_class' to reg_class_t.
6bec6c98 1881 * ira-build.c (ira_allocate_cost_vector, ira_free_cost_vector):
6f76a878
AS
1882 Change aclass argument type to reg_class_t.
1883 (update_conflict_hard_reg_costs): Change type aclass and pref vars
1884 to reg_class_t.
1885 * gcc/ira.c (setup_class_subset_and_memory_move_costs): Adjust
1886 memory_move_cost call.
1887
1888 * config/ia64/ia64.c (ia64_register_move_cost): Remove 'from' and
1889 'to' local var. Rename from_i and to_i arguments to 'from' and 'to'.
1890 Change type tmp var to reg_class_t.
1891
9a4ac625
JH
18922011-04-30 Jan Hubicka <jh@suse.cz>
1893
1894 * ipa-inline.c (can_inline_edge_p): Disregard limits when
1895 inlining into function with flatten attribute.
1896 (want_inline_small_function_p): Be more realistic about inlining
1897 cold calls where callee size grows.
1898
dd8352ee
JH
18992011-04-30 Jan Hubicka <jh@suse.cz>
1900
1901 * cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor
1902 flags.
1903
46e43d2b
AS
19042011-04-30 Anatoly Sokolov <aesok@post.ru>
1905
1906 * config/sparc/sparc.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
1907 PRINT_OPERAND_PUNCT_VALID_P): Remove.
1908 * config/sparc/sparc-protos.h (print_operand): Remove declaration.
1909 * config/sparc/sparc.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P,
1910 TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
1911 (print_operand): Rename to...
1912 (sparc_print_operand): ...this. Make static. Adjust
1913 sparc_print_operand function call.
1914 (sparc_print_operand_punct_valid_p, sparc_print_operand_address): New
1915 functions.
1916
ecb62563
JH
19172011-04-30 Jan Hubicka <jh@suse.cz>
1918
6bec6c98 1919 PR middle-end/48752
ecb62563
JH
1920 * ipa-inline.c (early_inliner): Disable when doing late
1921 addition of function.
1922
edb9b69e
JJ
19232011-04-30 Jakub Jelinek <jakub@redhat.com>
1924
be80a87e
JJ
1925 * dwarf2out.c (get_address_mode): New inline.
1926 (mem_loc_descriptor): Add MEM_MODE parameter, adjust recursive calls,
1927 if not dwarf_strict emit
1928 DW_OP_GNU_{{const,regval,deref}_type,convert,reinterpret} when
1929 desirable. Handle FLOAT_EXTEND, FLOAT_TRUNCATE, FLOAT,
1930 UNSIGNED_FLOAT, FIX and UNSIGNED_FIX. Just return NULL for
1931 FMA, STRICT_LOW_PART, CONST_VECTOR and CONST_FIXED.
1932 (dwarf2out_frame_debug_cfa_expression, reg_loc_descriptor,
1933 dw_loc_list_1, cst_pool_loc_descr, loc_list_from_tree): Adjust
1934 mem_loc_descriptor callers.
1935 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
1936 output_loc_operands_raw, hash_loc_operands, compare_loc_operands):
1937 Handle DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
1938 DW_OP_GNU_deref_type, DW_OP_GNU_convert and DW_OP_GNU_reinterpret.
1939 (base_types): New variable.
1940 (get_base_type_offset, calc_base_type_die_sizes,
1941 base_type_for_mode, mark_base_types, base_type_cmp,
1942 move_marked_base_types): New functions.
1943 (calc_die_sizes): Assert that die_offset is 0 or equal to
1944 next_die_offset.
1945 (loc_descriptor): Only handle here lowpart SUBREGs of REG, for
1946 others defer to mem_loc_descriptor. Adjust mem_loc_descriptor
1947 callers. If not dwarf_strict, call mem_loc_descriptor even for
1948 non-MODE_INT modes or MODE_INT modes larger than DWARF2_ADDR_SIZE.
1949 (gen_subprogram_die): Don't give up on call site parameters
1950 with non-integral or large integral modes. Adjust
1951 mem_loc_descriptor callers.
1952 (prune_unused_types): Call prune_unused_types_mark on base_types
1953 vector entries.
1954 (resolve_addr): Call mark_base_types.
1955 (dwarf2out_finish): Call move_marked_base_types.
1956
edb9b69e
JJ
1957 PR tree-optimization/48809
1958 * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
1959 type.
1960 (gen_inbound_check): Don't compute index_expr - range_min in utype
1961 again, instead reuse SSA_NAME initialized in build_arrays.
1962 Remove two useless gsi_for_stmt calls.
1963
a6545a3d
JL
19642011-04-29 Jeff Law <law@redhat.com>
1965
1966 * tree-ssa-threadedge.c (thread_across_edge): Add missing return.
1967
af8bca3c
MJ
19682011-04-29 Martin Jambor <mjambor@suse.cz>
1969
1970 * cgraph.h (cgraph_postorder): Remove declaration.
1971 * ipa-utils.h (ipa_free_postorder_info): Declare.
1972 (ipa_reverse_postorder): Likewise.
1973 * cgraphunit.c: Include ipa-utils.h.
1974 (cgraph_expand_all_functions): Update call to ipa_reverse_postorder.
1975 * ipa-inline.c: Include ipa-utils.h.
1976 (ipa_inline): Update call to ipa_reverse_postorder.
1977 * ipa-pure-const.c (propagate_pure_const): Update call to
1978 ipa_reduced_postorder and ipa_print_order. Call
1979 ipa_free_postorder_info to clean up.
1980 (propagate_nothrow): Likewise.
1981 * ipa-reference.c (propagate): Removed a useless call to
1982 ipa_utils_reduced_inorder, updated a call to ipa_reduced_postorder
1983 and ipa_print_order. Call ipa_free_postorder_info to clean up.
1984 * ipa.c: Include ipa-utils.h.
1985 (ipa_profile): Update call to ipa_reverse_postorder.
1986 (cgraph_postorder): Moved to...
1987 * ipa-utils.c (ipa_reverse_postorder): ...here and renamed.
1988 (ipa_utils_print_order): Renamed to ipa_print_order.
1989 (ipa_utils_reduced_inorder): Renamed to ipa_reduced_postorder. Updated
1990 comments.
1991 (ipa_free_postorder_info): New function.
1992 * passes.c: Include ipa-utils.h.
1993 (do_per_function_toporder): Update call to ipa_reverse_postorder.
1994 (ipa_write_summaries): Likewise.
1995 * Makefile.in (passes.o): Add IPA_UTILS_H to dependencies.
1996 (cgraphunit.o): Likewise.
1997 (ipa.o): Likewise.
1998 (ipa-inline.o): Likewise.
1999
b15c64ee
JH
20002011-04-29 Jan Hubicka <jh@suse.cz>
2001
2002 * gcc.dg/tree-ssa/inline-10.c: New testcase.
2003 * gcc.dg/tree-ssa/inline-9.c: Disable partial inlining.
2004 * ipa-inline.h (clause_t): Turn into unsigned int.
2005 * ipa-inline-analysis.c (add_clause): Do more simplification.
2006 (and_predicates): Shortcut more cases.
2007 (predicates_equal_p): Move forward; check that clauses are properly
2008 ordered.
2009 (or_predicates): Shortcut more cases.
2010 (edge_execution_predicate): Rewrite as...
2011 (set_cond_stmt_execution_predicate): ... this function; handle
2012 __builtin_constant_p.
2013 (set_switch_stmt_execution_predicate): New .
2014 (compute_bb_predicates): New.
2015 (will_be_nonconstant_predicate): Update TODO.
2016 (estimate_function_body_sizes): Use compute_bb_predicates
2017 and free them later, always try to estimate if stmt is constant.
2018 (estimate_time_after_inlining, estimate_size_after_inlining):
2019 Gracefully handle optimized out edges.
2020 (read_predicate): Fix off by one error.
2021
a88fdc2a
NP
20222011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>
2023
2024 * Makefile.in (ENABLE_MAINTAINER_RULES): New.
2025
d984c8ef
XDL
20262011-04-27 Xinliang David Li <davidxl@google.com>
2027
2028 * tree-profile.c (init_ic_make_global_vars): Set
2029 tls attribute on ic vars.
2030 * coverage.c (coverage_end_function): Initialize
2031 function_list with zero.
2032
45a2c477
RG
20332011-04-29 Richard Guenther <rguenther@suse.de>
2034
2035 * builtins.c (fold_builtin_classify_type): Use integer_type_node
2036 for the type of the result.
2037 (fold_builtin_isascii): Likewise.
2038 (fold_builtin_toascii): Use integer_type_node where appropriate.
2039 (fold_builtin_logb): Likewise.
2040 (fold_builtin_frexp): Likewise.
2041 (fold_builtin_strstr): Likewise.
2042 (fold_builtin_strpbrk): Likewise.
2043 (fold_builtin_fputs): Likewise.
2044 (fold_builtin_sprintf): Likewise.
2045 (fold_builtin_snprintf): Likewise.
2046 (fold_builtin_printf): Likewise.
2047 (do_mpfr_remquo): Use a proper type for the assigned constant.
2048 (do_mpfr_lgamma_r): Likewise.
2049 * dwarf2out.c (resolve_one_addr): Use size_int.
2050 * except.c (init_eh): Likewise.
2051 (assign_filter_values): Use integer_type_node for filter values.
2052 (sjlj_emit_dispatch_table): Use integer_type_node for dispatch
2053 indices.
2054 * tree-cfg.c (move_stmt_eh_region_tree_nr): Use integer_type_node
2055 for EH region numbers.
2056 * tree-vrp.c (simplify_div_or_mod_using_ranges): Use integer_type_node
2057 for the shift amount.
2058
eb6c3df1
RG
20592011-04-29 Richard Guenther <rguenther@suse.de>
2060
2061 * expr.h (expand_shift): Rename to ...
2062 (expand_variable_shift): ... this.
2063 (expand_shift): Take a constant shift amount.
2064 * expmed.c (expand_shift): Rename to ...
2065 (expand_variable_shift): ... this.
2066 (expand_shift): New wrapper around expand_variable_shift.
2067 * expr.c (convert_move, emit_group_load_1, emit_group_store,
2068 optimize_bitfield_assignment_op, store_field, expand_expr_real_2,
2069 expand_expr_real_1, reduce_to_bit_field_precision): Adjust.
2070 * expmed.c (store_fixed_bit_field, extract_bit_field_1,
2071 extract_fixed_bit_field, extract_split_bit_field, expand_mult_const,
2072 expand_mult, expand_widening_mult, expand_mult_highpart_adjust,
2073 extract_high_half, expand_sdiv_pow2, expand_divmod, emit_cstore,
2074 emit_store_flag_1, emit_store_flag): Likewise.
2075 * builtins.c (expand_builtin_signbit): Likewise.
2076 * calls.c (load_register_parameters): Likewise.
2077 * function.c (assign_parm_setup_block): Likewise.
2078 * lower-subreg.c (resolve_shift_zext): Likewise.
2079 * optabs.c (widen_bswap, expand_abs_nojump,
2080 expand_one_cmpl_abs_nojump, expand_float): Likewise.
2081 * spu/spu.c (spu_expand_extv): Likewise.
2082 * sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
2083
9f616812
RG
20842011-04-29 Richard Guenther <rguenther@suse.de>
2085
2086 * tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node
2087 for the remapped region number.
2088 * predict.c (build_predict_expr): Use integer_type_node for the
2089 predict kind.
2090 * fold-const.c (fold_binary_loc): Use integer_type_node for
2091 the shift amount. Use a proper type for the PLUS_EXPR operand.
2092
b823cdfe
MM
20932011-04-29 Michael Matz <matz@suse.de>
2094
2095 * lto-streamer.c (lto_streamer_cache_insert_1): Accept to override
2096 other trees that just builtins.
2097 (lto_record_common_node): Don't leave NULL TYPE_CANONICAL.
2098
413581ba
RG
20992011-04-29 Richard Guenther <rguenther@suse.de>
2100
2101 * tree-nested.c (get_trampoline_type): Use size_int.
2102 (get_nl_goto_field): Likewise.
2103 * tree-eh.c (lower_try_finally_switch): Use integer_type_node
2104 for all indexes.
2105 (lower_eh_constructs_2): Likewise.
2106 (lower_resx): Likewise.
2107 (lower_eh_dispatch): Likewise.
2108 * tree-mudflap.c (mf_build_string): Use size_int.
2109 (mudflap_register_call): Use integer_type_node for the flag.
2110 (mudflap_enqueue_constant): Use size_int.
2111 * tree-chrec.c (reset_evolution_in_loop): Copy CHREC_VAR
2112 instead of rebuilding it.
2113
5c04e9f4
RG
21142011-04-29 Richard Guenther <rguenther@suse.de>
2115
2116 * tree-ssa-structalias.c (get_fi_for_callee): Restructure.
2117 Handle OBJ_TYPE_REF.
2118 (find_func_aliases_for_call): Use it more consistently.
2119
5c24671b
AO
21202011-04-29 Alexandre Oliva <aoliva@redhat.com>
2121
2122 * haifa-sched.c (last_nondebug_scheduled_insn): New.
2123 (rank_for_schedule): Use it.
2124 (schedule_block): Set it.
2125
10adac51
XDL
21262011-04-28 David Li <davidxl@google.com>
2127
2128 * tree.c (crc32_string): Use crc32_byte.
2129 (crc32_byte): New function.
2130 * tree.h (crc32_byte): New function.
2131 * gcov.c (read_graph_file): Handle new cfg_cksum.
2132 (read_count_file): Ditto.
2133 * profile.c (instrument_values): Ditto.
2134 (get_exec_counts): Ditto.
2135 (read_profile_edge_counts): Ditto.
2136 (compute_branch_probabilities): Ditto.
2137 (compute_value_histograms): Ditto.
2138 (branch_prob): Ditto.
2139 (end_branch_prob): Ditto.
2140 * coverage.c (read_counts_file): Ditto.
2141 (get_coverage_counts): Ditto.
2142 (tree_coverage_counter_addr): Ditto.
2143 (coverage_checksum_string): Ditto.
2144 (coverage_begin_output): Ditto.
2145 (coverage_end_function): Ditto.
2146 (build_fn_info_type): Ditto.
2147 (build_fn_info_value): Ditto.
2148 * libgcov.c (gcov_exit): Ditto.
2149 * gcov-dump.c (tag_function): Ditto.
2150 (compute_checksum): Remove.
2151
5d6358a5
AM
21522011-04-29 Alan Modra <amodra@gmail.com>
2153
2154 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
2155 unspec plus offset. Tidy macho code.
2156
85ad2ef5
MJ
21572011-04-29 Martin Jambor <mjambor@suse.cz>
2158
2159 * cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph
2160 node instead of a decl. Update all callers.
2161 * cgraph.h: Update declaration.
2162
437f4a00
IR
21632011-04-28 Ira Rosen <ira.rosen@linaro.org>
2164
2165 PR tree-optimization/48765
2166 * tree-vectorizer.h (vect_make_slp_decision): Return bool.
2167 * tree-vect-loop.c (vect_analyze_loop_operations): Add new argument
2168 to indicate if loop aware SLP is being used. Scan the statements
2169 and update the vectorization factor according to the type of
2170 vectorization before statement analysis.
2171 (vect_analyze_loop_2): Get a return value from vect_make_slp_decision,
2172 pass it to vect_analyze_loop_operations.
2173 (vectorizable_reduction): Set number of copies to 1 in case of pure
2174 SLP statement.
2175 * tree-vect-stmts.c (vectorizable_conversion,
2176 vectorizable_assignment, vectorizable_shift,
2177 vectorizable_operation, vectorizable_type_demotion,
2178 vectorizable_type_promotion, vectorizable_store, vectorizable_load):
2179 Likewise.
2180 (vectorizable_condition): Move the check that it is not SLP
2181 vectorization before the number of copies check.
2182 * tree-vect-slp.c (vect_make_slp_decision): Return TRUE if decided
2183 to vectorize the loop using SLP.
2184
c6fc44f3
JJ
21852011-04-28 Jakub Jelinek <jakub@redhat.com>
2186
2187 PR middle-end/48597
2188 * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
2189 inline asm.
2190
6c0170ea
JM
21912011-04-28 Joseph Myers <joseph@codesourcery.com>
2192
2193 * config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* |
2194 *-*-kopensolaris*-gnu): Don't define SINGLE_LIBC.
2195 (i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
2196 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
2197 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Don't use
2198 linux*.h headers.
6bec6c98 2199 * config/gnu-user.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Define.
6c0170ea
JM
2200 * config/i386/gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
2201 * config/i386/kfreebsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
2202 * config/i386/knetbsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
6bec6c98 2203 * config/i386/kopensolaris-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
6c0170ea
JM
2204 * config/i386/linux-unwind.h (x86_fallback_frame_state): Don't use
2205 REG_NAME.
2206 * config/i386/linux.h (REG_NAME): Don't define.
2207 * config/i386/linux64.h (REG_NAME): Don't define.
2208 * config/linux.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
2209 Undefine before defining.
2210
970dabbd
JH
22112011-04-28 Jan Hubicka <jh@suse.cz>
2212
6bec6c98
UB
2213 * ipa-inline-analysis.c (will_be_nonconstant_predicate): Take
2214 nonconstant_names array.
970dabbd
JH
2215 (estimate_function_body_sizes): Build nonconstant_names array; handle
2216 BUILT_IN_CONSTANT_P.
2217
8d3e3924
RG
22182011-04-28 Richard Guenther <rguenther@suse.de>
2219
2220 PR bootstrap/48804
2221 Revert
2222 2011-04-28 Richard Guenther <rguenther@suse.de>
2223
2224 * tree-ssa-structalias.c (solve_constraints): Build succ graph
2225 as late as possible.
6bec6c98 2226
8576f20a
RG
22272011-04-28 Richard Guenther <rguenther@suse.de>
2228
2229 * tree-ssa-structalias.c (dump_constraint): Don't end the line.
2230 (debug_constraint): Do it here.
2231 (dump_constraints): And here.
2232 (rewrite_constraints): And here.
2233 (dump_constraint_edge): Remove.
2234 (dump_constraint_graph): Rewrite to produce DOT output.
2235 (solve_constraints): Build succ graph as late as possible.
2236 Dump constraint graphs before and after solving.
2237
e38811ce
RG
22382011-04-28 Richard Guenther <rguenther@suse.de>
2239
2240 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
2241 New function split out from ...
2242 (find_func_aliases): ... here. Call it.
2243 (find_func_aliases_for_call): Likewise.
2244
fbaf0d0c
GDR
22452011-04-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
2246
2247 * internal-fn.h (internal_fn_name_array): Declare.
2248 (internal_fn_flags_array): Likewise.
2249
cbb734aa
UB
22502011-04-27 Uros Bizjak <ubizjak@gmail.com>
2251
2252 * config/i386/i386.md (ssemodesuffix): Merge with ssevecsize,
2253 ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.
2254 Move from sse.md.
2255 (ssemodefsuffix): Remove.
2256 (ssevecmodesuffix): New mode attribute.
2257 (fix_trunc<mode>di_sse, fix_trunc<mode>si_sse,
2258 *float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
2259 *float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
2260 *float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
2261 *float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit, setcc_<mode>_sse,
2262 *sqrt<mode>2_sse, sse4_1_round<mode>2, <smaxmin:code><mode>3,
2263 *ieee_smin<mode>3, *ieee_smax<mode>3): Adjust assembler templates for
2264 ssemodesuffix mode attribute.
2265 (float splitters): Use ssevecmodesuffix mode attribute.
2266 * config/i386/sse.md (ssescalarmode): Merge with avxscalarmode.
2267 (sseinsmode): Rename from avxvecmode.
2268 (avxsizesuffix): Rename from avxmodesuffix.
2269 (sseintvecmode): Rename from avxpermvecmode.
2270 (ssedoublevecmode): Rename from ssedoublesizemode.
2271 (ssehalfvecmode): Rename from avxhalfvecmode.
2272 (ssescalarmode): Rename from avxscalarmode.
2273 (<sse>_comi, <sse>_ucomi, sse4a_movnt<mode>): Adjust assembler
2274 templates for ssemodesuffix mode attribute.
2275 (*andnot<mode>3, *<any_logic:code><mode>3): Use ssevecmodesuffix
2276 mode attribute.
2277
2278 Adjust RTX patterns globally for renamed mode attributes.
2279
991278ab
JH
22802011-04-27 Jan Hubcika <jh@suse.cz>
2281
2282 * ipa-inline.h (struct inline_edge_summary): Add predicate pointer.
2283 * ipa-inline-analysis.c: Include alloc-pool.h.
2284 (edge_predicate_pool): New.
2285 (trye_predicate_p): New function
2286 (false_predicate_p): New function.
2287 (add_clause): Sanity check that false clauses are "optimized";
2288 never add clauses to predicate that is already known to be false.
2289 (and_predicate): Use flase_predicate_p.
2290 (evaulate_predicate): Rename to ...
2291 (evaluate_predicate): ... this one; update all callers; assert
2292 that false is not listed among possible truths.
2293 (dump_predicate): Use true_predicate_p.
2294 (account_size_time): Use false_predicate_p.
2295 (evaulate_conditions_for_edge): Rename to ...
2296 (evaluate_conditions_for_edge) ... this one.
2297 (edge_set_predicate): New function.
2298 (inline_edge_duplication_hook): Duplicate edge predicates.
2299 (inline_edge_removal_hook): Free edge predicates.
cbb734aa 2300 (dump_inline_edge_summary): Add INFO parameter; dump edge predicates.
991278ab
JH
2301 (dump_inline_summary): Update.
2302 (estimate_function_body_sizes): Set edge predicates.
2303 (estimate_calls_size_and_time): Handle predicates.
2304 (estimate_callee_size_and_time): Update.
2305 (remap_predicate): Add toplev_predicate; update comment.
2306 (remap_edge_predicates): New function.
2307 (inline_merge_summary): Compute toplev predicate; update.
2308 (read_predicate): New function.
2309 (read_inline_edge_summary): Use it.
2310 (inline_read_section): Likewise.
2311 (write_predicate): New function.
2312 (write_inline_edge_summary): Use it.
2313 (inline_write_summary): Likewise.
2314 (inline_free_summary): Free alloc pool and edge summary vec.
2315
648b5f85
RG
23162011-04-27 Richard Guenther <rguenther@suse.de>
2317
2318 * tree-ssa-structalias.c (changed_count): Remove.
2319 (changed): Use a bitmap.
2320 (unify_nodes): Adjust.
2321 (do_sd_constraint): Likewise.
2322 (do_ds_constraint): Likewise.
2323 (do_complex_constraint): Likewise.
2324 (solve_graph): Likewise.
2325
4d5dcfb2
JH
23262011-04-27 Jan Hubicka <jh@suse.cz>
2327
2328 * cgraphunit.c (cgraph_process_new_functions): Fix ordering issue.
2329
200eb7d2
UB
23302011-04-27 Uros Bizjak <ubizjak@gmail.com>
2331
2332 * config/i386/predicates.md (avx_vpermilp_*_operand): Remove.
2333 (avx_vperm2f128_*_operand): Ditto.
2334 * config/i386/sse.md (*avx_vpermilp<mode>): Remove operand2 predicate.
2335 Use avx_vpermilp_parallel in insn condition.
2336 (*avx_vperm2f128<mode>_nozero): Remove operand3 predicate.
2337 Use avx_vperm2f128_parallel in insn condition.
2338
7d6e2521
RG
23392011-04-27 Richard Guenther <rguenther@suse.de>
2340
2341 * Makefile.in (tree-ssa-structalias.o): Remove
2342 gt-tree-ssa-structalias.h dependency.
2343 (GTFILES): Remove tree-ssa-structalias.c.
2344 * tree.c (allocate_decl_uid): New function.
2345 (make_node_stat): Use it.
2346 (copy_node_stat): Likewise.
2347 * tree.h (allocate_decl_uid): Declare.
2348 * tree-ssa-alias.h (delete_alias_heapvars): Remove.
2349 * tree-ssa.c (delete_tree_ssa): Do not call delete_alias_heapvars.
2350 * tree-flow.h (struct var_ann_d): Remove is_heapvar flag.
200eb7d2 2351 * tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar flag.
7d6e2521
RG
2352 * tree-ssa-structalias.c (heapvar_for_stmt): Remove.
2353 (struct heapvar_map): Likewise.
2354 (heapvar_map_eq, heapvar_map_hash, heapvar_lookup,
2355 heapvar_insert): Likewise.
2356 (make_heapvar_for): Rename to ...
2357 (make_heapvar): ... this. Simplify.
2358 (fake_var_decl_obstack): New global var.
2359 (build_fake_var_decl): New function.
2360 (make_constraint_from_heapvar): Adjust.
2361 (handle_lhs_call): Likewise.
2362 (create_function_info_for): Likewise.
2363 (intra_create_variable_infos): Likewise.
2364 (init_alias_vars): Allocate fake_var_decl_obstack.
2365 (init_alias_heapvars, delete_alias_heapvars): Remove.
2366 (compute_points_to_sets): Do not call init_alias_heapvars.
2367 (ipa_pta_execute): Likewise.
2368 (delete_points_to_sets): Free fake_var_decl_obstack.
2369
526ed6c2
UW
23702011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2371
2372 * config/spu/divmovti4.c (union qword_UTItype): New data type.
2373 (si_from_UTItype, si_to_UTItype): New functions.
2374 (__udivmodti4): Use them to implement type-punning.
2375 * config/spu/multi3.c (union qword_TItype): New data type.
2376 (si_from_TItype, si_to_TItype): New functions.
2377 (__multi3): Use them to implement type-punning.
2378
c187d33c
UW
23792011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2380
2381 * config/spu/spu.c (spu_expand_epilogue): Do not emit barrier.
2382
40982661
JH
23832011-04-27 Jan Hubicka <jh@suse.cz>
2384
2385 * ipa-prop.c (function_insertion_hook_holder): New holder.
2386 (ipa_add_new_function): New function.
200eb7d2
UB
2387 (ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks):
2388 Register/deregister holder.
40982661 2389
9aef53ee
RG
23902011-04-27 Richard Guenther <rguenther@suse.de>
2391
2392 PR tree-optimization/48772
200eb7d2 2393 * tree-ssa-pre.c (eliminate): Update call stmts after elimination only.
9aef53ee 2394
f63d806d
RG
23952011-04-27 Richard Guenther <rguenther@suse.de>
2396
2397 * tree-ssa-alias.c (indirect_refs_may_alias_p): Fix
2398 TARGET_MEM_REF handling.
2399
e1ea7451
NC
24002011-04-27 Nick Clifton <nickc@redhat.com>
2401
9b5db25d
NC
2402 * config/frv/frv.h (enum reg_class): Delete EVEN_ACC_REGS,
2403 ACC_REGS, FEVEN_REGS, FPR_REGS, EVEN_REGS.
2404 (REG_CLASS_NAMES): Likewise.
2405 (REG_CLASS_CONTENTS): Likewise.
2406 (EVEN_ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
2407 (ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
2408 (FEVEN_REGS): New macro. Alias for QUAD_ACC_REGS.
2409 (FPR_REGS): New macro. Alias for QUAD_ACC_REGS.
2410 (EVEN_REGS): New macro. Alias for QUAD_REGS.
2411 * config/frv/frv.c (frv_secondary_reload_class): Remove use of
2412 duplicate register classes.
97d20907 2413 (frv_class_likely_spilled_p): Likewise.
9b5db25d
NC
2414 (frv_register_move_cost): Likewise.
2415
e1ea7451
NC
2416 * config/mcore/mcore.h (REGNO_REG_CLASS): Do not index beyond the
2417 end of the regno_reg_class array.
2418
5c2f94b4
JJ
24192011-04-27 Jakub Jelinek <jakub@redhat.com>
2420
2421 PR c/48742
2422 * c-typeck.c (build_binary_op): Don't wrap arguments if
2423 int_operands is true.
2424
57a944d7
KK
24252011-04-26 Kaz Kojima <kkojima@gcc.gnu.org>
2426
2427 PR target/48767
2428 * config/sh/sh.c (sh_gimplify_va_arg_expr): Don't call
2429 targetm.calls.must_pass_in_stack for void type.
2430
898b8927
JH
24312011-04-26 Jan Hubicka <jh@suse.cz>
2432
2433 * cgraphbuild.c (build_cgraph_edges): Update call
2434 of cgraph_create_edge and cgraph_create_indirect_edge.
2435 * cgraph.c (cgraph_create_edge_including_clones,
2436 cgraph_create_edge_1, cgraph_allocate_init_indirect_info,
2437 cgraph_update_edges_for_call_stmt_node): Do not take nest
2438 argument; do not initialize call_stmt_size/time.
2439 (dump_cgraph_node): Do not dump nest.
2440 (cgraph_clone_edge): Do not take loop_nest argument;
2441 do not propagate it; do not clone call_stmt_size/time.
2442 (cgraph_clone_node): Likewise.
2443 (cgraph_create_virtual_clone): Update.
2444 * cgraph.h (struct cgraph_edge): Remove
2445 call_stmt_size/call_stmt_time/loop_nest.
2446 (cgraph_create_edge, cgraph_create_indirect_edge,
2447 cgraph_create_edge_including_clones, cgraph_clone_node): Update
2448 prototype.
2449 * tree-emutls.c (gen_emutls_addr): Update.
2450 * ipa-inline-transform.c (update_noncloned_frequencies): Do not handle
2451 loop_nest; handle indirect calls, too.
2452 (clone_inlined_nodes): Do not care about updating inline summaries.
2453 * cgraphunit.c (cgraph_copy_node_for_versioning): Update.
2454 * lto-cgraph.c (lto_output_edge, input_node, input_edge): Do not
2455 stream call_stmt_size/call_stmt_time/loop_nest.
2456 * ipa-inline.c (edge_badness): Update.
2457 (ipa_inline): dump summaries after inlining.
2458 * ipa-inline.h (struct inline_edge_summary, inline_edge_summary_t):
200eb7d2 2459 New.
898b8927
JH
2460 (inline_edge_summary): New function.
2461 * ipa-inline-analysis.c (edge_duplication_hook_holder): New holder.
2462 (inline_edge_removal_hook): Handle edge summaries.
2463 (inline_edge_duplication_hook): New hook.
2464 (inline_summary_alloc): Alloc hooks.
2465 (initialize_growth_caches): Do not register removal hooks.
2466 (free_growth_caches); Do not free removal hook.
2467 (dump_inline_edge_summary): New function.
2468 (dump_inline_summary): Use it.
2469 (estimate_function_body_sizes, estimate_edge_size_and_time): Update.
2470 (inline_update_callee_summaries): New function.
2471 (inline_merge_summary): Use it.
2472 (do_estimate_edge_time, do_estimate_edge_growth): Update.
2473 (read_inline_edge_summary): New function.
2474 (inline_read_section): Use it.
2475 (write_inline_edge_summary): New function.
2476 (inline_write_summary): Use it.
2477 (inline_free_summary): Free edge new holders.
2478 * tree-inline.c (copy_bb): Update.
2479
ffa03772
JM
24802011-04-26 Jason Merrill <jason@redhat.com>
2481
2482 * tree-eh.c (lower_try_finally_switch): Create the label along with
2483 the CASE_LABEL_EXPR.
2484
6d7b45ad
DM
24852011-04-26 David S. Miller <davem@davemloft.net>
2486 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2487
2488 * configure.ac (gcc_cv_as_sparc_gotdata_op): Specify alignment.
2489 * configure: Regenerate.
2490
df10b6d4
MM
24912011-04-26 Michael Meissner <meissner@linux.vnet.ibm.com>
2492
2493 PR target/48258
2494 * config/rs6000/vector.md (UNSPEC_REDUC): New unspec for vector
2495 reduction.
2496 (VEC_reduc): New code iterator and splitters for vector reduction.
2497 (VEC_reduc_name): Ditto.
2498 (VEC_reduc_rtx): Ditto.
2499 (reduc_<VEC_reduc_name>_v2df): Vector reduction expanders for VSX.
2500 (reduc_<VEC_reduc_name>_v4sf): Ditto.
2501
2502 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
2503 support for extracting SF on VSX.
2504
2505 * config/rs6000/vsx.md (vsx_xscvspdp_scalar2): New insn for
2506 generating xscvspdp.
2507 (vsx_extract_v4sf): New insn to extract SF from V4SF vector.
2508 (vsx_reduc_<VEC_reduc_name>_v2df): New insns and splitters for
2509 double add, minimum, maximum vector reduction.
2510 (vsx_reduc_<VEC_reduc_name>_v4sf): Ditto.
2511 (vsx_reduc_<VEC_reduc_name>_v2df2_scalar): New combiner insn to
2512 optimize double vector reduction.
2513 (vsx_reduc_<VEC_reduc_name>_v4sf_scalar): Ditto.
2514
35a5db04
JM
25152011-04-26 Joseph Myers <joseph@codesourcery.com>
2516
2517 * config/fr30/fr30.h (inhibit_libc): Don't define.
2518 * config/m32r/m32r-protos.h: Correct comment.
2519 * config/v850/v850.h (GHS_default_section_names,
2520 GHS_current_section_names): Use tree, not union tree_node *.
2521
2f964ad6
XDL
25222011-04-26 Xinliang David Li <davidxl@google.com>
2523
200eb7d2 2524 * tree-ssa-uninit.c (warn_uninitialized_phi): Pass warning code.
2f964ad6
XDL
2525 * c-family/c-opts.c (c_common_handle_option): Set
2526 warn_maybe_uninitialized.
2527 * opts.c (common_handle_option): Ditto.
2528 * common.opt: New option.
2529 * tree-ssa.c (warn_uninit): Add one more parameter.
2530 (warn_uninitialized_var): Pass warning code.
2531 * tree-flow.h: Interface change.
2532
2533
9c7bd91a
RO
25342011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2535
200eb7d2 2536 * config/mips/iris6.h (LOCAL_LABEL_PREFIX): Don't test TARGET_NEWABI.
9c7bd91a
RO
2537 (WINT_TYPE_SIZE): Use INT_TYPE_SIZE.
2538 (TARGET_OS_CPP_BUILTINS): Remove TARGET_IRIX6 guards.
2539
c2f36e21
RO
25402011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2541
2542 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Remove.
2543 * config/mips/mips.opt (mmips-tfile): Remove.
2544
2545 * doc/install.texi (Specific, mips-*-*): Move mips-tfile,
2546 mips-tdump reference to ...
200eb7d2 2547 (Specific, alpha*-dec-osf5.1): ... here. Adapt for Tru64 UNIX.
c2f36e21
RO
2548 * doc/trouble.texi (Cross-Compiler Problems): Replace MIPS
2549 reference by Tru64 UNIX.
2550
2c9da85b
JJ
25512011-04-26 Jakub Jelinek <jakub@redhat.com>
2552
0c5f6539
JJ
2553 PR debug/48768
2554 * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
2555 is error_mark_node, set value to NULL.
2556
2c9da85b
JJ
2557 PR tree-optimization/48734
2558 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
2559 if return value from maybe_fold_*_comparsions isn't something
2560 the code is prepared to handle.
2561
77fa1d54
UB
25622011-04-26 Uros Bizjak <ubizjak@gmail.com>
2563
2564 * config/i386/predicates.md (ext_QIreg_operand): Remove extra
2565 mode check.
2566 (ext_QIreg_nomode_operands): Remove.
2567 * config/i386/i386.md (*anddi_1): Use ext_QIreg_operand.
2568 (*andsi_1): Ditto.
2569 (*andhi_1): Ditto.
2570
0e2a6c2b
AS
25712011-04-26 Andrew Stubbs <ams@codesourcery.com>
2572
2573 * config/arm/arm.c (arm_gen_constant): Remove can_negate_initial.
2574
961562d8
RB
25752011-04-26 Richard Guenther <rguenther@suse.de>
2576
2577 * c-typeck.c (build_unary_op): Do not expand array-refs via
2578 pointer arithmetic. Only adjust qualifiers for function types.
2579
25802011-04-26 Richard Guenther <rguenther@suse.de>
2581
2582 PR middle-end/48694
2583 * tree.h (OEP_CONSTANT_ADDRESS_OF): New operand_equal_flag.
2584 * fold-const.c (operand_equal_p): For TREE_CONSTANT ADDR_EXPRs
77fa1d54
UB
2585 compare the operands with OEP_CONSTANT_ADDRESS_OF. Treat trees
2586 with TREE_SIDE_EFFECTS equal when OEP_CONSTANT_ADDRESS_OF is set.
961562d8 2587
a0d260fc
PC
25882011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
2589
6bec6c98 2590 * doc/extend.texi: Document __underlying_type.
a0d260fc 2591
4d583bb9
SB
25922011-04-25 Segher Boessenkool <segher@kernel.crashing.org>
2593
2594 * config/rs6000/titan.md (automata_option "progress"): Remove.
2595
1f3fcdc3
JL
25962011-04-25 Jeff Law <law@redhat.com>
2597
2598 * tree-vrp.c (identify_jump_threads): Handle GIMPLE_SWITCH too.
2599
e5b0dad8
JK
26002011-04-25 Jan Kratochvil <jan.kratochvil@redhat.com>
2601
2602 * system.h (ENUM_BITFIELD): Remove.
2603
5157a881 26042011-04-25 Maxim Kuvyrkov <maxim@codesourcery.com>
b15eacc7 2605 Eric Botcazou <ebotcazou@adacore.com>
5157a881
MK
2606
2607 * combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals
2608 for STORE_FLAG_VALUE==-1 case.
2609
ed4c109e
RS
26102011-04-24 Richard Sandiford <richard.sandiford@linaro.org>
2611
2612 PR target/43804
2613 * config/m68k/constraints.md (T): Allow PIC operands that satisfy
2614 LEGITIMATE_PIC_OPERAND_P.
2615
f3181aa2
JH
26162011-04-24 Jan Hubicka <jh@suse.cz>
2617
2618 * ipa-prop.c (ipa_propagate_indirect_call_infos): Remove obsolette
2619 WPA hack.
77fa1d54
UB
2620 * ipa-prop.h (ipa_get_param, ipa_is_param_used,
2621 ipa_param_cannot_devirtualize_p, ipa_param_types_vec_empty,
2622 ipa_get_ith_jump_func, ipa_get_lattice): Fortify array bounds.
f3181aa2
JH
2623 * ipa-inline-analysis.c (add_clause): Fix clause ordering.
2624 (and_predicates, or_predicates, predicates_equal_p, evaulate_predicate):
2625 Sanity check predicate length.
2626 (remap_predicate): Likewise; sanity check jump functions.
2627 (inline_read_section, inline_write_summary): Sanity check
2628 predicate length.
2629
5307cbaa
PC
26302011-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2631
2632 PR other/48748
2633 * doc/extend.texi (Type Traits): Document __is_standard_layout,
2634 __is_literal_type, and __is_trivial; update throughout about
2635 possibly cv-qualified void types.
2636
bebd5f99
GP
26372011-04-24 Gerald Pfeifer <gerald@pfeifer.com>
2638
2639 * doc/sourcebuild.texi (Ada Tests): Adjust reference to ACATS
2640 testsuite and make it version agnostic.
2641
7ee28a74
JH
26422011-04-22 Jan Hubicka <jh@suse.cz>
2643
2644 * ipa-inline-analysis.c (inline_write_summary): Fix thinko.
2645
16997bc0
JJ
26462011-04-23 Jakub Jelinek <jakub@redhat.com>
2647
2648 PR c/48685
2649 * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
2650 to VOID_TYPE even around MODIFY_EXPR.
2651
f94d4ab1
MS
26522011-04-22 Mike Stump <mikestump@comcast.net>
2653
1a84c183 2654 * gensupport.c (read_md_rtx): Fix typo in comment.
f94d4ab1
MS
2655 * config/cris/cris.opt (moverride-best-lib-options): Fix typo in
2656 comment.
2657
632b4f8e
JH
26582011-04-22 Jan Hubicka <jh@suse.cz>
2659
2660 * gengtype.c (open_base_files): Add ipa-inline.h include.
77fa1d54
UB
2661 * ipa-cp.c (ipcp_get_lattice, ipcp_lattice_from_jfunc): Move to
2662 ipa-prop.c; update all uses.
632b4f8e 2663 * ipa-prop.c: (ipa_get_lattice, ipa_lattice_from_jfunc): ... here.
77fa1d54
UB
2664 * ipa-inline-transform.c (inline_call): Use inline_merge_summary to
2665 merge summary of inlined function into former caller.
632b4f8e
JH
2666 * ipa-inline.c (max_benefit): Remove.
2667 (edge_badness): Compensate for removal of benefits.
77fa1d54
UB
2668 (update_caller_keys): Use
2669 reset_node_growth_cache/reset_edge_growth_cache.
632b4f8e
JH
2670 (update_callee_keys): Likewise.
2671 (update_all_callee_keys): Likewise.
77fa1d54
UB
2672 (inline_small_functions): Do not collect max_benefit; do not reset
2673 estimated_growth; call free_growth_caches and initialize_growth_caches.
2674 * ipa-inline.h (struct condition, type clause_t, struct predicate,
2675 struct size_time_entry): New structures.
632b4f8e 2676 (INLINE_SIZE_SCALE, INLINE_TIME_SCALE, MAX_CLAUSES): New constants.
77fa1d54
UB
2677 (inline_summary): Remove size_inlining_benefit, time_inlining_benefit
2678 and estimated_growth.
632b4f8e
JH
2679 (edge_growth_cache_entry): New structure.
2680 (node_growth_cache, edge_growth_cache): New global vars.
2681 (estimate_growth): Turn into inline.
2682 (inline_merge_summary, do_estimate_edge_growth, do_estimate_edge_time,
2683 initialize_growth_caches, free_growth_caches): Declare.
2684 (estimate_edge_growth): Rewrite.
2685 (estimate_edge_time): Implement as inline cache lookup.
77fa1d54
UB
2686 (reset_node_growth_cache, reset_edge_growth_cache): New inline
2687 functions.
632b4f8e
JH
2688 (MAX_TIME): Reduce to allow multiplicatoin by INLINE_SIZE_SCALE.
2689 (NUM_CONDITIONS): New constant.
2690 (predicate_conditions): New enum.
2691 (IS_NOT_CONSTANT): New constant.
2692 (edge_removal_hook_holder): New var.
2693 (node_growth_cache, edge_growth_cache): New global vars.
77fa1d54
UB
2694 (true_predicate, single_cond_predicate, false_predicate,
2695 not_inlined_predicate, add_condition, add_clause, and_predicates,
2696 or_predicates, predicates_equal_p, evaulate_predicate, dump_condition,
2697 dump_clause, dump_predicate, account_size_time,
632b4f8e
JH
2698 evaulate_conditions_for_edge): New functions.
2699 (inline_summary_alloc): Move to heap.
2700 (inline_node_removal_hook): Clear condition and entry vectors.
2701 (inline_edge_removal_hook): New function.
2702 (initialize_growth_caches, free_growth_caches): New function.
2703 (dump_inline_summary): Update.
2704 (edge_execution_predicate): New function.
2705 (will_be_nonconstant_predicate): New function.
2706 (estimate_function_body_sizes): Compute BB and constantness predicates.
2707 (compute_inline_parameters): Do not clear estimated_growth.
2708 (estimate_edge_size_and_time): New function.
2709 (estimate_calls_size_and_time): New function.
2710 (estimate_callee_size_and_time): New function.
2711 (remap_predicate): New function.
2712 (inline_merge_summary): New function.
2713 (do_estimate_edge_time): New function based on...
2714 (estimate_edge_time): ... this one.
2715 (do_estimate_edge_growth): New function.
2716 (do_estimate_growth): New function based on....
2717 (estimate_growth): ... this one.
2718 (inline_analyze_function): Analyze after deciding on jump functions.
2719 (inline_read_section): New function.
2720 (inline_read_summary): Use it.
2721 (inline_write_summary): Write all the new data.
2722 * ipa-prop.c (ipa_get_param_decl_index): Export.
2723 (ipa_lattice_from_jfunc): Move here from ipa-cp.c
77fa1d54
UB
2724 * ipa-prop.h (ipa_get_param_decl_index, ipa_lattice_from_jfunc):
2725 Declare.
2726 (ipa_get_lattice): Move here from ipa-cp.c
632b4f8e
JH
2727 * Makefile.in (GTFILES): Add ipa-inline.h and ipa-inline-analysis.c
2728 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 11.
2729 * cgraph.h (cgraph_clone_inlined_nodes, compute_inline_parameters,
2730 cgraph_edge_inlinable_p): Remove.
2731 * cgraphunit.c: Include ipainline.h
77fa1d54
UB
2732 (cgraph_process_new_functions): Update call of
2733 compute_inline_parameters.
632b4f8e 2734
1df5b0db
RG
27352011-04-22 Richard Guenther <rguenther@suse.de>
2736
2737 * tree.c (build_int_cst): Properly create canonicalized integer
2738 constants.
2739 (build_int_cst_type): Remove scary comments.
2740
ae01169c
XDL
27412011-04-22 Xinliang David Li <davidxl@google.com>
2742
2743 * toplev.c (process_options): Enable -Werror=coverage-mismatch
2744 by default when -Wno-error is not specified.
2745 * opts-global.c (decode_options): Remove call to
2746 control_warning_options.
2747
93dfac24
JJ
27482011-04-22 Jakub Jelinek <jakub@redhat.com>
2749
2750 PR tree-optimization/48717
2751 * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
2752 ~A + A optimizations use build_int_cst_type instead of build_int_cst.
2753
1b5f5069
JM
27542011-04-22 Joseph Myers <joseph@codesourcery.com>
2755
2756 * config/bfin/bfin-protos.h (Mmode): Don't define. Expand
2757 definition where used.
2758
144f4153
JJ
27592011-04-22 Jakub Jelinek <jakub@redhat.com>
2760
2761 PR c/48716
2762 * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
2763 TREE_STATIC variables declared inside of some OpenMP construct.
2764
f9fd305b
MJ
27652011-04-22 Martin Jambor <mjambor@suse.cz>
2766
2767 PR middle-end/48585
1d284ec5 2768 * tree-inline.c (copy_bb): Create new edges only for analyzed nodes.
f9fd305b 2769
49819fef
AM
27702011-04-22 Alexander Monakov <amonakov@ispras.ru>
2771
2772 PR c/36750
2773 * c-typeck.c (pop_init_level): Do not warn about initializing
2774 with ` = {0}'.
2775
401f6699
AM
27762011-04-22 Alan Modra <amodra@gmail.com>
2777
2778 * config/rs6000/rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL
2779 when returning call_cookie.
2780 (rs6000_function_ok_for_sibcall): Allow sibcalls via function
2781 pointers, to functions with no more vector args than the current
2782 function, and some non-local calls for ABI_V4.
2783 * config/rs6000/rs6000.md (sibcall_nonlocal_aix32,
2784 sibcall_nonlocal_aix64): Combine to ..
2785 (sibcall_nonlocal_aix<mode>): ..this. Handle function pointer calls.
2786 (sibcall_value_nonlocal_aix32, sibcall_value_nonlocal_aix64): Combine..
2787 (sibcall_value_nonlocal_aix<mode>): ..likewise.
2788 (*sibcall_nonlocal_sysv<mode>): Handle function pointer calls.
2789 (sibcall_value_nonlocal_sysv<mode>): Likewise. Correct call cookie
2790 operand.
2791 * config/rs6000/darwin.md (sibcall_nonlocal_darwin64,
2792 sibcall_value_nonlocal_darwin64, sibcall_symbolic_64,
2793 sibcall_value_symbolic_64): Delete.
2794
903d1e67
XDL
27952011-04-21 Xinliang David Li <davidxl@google.com>
2796
2797 * cgraph.h: Remove pid.
2798 * cgraph.c: Remove pid.
2799 * value-prof.c (init_node_map): New function.
2800 (del_node_map): New function.
2801 (find_func_by_funcdef_no): New function.
2802 (gimple_ic_transform): Call new function.
2803 * cgraphunit.c (cgraph_finalize_function): Remove pid.
2804 * function.c (get_last_funcdef_no): New function.
2805 * function.h (get_last_funcdef_no): New function.
2806 * tree-profile.c (gimple_gen_ic_func_profiler): Pass funcdef_no
2807 to libgcov function.
2808 (tree-profiling): Call node map init and delete function.
2809
7378e95f
ILT
28102011-04-21 Ian Lance Taylor <iant@google.com>
2811
2812 * godump.c (go_format_type): Use exported Go name for anonymous
2813 field name.
2814
e84a6fcf
NF
28152011-04-21 Nathan Froyd <froydnj@codesourcery.com>
2816
2817 * config/frv/frv.c (frv_init_builtins): Delete `endlink' variable.
2818 Call builtin_function_type_list instead of builtin_function_type.
2819 (UNARY, BINARY, TRINARY, QUAD): Likewise.
2820
4fe058e2
NF
28212011-04-21 Nathan Froyd <froydnj@codesourcery.com>
2822
2823 * config/arm/arm.c (arm_init_iwmmxt_builtins): Call
2824 build_function_type_list instead of build_function_type.
2825 Delete variable `endlink'.
2826
1ba0a2d2
NF
28272011-04-21 Nathan Froyd <froydnj@codesourcery.com>
2828
2829 * config/s390/s390.c (s390_init_builtins): Call
2830 build_function_type_list instead of build_function_type.
2831
c0676219
NF
28322011-04-21 Nathan Froyd <froydnj@codesourcery.com>
2833
2834 * config/ia64/ia64.c (ia64_init_builtins): Call
2835 build_function_type_list instead of builtin_function_type.
2836
6ddfda8a
ER
28372011-04-21 Easwaran Raman <eraman@google.com>
2838
3a6448ea 2839 * cfgexpand.c (stack_var): Remove OFFSET...
6ddfda8a
ER
2840 (add_stack_var): ...and its reference here...
2841 (expand_stack_vars): ...and here.
2842 (stack_var_cmp): Sort by descending order of size.
2843 (partition_stack_vars): Change heuristic.
1d284ec5 2844 (union_stack_vars): Fix to reflect changes in partition_stack_vars.
6ddfda8a
ER
2845 (dump_stack_var_partition): Add newline after each partition.
2846
23756963
DA
28472011-04-21 Dimitrios Apostolou <jimis@gmx.net>
2848 Jeff Law <law@redhat.com>
2849
77fa1d54 2850 * gengtype-state.c (read_a_state_token): Fix argument to obstack_free.
23756963
DA
2851 * gengtype.c (matching_file_name_substitute): Likewise.
2852
aa2a43d2
RG
28532011-04-21 Richard Guenther <rguenther@suse.de>
2854
2855 PR lto/48703
1d284ec5 2856 * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of DECL_NAME.
aa2a43d2 2857
4d931f41
EB
28582011-04-21 Eric Botcazou <ebotcazou@adacore.com>
2859
2860 * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
2861
f103fa7a
RG
28622011-04-21 Richard Guenther <rguenther@suse.de>
2863
2864 * Makefile.in (site.exp): Do not use tmp0 but site.tmp as temporary
2865 file name.
2866
e19f6650
RG
28672011-04-21 Richard Guenther <rguenther@suse.de>
2868
2869 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
2870 MEM_REF and TARGET_MEM_REF, do not care about INDIRECT_REFs.
2871 Use DECL_P, not SSA_VAR_P.
2872 (ptr_derefs_may_alias_p): Likewise.
2873 (ptr_deref_may_alias_ref_p_1): Likewise.
2874 (decl_refs_may_alias_p): Likewise.
2875 (refs_may_alias_p_1): Likewise.
2876 (ref_maybe_used_by_call_p_1): Likewise.
2877 (call_may_clobber_ref_p_1): Likewise.
2878 (indirect_ref_may_alias_decl_p): Assume indirect refrences
2879 are either MEM_REF or TARGET_MEM_REF.
2880 (indirect_refs_may_alias_p): Likewise.
2881 * calls.c (emit_call_1): Build a MEM_REF instead of an INDIRECT_REF
2882 for MEM_EXPR of indirect calls.
2883
9d1831bb
TG
28842011-04-21 Tristan Gingold <gingold@adacore.com>
2885
2886 * vmsdbgout.c (write_srccorr): Compute file length from the string.
2887 (dst_file_info_struct): Remove flen field.
2888 (lookup_filename): Remove code that set flen field.
2889
f199c029
TG
28902011-04-21 Tristan Gingold <gingold@adacore.com>
2891
2892 * config/ia64/ia64.c (ia64_start_function): Add a guard.
2893
2894086e
UB
28942011-04-21 Uros Bizjak <ubizjak@gmail.com>
2895
2896 PR target/48708
2897 * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
2898 vec_extract and vec_concat for non-SSE4_1 targets.
2899
53f94a5c
RG
29002011-04-21 Richard Guenther <rguenther@suse.de>
2901
2902 * tree-ssa-alias.c (ref_maybe_used_by_stmt_p): Handle
2903 return statements.
2904
f0dca5ba
JM
29052011-04-21 Joseph Myers <joseph@codesourcery.com>
2906
2907 * config/i386/cygming.h (union tree_node, TREE): Don't define or
2908 undefine.
2909 (FILE): Don't undefine.
2910
984514ac
JM
29112011-04-21 Joseph Myers <joseph@codesourcery.com>
2912
2913 * config/alpha/alpha.c (struct machine_function): Use rtx, not
2914 struct rtx_def *.
2915 * config/bfin/bfin.h (bfin_cc_rtx, bfin_rets_rtx): Use rtx, not
2916 struct rtx_def *.
2917 * config/cris/cris-protos.h (STDIO_INCLUDED): Don't define.
2894086e 2918 * config/h8300/h8300.h (struct cum_arg): Use rtx, not struct rtx_def *.
984514ac
JM
2919 * config/iq2000/iq2000.h (struct iq2000_args): Use rtx, not struct
2920 rtx_def *.
2921 * config/m32c/m32c-protos.h (MM, UINT): Don't define. Expand
2922 definitions where used.
2923 * config/microblaze/microblaze.h (struct microblaze_args): Use
2924 rtx, not struct rtx_def *.
2925 * config/pa/pa-protos.h (return_addr_rtx): Use rtx, not struct
2926 rtx_def *.
2894086e
UB
2927 * config/pa/pa.h (hppa_pic_save_rtx): Use rtx, not struct rtx_def *.
2928 * config/pdp11/pdp11.h (cc0_reg_rtx): Use rtx, not struct rtx_def *.
984514ac
JM
2929 * config/sh/sh-protos.h (sfunc_uses_reg, get_fpscr_rtx): Use rtx,
2930 not struct rtx_def *.
2931 * config/sh/sh.h (sh_compare_op0, sh_compare_op1): Use rtx, not
2932 struct rtx_def *.
2933 * config/spu/spu-protos.h (spu_float_const): Use rtx, not struct
2934 rtx_def *.
2894086e 2935 * config/spu/spu.c (spu_float_const): Use rtx, not struct rtx_def *.
984514ac 2936
0b5a2724
RS
29372011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
2938
2939 * tree-vect-data-refs.c (vect_drs_dependent_in_basic_block): Use
2940 operand_equal_p to compare DR_BASE_ADDRESSes.
2941 (vect_check_interleaving): Likewise.
2942
4b18d683
RS
29432011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
2944
2945 PR target/46329
2946 * config/arm/arm.c (arm_legitimate_constant_p_1): Return false
2947 for all Neon struct constants.
2948
1a627b35
RS
29492011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
2950
2951 * target.def (legitimate_constant_p): New hook.
2952 * doc/tm.texi.in (LEGITIMATE_CONSTANT_P): Replace with...
2953 (TARGET_LEGITIMATE_CONSTANT_P): ...this.
2954 * doc/tm.texi: Regenerate.
2955 * hooks.h (hook_bool_mode_rtx_true): Declare.
2956 * hooks.c (hook_bool_mode_rtx_true): Define.
2957 * system.h (LEGITIMATE_CONSTANT_P): Poison.
2958 * calls.c (precompute_register_parameters): Replace uses of
2959 LEGITIMATE_CONSTANT_P with targetm.legitimate_constant_p.
2960 (emit_library_call_value_1): Likewise.
2961 * expr.c (move_block_to_reg, can_store_by_pieces, emit_move_insn)
2962 (compress_float_constant, emit_push_insn, expand_expr_real_1): Likewise.
2963 * ira-costs.c (scan_one_insn): Likewise.
2964 * recog.c (general_operand, immediate_operand): Likewise.
2965 * reload.c (find_reloads_toplev, find_reloads_address_part): Likewise.
2966 * reload1.c (init_eliminable_invariants): Likewise.
2967
2968 * config/alpha/alpha-protos.h (alpha_legitimate_constant_p): Add a
2969 mode argument.
2970 * config/alpha/alpha.h (LEGITIMATE_CONSTANT_P): Delete.
2971 * config/alpha/alpha.c (alpha_legitimate_constant_p): Add a mode
2972 argument.
2973 (TARGET_LEGITIMATE_CONSTANT_P): Define.
2974 * config/alpha/predicates.md (input_operand): Update call to
2975 alpha_legitimate_constant_p.
2976
2977 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Delete.
2978 * config/arm/arm.h (ARM_LEGITIMATE_CONSTANT_P): Likewise.
2979 (THUMB_LEGITIMATE_CONSTANT_P, LEGITIMATE_CONSTANT_P): Likewise.
2980 * config/arm/arm.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
2981 (arm_legitimate_constant_p_1, thumb_legitimate_constant_p)
2982 (arm_legitimate_constant_p): New functions.
2983 (arm_cannot_force_const_mem): Make static.
2984
2985 * config/avr/avr.h (LEGITIMATE_CONSTANT_P): Delete.
2986
2987 * config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Delete.
2988 * config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Delete.
2989 * config/bfin/bfin.c (expand_move): Use targetm.legitimate_constant_p
2990 instead of bfin_legitimate_constant_p.
2991 (bfin_legitimate_constant_p): Make static. Add a mode argument.
2992 (TARGET_LEGITIMATE_CONSTANT_P): Define.
2993
2994 * config/cris/cris.h (LEGITIMATE_CONSTANT_P): Delete.
2995
2996 * config/fr30/fr30.h (LEGITIMATE_CONSTANT_P): Delete.
2997
2998 * config/frv/frv-protos.h (frv_legitimate_constant_p): Delete.
2999 * config/frv/frv.h (LEGITIMATE_CONSTANT_P): Delete.
3000 * config/frv/frv.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3001 (frv_legitimate_constant_p): Make static. Add a mode argument.
3002
3003 * config/h8300/h8300-protos.h (h8300_legitimate_constant_p): Delete.
3004 * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Likewise.
3005 * config/h8300/h8300.c (h8300_legitimate_constant_p): Likewise.
3006
3007 * config/i386/i386-protos.h (legitimate_constant_p): Delete.
3008 * config/i386/i386.h (LEGITIMATE_CONSTANT_P): Likewise.
3009 * config/i386/i386.c (legitimate_constant_p): Rename to...
3010 (ix86_legitimate_constant_p): ...this. Make static. Add a mode
3011 argument.
3012 (ix86_cannot_force_const_mem): Update accordingly.
3013 (ix86_legitimate_address_p): Likewise.
3014 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3015 * config/i386/i386.md: Update commentary.
3016
3017 * config/ia64/ia64-protos.h (ia64_legitimate_constant_p): Delete.
3018 * config/ia64/ia64.h (LEGITIMATE_CONSTANT_P): Likewise.
3019 * config/ia64/ia64.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3020 (ia64_legitimate_constant_p): Make static. Add a mode argument.
3021
3022 * config/iq2000/iq2000.h (LEGITIMATE_CONSTANT_P): Delete.
3023
3024 * config/lm32/lm32-protos.h (lm32_legitimate_constant_p): Delete.
3025 * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Likewise.
3026 * config/lm32/lm32.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3027 (lm32_legitimate_constant_p): Make static. Add a mode argument.
3028
3029 * config/m32c/m32c-protos.h (m32c_legitimate_constant_p): Delete.
3030 * config/m32c/m32c.h (LEGITIMATE_CONSTANT_P): Likewise.
3031 * config/m32c/m32c.c (m32c_legitimate_constant_p): Likewise.
3032
3033 * config/m32r/m32r.h (LEGITIMATE_CONSTANT_P): Delete.
3034 * config/m32r/m32r.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3035 (m32r_legitimate_constant_p): New function.
3036
3037 * config/m68k/m68k-protos.h (m68k_legitimate_constant_p): Declare.
3038 * config/m68k/m68k.h (CONSTANT_ADDRESS_P): Call it instead of
3039 LEGITIMATE_CONSTANT_P.
3040 (LEGITIMATE_CONSTANT_P): Delete.
3041 * config/m68k/m68k.c (m68k_expand_prologue): Call
3042 m68k_legitimate_constant_p instead of LEGITIMATE_CONSTANT_P.
3043 (m68k_legitimate_constant_p): New function.
3044 * config/m68k/m68k.md: Update comments.
3045
3046 * config/mcore/mcore.h (LEGITIMATE_CONSTANT_P): Delete.
3047 * config/mcore/mcore.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3048 (mcore_legitimate_constant_p): New function.
3049
3050 * config/mep/mep-protos.h (mep_legitimate_constant_p): Delete.
3051 * config/mep/mep.h (LEGITIMATE_CONSTANT_P): Likewise.
3052 * config/mep/mep.c (mep_legitimate_constant_p): Make static.
3053 Add a mode argument.
3054 (mep_legitimate_address): Update accordingly.
3055 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3056
3057 * config/microblaze/microblaze-protos.h (microblaze_const_double_ok):
3058 Delete.
3059 * config/microblaze/microblaze.h (LEGITIMATE_CONSTANT_P): Likewise.
3060 * config/microblaze/microblaze.c (microblaze_const_double_ok): Make
3061 static. Check OP's mode for VOIDmode.
3062 (microblaze_legitimate_constant_p): New function.
3063 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3064
3065 * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Delete.
3066 * config/mips/mips.c (mips_legitimate_constant_p): New function.
3067 (mips_cannot_force_const_mem): Use it instead of LEGITIMATE_CONSTANT_P.
3068 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3069 * config/mips/predicates.md: Update comments.
3070
3071 * config/mmix/mmix-protos.h (mmix_legitimate_constant_p): Delete.
3072 * config/mmix/mmix.h (LEGITIMATE_CONSTANT_P): Likewise.
3073 * config/mmix/mmix.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3074 (mmix_legitimate_constant_p): Make static, return a bool, and take
3075 a mode argument.
3076 (mmix_print_operand_address): Update accordingly.
3077
3078 * config/mn10300/mn10300-protos.h (mn10300_legitimate_constant_p):
3079 Delete.
3080 * config/mn10300/mn10300.h (LEGITIMATE_CONSTANT_P): Likewise.
2894086e
UB
3081 * config/mn10300/mn10300.c (mn10300_legitimate_constant_p): Make
3082 static. Add a mode argument.
1a627b35
RS
3083 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3084
3085 * config/moxie/moxie.h (LEGITIMATE_CONSTANT_P): Delete.
3086
3087 * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Delete.
3088 * config/pa/pa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3089 (pa_legitimate_constant_p): New function.
3090
3091 * config/picochip/picochip.h (LEGITIMATE_CONSTANT_P): Delete.
3092
3093 * config/pdp11/pdp11.h (LEGITIMATE_CONSTANT_P): Delete.
3094 * config/pdp11/pdp11.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3095 (pdp11_legitimate_constant_p): New function.
3096
3097 * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Delete.
3098 * config/rs6000/rs6000.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3099 (rs6000_legitimate_constant_p): New function.
3100
3101 * config/rx/rx-protos.h (rx_is_legitimate_constant): Replace with...
3102 (rx_legitimate_constant_p): ...this.
3103 * config/rx/rx.h (LEGITIMATE_CONSTANT_P): Delete.
3104 * config/rx/rx.c (rx_is_legitimate_constant): Replace with...
3105 (rx_legitimate_constant_p): ...this.
3106 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3107 * config/rx/rx.md (mov<register_modes:mode>): Update accordingly.
3108
3109 * config/s390/s390-protos.h (legitimate_constant_p): Delete.
3110 * config/s390/s390.h (LEGITIMATE_CONSTANT_P): Likewise.
3111 * config/s390/s390.c (legitimate_constant_p): Rename to...
3112 (s390_legitimate_constant_p): ...this. Make static, return a bool,
3113 and add a mode argument.
3114 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3115
3116 * config/score/score.h (LEGITIMATE_CONSTANT_P): Delete.
3117
3118 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Delete.
3119 * config/sh/sh.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3120 (sh_legitimate_constant_p): New function.
3121
3122 * config/sparc/sparc-protos.h (legitimate_constant_p): Delete.
3123 * config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Delete.
3124 * config/sparc/sparc.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3125 (legitimate_constant_p): Rename to...
3126 (sparc_legitimate_constant_p): ...this. Make static. Add a mode
3127 argument.
3128 (constant_address_p): Update accordingly.
3129
3130 * config/spu/spu-protos.h (spu_legitimate_constant_p): Add a mode
3131 argument and return a bool.
3132 * config/spu/spu.h (LEGITIMATE_CONSTANT_P): Delete.
3133 * config/spu/spu.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3134 (spu_legitimate_constant_p): Add a mode argument and return a bool.
3135 (spu_rtx_costs): Update accordingly.
3136 * config/spu/predicates.md (vec_imm_operand): Likewise.
3137
3138 * config/stormy16/stormy16.h (LEGITIMATE_CONSTANT_P): Delete.
3139
3140 * config/v850/v850.h (LEGITIMATE_CONSTANT_P): Delete.
3141 * config/v850/v850.c (v850_legitimate_constant_p): New function.
3142 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3143
3144 * config/vax/vax-protos.h (legitimate_constant_p): Delete.
3145 * config/vax/vax.h (LEGITIMATE_CONSTANT_P): Likewise.
3146 * config/vax/vax.c (legitimate_constant_p): Likewise.
3147
3148 * config/xtensa/xtensa.h (LEGITIMATE_CONSTANT_P): Delete.
3149 * config/xtensa/xtensa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3150 (xtensa_legitimate_constant_p): New function.
3151
fbbf66e7
RS
31522011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
3153
3154 * target.def (cannot_force_const_mem): Add a mode argument.
3155 * doc/tm.texi.in (TARGET_CANNOT_FORCE_CONST_MEM): Update accordingly.
3156 * doc/tm.texi: Regenerate.
3157 * hooks.h (hook_bool_mode_rtx_false): Declare.
3158 * hooks.c (hook_bool_mode_const_rtx_false): Fix commentary.
3159 (hook_bool_mode_const_rtx_true): Likewise.
3160 (hook_bool_mode_rtx_false): New function.
3161 * reload.c (CONST_POOL_OK_P): Take a mode argument and require it
3162 to be non-VOID. Update call to cannot_force_const_mem.
3163 (find_reloads): Update accordingly.
3164 * varasm.c (force_const_mem): Update call to cannot_force_const_mem.
3165 * config/alpha/alpha.c (alpha_cannot_force_const_mem): Add a mode
3166 argument.
3167 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Likewise.
3168 * config/arm/arm.h (LEGITIMATE_CONSTANT_P): Update call.
3169 * config/arm/arm.c (arm_cannot_force_const_mem): Add a mode argument.
3170 * config/bfin/bfin.c (bfin_cannot_force_const_mem): Likewise.
3171 * config/frv/frv.c (frv_cannot_force_const_mem): Likewise.
3172 * config/i386/i386.c (ix86_cannot_force_const_mem): Likewise.
3173 * config/ia64/ia64.c (ia64_cannot_force_const_mem): Likewise.
3174 * config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
3175 (m68k_cannot_force_const_mem): ...this new function.
3176 * config/mips/mips.c (mips_cannot_force_const_mem): Add a mode
3177 argument.
3178 (mips_const_insns, mips_legitimize_const_move): Update calls.
3179 (mips_secondary_reload_class): Likewise.
3180 * config/pa/pa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
3181 (pa_cannot_force_const_mem): ...this new function.
2894086e 3182 * config/rs6000/rs6000.c (TARGET_CANNOT_FORCE_CONST_MEM): Reefine to...
fbbf66e7
RS
3183 (rs6000_cannot_force_const_mem): ...this new function.
3184 * config/s390/s390.c (s390_cannot_force_const_mem): Add a mode
3185 argument.
3186 * config/sparc/sparc.c (sparc_cannot_force_const_mem): Likewise.
3187 * config/xtensa/xtensa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine
3188 to...
3189 (xtensa_cannot_force_const_mem): ...this new function.
3190
b861891b
NF
31912011-04-20 Nathan Froyd <froydnj@codesourcery.com>
3192
3193 * config/mips/mips.c (mips16_build_function_stub): Call
3194 build_function_type_list instead of build_function_type.
3195 (mips16_build_call_stub): Likewise.
3196
34149ed5
NF
31972011-04-20 Nathan Froyd <froydnj@codesourcery.com>
3198
3199 * config/mep/mep.c (mep_init_builtins): Call build_function_type_list
3200 instead of build_function_type.
3201
12526412
NF
32022011-04-20 Nathan Froyd <froydnj@codesourcery.com>
3203
3204 * config/pa/pa.c (pa_init_builtins): Call build_function_type_list
3205 instead of build_function_type.
3206
3b84d61f
UB
32072011-04-20 Uros Bizjak <ubizjak@gmail.com>
3208
3209 PR target/48678
3210 * config/i386/i386.md (insv): Change operand 0 constraint to
3211 "register_operand". Change operand 1 and 2 constraint to
3212 "const_int_operand". Expand to pinsr{b,w,d,q} * when appropriate.
3213 * config/i386/sse.md (sse4_1_pinsrb): Export.
3214 (sse2_pinsrw): Ditto.
3215 (sse4_1_pinsrd): Ditto.
3216 (sse4_1_pinsrq): Ditto.
3217 * config/i386/i386-protos.h (ix86_expand_pinsr): Add prototype.
3218 * config/i386/i386.c (ix86_expand_pinsr): New.
3219
4a25752b
ER
32202011-04-20 Easwaran Raman <eraman@google.com>
3221
3222 * cfgexpand.c (add_alias_set_conflicts): Add conflicts with a variable
3223 containing union type only with -fstrict-aliasing.
3224
04695783
JM
32252011-04-20 Jim Meyering <meyering@redhat.com>
3226
3227 Remove useless if-before-free tests.
3228 * calls.c (expand_call, save_area): Likewise.
3229 * cfgcleanup.c (try_forward_edges): Likewise.
3230 * collect2.c (collect_execute): Likewise.
3231 * config/i386/i386.c (ix86_valid_target_attribute_tree): Likewise.
3232 * config/mcore/mcore.c (mcore_expand_prolog): Likewise.
3233 * coverage.c (coverage_checksum_string): Likewise.
3234 * cse.c (init_cse_reg_info, delete_trivially_dead_insns): Likewise.
3235 * cselib.c (cselib_init): Likewise.
3236 * df-core.c (rest_of_handle_df_finish, df_analyze): Likewise.
3237 (df_set_clean_cfg): Likewise.
3238 * function.c (free_after_compilation): Likewise.
3239 * gcc.c (do_spec_1, main): Likewise.
3240 * gcov.c (create_file_names): Likewise.
3241 * gensupport.c (identify_predicable_attribute): Likewise.
3242 * graphite-clast-to-gimple.c (save_clast_name_index): Likewise.
3243 * graphite-sese-to-poly.c (free_data_refs_aux): Likewise.
3244 * haifa-sched.c (haifa_finish_h_i_d): Likewise.
3245 * ipa-prop.c (ipa_free_node_params_substructures): Likewise.
3246 * ipa-pure-const.c (local_pure_const): Likewise.
3247 * ipa-reference.c (propagate): Likewise.
3248 * ira-costs.c (free_ira_costs): Likewise.
3249 * ira.c (free_register_move_costs, build_insn_chain): Likewise.
3250 * matrix-reorg.c (mat_free): Likewise.
3251 * prefix.c (get_key_value): Likewise.
3252 * profile.c (compute_value_histograms): Likewise.
3253 * reload1.c (free_reg_equiv): Likewise.
3254 * sched-deps.c (free_deps): Likewise.
3255 * sel-sched-ir.c (fence_clear): Likewise.
3256 * sese.c (set_rename, if_region_set_false_region): Likewise.
3257 * tree-data-ref.c (free_rdg): Likewise.
3258 * tree-eh.c (lower_try_finally): Likewise.
3259 * tree-ssa-coalesce.c (delete_coalesce_list): Likewise.
3260 * tree-ssa-live.c (delete_var_map): Likewise.
3261 * tree-ssa-loop-ivopts.c (free_loop_data): Likewise.
3262 * tree-ssa-pre.c (phi_trans_add): Likewise.
3263
6788475a
JJ
32642011-04-20 Jakub Jelinek <jakub@redhat.com>
3265
3266 PR tree-optimization/48611
3267 * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
3268 beyond ERT_MUST_NOT_THROW region.
3269
0eda4033
CM
32702011-04-20 Catherine Moore <clm@codesourcery.com>
3271
3272 * config/mips/mips.opt (mfix-24k): New.
3273 * config/mips/mips.h (ASM_SPEC): Handle -mfix-24k.
3274 * config/mips/mips.md (length): Increase by 4 for stores if
3275 fixing 24K errata.
3276 * config/mips/mips.c (mips_reorg_process_insns): Do not allow
3277 all noreorder if fixing 24K errata.
3278 * doc/invoke.texi: Document mfix-24k.
3279
01475747
CLT
32802011-04-20 Chung-Lin Tang <cltang@codesourcery.com>
3281
3282 * config/arm/arm.c (arm_legitimize_reload_address): For NEON
2894086e 3283 quad-word modes, reduce to 9-bit index range when above 1016 limit.
01475747 3284
bc2c1a60
AS
32852011-04-20 Andrew Stubbs <ams@codesourcery.com>
3286
3287 * config/arm/arm.c (arm_gen_constant): Move movw support ....
3288 (const_ok_for_op): ... to here.
3289
583722ee
KT
32902011-04-20 Kai Tietz <ktietz@redhat.com>
3291
2894086e
UB
3292 * fold-const.c (fold_binary_loc): Add handling for (X & ~Y) | (~X & Y)
3293 and (X && !Y) | (!X && Y) optimization to (X ^ Y).
583722ee 3294
422c0989
AS
32952011-04-20 Andrew Stubbs <ams@codesourcery.com>
3296
3297 * config/arm/arm.c (arm_gen_constant): Remove redundant can_invert.
3298
d7978bff
RG
32992011-04-20 Richard Guenther <rguenther@suse.de>
3300
3301 PR tree-optimization/47892
3302 * tree-if-conv.c (if_convertible_stmt_p): Const builtins
3303 are if-convertible.
3304
818412ba
EB
33052011-04-20 Eric Botcazou <ebotcazou@adacore.com>
3306
3307 * config/alpha/vms.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not redefine.
3308
b501ce4e
TG
33092011-04-20 Tristan Gingold <gingold@adacore.com>
3310
3311 * config/alpha/vms.h (LINK_SPEC): Do not use vms-dwarf2.o for gnu-ld.
3312
516edfdd
GJL
33132011-04-20 Georg-Johann Lay <avr@gjlay.de>
3314
3315 PR target/18145
3316
3317 * config/avr/avr.h (TARGET_ASM_INIT_SECTIONS): Delete.
3318 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
3319 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
3320 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
3321 (TARGET_ASM_NAMED_SECTION): Change to avr_asm_named_section.
3322
3323 * config/avr/avr-protos.h (avr_asm_output_aligned_common):
3324 New prototype.
3325
3326 * config/avr/avr.c (TARGET_ASM_INIT_SECTIONS): Define.
3327 (avr_asm_named_section, avr_asm_output_aligned_common,
3328 avr_output_data_section_asm_op, avr_output_bss_section_asm_op):
3329 New functions to update...
3330 (avr_need_clear_bss_p, avr_need_copy_data_p): ...these new variables.
3331 (avr_asm_init_sections): Overwrite section callbacks for
3332 data_section, bss_section.
3333 (avr_file_start): Move output of __do_copy_data, __do_clear_bss
3334 from here to...
3335 (avr_file_end): ...here.
3336
dafc9511
RG
33372011-04-20 Richard Guenther <rguenther@suse.de>
3338
3339 PR middle-end/48695
3340 * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
2894086e 3341 objects and types here. Adjust for their offset before comparing.
dafc9511 3342
1da0876c
RS
33432011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
3344
3345 * tree-vect-stmts.c (vectorizable_store): Only chain one related
3346 statement per copy.
3347
25583c4f
RS
33482011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
3349
3350 * Makefile.in (INTERNAL_FN_DEF, INTERNAL_FN_H): Define.
3351 (GIMPLE_H): Include $(INTERNAL_FN_H).
3352 (OBJS-common): Add internal-fn.o.
3353 (internal-fn.o): New rule.
3354 * internal-fn.def: New file.
3355 * internal-fn.h: Likewise.
3356 * internal-fn.c: Likewise.
3357 * gimple.h: Include internal-fn.h.
3358 (GF_CALL_INTERNAL): New gf_mask.
3359 (gimple_statement_call): Put fntype into a union with a new
3360 internal_fn field.
3361 (gimple_build_call_internal): Declare.
3362 (gimple_build_call_internal_vec): Likewise.
3363 (gimple_call_same_target_p): Likewise.
3364 (gimple_call_internal_p): New function.
3365 (gimple_call_internal_fn): Likewise.
3366 (gimple_call_fntype): Return null for internal calls.
3367 (gimple_call_set_fntype): Assert that the function is not internal.
3368 (gimple_call_set_fn): Likewise.
3369 (gimple_call_set_fndecl): Likewise.
3370 (gimple_call_set_internal_fn): New function.
3371 (gimple_call_addr_fndecl): Handle null functions.
3372 (gimple_call_return_type): Likewise null types.
3373 * gimple.c (gimple_build_call_internal_1): New function.
3374 (gimple_build_call_internal): Likewise.
3375 (gimple_build_call_internal_vec): Likewise.
3376 (gimple_call_same_target_p): Likewise.
3377 (gimple_call_flags): Handle calls to internal functions.
3378 (gimple_call_fnspec): New function.
3379 (gimple_call_arg_flags, gimple_call_return_flags): Use it.
3380 (gimple_has_side_effects): Handle null functions.
3381 (gimple_rhs_has_side_effects): Likewise.
3382 (gimple_call_copy_skip_args): Handle calls to internal functions.
3383 * cfgexpand.c (expand_call_stmt): Likewise.
3384 * expr.c (expand_expr_real_1): Assert that the call isn't internal.
3385 * gimple-fold.c (gimple_fold_call): Handle null functions.
3386 (gimple_fold_stmt_to_constant_1): Don't fold
3387 calls to internal functions.
3388 * gimple-low.c (gimple_check_call_args): Handle calls to internal
3389 functions.
3390 * gimple-pretty-print.c (dump_gimple_call): Likewise.
3391 * ipa-prop.c (ipa_analyze_call_uses): Handle null functions.
3392 * tree-cfg.c (verify_gimple_call): Handle calls to internal functions.
3393 (do_warn_unused_result): Likewise.
3394 * tree-eh.c (same_handler_p): Use gimple_call_same_target_p.
3395 * tree-ssa-ccp.c (ccp_fold_stmt): Handle calls to internal functions.
3396 * tree-ssa-dom.c (hashable_expr): Use the gimple statement to record
3397 the target of a call.
3398 (initialize_hash_element): Update accordingly.
3399 (hashable_expr_equal_p): Use gimple_call_same_target_p.
3400 (iterative_hash_hashable_expr): Handle calls to internal functions.
3401 (print_expr_hash_elt): Likewise.
3402 * tree-ssa-pre.c (can_value_number_call): Likewise.
3403 (eliminate): Handle null functions.
3404 * tree-ssa-sccvn.c (visit_use): Handle calls to internal functions.
3405 * tree-ssa-structalias.c (get_fi_for_callee): Likewise.
3406 (find_func_aliases): Likewise.
3407 * value-prof.c (gimple_ic_transform): Likewise.
3408 (gimple_indirect_call_to_profile): Likewise.
3409 * lto-streamer-in.c (input_gimple_stmt): Likewise.
3410 * lto-streamer-out.c (output_gimple_stmt): Likewise.
3411
1a3118e9
JH
34122011-04-19 Jan Hubicka <jh@suse.cz>
3413
3414 * ipa-inline-transform.c (save_inline_function_body): Add comments.
9d12f71a
EB
3415 * ipa-inline.c (inline_small_functions): Compute summaries first,
3416 populate heap later.
1a3118e9 3417
fee8b6da
JH
34182011-04-19 Jan Hubicka <jh@suse.cz>
3419
3420 * cgraph.h (save_inline_function_body): Remove.
3421 * ipa-inline-transform.c: New file, broke out of...
3422 * ipa-inline.c: ... this one; Update toplevel comment.
3423 (ncalls_inlined, nfunctions_inlined): Move to ipa-inline-transform.c;
3424 make global.
3425 (update_noncloned_frequencies): Move to ipa-inline-transform.c
3426 (cgraph_mark_inline_edge): Rename to inline_call; move to
3427 ipa-inline-transform.c.
3428 (cgraph_clone_inlined_nodes): Rename to clone_inlined_nodes;
3429 move to ipa-inline-transform.c
3430 (recursive_inlining, inline_small_functions, flatten_function,
3431 ipa_inline, inline_always_inline_functions,
3432 early_inline_small_functions): Update.
3433 (inline_transform): Move to ipa-inline-transform.c.
3434 * ipa-inline.h (inline_call, inline_transform, clone_inlined_nodes):
3435 Declare.
3436 * Makefile.in (ipa-inline-transform.o): New file.
3437 * cgraphunit.c (save_inline_function_body): Move to
3438 ipa-inline-transform.c
3439
f0679612
DD
34402011-04-19 DJ Delorie <dj@redhat.com>
3441
3442 * config/m32c/m32c.c (m32c_emit_epilogue): Don't try to push
3443 registers if we already know there aren't any.
3444 (m32c_emit_epilogue): Don't emit a barrier here.
3445 (m32c_emit_eh_epilogue): Likewise.
3446 * config/m32c/blkmov.md (movstr): Don't fail on wrong-type
3447 operands at expand time.
3448 * config/m32c/m32c.h (WCHAR_TYPE_SIZE): Change to 4 to match "long
3449 int" wchar type.
3450 (REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): Remove
3451 duplicates. Provide aliases instead.
3452 * config/m32c/prologue.md (eh_return): Emit a barrier here.
3453 (eh_epilogue): Add a "(return)" here as a hint to other parts of
3454 the compiler.
3455
32257ddc
AS
34562011-04-19 Anatoly Sokolov <aesok@post.ru>
3457
3458 * config/sparc/sparc.h (GENERAL_OR_I64, REGISTER_MOVE_COST): Remove.
3459 * config/sparc/sparc.c (TARGET_REGISTER_MOVE_COST): Define.
3460 (general_or_i64_p, sparc_register_move_cost): New function.
3461
60bea929
RO
34622011-04-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3463
3464 * doc/install.texi (Configuration, --enable-threads): Remove mach.
3b84d61f 3465 Add lynx, mipssde. Sort table.
60bea929 3466
444b3995 34672011-04-19 Xinliang David Li <davidxl@google.com>
3b84d61f 3468
9d12f71a
EB
3469 * ipa-cp.c (ipcp_update_profiling): Assert that scale_completement is
3470 not negative.
444b3995 3471
d708ce50
JJ
34722011-04-19 Jakub Jelinek <jakub@redhat.com>
3473
3474 PR target/48678
3475 * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
3476 is a SUBREG with non-MODE_INT mode inside of it.
3477
49c471e3
MJ
34782011-04-19 Martin Jambor <mjambor@suse.cz>
3479
3480 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize
3481 also according to actual contants.
3482 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): New function.
3483 (gimple_fold_call): Use it.
3484 * gimple.h (gimple_extract_devirt_binfo_from_cst): Declare.
3485
0004f992
MJ
34862011-04-19 Martin Jambor <mjambor@suse.cz>
3487
3488 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar
3489 non-pointer assignments.
3490
40591473
MJ
34912011-04-19 Martin Jambor <mjambor@suse.cz>
3492
3493 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into
3494 account anc_offset and otr_type from the indirect edge info.
3495 * ipa-prop.c (get_ancestor_addr_info): New function.
3496 (compute_complex_ancestor_jump_func): Assignment analysis moved to
3497 get_ancestor_addr_info, call it.
3498 (ipa_note_param_call): Do not initialize information about polymorphic
3499 calls, return the indirect call graph edge. Remove the last
3500 parameter, adjust all callers.
3501 (ipa_analyze_virtual_call_uses): Process also calls to ancestors of
3502 parameters. Initialize polymorphic information in the indirect edge.
3503
abe36b81
EB
35042011-04-19 Eric Botcazou <ebotcazou@adacore.com>
3505
3506 PR lto/48148
3507 * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
3508 the types if they have different enumeration identifiers.
3509
e6416b30
JH
35102011-04-19 Jan Hubicka <jh@suse.cz>
3511
3512 * cgraph.h (cgraph_optimize_for_size_p): Declare.
3513 * ipa-cp.c (ipcp_insert_stage): Use cgraph_optimize_for_size_p.
3514 * predict.c (cgraph_optimize_for_size_p): Break out from ...
3515 (optimize_function_for_size_p) ... here.
3516
d39132ea
RG
35172011-04-19 Richard Guenther <rguenther@suse.de>
3518
3519 PR lto/48207
3520 * tree.c (free_lang_data): Do not reset the decl-assembler-name
3521 langhook.
3522
ff7037dc
EB
35232011-04-19 Eric Botcazou <ebotcazou@adacore.com>
3524
3525 * tree-inline.c (expand_call_inline): Do not issue a -Winline warning
3526 if DECL_NO_INLINE_WARNING_P is set on the function.
3527
c1ee2892
BS
35282011-04-19 Bernd Schmidt <bernds@codesourcery.com>
3529
3530 PR fortran/47976
3531 * reload1.c (inc_for_reload): Return void. All callers changed.
3532 (emit_input_reload_insns): Don't try to delete previous output
3533 reloads to a register, or record spill_reg_store for autoincs.
fbb20b29
BS
3534
35352011-04-19 Basile Starynkevitch <basile@starynkevitch.net>
3536
3537 * gengtype.h: Updated copyright year.
3538 (struct input_file_st): Add inpisplugin field.
3539 (type_fileloc): New function.
3540 * gengtype.c
3541 (write_typed_struct_alloc_def): Add gcc_assert.
3542 (write_typed_alloc_defns): Ditto. Don't output for plugin files.
3543 (write_typed_alloc_defns): Don't output for plugin files.
3544 (input_file_by_name): Clear inpisplugin field.
3545 (main): Set inpisplugin field for plugin files.
3546
897e0a89
NP
35472011-04-19 Nicola Pero <nicola.pero@meta-innovation.com>
3548
3549 * gengtype-state.c (string_eq): New.
3550 (read_state): Use string_eq instead of strcmp when creating the
3551 state_ident_tab.
3552
363ee90e
WG
35532011-04-19 Wei Guozhi <carrot@google.com>
3554
3555 PR target/47855
3556 * config/arm/arm-protos.h (thumb1_legitimate_address_p): New prototype.
3557 * config/arm/arm.c (thumb1_legitimate_address_p): Remove the static
3558 linkage.
3559 * config/arm/constraints.md (Uu): New constraint.
3560 * config/arm/arm.md (*arm_movqi_insn): Compute attr "length".
3561
18a24fed
TG
35622011-04-19 Tristan Gingold <gingold@adacore.com>
3563
3564 * config.gcc (-*-*-*vms): Added.
3565 (alpha64-dec-*vms*,alpha*-dec-*vms*, ia64-hp-*vms*): Common
3566 definitions moved.
3567 * config/vms/vms-ld.c: New file.
3568 * config/vms/vms-ar.c: New file.
3569 * config/vms/t-vmsnative: New file.
3570
1c13f168
XDL
35712011-04-18 Xinliang David Li <davidxl@google.com>
3572
3573 * final.c (dump_basic_block_info): Use ASM_COMMENT_START.
3574
84825707
JJ
35752011-04-18 Jakub Jelinek <jakub@redhat.com>
3576
3577 PR middle-end/48661
3578 * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
3579 if TREE_TYPE (v) is non-NULL.
3580
3581 * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
3582 gimple_get_virt_mehtod_for_binfo.
3583 * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
3584 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
3585 callers.
3586 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
3587
7d4f8d02 35882011-04-18 Michael Matz <matz@suse.de>
7254cb57
MM
3589 Steve Ellcey <sje@cup.hp.com>
3590
7d4f8d02
EB
3591 * expr.c (expand_expr_real_2) <CASE_CONVERT>: If OP0 is a constant,
3592 use its mode as source mode if it isn't VOIDmode.
7254cb57 3593
474e8e70
DCR
35942011-04-18 Dennis, CHENG Renquan <crquan@fedoraproject.org>
3595
3596 * doc/passes.texi: Fill crossref nodes.
3597
cff41484
JM
35982011-04-18 Jim Meyering <meyering@redhat.com>
3599
7d4f8d02 3600 Fix doubled-word typos in comments and strings
cff41484
JM
3601 * config/alpha/vms-unwind.h: s/for for/for/
3602 * config/arm/unwind-arm.h: Likewise.
3603 * config/microblaze/microblaze.c: Likewise.
3604 * config/sh/constraints.md: s/in in/in/
3605 * tree-cfg.c (verify_types_in_gimple_reference): Likewise.
3606
f60c2554
UB
36072011-04-18 Uros Bizjak <ubizjak@gmail.com>
3608
3609 * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): Remove.
3610 (AVX_FLOAT_MODE_P): Ditto.
3611 (AVX128_VEC_FLOAT_MODE_P): Ditto.
3612 (AVX256_VEC_FLOAT_MODE_P): Ditto.
3613 (AVX_VEC_FLOAT_MODE_P): Ditto.
3614 * config/i386/i386.md (UNSPEC_MASKLOAD): Remove.
3615 (UNSPEC_MASKSTORE): Ditto.
3616 * config/i386/sse.md (<sse>_movmsk<ssemodesuffix><avxmodesuffix>):
3617 Merge from <sse>_movmsk<ssemodesuffix> and
3618 avx_movmsk<ssemodesuffix>256. Use VF mode iterator.
3619 (*sse2_maskmovdqu): Merge with *sse2_maskmovdqu_rex64. Use P mode
3620 iterator.
3621 (avx_maskload<ssemodesuffix><avxmodesuffix>): New expander.
3622 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Ditto.
3623 (*avx_maskmov<ssemodesuffix><avxmodesuffix>): New insn.
3624
09a2806f
JH
36252011-04-18 Jan Hubicka <jh@suse.cz>
3626
8a8dccb2
JH
3627 * ipa-inline.c (inline_small_functions): Fix pasto in previous patch.
3628
09a2806f
JH
3629 * ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
3630 (want_inline_function_called_once_p): Break out the logic from
3631 ipa_inline.
3632 (edge_badness): Ensure that profile is not misupdated.
3633 (lookup_recursive_calls): Prioritize by call frequencies.
3634 (inline_small_functions): Move program size estimates here;
3635 actually process whole queue even when unit growth has been
3636 met. (to properly compute inline_failed reasons and for the
f60c2554 3637 case unit size decrease.) Revisit comments on recursive inlining.
09a2806f
JH
3638 (ipa_inline): Remove unit summary code; first inline hot calls
3639 of functions called once, cold calls next.
3640 (order, nnodes): Remove unused variables.
3641 * Makefile.in (ipa-inline.o): No longer depent on ggc files.
3642 (GTFILES): Remove ipa-inline.c
3643 * sel-sched.c (fill_insns): Silence uninitialized var warning.
3644
3eea52ef
EB
36452011-04-18 Eric Botcazou <ebotcazou@adacore.com>
3646
3647 * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
3648
229a1c59 36492011-04-18 Jie Zhang <jie@codesourcery.com>
3eea52ef 3650 Richard Earnshaw <rearnsha@arm.com>
229a1c59
JZ
3651
3652 * arm.c (neon_builtin_type_bits): Remove.
3653 (typedef enum neon_builtin_mode): New.
3654 (T_MAX): Don't define.
3655 (typedef enum neon_builtin_datum): Remove bits, codes[],
3656 num_vars and base_fcode. Add mode, code and fcode.
3657 (VAR1, VAR2, VAR3, VAR4, VAR5, VAR6, VAR7, VAR8, VAR9
3658 VAR10): Change accordingly.
3659 (neon_builtin_data[]): Change accordingly
3660 (arm_init_neon_builtins): Change accordingly.
3661 (neon_builtin_compare): Remove.
3662 (locate_neon_builtin_icode): Remove.
3663 (arm_expand_neon_builtin): Change accordingly.
3664
3665 * arm.h (enum arm_builtins): Move to ...
3666 * arm.c (enum arm_builtins): ... here; and rearrange builtin code.
3667
3668 * arm.c (arm_builtin_decl): Declare.
3669 (TARGET_BUILTIN_DECL): Define.
3670 (enum arm_builtins): Correct ARM_BUILTIN_MAX.
3671 (arm_builtin_decls[]): New.
3672 (arm_init_neon_builtins): Store builtin declarations in
3673 arm_builtin_decls[].
3674 (arm_init_tls_builtins): Likewise.
3675 (arm_init_iwmmxt_builtins): Likewise. Refactor initialization code.
3676 (arm_builtin_decl): New.
3677
75e802cc
RG
36782011-04-18 Richard Guenther <rguenther@suse.de>
3679
3680 * tree.c (upper_bound_in_type): Build properly canonicalized
3681 INTEGER_CSTs.
3682 (lower_bound_in_type): Likewise.
3683
3b45a007
RG
36842011-04-18 Richard Guenther <rguenther@suse.de>
3685
3686 * gimple.h (gimple_call_addr_fndecl): New function.
3687 (gimple_call_fndecl): Use it.
3688 * gimple-fold.c (gimple_fold_call): Fold away OBJ_TYPE_REFs
3689 for direct calls.
3690 * tree-ssa-ccp.c (ccp_fold_stmt): Remove OBJ_TYPE_REF folding.
3691 * tree-ssa-pre.c (eliminate): Also simplify indirect OBJ_TYPE_REFs.
3692
d25a79ea
RG
36932011-04-18 Richard Guenther <rguenther@suse.de>
3694
3695 PR middle-end/48650
3696 * tree.c (build_string): STRING_CST is now derived from tree_typed.
3697
7d5fc814
EB
36982011-04-18 Eric Botcazou <ebotcazou@adacore.com>
3699
3700 PR lto/48492
3701 * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
3702 DECL_IN_CONSTANT_POOL without RTL.
3703
7e7cfcf6
UW
37042011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org>
3705 Ira Rosen <ira.rosen@linaro.org>
3706
3707 PR target/48252
3708 * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
3709 to match neon_vzip/vuzp/vtrn_internal.
3710 * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
3711 outputs explicitly dependent on both inputs.
3712 (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
3713
49eab32e
JJ
37142011-04-18 Jakub Jelinek <jakub@redhat.com>
3715
3716 PR tree-optimization/48616
3717 * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
3718 whether the shift is by scalar or vector based on whether all SLP
3719 scalar stmts have the same rhs.
3720
e54170f4
CLT
37212011-04-17 Chung-Lin Tang <cltang@codesourcery.com>
3722
3723 * config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
3724 memory operands.
3725
b14ee6c9
RS
37262011-04-17 Richard Sandiford <rdsandiford@googlemail.com>
3727
3728 * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
3729 registers.
3730
10158cd3
JH
37312011-04-17 Jan Hubicka <jh@suse.cz>
3732
3733 * cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
7d5fc814
EB
3734 * cgrpahunit.c (cgraph_finalize_function): Do not set
3735 finalized_by_frontend.
10158cd3
JH
3736 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
3737 finalized_by_frontend.
3738
2e9bb6ba
JH
37392011-04-17 Jan Hubicka <jh@suse.cz>
3740
3741 * cgraph.c (cgraph_clone_node): Do not handle vtable_method
3742 * cgraph.h (struct cgraph_local_info): Drop vtable_method.
3743 * cgraphunit.c (cgraph_copy_node_for_versioning): Drop vtable_method.
7d5fc814
EB
3744 * lto-cgraph.c (lto_output_node, input_overwrite_node): Drop vtable
3745 method.
2e9bb6ba
JH
3746 * gimple-fold.c (can_refer_decl_in_current_unit_p): Mention PR20991 in
3747 gimple-fold.c
3748 * varasm.c (mark_decl_referenced): Drop vtable_method handling code.
3749
beb628e1
EB
37502011-04-17 Eric Botcazou <ebotcazou@adacore.com>
3751
3752 PR lto/48538
3753 * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
3754 is non-null before accessing it.
3755 (input_cgraph): Remove trailing spaces.
3756
3e2fdd24
RE
37572011-04-17 Revital Eres <revital.eres@linaro.org>
3758
3759 * params.def (sms-min-sc): New param flag.
3760 * modulo-sched.c (sms_schedule): Use it.
3761 * doc/invoke.texi (sms-min-sc): Document it.
3762
4c0f7679
JH
37632011-04-17 Jan Hubicka <jh@suse.cz>
3764
3765 * lto-symtab.c (lto_cgraph_replace_node): When call statement is
3766 present, also set gimple_call_set_cannot_inline.
3767 * ipa-inline.c: Update toplevel comment.
3768 (MAX_TIME): Remove.
3769 (cgraph_clone_inlined_nodes): Fix linebreaks.
3770 (cgraph_check_inline_limits): Restructure to ...
3771 (caller_growth_limits): ... this one; be more tolerant
3772 on growth in nested inline chains; add explanatory comment;
3773 fix stack accounting thinko introduced by previous patch.
3774 (cgraph_default_inline_p): Remove.
3775 (report_inline_failed_reason): New function.
3776 (can_inline_edge_p): New function.
3777 (can_early_inline_edge_p): New function.
3778 (leaf_node_p): Move upwards in file.
3779 (want_early_inline_function_p): New function.
3780 (want_inline_small_function_p): New function.
3781 (want_inline_self_recursive_call_p): New function.
3782 (cgraph_edge_badness): Rename to ...
3783 (edge_badness) ... this one; fix linebreaks.
3784 (update_edge_key): Update call of edge_baddness; add
3785 detailed dump about queue updates.
3786 (update_caller_keys): Use can_inline_edge_p and
3787 want_inline_small_function_p.
3788 (cgraph_decide_recursive_inlining): Rename to...
3789 (recursive_inlining): Use can_inline_edge_p and
f60c2554
UB
3790 want_inline_self_recursive_call_p; simplify and remove no longer
3791 valid FIXME.
4c0f7679
JH
3792 (cgraph_set_inline_failed): Remove.
3793 (add_new_edges_to_heap): Use can_inline_edge_p and
3794 want_inline_small_function_p.
3795 (cgraph_decide_inlining_of_small_functions): Rename to ...
3796 (inline_small_functions): ... this one; cleanup; use
f60c2554
UB
3797 can/want predicates; cleanup debug ouput; work edges till fibheap
3798 is exhausted and do not stop once unit growth is reached; remove
3799 later loop processing remaining edges.
4c0f7679
JH
3800 (cgraph_flatten): Rename to ...
3801 (flatten_function): ... this one; use can_inline_edge_p
3802 and can_early_inline_edge_p predicates.
3803 (cgraph_decide_inlining): Rename to ...
3804 (ipa_inline): ... this one; remove unreachable nodes before
3805 inlining functions called once; simplify the pass.
3806 (cgraph_perform_always_inlining): Rename to ...
3807 (inline_always_inline_functions): ... this one; use
f60c2554 3808 DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p predicate.
4c0f7679
JH
3809 (cgraph_decide_inlining_incrementally): Rename to ...
3810 (early_inline_small_functions): ... this one; simplify
3811 using new predicates; cleanup; make dumps prettier.
3812 (cgraph_early_inlining): Rename to ...
3813 (early_inliner): newer inline regular functions into always-inlines;
3814 fix updating of call stmt summaries.
3815 (pass_early_inline): Update for new names.
3816 (inline_transform): Fix formating.
3817 (gate_cgraph_decide_inlining): Rename to ...
3818 (pass_ipa_inline): ... this one.
3819 * ipa-inline.h (inline_summary): Remove disregard_inline_limits.
3820 * ipa-inline-analysis.c (dump_inline_summary): Update.
3821 (compute_inline_parameters): Do not compute disregard_inline_limits;
3822 look for mismatching arguments.
3823 (estimate_growth): Fix handlig of non-trivial self recursion.
3824 (inline_read_summary): Do not read info->disregard_inline_limits.
3825 (inline_write_summary): Do not write info->disregard_inline_limits.
beb628e1
EB
3826 * tree-inline.c (inline_forbidden_into_p, tree_can_inline_p): Remove
3827 and move all checks into can_inline_edge_p predicate; re-enable code
3828 comparing optimization levels.
4c0f7679
JH
3829 (expand_call_inline): Do not test inline_forbidden_into_p.
3830 * Makefile.in (ipa-inline.o): Update arguments.
3831
54333b7c
RE
38322011-04-17 Revital Eres <revital.eres@linaro.org>
3833
3834 * ddg.c (free_ddg_all_sccs): Free sccs field in struct ddg_all_sccs.
3835
42c2bf92
RE
38362011-04-17 Revital Eres <revital.eres@linaro.org>
3837
3838 * modulo-sched.c (sms_schedule): Avoid unfreed memory when SMS fails.
3839
b183e9e0
MM
38402011-04-17 Michael Matz <matz@suse.de>
3841
3842 PR tree-optimization/48622
3843 PR lto/48645
3844 * ipa-inline-analysis.c (inline_read_summary): Read size/time
3845 in same order as they're written.
3846
b8a17fa2
JDA
38472011-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3848
3849 * config/pa/predicates.md: Reorganize and simplify predicates.
3850 Eliminate duplicate code checks.
3851 (arith_operand): Rename to arith14_operand
3852 (reg_or_ior_operand): Rename to reg_or_cint_ior_operand.
3853 * config/pa/pa.md: Use renamed operands.
3854 * config/pa/pa-protos.h (symbolic_operand): Delete declaration.
3855 (tls_symbolic_operand, function_label_operand, lhs_lshift_cint_operand,
3856 arith11_operand, adddi3_operand, indexed_memory_operand,
3857 symbolic_memory_operand, int11_operand, reg_or_cint_move_operand,
3858 arith5_operand, uint5_operand, pic_label_operand, plus_xor_ior_operator,
3859 borx_reg_operand, shadd_operand, arith_operand, read_only_operand,
3860 move_dest_operand, move_src_operand, prefetch_cc_operand,
3861 prefetch_nocc_operand, and_operand, ior_operand, arith32_operand,
3862 uint32_operand, reg_before_reload_operand, reg_or_0_operand,
3863 reg_or_0_or_nonsymb_mem_operand, pre_cint_operand, post_cint_operand,
3864 div_operand, int5_operand, movb_comparison_operator,
3865 ireg_or_int5_operand, call_operand_address, ior_operand, fp_reg_operand,
3866 arith_double_operand, ireg_operand, lhs_lshift_operand,
3867 pc_or_label_operand, non_hard_reg_operand, eq_neq_comparison_operator,
3868 integer_store_memory_operand): Likewise.
3869 * config/pa/pa.c (adddi3_operand): Move to predicates.md.
3870 (integer_store_memory_operand, read_only_operand,
3871 function_label_operand, borx_reg_operand,
3872 non_hard_reg_operand): Likewise.
3873 (eq_neq_comparison_operator): Delete unused operator.
3874 (legitimize_pic_address): Use VOIDmode for mode argument in calls to
3875 function_label_operand.
3876 (emit_move_sequence): Likewise.
3877
8dfb9f16
UB
38782011-04-16 Uros Bizjak <ubizjak@gmail.com>
3879
3880 * config/i386/sse.md (sseunpackmode): New mode attribute.
3881 (ssepackmode): Ditto.
3882 (vec_pack_trunc_<mode>): Macroize expander from
3883 vec_pack_trunc_{v8hi,v4si,v2di} using VI248_128 mode iterator.
3884 (vec_unpacks_lo_<mode>): Macroize expander from
3885 vec_unpacks_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
3886 (vec_unpacks_hi_<mode>): Macroize expander from
3887 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
3888 (vec_unpacku_lo_<mode>): Macroize expander from
3889 vec_unpacku_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
3890 (vec_unpacku_hi_<mode>): Macroize expander from
3891 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
3892 * config/i386/i386.c (ix86_expand_sse_unpack): Merge with
3893 ix86_expand_sse4_unpack.
3894 * config/i386/i386-protos.h (ix86_expand_sse4_unpack): Remove.
3895
e7f23018
JH
38962011-04-16 Jan Hubicka <jh@suse.cz>
3897
3898 * cgraphbuild.c: Include ipa-inline.h.
3899 (reset_inline_failed): Use initialize_inline_failed.
3900 * cgraph.c: Include ipa-inline.h.
3901 (cgraph_create_node_1): Do not initialize estimated_growth.
3902 (initialize_inline_failed): More to ipa-inline-analysis.c
3903 (dump_cgraph_node): Do not dump inline flags.
3904 * cgraph.h (cgraph_local_info): Remove inlineable, versionable
3905 and disregard_inline_limits flags.
3906 (cgrpah_global_info): Remove estimated_stack_size, stack_frame_offset,
3907 time, size, estimated_growth.
8dfb9f16
UB
3908 * ipa-cp.c (ipcp_versionable_function_p, ipcp_generate_summary):
3909 Update.
e7f23018
JH
3910 * cgraphunit.c (cgraph_decide_is_function_needed): Use
3911 DECL_DISREGARD_INLINE_LIMITS.
3912 (cgraph_analyze_function): Do not initialize
3913 node->local.disregard_inline_limits.
3914 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
3915 inlinable, versionable and disregard_inline_limits.
3916 * ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
8dfb9f16
UB
3917 cgraph_check_inline_limits, cgraph_default_inline_p,
3918 cgraph_edge_badness, update_caller_keys, update_callee_keys,
3919 add_new_edges_to_heap): Update.
3920 (cgraph_decide_inlining_of_small_function): Update; set
3921 CIF_FUNCTION_NOT_INLINABLE for uninlinable functions.
e7f23018
JH
3922 (cgraph_decide_inlining, cgraph_edge_early_inlinable_p,
3923 cgraph_decide_inlining_incrementally): Update.
8dfb9f16
UB
3924 * ipa-inline.h (inline_summary): Add inlinable, versionable,
3925 disregard_inline_limits, estimated_stack_size, stack_frame_offset,
3926 time, size and estimated_growth parameters.
e7f23018
JH
3927 (estimate_edge_growth): Update.
3928 (initialize_inline_failed): Declare.
3929 * ipa-split.c: Include ipa-inline.h
3930 (execute_split_functions): Update.
3931 * ipa.c (cgraph_postorder): Use DECL_DISREGARD_INLINE_LIMITS.
3932 (cgraph_remove_unreachable_nodes): Do not clear inlinable flag.
3933 (record_cdtor_fn): Use DECL_DISREGARD_INLINE_LIMITS.
3934 * ipa-inline-analysis.c (inline_node_removal_hook): Update; set
3935 estimated_growth to INT_MIN.
3936 (inline_node_duplication_hook): Likewise.
3937 (dump_inline_summary): Dump new fields.
3938 (compute_inline_parameters): Update.
3939 (estimate_edge_time, estimate_time_after_inlining,
3940 estimate_size_after_inlining, estimate_growth, inline_read_summary,
3941 inline_write_summary):
3942 (initialize_inline_failed): Move here from cgraph.c.
3943 * tree-sra.c: Include ipa-inline.h.
3944 (ipa_sra_preliminary_function_checks): Update.
f60c2554
UB
3945 * Makefile.in (cgraph.o, cgraphbuild.o): Add dependency on
3946 ipa-inline.h.
e7f23018 3947
e81b8564
UB
39482011-04-16 Uros Bizjak <ubizjak@gmail.com>
3949
3950 * config/i386/sse.md (V16): New mode iterator.
3951 (VI1, VI8): Ditto.
3952 (AVXMODEQI, AVXMODEDI): Remove.
3953 (sse2, sse3): New mode attribute.
3954 (mov<mode>): Use V16 mode iterator.
3955 (*mov<mode>_internal): Merge with *avx_mov<mode>_internal.
3956 (push<mode>1): Use V16 mode iterator.
3957 (movmisalign<mode>): Ditto.
3958 (<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
3959 <sse>_movu<ssemodesuffix> and avx_movu<ssemodesuffix><avxmodesuffix>.
3960 (*<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
3961 *<sse>_movu<ssemodesuffix> and *avx_movu<ssemodesuffix><avxmodesuffix>.
3962 (<sse2>_movdqu<avxmodesuffix>): Merge from sse2_movdqu and
3963 avx_movdqu<avxmodesuffix>.
3964 (*<sse2>_movdqu<avxmodesuffix>): Merge from *sse2_movdqu and
3965 *avx_movdqu<avxmodesuffix>.
3966 (<sse3>_lddqu<avxmodesuffix>) Merge from sse3_lddqu and
3967 avx_lddqu<avxmodesuffix>.
3968 (<sse>_movnt<mode>): Merge with avx_movnt<AVXMODEF2P:mode>.
3969 (<sse2>_movnt<mode>): Merge from sse2_movntv2di and
3970 avx_movnt<AVXMODEDI:mode>.
3971 * config/i386/i386.c (ix86_expand_vector_move_misalign): Update for
3972 renamed sse_movups, sse2_movupd and sse2_movdqu patterns.
3973
4743d438
BS
39742011-04-16 Bernd Schmidt <bernds@codesourcery.com>
3975
3976 PR target/48629
3977 * haifa-sched.c (prune_ready_list, schedule_block): Use
3978 sched_pressure_p rather than flag_sched_pressure.
3979
748f7574 39802011-04-15 Pat Haugen <pthaugen@us.ibm.com>
eb229cf4
PH
3981
3982 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
3983 cgraph_get_node instead of cgraph_get_create_node.
3984
2ba172e0
JJ
39852011-04-15 Jakub Jelinek <jakub@redhat.com>
3986
3987 * cfgexpand.c (expand_debug_expr): Use
3988 simplify_gen_{unary,binary,ternary} instead of gen_rtx_*.
3989
63d2a353
MM
39902011-04-15 Michael Matz <matz@suse.de>
3991
3992 * tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
3993 * builtins.c (expand_builtin): Use CALL_ALLOCA_FOR_VAR_P.
3994 * function.c (gimplify_parameters): Ditto.
3995 * gimplify.c (gimplify_vla_decl): Ditto.
3996
3997 * gimple.h (enum gf_mask): Add GF_CALL_ALLOCA_FOR_VAR.
3998 (gimple_call_set_alloca_for_var): New inline function.
3999 (gimple_call_alloca_for_var_p): Ditto.
e81b8564
UB
4000 * gimple.c (gimple_build_call_from_tree): Remember
4001 CALL_ALLOCA_FOR_VAR_P state.
63d2a353
MM
4002 * cfgexpand.c (expand_call_stmt): Restore CALL_ALLOCA_FOR_VAR_P state.
4003
4004 * tree-inline.c (inline_forbidden_p_stmt): Don't reject alloca
4005 calls if they were for VLA objects.
4006
dee74c34
MJ
40072011-04-15 Martin Jambor <mjambor@suse.cz>
4008
4009 * ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling
4010 of ADR_EXPRs.
4011
8e5837bc
MJ
40122011-04-15 Martin Jambor <mjambor@suse.cz>
4013
4014 PR middle-end/48601
4015 * tree-emutls.c (lower_emutls_function_body): Call
4016 cgraph_get_create_node instead of cgraph_get_node. Do not assert the
4017 result is non-NULL.
4018
0dc33c3c
NP
40192011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
4020
4021 * c-decl.c (detect_field_duplicates): Call
4022 objc_detect_field_duplicates instead of objc_get_interface_ivars.
4023
edcdea5b
NF
40242011-04-15 Nathan Froyd <froydnj@codesourcery.com>
4025
4026 * gimple.h (gimple_asm_clobbers_memory_p): Declare.
4027 * gimple.c (gimple_asm_clobbers_memory_p): Define.
4028 * ipa-pure-const.c (check_stmt): Call it.
4029 * tree-ssa-operands.c (get_asm_expr_operands): Likewise.
4030
8456558d
RG
40312011-04-15 Richard Guenther <rguenther@suse.de>
4032
4033 PR tree-optimization/48290
4034 * tree-ssa-copy.c (copy_prop_visit_phi_node): Propagate constants.
4035 Properly decide inhibiting propagation based on the valueized
4036 operand. Do loop-closed SSA form preserving here ...
4037 (init_copy_prop): ... not here.
4038
266446be
L
40392011-04-15 H.J. Lu <hongjiu.lu@intel.com>
4040
4041 PR target/48612
4042 * config/i386/sse.md (*ieee_smin<mode>3): Switch mnemonics.
4043 (*ieee_smax<mode>3): Likewise.
4044
17465c6e
AK
40452011-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4046
4047 * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
4048 Replace match_operand with match_dup for the third operand in
4049 these expanders.
4050
bce204e5
MK
40512011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
4052
4053 * combine.c (subst, combine_simlify_rtx): Add new argument, use it
4054 to track processing of conditionals. Update all callers.
4055 (try_combine, simplify_if_then_else): Update.
4056
3162fdf4
MK
40572011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
4058
4059 * config/m68k/m68k.c (m68k_sched_variable_issue): Handle
4060 -fsched-pressure.
4061
79002a57 40622011-04-15 Georg-Johann Lay <avr@gjlay.de>
e81b8564 4063
79002a57
GJL
4064 * config/avr/avr.md ("rotl<mode>3",mode=HIDI): Use match_dup
4065 instead of match_operand for operand 3.
4066
4fd3a105
RS
40672011-04-15 Richard Sandiford <richard.sandiford@linaro.org>
4068
4069 * recog.h (insn_operand_data): Add an "allows_mem" field.
4070 * genoutput.c (output_operand_data): Initialize it.
4071 * optabs.c (maybe_legitimize_operand_same_code): New function.
4072 (maybe_legitimize_operand): Use it when matching the original
4073 op->value.
4074
ad19c4be
EB
40752011-04-15 Eric Botcazou <ebotcazou@adacore.com>
4076
4077 * gimplify.c: Fix issues in comments throughout.
4078 (voidify_wrapper_expr): Fix long line.
4079 (build_stack_save_restore): Likewise.
4080 (gimplify_loop_expr): Likewise.
4081 (gimplify_compound_lval): Likewise.
4082 (gimplify_init_ctor_eval): Likewise.
4083 (gimplify_modify_expr_rhs): Likewise.
4084 (omp_notice_threadprivate_variable): Likewise.
4085
b25aa0e8 40862011-04-15 Eric Botcazou <ebotcazou@adacore.com>
e7925582 4087
b25aa0e8
EB
4088 * cfgexpand.c (expand_call_stmt): Convert the function type to the
4089 original one if this is not a builtin function.
e7925582 4090
09db7afe
JJ
40912011-04-14 Jakub Jelinek <jakub@redhat.com>
4092
4093 PR target/48605
4094 * config/i386/sse.md (sse4_1_insertps): If operands[2] is a MEM,
4095 offset it as needed based on top 2 bits in operands[3], change
4096 MEM mode to SFmode and mask those 2 bits away from operands[3].
4097
c59633d9
NP
40982011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4099
4100 * c-parser.c (c_parser_objc_protocol_definition): Updated for
4101 change from objc_declare_protocols() to objc_declare_protocol().
4102
5e60198b
UB
41032011-04-14 Uros Bizjak <ubizjak@gmail.com>
4104
4105 * config/i386/sse.md (sse4_1): New mode attribute.
4106 (<sse4_1>_blend<ssemodesuffix><avxmodesuffix>): Macroize from
4107 avx_blend<ssemodesuffix><avxmodesuffix> and
4108 sse4_1_blend<ssemodesuffix> using VF mode iterator.
4109 (<sse4_1>_blendv<ssemodesuffix><avxmodesuffix>): Macroize from
4110 avx_blendv<ssemodesuffix><avxmodesuffix> and
4111 sse4_1_blendv<ssemodesuffix> using VF mode iterator.
4112 (<sse4_1>_dp<ssemodesuffix><avxmodesuffix>): Macroize from
4113 avx_dp<ssemodesuffix><avxmodesuffix> and
4114 sse4_1_dp<ssemodesuffix> using VF mode iterator.
4115 (sse4_1_mpsadbw): Merge with *avx_mpsadbw.
4116 (sse4_1_packusdw): Merge with *avx_packusdw.
4117 (sse4_1_pblendvb): Merge with *avx_pblendvb.
4118 (sse4_1_pblendw): Merge with *avx_pblendw.
4119 (avx_vtest<ssemodesuffix><avxmodesuffix>): Use VF mode iterator.
4120 (<sse4_1>_round<ssemodesuffix><avxmodesuffix>): Macroize from
4121 avx_round<ssemodesuffix>256 and sse4_1_round<ssemodesuffix> using
4122 VF mode iterator.
4123 (sse4_1_round<ssescalarmodesuffix>): Merge with
4124 *avx_round<ssescalarmodesuffix>.
4125 (aesenc): Merge with *avx_aesenc.
4126 (aesenclast): Merge with *avx_aesenclast.
4127 (aesdec): Merge with *avx_aesdec.
4128 (aesdeclast): Merge with *avx_aesdeclast.
4129 (pclmulqdq): Merge with *pclmulqdq.
4130 * config/i386/predicates.md (reg_not_xmm0_operand_maybe_avx):
4131 New predicate.
4132 (nonimm_not_xmm0_operand_maybe_avx): Ditto.
4133
6f197850
L
41342011-04-14 H.J. Lu <hongjiu.lu@intel.com>
4135
4136 PR middle-end/48608
4137 * cfgexpand.c (get_decl_align_unit): Renamed to ...
4138 (align_local_variable): This. Update DECL_ALIGN.
4139 (add_stack_var): Updated.
4140 (expand_one_stack_var): Likewise.
4141
4a5ba3ed
RG
41422011-04-14 Richard Guenther <rguenther@suse.de>
4143
4144 * tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
4145 Remove.
4146 (dse_initialize_block_local_data, dse_leave_block,
4147 record_voperand_set, get_stmt_uid): Likewise.
4148 (dse_possible_dead_store_p): Allow any kind of killing stmt.
4149 (dse_optimize_stmt): Remove voperand set handling code.
4150 Simplify and improve to handle any kind of killing stmt.
4151 (dse_record_phi): Remove.
4152 (dse_enter_block): Simplify.
4153 (tree_ssa_dse): Likewise.
4154 * tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.
4155
10a5dd5d
JH
41562011-04-14 Jan Hubicka <jh@suse.cz>
4157
4158 * cgraph.c (dump_cgraph_node): Do not dump inline summaries.
4159 * cgraph.h (struct inline_summary): Move to ipa-inline.h
4160 (cgraph_local_info): Remove inline_summary.
4161 * ipa-cp.c: Include ipa-inline.h.
4162 (ipcp_cloning_candidate_p, ipcp_estimate_growth,
4163 ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
4164 accesor.
4165 * lto-cgraph.c (lto_output_node): Do not stream inline summary.
4166 (input_overwrite_node): Do not set inline summary.
4167 (input_node): Do not stream inline summary.
4168 * ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
4169 (cgraph_decide_inlining_incrementally): Do not try to estimate overall
4170 growth; we do not have inline parameters computed for that anyway.
4171 (cgraph_early_inlining): After inlining compute call_stmt_sizes.
4172 * ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
4173 (inline_summary_t): New type and VECtor.
4174 (debug_inline_summary, dump_inline_summaries): Declare.
4175 (inline_summary): Use VOCtor.
4176 (estimate_edge_growth): Kill hack computing call stmt size directly.
4177 * lto-section-in.c (lto_section_name): Add inline section.
4178 * ipa-inline-analysis.c: Include lto-streamer.h
4179 (node_removal_hook_holder, node_duplication_hook_holder): New holders
4180 (inline_node_removal_hook, inline_node_duplication_hook): New functions.
4181 (inline_summary_vec): Define.
4182 (inline_summary_alloc, dump_inline_summary, debug_inline_summary,
4183 dump_inline_summaries): New functions.
5e60198b
UB
4184 (estimate_function_body_sizes): Properly compute size/time of outgoing
4185 calls.
4186 (compute_inline_parameters): Alloc inline_summary; do not compute
4187 size/time of incomming calls.
10a5dd5d
JH
4188 (estimate_edge_time): Avoid missing time summary hack.
4189 (inline_read_summary): Read inline summary info.
4190 (inline_write_summary): Write inline summary info.
4191 (inline_free_summary): Free all hooks and inline summary vector.
4192 * lto-streamer.h: Add LTO_section_inline_summary section.
4193 * Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
4194 * ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.
4195
b602d918
RS
41962011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
4197
4198 * tree-vectorizer.h (vect_strided_store_supported): Add a
4199 HOST_WIDE_INT argument.
4200 (vect_strided_load_supported): Likewise.
4201 (vect_permute_store_chain): Return void.
4202 (vect_transform_strided_load): Likewise.
4203 (vect_permute_load_chain): Delete.
4204 * tree-vect-data-refs.c (vect_strided_store_supported): Take a
4205 count argument. Check that the count is a power of two.
4206 (vect_strided_load_supported): Likewise.
4207 (vect_permute_store_chain): Return void. Update after above changes.
4208 Assert that the access is supported.
4209 (vect_permute_load_chain): Likewise.
4210 (vect_transform_strided_load): Return void.
4211 * tree-vect-stmts.c (vectorizable_store): Update calls after
4212 above interface changes.
4213 (vectorizable_load): Likewise.
4214 (vect_analyze_stmt): Don't check for strided powers of two here.
4215
ab4472fa
RG
42162011-04-14 Richard Guenther <rguenther@suse.de>
4217
4218 PR tree-optimization/48590
4219 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
4220 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
4221 (call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
4222 BUILT_IN_STACK_SAVE.
4223 * tree-ssa-dce.c (propagate_necessity): Handle
4224 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
4225
32dabdaf
NP
42262011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4227
4228 * c-parser.c (c_parser_objc_class_declaration): Updated call to
4229 objc_declare_class.
4230
daade206
RG
42312011-04-14 Richard Guenther <rguenther@suse.de>
4232
4233 * tree.h (get_object_alignment_1): Declare.
4234 * builtins.c (get_object_alignment_1): Split out worker from ...
4235 (get_object_alignment): ... here.
4236 * fold-const.c (get_pointer_modulus_and_residue): Use
4237 get_object_alignment_1.
4238
920e8172
RS
42392011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
4240
4241 * tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
4242 type parameter.
4243 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
4244 parameter. Generalise code to handle arrays as well as vectors.
4245 (vect_setup_realignment): Update accordingly.
4246 * tree-vect-stmts.c (vectorizable_store): Likewise.
4247 (vectorizable_load): Likewise.
4248
5ce1ee7f
RS
42492011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
4250
4251 * tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain
4252 within the per-copy loop.
4253
6438fe33 42542011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
0ea25ecd
RS
4255
4256 * tree-vect-stmts.c (vectorizable_load): Print the number of copies
4257 in the dump file.
4258
6438fe33 42592011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
77b10485
RS
4260
4261 * doc/options.texi (Negative): Explicitly mention that the
4262 Negative chain must be circular.
4263
61e46a7d
NF
42642011-04-14 Nathan Froyd <froydnj@codesourcery.com>
4265
4266 * function.h (block_chainon): Declare.
4267 * function.c (block_chainon): Define.
4268
43ea6502 42692011-04-14 Anatoly Sokolov <aesok@post.ru>
5e60198b 4270 Eric Weddington <eric.weddington@atmel.com>
748f7574 4271 Georg-Johann Lay <avr@gjlay.de>
5e60198b 4272
f60c2554 4273 * config/avr/avr.c ("insn-codes.h", "optabs.h", "langhooks.h"):
43ea6502
AS
4274 New Includes
4275 (avr_init_builtins, avr_expand_builtin,
4276 avr_expand_delay_cycles, avr_expand_unop_builtin,
4277 avr_expand_binop_builtin ): New functions.
4278 (avr_builtin_id): New enum
4279 (struct avr_builtin_description): New struct
4280 (bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins.
4281 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
5e60198b 4282
43ea6502 4283 * config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU,
5e60198b 4284 UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR,
43ea6502
AS
4285 UNSPECV_DELAY_CYCLES): new enumeration values
4286 (UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values
4287 ("enable_interrupt"): Use UNSPECV_ENABLE_IRQS
4288 ("disable_interrupt"): Use UNSPECV_ENABLE_IRQS
4289 ("*rotlqi3_4"): rename insn to "rotlqi3_4"
4290 ("delay_cycles_1", "delay_cycles_2", "delay_cycles_3",
4291 "delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls",
4292 "fmulsu"): New insns
5e60198b 4293
43ea6502
AS
4294 * config/avr/avr-c.c: fix line endings
4295 (avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP,
4296 __BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR,
4297 __BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP,
4298 __BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL,
4299 __BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU.
5e60198b 4300
43ea6502
AS
4301 * doc/extend.texi (AVR Built-in Functions): New node
4302 (Target Builtins): Add documentation of AVR
4303 built-in functions.
4304
8a9b55f3
GJL
43052011-04-14 Georg-Johann Lay <avr@gjlay.de>
4306
4307 PR target/44643
4308 * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
4309 alone. Error if non-const data has attribute progmem.
4310
94bd1825
NF
43112011-04-13 Nathan Froyd <froydnj@codesourcery.com>
4312
4313 * tree.h (struct tree_constructor): Include tree_typed instead of
4314 tree_common.
4315 * tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as
4316 TS_TYPED instead of TS_COMMON.
4317
5e60198b 43182011-04-13 Uros Bizjak <ubizjak@gmail.com>
81b1e7eb
UB
4319
4320 * config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
4321 (*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3.
4322 (sse2_psadbw): Merge with *avx_psadbw.
4323 (ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3.
4324 (ssse3_phadddv4si3): Merge with *avx_phadddv4si3.
4325 (ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3.
4326 (ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3.
4327 (ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3.
4328 (ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3.
4329 (ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128.
4330 (*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3.
4331 (ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3.
4332 (ssse3_psign<mode>3): Merge with *avx_psign<mode>3.
4333 (ssse3_palignrti): Merge with *avx_palignrti.
4334
4b1a4694
NF
43352011-04-13 Nathan Froyd <froydnj@codesourcery.com>
4336
4337 * tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
4338 * tree-ssanames.c (fini_ssanames): VEC_free it.
4339 (make_ssa_name_fn): Update for VECness of free_ssanames.
4340 (release_ssa_name, release_dead_ssa_names): Likewise.
4341 * tree.h (struct tree_ssa_name): Include tree_typed instead of
4342 tree_common.
4343 * tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
4344 TS_TYPED instead of TS_COMMON.
4345
4da3b811
NF
43462011-04-13 Nathan Froyd <froydnj@codesourcery.com>
4347
4348 * postreload-gcse.c (gcse_after_reload_main): Add calls to
4349 statistics_counter_event.
4350 * tree-ssa-copyrename.c (stats): Define.
4351 (rename_ssa_copies): Count coalesced SSA_NAMEs. Add call to
4352 statistics_counter_event.
4353 * tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
4354 (bswap_stats, widen_mul_stats): Define.
4355 (insert_reciprocals): Increment rdivs_inserted.
4356 (execute_cse_reciprocals): Zeroize reciprocal_stats. Increment
4357 rfuncs_inserted. Add calls to statistics_counter_event.
4358 (execute_cse_sincos_1): Increment inserted.
4359 (execute_cse_sincos): Zeroize sincos_stats. Add call to
4360 statistics_counter_event.
4361 (execute_optimize_bswap): Zeroize bswap_stats. Increment fields
4362 of bswap_stats. Add calls to statistics_counter_event.
4363 (convert_mult_to_widen): Increment widen_mults_inserted.
4364 (convert_plusminus_to_widen): Increment maccs_inserted.
4365 (convert_mult_to_fma): Increment fmas_inserted.
4366 (execute_optimize_widening_mul): Zeroize widen_mul_stats. Add
4367 calls to statistics_counter_event.
4368
89fa552a
VM
43692011-04-13 Vladimir Makarov <vmakarov@redhat.com>
4370
4371 PR rtl-optimization/48455
4372 * ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
4373 `temp_costs->mem_cost'.
4374
03dfc36d
JH
43752011-04-13 Jan Hubicka <jh@suse.cz>
4376
4377 * ipa-inline.h: New file.
4378 * ipa-inline-analysis.c: New file. Broken out of ...
4379 * ipa-inline.c: ... this file; update toplevel comment;
4380 include ipa-inline.h
4381 (inline_summary): Move to ipa-inline.h
4382 (cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
4383 ipa-inline-analysis.c.
7d4f8d02
EB
4384 (cgraph_estimate_time_after_inlining): Rename to
4385 estiamte_time_after_inlining; move to ipa-inline-analysis.c
03dfc36d
JH
4386 (cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
4387 to estimate_edge_growth.
4388 (cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
4389 rename to estimate_size_after_inlining.
4390 (cgraph_mark_inline_edge): Update for new naming convention.
4391 (cgraph_check_inline_limits): Likewise.
4392 (cgraph_edge_badness): Likewise.
4393 (cgraph_decide_recursive_inlining): Likewise.
4394 (cgraph_decide_inlining_of_small_functions): Likewise.
4395 (cgraph_decide_inlining_incrementally): Likewise.
7d4f8d02
EB
4396 (cgraph_estimate_growth): Rename to estimate_growth; move to
4397 ipa-inline-analysis.c.
03dfc36d
JH
4398 (eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
4399 (estimate_function_body_sizes): Move to ipa-inline-analysis.c.
4400 (compute_inline_parameters): Likewise.
4401 (compute_inline_parameters_for_current): Likewise.
4402 (pass_inline_parameters): Likewise.
4403 (inline_indirect_intraprocedural_analysis): Likewise.
4404 (analyze_function): Rename to inline_analyze_function; likewise.
4405 (add_new_function): Move to ipa-inline-analysis.c.
4406 (inline_generate_summary): Likewise.
4407 (inline_read_summary): Likewise.
4408 (inline_write_summary): Likewise.
4409 * Makefile.in (ipa-inline-analysis.c): New file.
4410
7673c962
RO
44112011-04-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4412
4413 * configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
4414 * configure: Regenerate.
4415
9698252f
NF
44162011-04-13 Nathan Froyd <froydnj@codesourcery.com>
4417
4418 * tree.h (struct tree_int_cst, struct real_value): Include tree_typed
4419 instead of tree_common.
4420 (struct tree_fixed_cst, struct tree_string, struct tree_complex):
4421 Likewise.
4422 * tree.c (initialize_tree_contains_struct): Mark such nodes as being
4423 TS_TYPED rather than TS_COMMON.
4424 * print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.
4425
3a7bfdd5
GJL
44262011-04-01 Georg-Johann Lay <avr@gjlay.de>
4427
4428 PR target/45263
86d83530
GJL
4429 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Don't use
4430 r20 around calls of __tablejump_elpm__
3a7bfdd5 4431
20790697
JJ
44322011-04-13 Jakub Jelinek <jakub@redhat.com>
4433
4434 PR middle-end/48591
4435 * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
4436 NULL.
4437 (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
4438
094d7661
BS
44392011-04-13 Bernd Schmidt <bernds@codesourcery.com>
4440
4441 * dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
4442 (dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
4443 (cfi_vec): New typedef.
4444 (struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
4445 dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
4446 (cie_cfi_vec): New static variable.
4447 (cie_cfi_head): Delete.
4448 (add_cfi): Accept a cfi_vec * as first argument. All callers and
4449 declaration changed. Use vector rather than list operations.
4450 (new_cfi): Don't initialize the dw_cfi_next field.
4451 (add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
4452 rather than list operations.
4453 (lookup_cfa): Use vector rather than list operations.
4454 (output_cfis): New argument upto. Accept a cfi_vec rather than
4455 a dw_cfi_ref list head as argument. All callers changed.
4456 Iterate over the vector using upto as a maximum index.
4457 (output_all_cfis): New static function.
4458 (output_fde): Use vector rather than list operations. Use the
4459 new upto argument for output_cfis rather than manipulating a
4460 list.
4461 (dwarf2out_begin_prologue): Change initializations to match
4462 new struct members.
4463 (dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
4464 from the vector length rather than searching for the end of a list.
4465 Use output_all_cfis.
4466 (convert_cfa_to_fb_loc_list): Use vector rather than list operations.
4467
673a5740
NC
44682011-04-13 Nick Clifton <nickc@redhat.com>
4469
4470 * config/rx/rx.md (movmemsi): Do not use this pattern when
4471 volatile pointers are involved.
4472
1ee8b298
UB
44732011-04-13 Uros Bizjak <ubizjak@gmail.com>
4474
4475 * config/i386/sse.md (pinsrbits): Remove.
4476 (sse2_packsswb): Merge with *avx_packsswb.
4477 (sse2_packssdw): Merge with *avx_packssdw.
4478 (sse2_packuswb): Merge with *avx_packuswb.
4479 (vec_interleave_highv16qi): Merge with *avx_interleave_highv16qi.
4480 (vec_interleave_lowv16qi): Merge with *avx_interleave_lowv16qi.
4481 (vec_interleave_highv8hi): Merge with *avx_interleave_highv8hi.
4482 (vec_interleave_lowv8hi): Merge with *avx_interleave_lowv8hi.
4483 (vec_interleave_highv4si): Merge with *avx_interleave_highv4si.
4484 (vec_interleave_lowv4si): Merge with *avx_interleave_lowv4si.
4485 (*sse4_1_pinsrb): Merge with *avx_pinsr<ssevecsize>.
4486 (*sse2_pinsrw): Merge with *avx_pinsr<ssevecsize>.
4487 (*sse4_1_pinsrd): Merge with *avx_pinsr<ssevecsize>.
4488 (*sse4_1_pinsrq): Merge with *avx_pinsrq.
4489 (sse2_loadld): Merge with *avx_loadld.
4490 (*vec_extractv2di_1_rex64): Merge with *vec_extractv2di_1_rex64_avx.
4491 (*vec_extractv2di_1_sse2): Merge with *vec_extractv2di_1_avx.
4492 (*vec_concatv2si_sse4_1): Merge with *vec_concatv2si_avx.
4493 (*vec_concatv2di_rex64_sse4_1): Merge with *vec_concatv2di_rex64_avx.
4494 (vec_concatv2di): Merge with *vec_concatv2di_avx.
4495
81f653d6
NF
44962011-04-12 Nathan Froyd <froydnj@codesourcery.com>
4497
4498 * c-decl.c (union lang_tree_node): Check for TS_COMMON before
4499 calling TREE_CHAIN.
4500 * print-tree.c (print_node): Likewise.
4501 * tree-inline.c (copy_tree_r): Likewise.
4502 * c-lang.c (LANG_HOOKS_INIT_TS): Define.
4503 * lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
4504 instead of TS_COMMON.
4505 * lto-streamer-out.c (lto_output_tree_pointers): Likewise.
4506 * tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
4507 (copy_node_stat): Zero TREE_CHAIN only if necessary.
4508 (MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
4509 (MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
4510 ...and these...
4511 (MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
4512 * tree.h: ...here.
4513 (TREE_CHAIN): Check for a TS_COMMON structure.
4514 (TREE_TYPE): Check for a TS_TYPED structure.
4515
748f7574 45162011-04-12 Pat Haugen <pthaugen@us.ibm.com>
ed940a4a
PH
4517
4518 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
4519 cgraph_get_create_node instead of cgraph_node.
4520
eb345401
NP
45212011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
4522
4523 * c-parser.c (c_parser_initelt): Updated call to
4524 objc_build_message_expr.
4525 (c_parser_postfix_expression): Likewise.
4526
a6c46762
KT
45272011-04-12 Kai Tietz <ktietz@redhat.com>
4528
4529 * config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add
4530 MASK_MS_BITFIELD_LAYOUT bit.
4531
b4ccfed9
JJ
45322011-04-12 Jakub Jelinek <jakub@redhat.com>
4533
4534 * combine.c (update_cfg_for_uncondjump): Instead of testing at_end
4535 assert it is always true.
4536 (try_combine): Don't call update_cfg_for_uncondjump for noop non-jump
4537 moves.
4538
0d8a2528
NP
45392011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
4540
4541 * c-parser.c (c_lex_one_token): Rewritten conditional used when
4542 compiling Objective-C to be more efficient.
4543
06bd234a
AF
45442011-04-12 Axel Freyn <axel-freyn@gmx.de>
4545
4546 * opts-common.c (decode_cmdline_options_to_array): Remove variable
4547 argv_copied.
4548
28569ac3
RS
45492011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
4550
4551 * recog.h, genoutput.c, optabs.c: Revert last patch.
4552
ae59e00d
RR
45532011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
4554
81b1e7eb
UB
4555 PR target/48090
4556 * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
ae59e00d 4557
cff1b7e0
RS
45582011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
4559
4560 * recog.h (insn_operand_data): Add an "allows_mem" field.
4561 * genoutput.c (output_operand_data): Initialize it.
4562 * optabs.c (maybe_legitimize_operand_same_code): New function.
4563 (maybe_legitimize_operand): Use it when matching the original
4564 op->value.
4565
77059241
RS
45662011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
4567
4568 * genpreds.c (process_define_predicate): Move most processing
4569 to gensupport.c. Continue to validate the expression.
4570 * genrecog.c (did_you_mean_codes, compute_predicate_codes)
4571 (process_define_predicate): Move processing to gensupport.c.
4572 (main): Remove DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE cases.
4573 * gensupport.c (did_you_mean_codes): Moved from genrecog.c.
4574 (compute_predicate_codes): Moved from genrecog.c. Add lineno
4575 argument.
4576 (valid_predicate_name_p): New function, split out from old
4577 genpreds.c:process_define_predicate.
4578 (process_define_predicate): New function, combining code from
4579 old genpreds.c and genrecog.c functions.
4580 (process_rtx): Call it for DEFINE_PREDICATE and
4581 DEFINE_SPECIAL_PREDICATE.
4582
6308e208
RS
45832011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
4584
4585 * config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
4586 size of a '%A' memory reference.
4587 (T_DREG, T_QREG): New neon_builtin_type_bits.
4588 (arm_init_neon_builtins): Assert that the load and store operands
4589 are neon_struct_operands.
4590 (locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
4591 (NEON_ARG_MEMORY): New builtin_arg.
4592 (neon_dereference_pointer): New function.
4593 (arm_expand_neon_args): Add a neon_builtin_type_bits argument.
4594 Handle NEON_ARG_MEMORY.
4595 (arm_expand_neon_builtin): Update after above interface changes.
4596 Use NEON_ARG_MEMORY for loads and stores.
4597 * config/arm/predicates.md (neon_struct_operand): New predicate.
4598 * config/arm/iterators.md (V_two_elem): Tweak formatting.
4599 (V_three_elem): Use BLKmode for accesses that have no associated mode.
4600 (V_four_elem): Tweak formatting.
4601 * config/arm/neon.md (neon_vld1<mode>, neon_vld1_dup<mode>)
4602 (neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
4603 (neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
4604 (neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
4605 (neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
4606 (neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
4607 (neon_vst4<mode>): Replace pointer operand with a memory operand.
4608 Use %A in the output template.
4609 (neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
4610 (neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
4611 (neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
4612 the width of the memory access. Remove post-increment.
4613 * config/arm/neon-testgen.ml: Allow addresses to have an alignment.
4614
e5db8f2f
NC
46152011-04-12 Nick Clifton <nickc@redhat.com>
4616
4617 * config/v850/v850.c (expand_prologue): Do not use the CALLT
4618 instruction for interrupt handlers if the target is the basic V850
4619 architecture.
4620 (expand_epilogue): Likewise.
4621
74f091d6
JJ
46222011-04-12 Jakub Jelinek <jakub@redhat.com>
4623
4624 PR rtl-optimization/48549
4625 * combine.c (propagate_for_debug): Also stop after BB_END of
4626 this_basic_block. Process LAST and just stop processing after it.
4627 (combine_instructions): If last_combined_insn has been deleted,
4628 set last_combined_insn to its PREV_INSN.
4629
f20ca725
RG
46302011-04-12 Richard Guenther <rguenther@suse.de>
4631
4632 PR tree-optimization/46076
4633 * gimple.h (struct gimple_statement_call): Add fntype field.
4634 (gimple_call_fntype): Adjust.
4635 (gimple_call_set_fntype): New function.
4636 * gimple.c (gimple_build_call_1): Set the call function type.
4637 * gimplify.c (gimplify_call_expr): Preserve the function
4638 type the frontend used for the call.
4639 (gimplify_modify_expr): Likewise.
4640 * lto-streamer-in.c (input_gimple_stmt): Input the call stmts
4641 function type.
4642 * lto-streamer-out.c (output_gimple_stmt): Output the call stmts
4643 function type.
4644 * tree-ssa.c (useless_type_conversion_p): Function pointer
4645 conversions are useless.
4646
a358e188
MJ
46472011-04-12 Martin Jambor <mjambor@suse.cz>
4648
4649 * cgraph.h (cgraph_node): Remove function declaration.
4650 (cgraph_create_node): Declare.
4651 (cgraph_get_create_node): Likewise.
4652 * cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1.
4653 Updated all callers.
4654 (cgraph_node): Renamed to cgraph_create_node, assert that a node for
4655 the decl does not already exist. Call cgraph_get_create_node instead
4656 of cgraph_node.
4657 (cgraph_get_create_node): New function.
4658 (cgraph_same_body_alias): Update comment.
4659 (cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node,
4660 assert it does not return NULL.
4661 (cgraph_update_edges_for_call_stmt): Likewise.
4662 (cgraph_clone_edge): Likewise.
4663 (cgraph_create_virtual_clone): Likewise.
4664 (cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node
4665 instead of cgraph_node.
4666 (cgraph_add_new_function): Call cgraph_create_node or
4667 cgraph_get_create_node instead of cgraph_node.
4668 * cgraphbuild.c (record_reference): Call cgraph_get_create_node
4669 instead of cgraph_node.
4670 (record_eh_tables): Likewise.
4671 (mark_address): Likewise.
4672 (mark_load): Likewise.
4673 (build_cgraph_edges): Call cgraph_get_create_node instead
4674 of cgraph_node.
4675 (rebuild_cgraph_edges): Likewise.
4676 * cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node
4677 instead of cgraph_node.
4678 (cgraph_copy_node_for_versioning): Call cgraph_create_node instead of
4679 cgraph_node.
4680 * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call
4681 cgraph_create_node instead of cgraph_node.
4682 * c-decl.c (finish_function): Call cgraph_get_create_node instead
4683 of cgraph_node.
4684 * lto-cgraph.c (input_node): Likewise.
4685 * lto-streamer-in.c (input_function): Likewise.
4686 * varasm.c (mark_decl_referenced): Likewise.
4687 (assemble_alias): Likewise.
4688
fe660d7b
MJ
46892011-04-12 Martin Jambor <mjambor@suse.cz>
4690
4691 * tree-inline.c (tree_function_versioning): Call cgraph_get_node
4692 instead of cgraph_node and assert it does not return NULL.
4693 * lto-streamer-in.c (lto_read_body): Likewise.
4694 * omp-low.c (new_omp_context): Likewise.
4695 (create_task_copyfn): Likewise.
4696 * tree-emutls.c (lower_emutls_function_body): Likewise.
4697 * matrix-reorg.c (transform_allocation_sites): Likewise.
4698
bae5cddf
JJ
46992011-04-12 Jakub Jelinek <jakub@redhat.com>
4700
4701 PR c/48552
4702 * c-typeck.c (build_asm_expr): Error out on attempts to use
4703 void type outputs or inputs for constraints that allow reg or
4704 don't allow memory.
4705
06eb52ca
CLT
47062011-04-11 Chung-Lin Tang <cltang@codesourcery.com>
4707 Richard Earnshaw <rearnsha@arm.com>
4708
4709 PR target/48250
4710 * config/arm/arm.c (arm_legitimize_reload_address): Update cases
4711 to use sign-magnitude offsets. Reject unsupported unaligned
4712 cases. Add detailed description in comments.
4713 * config/arm/arm.md (reload_outdf): Disable for ARM mode; change
4714 condition from TARGET_32BIT to TARGET_ARM.
4715
648a616b
NF
47162011-04-11 Nathan Froyd <froydnj@codesourcery.com>
4717
4718 * tree.h (struct typed_tree): New.
4719 (struct tree_common): Include it instead of tree_base.
4720 (TREE_TYPE): Update for new location of type field.
4721 (TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly.
4722 (DECL_USER_ALIGN, DECL_PACKED): Likewise.
4723 (union tree_node): Add typed field.
4724 * treestruct.def (TS_TYPED): New.
4725 * lto-streamer.c (check_handled_ts_structures): Handle it.
4726 * tree.c (MARK_TS_TYPED): New macro.
4727 (MARK_TS_COMMON): Call it instead of MARK_TS_BASE.
4728
1e6d1da0
EB
47292011-04-11 Eric Botcazou <ebotcazou@adacore.com>
4730
4731 * cfghooks.c (redirect_edge_and_branch_force): Localize variable.
4732 (force_nonfallthru): Do not alter the loop nest if no basic block
4733 was created.
4734
47352011-04-11 Uros Bizjak <ubizjak@gmail.com>
d8700b1c
UB
4736
4737 * config/i386/sse.md (VI): New mode iterator.
4738 (SSEMODEI): Remove.
4739 (AVX256MODEI): Ditto.
4740 (AVXMODEF4P): Ditto.
4741 (avxvecpsmode): Ditto.
4742 (one_cmpl<mode>2): Enable for TARGET_SSE. Use VI mode iterator.
4743 (sse2_andnot<mode>3): New expander.
4744 (*andnot<mode>3): Merge with *sse2_andnot<mode>3 and
4745 *avx_andnot<mode>3. Enable for TARGET_SSE. Use VI mode iterator.
4746 (<any_logic:code><mode>3): Use VI mode iterator.
4747 (*<any_logic:code><mode>3): Merge with *sse2_<any_logic:code><mode>3
4748 and *avx_<any_logic:code><mode>3. Use VI mode iterator.
4749 (*andnottf3): Handle AVX three-operand constraints.
4750 (*<any_logic:code>tf3): Handle AVX three-operand constraints.
4751
b1372d5d 47522011-04-11 Joseph Myers <joseph@codesourcery.com>
d8700b1c 4753 Robert Millan <rmh@gnu.org>
b1372d5d
JM
4754
4755 * config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
4756 * config/i386/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER32,
4757 GNU_USER_DYNAMIC_LINKER64): Define.
4758 (REG_NAME): Don't undefine.
4759 (MD_UNWIND_SUPPORT): Undefine.
4760 * config/i386/knetbsd-gnu.h (GNU_USER_LINK_EMULATION): Define.
4761 (REG_NAME): Don't undefine.
4762 (MD_UNWIND_SUPPORT): Undefine.
d8700b1c 4763 * config/i386/kopensolaris-gnu.h (GNU_USER_LINK_EMULATION): Define.
b1372d5d 4764
761c0c6e
JM
47652011-04-11 Joseph Myers <joseph@codesourcery.com>
4766
4767 * config/i386/gnu.h (GNU_USER_LINK_EMULATION): Define.
4768 (CPP_SPEC, CC1_SPEC, ENDFILE_SPEC): Remove.
4769
26e0228f
XDL
47702011-04-11 Xinliang David Li <davidxl@google.com>
4771
4772 * value-profile.c (check_ic_target): New function.
4773 (gimple_ic_transform): Sanity check indirect call target.
4774 * gimple-low.c (gimple_check_call_args): Interface change.
4775 (gimple_check_call_matching_types): New function.
4776 * tree-inline.c (tree_can_inline_p): Call new function.
6075765d
BS
4777
47782011-04-11 Basile Starynkevitch <basile@starynkevitch.net>
4779
4780 * Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h
4781 tree-pretty-print.h & realmpfr.h.
4782
a58dfa49
VM
47832011-04-11 Vladimir Makarov <vmakarov@redhat.com>
4784
4785 PR middle-end/48464
4786 * ira.c (setup_pressure_classes): Fix typo in loop condition.
4787 (setup_allocno_and_important_classes): Ditto.
4788
107fd1c1
JM
47892011-04-11 Joseph Myers <joseph@codesourcery.com>
4790
4791 * config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
4792 GNU_USER_DYNAMIC_LINKER.
4793 * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
4794 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4795 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
4796 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
4797 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
4798 GNU_USER_TARGET_OS_CPP_BUILTINS.
4799 * config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
4800 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4801 * config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
4802 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4803 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
4804 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
4805 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
4806 GNU_USER_TARGET_OS_CPP_BUILTINS.
4807 * config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
4808 GNU_USER_DYNAMIC_LINKER.
4809 * config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
4810 GNU_USER_TARGET_OS_CPP_BUILTINS.
4811 * config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
4812 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4813 * config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
4814 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4815 * config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
4816 * config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
4817 GNU_USER_DYNAMIC_LINKER64): Remove.
4818 * config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
4819 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4820 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
4821 GNU_USER_DYNAMIC_LINKER.
4822 * config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
4823 GNU_USER_TARGET_OS_CPP_BUILTINS.
4824 * config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
4825 GNU_USER_TARGET_OS_CPP_BUILTINS.
4826 * config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
4827 to GNU_USER_TARGET_OS_CPP_BUILTINS.
4828 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
4829 GNU_USER_TARGET_OS_CPP_BUILTINS.
4830 (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
4831 (LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
4832 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
4833 * config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
4834 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4835 * config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
4836 GNU_USER_DYNAMIC_LINKER.
4837 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
4838 GNU_USER_TARGET_OS_CPP_BUILTINS.
4839 * config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
4840 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4841 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
4842 GNU_USER_DYNAMIC_LINKER.
4843 * config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
4844 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4845 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
4846 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4847 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
4848 GNU_USER_DYNAMIC_LINKER.
4849 * config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
4850 GNU_USER_DYNAMIC_LINKERN32.
4851 (LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
4852 GNU_USER_DYNAMIC_LINKERN32. Change LINUX_DYNAMIC_LINKER64 to
4853 GNU_USER_DYNAMIC_LINKER64. Change LINUX_DYNAMIC_LINKER32 to
4854 GNU_USER_DYNAMIC_LINKER32.
4855 * config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change
4856 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4857 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
4858 GNU_USER_DYNAMIC_LINKER.
4859 * config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
4860 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4861 * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
4862 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 4863 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1
JM
4864 * config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
4865 GNU_USER_DYNAMIC_LINKER32.
4866 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
4867 * config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
4868 GNU_USER_DYNAMIC_LINKER.
4869 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
4870 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4871 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
4872 GNU_USER_DYNAMIC_LINKER32. Change LINUX_DYNAMIC_LINKER64 to
4873 GNU_USER_DYNAMIC_LINKER64.
4874 * config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
4875 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4876 (SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
4877 GNU_USER_DYNAMIC_LINKER.
4878 * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
4879 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4880 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
4881 GNU_USER_DYNAMIC_LINKER.
4882 * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
4883 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4884 (LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
4885 GNU_USER_DYNAMIC_LINKER32.
4886 (LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
4887 GNU_USER_DYNAMIC_LINKER64.
4888 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
4889 GNU_USER_DYNAMIC_LINKER64.
4890 * config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
4891 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4892 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
4893 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 4894 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1 4895
e24609cf
JM
48962011-04-11 Joseph Myers <joseph@codesourcery.com>
4897
4898 * config/i386/gnu-user.h: Copy from linux.h. Update comments.
4899 (LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
4900 (SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
4901 GNU_USER_DYNAMIC_LINKER.
4902 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
4903 * config/i386/gnu-user64.h: Copy from linux64.h. Update comments.
4904 (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
4905 (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
4906 GNU_USER_DYNAMIC_LINKER64.
4907 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
4908 * config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
4909 GNU_USER_LINK_EMULATION.
4910 * config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
4911 DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
4912 ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
4913 MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
4914 PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
4915 CPP_SPEC, CC1_SPEC): Remove.
4916 (LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
4917 (GNU_USER_DYNAMIC_LINKER): Define.
4918 (ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
4919 ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
4920 ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
4921 LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
4922 TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
4923 STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
4924 TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
4925 * config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
4926 CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
4927 TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
4928 LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
4929 LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
4930 (GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
4931 (STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
4932 TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
4933 TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
4934 * config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
4935 GNU_USER_DYNAMIC_LINKER.
4936 * config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
4937 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
4938 * config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
4939 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
4940 * config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
4941 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
4942 * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
4943 i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
4944 i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
d8700b1c 4945 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new headers.
e24609cf 4946
b8ce4e94
KT
49472011-04-11 Kai Tietz <ktietz@redhat.com>
4948
4949 PR target/9601
4950 PR target/11772
4951 * config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
4952 * config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
4953 comment.
4954 (ix86_is_msabi_thiscall): Removed.
4955 (ix86_is_type_thiscall): Likewise.
4956 (ix86_get_callcvt): New function.
4957 (ix86_comp_type_attributes): Simplify check.
4958 (ix86_function_regparm): Use ix86_get_callcvt for calling
4959 convention attribute checks.
4960 (ix86_return_pops_args): Likewise.
4961 (ix86_static_chain): Likewise.
4962 (x86_this_parameter): Likewise.
4963 (x86_output_mi_thunk): Likewise.
4964 (ix86_function_type_abi): Optimize check for types without attributes.
4965 * config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
4966 IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
4967 IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
4968 by flag-values.
4969 (IX86_BASE_CALLCVT): Helper macro.
4970 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
4971 Use ix86_get_callcvt for calling convention attribute checks and avoid
4972 symbol-decoration for stdcall in TARGET_RTD case.
4973 * config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
4974 Likewise.
4975 (gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
4976 for declaration.
4977
798dd0ba
UB
49782011-04-11 Uros Bizjak <ubizjak@gmail.com>
4979
4980 * config/i386/sse.md (VI_128): New mode iterator.
4981 (VI12_128): Rename from SSEMODE12.
4982 (VI14_128): Rename from SSEMODE14.
4983 (VI124_128): New mode iterator.
4984 (VI24_128): Rename from SSEMODE248.
4985 (VI248_128): Rename from SSEMODE248.
4986 (SSEMODE124C8): Remove.
4987 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
4988 (*sse2_<plusminus_insn><mode>3): Merge with
4989 *avx_<plusminus_insn><mode>3.
4990 (*mulv8hi3): Merge with *avx_mulv8hi3.
4991 (*<s>mulv8hi3_highpart): Merge with *avx_<s>mulv8hi3_highpart.
4992 (*sse2_umulv2siv2di3): Merge with *avx_umulv2siv2di3.
4993 (*sse2_pmaddwd): Merge with *avx_pmaddwd.
4994 (*sse4_1_mulv4si3): Merge with *avx_mulv4si3.
4995 (ashr<mode>3): Merge with *avx_ashr<mode>3.
4996 (lshr<mode>3): Merge with *avx_lshr<mode>3.
4997 (ashl<mode>3): Merge with *avx_ashl<mode>3.
4998 (sse2_ashlv1ti3): Merge with *avx_ashlv1ti3.
4999 (sse2_lshrv1ti3): Merge with *avx_lshrv1ti3.
5000 (*sse4_1_<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
5001 (*<smaxmin:code>v8hi3): Ditto.
5002 (*sse4_1_<umaxmin:code><mode>3): Merge with *avx_<umaxmin:code><mode>3.
5003 (*<smaxmin:code>v16qi3): Ditto.
5004 (*sse4_1_eqv2di3): Merge with *avx_eq<mode>3.
5005 (*sse2_eq<mode>3): Ditto.
5006 (*sse4_2_eqv2di3): Merge with *avx_gt<mode>3.
5007 (*sse2_gt<mode>3): Ditto.
5008 (vcondv2di): Split out of vcond<mode>.
5009 (vconduv2di): Split out of vcondu<mode>.
5010
956011be
RG
50112011-04-11 Richard Guenther <rguenther@suse.de>
5012
5013 * gimplify.c (gimple_fold_indirect_ref): Check host_integerp
5014 before calling tree_low_cst.
5015
e6313a78
RG
50162011-04-11 Richard Guenther <rguenther@suse.de>
5017
5018 * stor-layout.c (layout_type): Compute all array index size operations
5019 in the original type.
5020 (initialize_sizetypes): Add comment.
5021 (set_sizetype): Do not set TREE_TYPE of a TREE_VEC.
5022
e69d7376
JM
50232011-04-11 Joseph Myers <joseph@codesourcery.com>
5024
5025 * common.opt (Tbss=, Tdata=, Ttext=): New options.
5026
9f9ebcdf
MJ
50272011-04-11 Martin Jambor <mjambor@suse.cz>
5028
5029 * cgraph.c (cgraph_local_info): Call cgraph_get_node instead
5030 of cgraph_node, handle NULL return value.
5031 (cgraph_global_info): Likewise.
5032 (cgraph_rtl_info): Likewise.
5033 * tree-inline.c (estimate_num_insns): Likewise.
5034 * gimplify.c (unshare_body): Likewise.
5035 (unvisit_body): Likewise.
5036 (gimplify_body): Likewise.
5037 * predict.c (optimize_function_for_size_p): Likewise.
5038 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
5039 (call_may_clobber_ref_p_1): Likewise.
5040 * varasm.c (function_section_1): Likewise.
5041 (assemble_start_function): Likewise.
5042
581985d7
MJ
50432011-04-11 Martin Jambor <mjambor@suse.cz>
5044
5045 * except.c (set_nothrow_function_flags): Call cgraph_get_node instead
5046 of cgraph_node.
5047 * final.c (rest_of_clean_state): Likewise.
5048 * gimple-iterator.c (update_call_edge_frequencies): Likewise.
5049 * passes.c (pass_init_dump_file): Likewise.
5050 (execute_all_ipa_transforms): Likewise.
5051 (function_called_by_processed_nodes_p): Likewise.
5052 * predict.c (maybe_hot_frequency_p): Likewise.
5053 (probably_never_executed_bb_p): Likewise.
5054 (compute_function_frequency): Likewise.
5055 * tree-nested.c (check_for_nested_with_variably_modified): Likewise.
5056 (unnest_nesting_tree_1): Likewise.
5057 (lower_nested_functions): Likewise.
5058 * tree-optimize.c (execute_fixup_cfg): Likewise.
5059 (tree_rest_of_compilation): Likewise.
5060 * tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
5061 * tree-sra.c (ipa_early_sra): Likewise.
5062 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
5063 * config/i386/i386.c (ix86_compute_frame_layout): Likewise.
5064 * ipa.c (record_cdtor_fn): Likewise.
5065 * ipa-inline.c (cgraph_early_inlining): Likewise.
5066 (compute_inline_parameters_for_current): Likewise.
5067 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
5068 * ipa-pure-const.c (local_pure_const): Likewise.
5069 * ipa-split.c (split_function): Likewise.
5070 (execute_split_functions): Likewise.
5071 * cgraphbuild.c (build_cgraph_edges): Likewise.
5072 (rebuild_cgraph_edges): Likewise.
5073 (cgraph_rebuild_references): Likewise.
5074 (remove_cgraph_callee_edges): Likewise.
5075 * cgraphunit.c (cgraph_mark_if_needed): Likewise.
5076 (verify_cgraph_node): Likewise.
5077 (cgraph_analyze_functions): Likewise.
5078 (cgraph_preserve_function_body_p): Likewise.
5079 (save_inline_function_body): Likewise.
5080 (save_inline_function_body): Likewise.
5081 * tree-inline.c (copy_bb): Likewise.
5082 (optimize_inline_calls): Likewise.
5083
57dbdc5a
MJ
50842011-04-11 Martin Jambor <mjambor@suse.cz>
5085
5086 PR tree-optimization/48195
5087 * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
5088 ipa_check_create_edge_args.
5089 (ipcp_generate_summary): Do not call ipa_check_create_node_params and
5090 ipa_check_create_edge_args.
5091 * ipa-inline.c (inline_generate_summary): Do not call
5092 ipa_check_create_node_params and ipa_check_create_edge_args.
5093 * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
5094 ipa_check_create_edge_args.
5095
d108e679
AS
50962011-04-09 Anatoly Sokolov <aesok@post.ru>
5097
5098 * expr.c (expand_expr_real_1): Use add_to_hard_reg_set function
5099 instead of loop.
5100 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
5101 * function.c (record_hard_reg_sets): Likewise.
5102 * ira.c (compute_regs_asm_clobbered): Likewise.
5103 * sched-deps.c (sched_analyze_1): Likewise.
5104 * reload1.c (mark_reload_reg_in_use, choose_reload_regs): Likewise.
5105
3411bc59
XDL
51062011-04-09 Xinliang David Li <davidxl@google.com>
5107
5108 PR tree-optimization/PR48484
5109 * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): Set
5110 has_valid_pred lazily
5111
b365495a
DS
51122011-04-09 Duncan Sands <baldrick@free.fr>
5113
5114 * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
5115
68bc509a
EB
51162011-04-08 Eric Botcazou <ebotcazou@adacore.com>
5117
5118 * combine.c (combine_validate_cost): Adjust comments. Set registered
5119 cost of I0 to zero at the end, if any.
5120
041e059f
XDL
51212011-04-08 Xinliang David Li <davidxl@google.com>
5122
68bc509a
EB
5123 * ipa-cp.c (ipcp_update_profiling): Correct negative scale factor due
5124 to insane profile data.
041e059f 5125
444b3995
XDL
51262011-04-08 Xinliang David Li <davidxl@google.com>
5127
5128 * ipa-cp.c (ipcp_update_profiling): Correct
5129 negative scale factor due to insane profile data.
5130
6a801cf2
XDL
51312011-04-08 Xinliang David Li <davidxl@google.com>
5132
5133 * final.c (dump_basic_block_info): New function.
5134 (final): Dump basic block.
5135 (final_scan_insn): Remove old dump.
5136
d5f3624e
SK
51372011-04-08 Steven G. Kargl <kargl@gcc.gnu.org>
5138
68bc509a
EB
5139 PR target/47829
5140 * config.gcc (i386-*-freebsd): Disable unwind table generation for
5141 crtbegin/crtend.
d5f3624e 5142
42821aff
MM
51432011-04-08 Michael Matz <matz@suse.de>
5144
5145 PR middle-end/48389
5146 * jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
5147 functions.
5148 (rebuild_jump_labels): Call rebuild_jump_labels_1.
5149 * rtl.h (rebuild_jump_labels_chain): Declare.
5150 * cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
5151 insns inserted on edges.
5152
ad7be009
JM
51532011-04-08 Joseph Myers <joseph@codesourcery.com>
5154
5155 * config.gcc (arm*-*-*): Add arm/arm-tables.opt to extra_options.
5156 * config/arm/arm-arches.def: New.
5157 * config/arm/arm-opts.h: New.
5158 * config/arm/genopt.sh: New.
5159 * config/arm/arm-tables.opt: New (generated).
5160 * config/arm/arm.c (arm_handle_option, arm_target_help,
5161 TARGET_HANDLE_OPTION, TARGET_HELP, arm_find_cpu): Remove.
5162 (all_architectures): Get most table contents from arm-arches.def.
5163 (arm_option_override): Set arm_selected_arch, arm_selected_cpu and
5164 arm_selected_tune here.
5165 * config/arm/arm.h (enum processor_type): Move to arm-opts.h.
5166 * config/arm/arm.opt (config/arm/arm-opts.h): New HeaderInclude.
5167 (march=, mcpu=, mtune=): Use Enum and Var.
5168 * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt): New.
5169 (arm.o): Update dependencies.
ecbb6fb7 5170
42821aff 51712011-04-08 Basile Starynkevitch <basile@starynkevitch.net>
ecbb6fb7
BS
5172
5173 * gengtype.c (write_typed_alloc_def): New argument f. Use it instead
5174 of header_file.
5175 (write_typed_struct_alloc_def, write_typed_typedef_alloc_def)
5176 (write_typed_alloc_defns): Likewise.
5177 (main): Calls write_typed_alloc_defns with output_header.
5178
8d189b3f
VM
51792011-04-08 Vladimir Makarov <vmakarov@redhat.com>
5180
68bc509a 5181 PR inline-asm/48435
8d189b3f
VM
5182 * ira-color.c (setup_profitable_hard_regs): Add comments.
5183 Don't take prohibited hard regs into account.
5184 (setup_conflict_profitable_regs): Rename to
5185 get_conflict_profitable_regs.
5186 (check_hard_reg_p): Check prohibited hard regs.
5187
44f370bf
NF
51882011-04-08 Nathan Froyd <froydnj@codesourcery.com>
5189
5190 * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
5191 * config/xtensa/xtensa.c (xtensa_call_tls_desc): Likewise.
5192 * config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise.
5193
483d7ad3
JDA
51942011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5195
5196 PR target/48366
5197 * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
b8a17fa2 5198 move from floating point to shift amount register.
483d7ad3
JDA
5199 (emit_move_sequence): Remove secondary reload support for floating
5200 point to shift amount amount register copies.
5201 (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
5202 amount register copies.
5203 * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
5204 register, return false if mode isn't a scalar integer mode.
5205 * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
5206
97e03fa1
RG
52072011-04-08 Richard Guenther <rguenther@suse.de>
5208
5209 * gimple.c (gimple_call_flags): Remove kludge.
5210
9d40778b
AM
52112011-04-08 Alexander Monakov <amonakov@ispras.ru>
5212
5213 * sel-sched.c (sel_region_init): Move call to
5214 sel_setup_region_sched_flags after setup_current_loop_nest.
5215
19ac7892
AB
52162011-04-08 Andrey Belevantsev <abel@ispras.ru>
5217
5218 PR rtl-optimization/48272
19ac7892
AB
5219 * sched-deps.c (setup_insn_reg_pressure_info): Export and rename to
5220 init_insn_reg_pressure_info. Adjust a caller.
5221 * sched-int.h (init_insn_reg_pressure_info): Declare.
5222 * haifa-sched.c (haifa_init_insn): Call init_insn_reg_pressure_info
5223 when sched-pressure is enabled.
5224
0f8c63cc
RG
52252011-04-08 Richard Guenther <rguenther@suse.de>
5226
5227 * gimple.c (gimple_set_modified): Do not queue calls to
5228 MODIFIED_NORETURN_CALLS here ...
5229 * tree-ssa-operands.c (update_stmt_operands): ... but here.
5230
5e5a425e
RG
52312011-04-08 Richard Guenther <rguenther@suse.de>
5232
5233 PR lto/48467
5234 * toplev.c (lang_dependent_init): Do not open asm_out_file
5235 in WPA mode, nor perform debug machinery initialization.
5236 (finalize): Do not unlink asm_out_file in WPA mode.
5237
9bfc434b
RG
52382011-04-08 Richard Guenther <rguenther@suse.de>
5239
5240 * gimple.h (gimple_call_fntype): New function.
5241 (gimple_call_return_type): Use it.
5242 * expr.c (expand_expr_real_1): Use gimple_call_fntype.
5243 * gimple-low.c (gimple_check_call_args): Likewise.
5244 * gimple.c (gimple_call_flags): Likewise.
5245 (gimple_call_arg_flags): Likewise.
5246 (gimple_call_return_flags): Likewise.
5247 * tree-cfg.c (verify_gimple_call): Likewise.
5248 (do_warn_unused_result): Likewise.
5249 * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
5250 * value-prof.c (gimple_ic_transform): Fix fndecl check.
5251
7c1f0b40
DM
52522011-04-08 Dmitry Melnik <dm@ispras.ru>
5253
5254 PR rtl-optimization/48235
5255 * sel-sched.c (code_motion_process_successors): Recompute the last
5256 insn in basic block if control flow changed.
5257 (code_motion_path_driver): Ditto. Recompute the first insn as well.
5258 Update condition for ilist_remove.
5259
ea4d630f
AM
52602011-04-08 Alexander Monakov <amonakov@ispras.ru>
5261
5262 PR rtl-optimization/48302
5263 * sel-sched-ir.h (sel_add_loop_preheaders): Update prototype.
5264 * sel-sched-ir.c (sel_add_loop_preheaders): Add 'bbs' argument. Use
5265 it to record added preheader blocks.
5266 * sel-sched.c (setup_current_loop_nest): Add 'bbs' argument. Pass it
5267 on to sel_add_loop_preheaders.
5268 (sel_region_init): Move call to setup_current_loop_nest after
5269 sel_init_bbs.
5270
07643d76
AM
52712011-04-08 Alexander Monakov <amonakov@ispras.ru>
5272
5273 PR target/48273
5274 * cfgloop.h (loop_has_exit_edges): New helper.
5275 * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
5276 non-clonable.
5277 * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
5278 that have no exit edges.
5279
1f3b2b4e
AM
52802011-04-08 Alexander Monakov <amonakov@ispras.ru>
5281
5282 PR rtl-optimization/48442
5283 * sel-sched.c (init_seqno): Remove number_of_insns argument. Update
5284 all callers. Adjust assert.
5285
554f1948
JJ
52862011-04-08 Jakub Jelinek <jakub@redhat.com>
5287
5288 PR tree-optimization/48377
5289 * tree-vect-data-refs.c (vector_alignment_reachable_p): Set
5290 is_packed to true even for types with smaller TYPE_ALIGN than
5291 TYPE_SIZE.
5292
ddf72388
RG
52932011-04-08 Richard Guenther <rguenther@suse.de>
5294
5295 PR bootstrap/48513
5296 * doc/tm.texi: Re-generate.
5297
0c27e2d8
WG
52982011-04-08 Wei Guozhi <carrot@google.com>
5299
5300 PR target/47855
5301 * config/arm/arm-protos.h (arm_attr_length_push_multi): New prototype.
5302 * config/arm/arm.c (arm_attr_length_push_multi): New function.
5303 * config/arm/arm.md (*push_multi): Change the length computation to
5304 call a C function.
5305
07c5f94e
AS
53062011-04-08 Anatoly Sokolov <aesok@post.ru>
5307
5308 * doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
5309 (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation.
5310 * doc/tm.texi: Regenerate.
5311 * system.h (ASM_OUTPUT_BSS): Poison.
5312 * varasm.c (asm_output_bss): Remove function.
5313 (emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro.
798dd0ba 5314
07c5f94e
AS
5315 * config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment.
5316 * config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise.
5317 * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise.
5318 * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
5319 Likewise.
5320 * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
5321 Likewise.
5322 * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
5323 Likewise.
5324 * config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
5325
5f2c36e1
JM
53262011-04-07 Joseph Myers <joseph@codesourcery.com>
5327
5328 * config/rx/rx.opt (rx610, rx200, rx600): Use Enum not Name on
5329 EnumValue lines.
5330
39e7722b
JM
53312011-04-07 Joseph Myers <joseph@codesourcery.com>
5332
5333 * config/m68k/m68k.c (m68k_handle_option): Don't handle
5334 OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
5335 OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
5336 OPT_mcpu32.
5337 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
5338 handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
5339 -m68030, -m68040, -m68060, -mcpu32 and -m68332.
5340 * config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
5341 m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
5342 * config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
5343 (MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
5344 (MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
5345 options. Don't map other m68k options manually. Don't handle
5346 old-style options as canonical.
5347 (MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
798dd0ba 5348 * doc/install.texi (m68k-*-*): Document binutils version requirement.
39e7722b 5349
cf103ca4
EB
53502011-04-07 Eric Botcazou <ebotcazou@adacore.com>
5351
5352 * basic-block.h (force_nonfallthru): Move to...
5353 * cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
5354 (force_nonfallthru): ...here.
5355 * cfghooks.c (force_nonfallthru): New function.
5356 * cfgrtl.c (force_nonfallthru): Rename into...
5357 (rtl_force_nonfallthru): ...this.
5358 (commit_one_edge_insertion): Do not set AUX field.
5359 (commit_edge_insertions): Do not discover new basic blocks.
5360 (rtl_cfg_hooks): Add rtl_force_nonfallthru.
5361 (cfg_layout_rtl_cfg_hooks): Likewise.
5362 * function.c (thread_prologue_and_epilogue_insns): Remove bogus
5363 ATTRIBUTE_UNUSED. Discover new basic blocks in the prologue insns.
5364 * tree-cfg.c (gimple_cfg_hooks): Add NULL for force_nonfallthru.
5365
14431f58
AS
53662011-04-07 Anatoly Sokolov <aesok@post.ru>
5367
5368 * config/mips/mips.h (REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
5369 Remove macros.
5370
3729983c
UB
53712011-04-07 Uros Bizjak <ubizjak@gmail.com>
5372
5373 * config/i386/sse.md: Update copyright year.
5374 (avxcvtvecmode): Remove.
5375 (sse_movhlps): Merge with *avx_movhlps.
5376 (sse_movlhps): Merge with *avx_movlhps.
5377 (vec_interleave_highv4sf): Merge with *avx_interleave_highv4sf.
5378 (vec_interleave_lowv4sf): Merge with *avx_interleave_lowv4sf.
5379 (sse_shufps_<mode>): Merge with *avx_shufps_<mode>.
5380 (sse_loadhps): Merge with *avx_loadhps.
5381 (sse_storelps): Merge with *avx_storelps.
5382 (sse_loadlps): Merge with *avx_loadlps.
5383 (sse_movss): Merge with *avx_movss.
5384 (*vec_concatv2sf_sse4_1): Merge with *vec_concatv2sf_avx.
5385 (*vec_concatv4sf_sse): Merge with *vec_concatv4sf_avx.
5386 (*vec_set<mode>_0_sse4_1): Merge with *vec_set<mode>_0_avx.
5387 (*vec_set<mode>_0_sse2): Split multi-unit alternative.
5388 (vec_set<mode>_0): Ditto.
5389 (*vec_setv4sf_sse4_1): Merge with *vec_setv4sf_avx.
5390 (sse4_1_insertps): Merge with *avx_insertps.
5391 (*sse3_interleave_highv2df): Merge with *avx_interleave_highv2df.
5392 (*sse3_interleave_lowv2df): Merge with *avx_interleave_lowv2df.
5393 (vec_interleave_highv2di): Merge with *avx_interleave_highv2di.
5394 (sse2_shufpd_<mode>): Merge with *avx_shufpd_<mode>.
5395 (sse2_storehpd): Merge with *avx_storehpd.
5396 (sse2_loadhpd): Merge with *avx_loadhpd.
5397 (sse2_loadlpd): Merge with *avx_loadlpd.
5398 (sse2_movsd): Merge with *avx_movsd.
5399 (*vec_concatv2df): Merge with *vec_concatv2df.
5400
4e626909
JJ
54012011-04-07 Jakub Jelinek <jakub@redhat.com>
5402
5403 PR debug/48343
5404 * combine.c (combine_instructions): Add last_combined_insn,
3729983c 5405 update it if insn is after it, pass it to all try_combine calls.
4e626909
JJ
5406 (try_combine): Add last_combined_insn parameter, pass it instead of
5407 i3 to propagate_for_debug.
5408
3729983c 54092011-04-07 Nick Clifton <nickc@redhat.com>
5a10b0a9
NC
5410
5411 * config/mn10300/mn10300.md (movqi_internal): Add alternatives
5412 to handle MDR <-> data register transfers.
5413 (movhi_internal): Likewise.
5414
20c03367
AM
54152011-04-07 Alan Modra <amodra@gmail.com>
5416
5417 * config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
5418 previous stack info.
5419
bf22920b
TV
54202011-04-07 Tom de Vries <tom@codesourcery.com>
5421
5422 PR target/43920
5423 * cfgcleanup.c (try_crossjump_to_edge): Add dir parameter. Pass dir to
5424 flow_find_cross_jump. Swap variables to implement backward replacement.
5425 (try_crossjump_bb): Add argument to try_crossjump_to_edge.
5426
823918ae
TV
54272011-04-07 Tom de Vries <tom@codesourcery.com>
5428
5429 PR target/43920
5430 * cfgcleanup.c (walk_to_nondebug_insn): New function.
3729983c
UB
5431 (flow_find_cross_jump): Use walk_to_nondebug_insn. Recalculate bb1
5432 and bb2.
5433 (try_crossjump_to_edge): Handle case that newpos1 or newpos2 is not
5434 src1 or src2. Redirect edges to the last basic block. Update
5435 frequency and count on multiple basic blocks in case of fallthru.
823918ae 5436
472c95f5
TV
54372011-04-07 Tom de Vries <tom@codesourcery.com>
5438
5439 PR target/43920
5440 * cfgcleanup.c (equal_different_set_p, can_replace_by, merge_dir): New
5441 function.
3729983c
UB
5442 (old_insns_match_p): Change return type. Replace return false/true
5443 with return dir_none/dir_both. Use can_replace_by.
5444 (flow_find_cross_jump): Add dir_p parameter. Init replacement
5445 direction from dir_p. Register replacement direction in dir, last_dir
5446 and afterlast_dir. Handle new return type of old_insns_match_p using
472c95f5
TV
5447 merge_dir. Return replacement direction in dir_p.
5448 (flow_find_head_matching_sequence, outgoing_edges_match): Handle new
5449 return type of old_insns_match_p.
5450 (try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
5451 * ifcvt.c ( cond_exec_process_if_block): Add argument to call to
5452 flow_find_cross_jump.
5453 * basic-block.h (enum replace_direction): New type.
5454 (flow_find_cross_jump): Add parameter to declaration.
5455
a95d4000
UB
54562011-04-06 Uros Bizjak <ubizjak@gmail.com>
5457
5458 * config/i386/sse.md (AVXMODEDCVTDQ2PS): Remove.
5459 (AVXMODEDCVTPS2DQ): Ditto.
5460 (VEC_FLOAT_MODE): Ditto.
5461 (<sse>_andnot<mode>3): Merge with avx_andnot<mode>3. Use VF mode
5462 iterator. Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
5463 (<any_logic:code><mode>3): Use VF mode iterator.
5464 (*<any_logic:code><mode>3): Merge with *avx_<any_logic:code><mode>3.
5465 Use VF mode iterator.
5466 (copysign<mode>3): Use VF mode iterator.
5467 (*andnot<MODEF:mode>3): Merge with *avx_andnot<MODEF:mode>3. Handle
5468 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
5469 (*<any_logic:code><MODEF:mode>3): Merge with
5470 *avx_<any_logic:code><MODEF:mode>3.
5471 (sse_cvtsi2ss): Merge with *avx_cvtsi2ss.
5472 (sse_cvtsi2ssq): Merge with *avx_cvtsi2ssq.
5473 (avx_cvtdq2ps256): Split from avx_cvtdq2ps<avxmodesuffix>.
5474 (avx_cvtdq2ps<avxmodesuffix>): Remove.
5475 (sse2_cvtdq2ps): Use %v modifier.
5476 (avx_cvtps2dq256): Split from avx_cvtps2dq<avxmodesuffix>.
5477 (avx_cvtps2dq<avxmodesuffix>): Remove.
5478 (sse2_cvtps2dq): Use %v modifier.
5479 (avx_cvttps2dq256): Split from avx_cvttps2dq<avxmodesuffix>.
5480 (avx_cvttps2dq<avxmodesuffix>): Remove.
5481 (sse2_cvttps2dq): Use %v modifier.
5482 (sse2_cvtsi2sd): Merge with *avx_cvtsi2sd.
5483 (sse2_cvtsi2sdq): Merge with *avx_cvtsi2sdq.
5484 (sse2_cvtsd2siq): Fix insn template.
5485 (sse2_cvtsd2siq_2): Ditto.
5486 (sse2_cvttsd2siq): Ditto.
5487 (sse2_cvtsd2ss): Merge with *avx_cvtsd2ss.
5488 (sse2_cvtss2sd): Merge with *avx_cvtss2sd.
5489
ad01c437
JM
54902011-04-06 Joseph Myers <joseph@codesourcery.com>
5491
5492 * gcov-io.c: Use GCC Runtime Library Exception.
5493
fe846284
JJ
54942011-04-06 Jakub Jelinek <jakub@redhat.com>
5495
5496 PR debug/48466
5497 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
5498 as base_reg whatever register reg has been eliminated to, instead
5499 of hardcoding STACK_POINTER_REGNUM.
5500
acce4e77
JM
55012011-04-06 Joseph Myers <joseph@codesourcery.com>
5502
5503 * doc/tm.texi.in: Document C target hooks as separate from general
5504 target hooks.
5505 * doc/tm.texi: Regenerate.
5506 * genhooks.c (struct hook_desc): Add docname field.
5507 (HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize
5508 docname field.
5509 (hook_array): Include c-target.def.
5510 (emit_documentation): Use docname field in output.
5511 (emit_init_macros): Take docname argument. Only emit definitions
5512 for hooks matching docname.
5513 (main): Expect additional arguments in all cases. Pass argument
5514 to emit_init_macros.
5515 * target.def: Move initial macro definitions and comments to
5516 target-hooks-macros.h.
5517 (gcc_targetcm): Move to c-family/c-target.def.
5518 * target.h (targetcm): Move declaration to c-family/c-target.h.
5519 * targhooks.c (default_handle_c_option): Move to
5520 c-family/c-opts.c.
5521 * targhooks.h (default_handle_c_option): Move declaration to
5522 c-family/c-common.h.
5523 * target-hooks-macros.h: New file.
5524 * config.gcc (target_has_targetcm): Define and use to add to
5525 c_target_objs and cxx_target_objs.
5526 * config/default-c.c: New file.
5527 * config/darwin-c.c: Include c-target.h and c-target-def.h instead
5528 of target.h and target-def.h.
5529 (TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
5530 (darwin_objc_construct_string, darwin_cfstring_ref_p,
5531 darwin_check_cfstring_format_arg): Make static.
5532 (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
5533 TARGET_STRING_OBJECT_REF_TYPE_P,
5534 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
5535 * config/darwin-protos.h (darwin_objc_construct_string,
5536 darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
5537 declare.
5538 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
5539 TARGET_STRING_OBJECT_REF_TYPE_P,
a95d4000 5540 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM): Remove.
acce4e77
JM
5541 * config/t-darwin (darwin-c.o): Update dependencies.
5542 * system.h (TARGET_HAS_TARGETCM): Poison.
5543 * Makefile.in (TARGET_H): Update.
5544 (TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
5545 (c-family/c-format.o, c-family/c-opts.o): Update dependencies.
5546 (default-c.o): New target.
5547 (s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
a95d4000 5548 (c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New targets.
acce4e77
JM
5549 (s-tm-texi): Pass -d option to genhooks. Also test timestamp on
5550 c-target.def.
5551 (build/genhooks.o): Update dependencies.
5552
275b4baa 55532011-04-06 Richard Guenther <rguenther@suse.de>
a95d4000 5554
275b4baa
RG
5555 * ipa-inline.c (enum inlining_mode): Remove.
5556 (cgraph_flatten): Use some other token.
5557 (cgraph_edge_early_inlinable_p): New function, split out from ...
5558 (cgraph_perform_always_inlining): New function, split out from ...
5559 (cgraph_decide_inlining_incrementally): ... here.
5560 (cgraph_mark_inline_edge): Adjust.
5561 (cgraph_early_inlining): Re-structure.
5562 (pass_early_inline): Require SSA form.
5563
f15b8bdf 55642011-04-06 Andrew Stubbs <ams@codesourcery.com>
9adc580c
AS
5565 Julian Brown <julian@codesourcery.com>
5566 Mark Shinwell <shinwell@codesourcery.com>
5567
5568 * config/arm/arm.h (arm_class_likely_spilled_p): Check against
5569 LO_REGS only for Thumb-1.
5570 (MODE_BASE_REG_CLASS): Restrict base registers to those which can
5571 be used in short instructions when optimising for size on Thumb-2.
5572
516426da
EB
55732011-04-06 Eric Botcazou <ebotcazou@adacore.com>
5574
5575 * gimple-low.c (lower_gimple_return): When not optimizing, force labels
5576 associated with user returns to be preserved.
5577
96621ebf
TG
55782011-04-06 Tristan Gingold <gingold@adacore.com>
5579
f15b8bdf
EB
5580 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index,
5581 symbol_queue_size, DBXOUT_DECR_NESTING,
96621ebf
TG
5582 (DBXOUT_DECR_NESTING_AND_RETURN): Also define
5583 if XCOFF_DEBUGGING_INFO.
5584
07c0852e
UB
55852011-04-06 Uros Bizjak <ubizjak@gmail.com>
5586
5587 * config/i386/i386.md (attribute isa): New.
5588 (attribute enabled): New.
5589 (setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
5590 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
5591 (*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
5592 (*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
5593 (*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
5594 (<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
5595 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
5596 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.
5597
5598 * config/i386/sse.md (VF): New mode iterator.
5599 (VF1): Ditto.
5600 (VF2): Ditto.
5601 (VF_128): Ditto.
5602 (SSEMODEF4): Remove.
5603 (attribute sse): Handle V8SF and V4DF modes.
5604 (<absneg:code><mode>2): Use VF mode iterator.
5605 (*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2. Use VF
5606 mode iterator.
5607 (<plusminus_insn><mode>3): Use VF mode iterator.
5608 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
5609 Use VF mode iterator.
5610 (<sse>_vm<plusminus_insn><mode>3): Merge with
5611 *avx_vm<plusminus_insn><mode>3. Use VF_128 mode iterator.
5612 (mul<mode>3): Use VF mode iterator.
5613 (*mul<mode>3): Merge with *avx_mul<mode>3. Use VF mode iterator.
5614 (<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3. Use VF_128
5615 mode iterator.
5616 (div<VF2:mode>3): Merge from divv2df3 and divv4df3.
5617 (div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
5618 (<sse>_div<mode>3): Merge with *avx_div<mode>3. Use VF mode iterator.
5619 (<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3. Use VF_128
5620 mode iterator.
5621 (<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
5622 Use VF1 mode iterator.
5623 (sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
5624 (sqrt<VF2:mode>2): New expander.
5625 (sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
5626 (<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
5627 and sqrtv2df2. Use VF mode iterator.
5628 (<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2. Use VF_128
5629 mode iterator.
5630 (rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
5631 (<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
5632 Use VF1 mode iterator.
5633 (sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
5634 (<smaxmin:code><mode>3): Use VF mode iterator.
5635 (*<smaxmin:code><mode>3_finite): Merge with
5636 *avx_<smaxmin:code><mode>3_finite. Use VF mode iterator.
5637 (*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
5638 (<sse>_vm<smaxmin:code><mode>2): Merge with
5639 *avx_vm<smaxmin:code><mode>2. Use VF_128 mode iterator.
5640 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3. Use VF
5641 mode iterator.
5642 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3. Use VF
5643 mode iterator.
5644 (sse3_addsubv2df3): Merge with *avx_addsubv2df3.
5645 (sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
5646 (sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
5647 (sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
5648 (avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3. Use
5649 VF mode iterator.
5650 (avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
5651 Use VF_128 mode iterator.
5652 (<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3. Use VF
5653 mode iterator.
5654 (<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3. Use
5655 VF_128 mode iterator.
5656 (vcond<mode>): Use VF mode iterator.
5657 * config/i386/predicates.md (sse_comparison_operator): Merge with
5658 avx_comparison_float_operator. Do not declare as special_predicate.
5659 * config/i386/i386.c (struct builtin_description): Update for renamed
5660 compare patterns.
5661 (ix86_expand_args_builtin): Ditto.
5662 (ix86_expand_sse_compare_mask): Ditto.
5663
ff5d142c
RG
56642011-04-06 Richard Guenther <rguenther@suse.de>
5665
5666 * tree-inline.c (estimate_num_insns): For calls simply account
5667 for all passed arguments and a used return value.
5668
d7d1d041 56692011-04-06 Richard Guenther <rguenther@suse.de>
07c0852e 5670
d7d1d041
RG
5671 PR tree-optimization/47663
5672 * cgraph.h (struct cgraph_edge): Add call_stmt_size and
5673 call_stmt_time fields.
5674 (cgraph_edge_inlinable_p): Declare.
5675 (cgraph_edge_recursive_p): New inline function.
5676 * cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
5677 (cgraph_clone_edge): Copy it.
5678 * ipa-inline.c (cgraph_estimate_edge_time): New function.
5679 Account for call stmt time.
5680 (cgraph_estimate_time_after_inlining): Take edge argument.
5681 (cgraph_estimate_edge_growth): Account call stmt size.
5682 (cgraph_estimate_size_after_inlining): Take edge argument.
5683 (cgraph_mark_inline_edge): Adjust.
5684 (cgraph_check_inline_limits): Likewise.
5685 (cgraph_recursive_inlining_p): Remove.
5686 (cgraph_edge_badness): Use cgraph_edge_recursive_p.
5687 (cgraph_decide_recursive_inlining): Take edge argument and
5688 adjust.
5689 (cgraph_decide_inlining_of_small_functions): Do not avoid
5690 diags for recursive inlining here.
5691 (cgraph_flatten): Adjust.
5692 (cgraph_decide_inlining_incrementally): Likewise.
5693 (estimate_function_body_sizes): Remove call cost handling.
5694 (compute_inline_parameters): Initialize caller edge call costs.
5695 (cgraph_estimate_edge_growth): New function.
5696 (cgraph_estimate_growth): Use it.
5697 (cgraph_edge_badness): Likewise.
5698 (cgraph_check_inline_limits): Take an edge argument.
5699 (cgraph_decide_inlining_of_small_functions): Adjust.
5700 (cgraph_decide_inlining): Likewise.
5701 * tree-inline.c (estimate_num_insns): Only account for call
5702 return value if it is used.
5703 (expand_call_inline): Avoid diagnostics on recursive inline
5704 functions here.
5705 * lto-cgraph.c (lto_output_edge): Output edge call costs.
5706 (input_edge): Input edge call costs.
5707
2feb95f7
RO
57082011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5709
5710 * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
5711
26fbd9c2
JW
57122011-04-06 Jonathan Wakely <jwakely.gcc@gmail.com>
5713
5714 * doc/invoke.texi (Spec Files): Fix typo.
5715
694dc0ca
EB
57162011-04-06 Eric Botcazou <ebotcazou@adacore.com>
5717
5718 * profile.c (branch_prob): Move declaration of local variable. Remove
5719 obsolete ??? comment. Expand the location explicitly instead of using
5720 the LOCATION_FILE and LOCATION_LINE macros.
5721
4925d0d5
WG
57222011-04-06 Wei Guozhi <carrot@google.com>
5723
5724 PR target/47855
5725 * config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
5726 (arm_cond_branch): Likewise.
5727 (arm_cond_branch_reversed): Likewise.
5728 (arm_jump): Likewise.
5729 (push_multi): Likewise.
5730 * config/arm/constraints.md (Py): New constraint.
5731
f55dfa2f
NF
57322011-04-05 Nathan Froyd <froydnj@codesourcery.com>
5733
5734 PR bootstrap/48471
5735 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
5736 Move these...
5737 (symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
5738 (DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
5739 #ifdef DBX_DEBUGGING_INFO.
5740
fca96842
BS
57412011-04-05 Bernd Schmidt <bernds@codesourcery.com>
5742
5743 PR bootstrap/48403
5744 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
5745 if old and new states differ.
5746
30b83e38
JM
57472011-04-05 Joseph Myers <joseph@codesourcery.com>
5748
5749 * config/m68k/m68k.c (m68k_handle_option): Don't handle OPT_m5200,
5750 OPT_m5206e, OPT_m528x, OPT_m5307, OPT_m5407 and OPT_mcfv4e.
5751 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
5752 handle -m5200, -m5206e, -m528x, -m5307, -m5407 and -mcfv4e.
5753 * config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407,
5754 mcfv4e): Use Alias.
5755 * config/m68k/t-mlibs (MULTILIB_MATCHES): Don't map legacy
5756 ColdFire options to -mcpu= options.
5757
277a9aa5
JL
57582011-04-05 Jeff Law <law@redhat.com>
5759
5760 * tree-ssa-threadupdate.c (determine_bb_domination_status): Always
5761 check if BB is a successor of LOOP->header and return
5762 NONDOMINATING if it is not, regardless of ENABLE_CHECKING.
5763
c1e2610e
SB
57642011-04-05 Steven Bosscher <steven@gcc.gnu.org>
5765
5766 * cprop.c (struct reg_use): Remove.
5767 (reg_use_table): Make an array of RTX.
5768 (find_used_regs, constprop_register, local_cprop_pass,
5769 bypass_block): Simplify users of reg_use_table.
5770 (cprop_insn): Likewise. Iterate if copy propagation succeeded
5771 on one of the uses found by find_used_regs.
5772
e532f586
NF
57732011-04-05 Nathan Froyd <froydnj@codesourcery.com>
5774
5775 PR bootstrap/48469
5776 * combine.c (combine_instructions): #ifdef AUTO_INC_DEC links
5777 declaration.
5778
3fb7c055
NF
57792011-04-05 Nathan Froyd <froydnj@codesourcery.com>
5780
5781 * combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
5782 as an rtx.
5783 (try_combine) [AUTO_INC_DEC]: Declare a local link rtx.
5784
b71b43d9
SB
57852011-04-05 Steven Bosscher <steven@gcc.gnu.org>
5786
5787 PR middle-end/48441
5788 * cprop.c (one_cprop_pass): Do not mark_oprs_set of deleted insns.
5789
b405b274
NF
57902011-04-05 Nathan Froyd <froydnj@codesourcery.com>
5791
5792 * combine.c: Include obstack.h.
5793 (struct insn_link): Define.
5794 (uid_log_links): Adjust type.
5795 (FOR_EACH_LOG_LINK): New macro.
5796 (insn_link_obstack): Declare.
5797 (alloc_insn_link): Define.
5798 (create_log_links): Call it. Use FOR_EACH_LOG_LINK and adjust
5799 type of link variables.
5800 (find_single_use, insn_a_feeds_b, combine_instructions): Likewise.
5801 (try_combine, record_promoted_values, distribute_notes): Likewise.
5802 (distribute_links): Likewise. Tweak prototype.
5803 (clear_log_links): Delete.
5804 (adjust_for_new_dest): Call alloc_insn_link.
5805 * Makefile.in (combine.o): Depend on $(OBSTACK_H).
5806
6409abe3
NF
58072011-04-05 Nathan Froyd <froydnj@codesourcery.com>
5808
5809 * gcse.c (modify_mem_list): Convert to an array of VECs.
5810 (canon_modify_mem_list, compute_transp): Tweak formatting.
5811 (alloc_gcse_mem): Likewise. Adjust for modify_mem_list change.
5812 (load_killed_in_block_p): Likewise.
5813 (record_last_mem_set_info): Likewise.
5814 (clear_modify_mem_tables): Likewise.
5815
170d8157
TV
58162011-04-05 Tom de Vries <tom@codesourcery.com>
5817
5818 PR middle-end/48461
5819 * function.c (emit_use_return_register_into_block): Only define if
5820 HAVE_return.
5821
c5911a55
EB
58222011-04-05 Eric Botcazou <ebotcazou@adacore.com>
5823
5824 * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
5825
abd016e6
JM
58262011-04-05 Joseph Myers <joseph@codesourcery.com>
5827
5828 * config/rx/rx-opts.h: New.
5829 * config/rx/rx.c (rx_cpu_type): Remove.
5830 (rx_handle_option): Don't assert that global structures are in
5831 use. Access variables via opts pointer. Defer most handling of
5832 OPT_mint_register_. Use error_at.
5833 (rx_option_override): Handle deferred OPT_mint_register_ here.
5834 * config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
5835 * config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
5836 (mcpu=): Use Enum and specifiy rx_cpu_type with Var.
5837 (rx_cpu_types): New Enum and EnumValue entries.
5838 (mint-register=): Use Defer and use Var accordingly.
5839
1ed13f83
NF
58402011-04-05 Nathan Froyd <froydnj@codesourcery.com>
5841
5842 * debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
5843 (debug_free_queue, debug_nesting, symbol_queue_index): Delete.
5844 * final.c (debug_flush_symbol_queue, debug_queue_symbol):
5845 Move these...
5846 (debug_free_queue, debug_nesting, symbol_queue_index):
5847 ...and these...
5848 * dbxout.c: ...to here. Make static.
5849
6ce1edcf
NF
58502011-04-05 Nathan Froyd <froydnj@codesourcery.com>
5851
5852 * gcse.c (modify_pair): Define. Define a VEC of it.
5853 (canon_modify_mem_list): Convert to an array of VECs.
5854 (free_insn_expr_list_list): Delete.
5855 (clear_modify_mem_tables): Call VEC_free instead.
5856 (record_last_mem_set_info): Don't modify canon_modify_mem_list.
5857 (alloc_gcse_mem): Adjust for canon_modify_mem_list change.
5858 (canon_list_insert, compute_transp): Likewise.
5859
c201ac94
TV
58602011-04-05 Tom de Vries <tom@codesourcery.com>
5861
5862 PR target/43920
5863 * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
5864 for size.
5865
4c029f40
TV
58662011-04-05 Tom de Vries <tom@codesourcery.com>
5867
5868 PR target/43920
5869 * function.c (emit_use_return_register_into_block): New function.
5870 (thread_prologue_and_epilogue_insns): Use
5871 emit_use_return_register_into_block.
5872
2a562b0a
TV
58732011-04-05 Tom de Vries <tom@codesourcery.com>
5874
5875 PR target/43920
5876 * cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
5877 insn.
5878
0248bceb
TV
58792011-04-05 Tom de Vries <tom@codesourcery.com>
5880
5881 * cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.
5882
ffa94123
YZ
58832011-04-05 Yufeng Zhang <yufeng.zhang@arm.com>
5884
798dd0ba
UB
5885 * config/arm/arm.md (define_constants for unspec): Replace with
5886 define_c_enum.
5887 (define_constants for unspecv): Replace with define_c_enum.
5888 * config/arm/neon.md (define_constants for unspec): Replace with
5889 define_c_enum.
ffa94123 5890
3b8f9b46
RH
58912011-04-04 Richard Henderson <rth@redhat.com>
5892
720cf80f 5893 PR bootstrap/48400
3b8f9b46
RH
5894 * dwarf2out.c (output_line_info): Always emit line info from
5895 at least one section.
5896 (dwarf2out_init): Create text_section_line_info here ...
5897 (set_cur_line_info_table): ... not here.
5898
720cf80f 58992011-04-04 Vladimir Makarov <vmakarov@redhat.com>
e5b0e1ca
VM
5900
5901 PR target/48380
5902 * ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
720cf80f 5903 not called.
e5b0e1ca 5904
720cf80f 5905 * ira-emit.c (emit_move_list): Update reg_equiv_init insn list.
e5b0e1ca 5906
196565d4
SB
59072011-04-04 Steven Bosscher <steven@gcc.gnu.org>
5908
b77f9eab
SB
5909 * cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
5910 (expr_equiv_p): Remove.
5911 (insert_set_in_table): Look at <dest, src> pair instead of expr.
5912 (hash_scan_set): Update call to insert_set_in_table.
5913 (dump_hash_table): Dump <dest, src> pair.
5914 (lookup_set): Simplify. Lookup <dest, src> pair.
5915 (compute_transp): Remove, fold heavily simplified code into...
5916 (compute_local_properties): ...here. Expect COMP and TRANSP
5917 unconditionally.
5918 (find_avail_set): Take set directly from struct expr.
5919 (find_bypass-set): Likewise.
5920 (bypass_block): Likewise.
5921 (cprop_insn): Likewise. Remove redundant INSN_P test.
5922
384d7a55
SB
5923 * cprop.c (implicit_set_cond_p): Assume nothing about COND, move
5924 checks on form of COND from find_implicit_sets to here.
5925 (find_implicit_sets): Cleanup control flow. Split critical edges
5926 if it exposes implicit sets. Allocate/resize implicit_sets as
5927 necessary.
5928 (one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
5929 changed something. Run df_analyze after find_implicit_sets if any
5930 edges were split. Do not allocate implicit_sets here.
5931
3084ce69
SB
5932 * cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
5933 (gcse_obstack): Renamed to cprop_obstack.
5934 (GNEW, GNEWVEC, GNEWVAR): Remove.
5935 (gmalloc): Remove.
5936 (alloc_hash_table): Use XNEWVAR instead of GNEWVAR.
5937 (GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming.
5938 (gcse_alloc): Likewise, and rename to cprop_alloc.
5939 (alloc_gcse_men, free_gcse_mem): Remove.
5940 (gcse_constant_p): Rename to cprop_constant_p, and adjust all callers.
5941 (compute_hash_table_work): Allocate and free reg_set_bitmap here.
5942 (one_cprop_pass): Likewise. Adjust for gcse_obstack renaming.
5943
196565d4
SB
5944 * cprop.c (oprs_not_set_p): Remove.
5945 (mark_set, mark_clobber): Remove.
5946 (mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache.
5947 (reg_not_set_p): New function.
5948 (find_avail_set): Use reg_not_set_p instead of oprs_not_set_p.
5949 (cprop_insn): Likewise.
5950 (cprop_jump): Use FOR_EACH_EDGE.
5951
9b69cf83
BS
59522011-04-04 Bernd Schmidt <bernds@codesourcery.com>
5953
5954 PR bootstrap/48403
5955 * haifa-sched.c (nonscheduled_insns_begin): New static variable.
5956 (rank_for_schedule): Use scheduled_insns vector instead of
5957 last_scheduled_insn.
5958 (ok_for_early_queue_removal): Likewise.
5959 (queue_to_ready): Search forward in nonscheduled_insns_begin if
5960 we have a dbg_cnt.
5961 (choose_ready): Likewise.
5962 (commit_schedule): Use VEC_iterate.
5963 (schedule_block): Initialize nonscheduled_insns_begin. If we have
5964 a dbg_cnt, use it and ensure the first insn is in the ready list.
5965 (haifa_sched_init): Allocate scheduled_insns.
5966 (sched_extend_ready_list): Don't allocate it; reserve space.
5967 (haifa_sched_finish): Free it.
5968
24f48c2f
JM
59692011-04-04 Joseph Myers <joseph@codesourcery.com>
5970
5971 * optc-gen.awk: Always remove type from Variable entry before
5972 recording in var_seen.
5973
8effe856
EB
59742011-04-04 Eric Botcazou <ebotcazou@adacore.com>
5975
5976 * cfghooks.c (tidy_fallthru_edges): Add ??? comment.
5977 * tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove
5978 call to tidy_fallthru_edges.
5979
413519ae
JM
59802011-04-04 Joseph Myers <joseph@codesourcery.com>
5981
5982 * doc/options.texi (ToLower): Document.
3729983c 5983 * opt-functions.awk (switch_bit_fields): Initialize cl_tolower field.
413519ae
JM
5984 * opts-common.c (decode_cmdline_option): Handle cl_tolower.
5985 * opts.h (cl_option): Add cl_tolower field.
5986 * config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu=
5987 arguments with lowercase strings.
5988 * config/rx/rx.opt (mcpu=): Add ToLower.
5989 * config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu=
5990 argument.
5991
7d34a1b0
RS
59922011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
5993
5994 * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.
5995
c30e7434
RS
59962011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
5997
5998 * config/vax/vax.c: Include reload.h.
5999
112a861d
AS
60002011-04-04 Anatoly Sokolov <aesok@post.ru>
6001
6002 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove.
6003 * config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
6004 (sparc_preferred_reload_class): New function.
6005
e8c6bb74
JJ
60062011-04-04 Jakub Jelinek <jakub@redhat.com>
6007
2aeaa366 6008 PR debug/48401
e8c6bb74
JJ
6009 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
6010 Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.
6011
2c081caf
NF
60122011-04-03 Nathan Froyd <froydnj@codesourcery.com>
6013
6014 * tree.h (struct tree_const_decl): Inherit from tree_decl_common.
6015 * tree.c (initialize_tree_contains_struct): Adjust accordingly.
6016
53802f27
AS
60172011-04-03 Anatoly Sokolov <aesok@post.ru>
6018
6019 * config/avr/avr.h (ASM_OUTPUT_BSS): Remove.
6020 (ASM_OUTPUT_ALIGNED_BSS): Define.
6021
e89964e3
MM
60222011-04-03 Michael Matz <matz@suse.de>
6023
6024 * lto-streamer.h (struct lto_streamer_cache_d): Remove offsets
6025 and next_slot members.
6026 (lto_streamer_cache_insert, lto_streamer_cache_insert_at,
6027 lto_streamer_cache_lookup, lto_streamer_cache_get): Adjust prototypes.
6028 (lto_streamer_cache_append): Declare.
6029 * lto-streamer.c (lto_streamer_cache_add_to_node_array): Use
6030 unsigned index, remove offset parameter, ensure that we append
6031 or update existing entries.
6032 (lto_streamer_cache_insert_1): Use unsigned index, remove offset_p
6033 parameter, update next_slot for append.
6034 (lto_streamer_cache_insert): Use unsigned index, remove offset_p
6035 parameter.
6036 (lto_streamer_cache_insert_at): Likewise.
6037 (lto_streamer_cache_append): New function.
6038 (lto_streamer_cache_lookup): Use unsigned index.
6039 (lto_streamer_cache_get): Likewise.
6040 (lto_record_common_node): Don't test tree_node_can_be_shared.
6041 (preload_common_node): Adjust call to lto_streamer_cache_insert.
6042 (lto_streamer_cache_delete): Don't free offsets member.
6043 * lto-streamer-out.c (eq_string_slot_node): Use memcmp.
6044 (lto_output_string_with_length): Use lto_output_data_stream.
6045 (lto_output_tree_header): Remove ix parameter, don't write it.
6046 (lto_output_builtin_tree): Likewise.
6047 (lto_write_tree): Adjust callers to above, don't track and write
6048 offset, write unsigned index.
6049 (output_unreferenced_globals): Don't emit all global vars.
6050 (write_global_references): Use unsigned indices.
6051 (lto_output_decl_state_refs): Likewise.
6052 (write_symbol): Likewise.
6053 * lto-streamer-in.c (lto_input_chain): Move earlier.
6054 (input_function): Use unsigned index.
6055 (input_alias_pairs): Don't read and then ignore all global vars.
6056 (lto_materialize_tree): Remove ix_p parameter, don't read index,
6057 don't pass it back, use lto_streamer_cache_append.
6058 (lto_register_var_decl_in_symtab): Use unsigned index.
6059 (lto_register_function_decl_in_symtab): Likewise.
6060 (lto_get_pickled_tree): Don't read in or handle offset, read unsigned
6061 index.
6062 (lto_get_builtin_tree): Don't read index, use
6063 lto_streamer_cache_append.
6064 (lto_read_tree): Adjust call to lto_materialize_tree.
6065
6066 * ipa-inline.c (cgraph_edge_badness): Move growth calculaton,
6067 don't use function calls in arguments to MIN.
6068
6069 * varasm.c (decl_binds_to_current_def_p): Don't check TREE_PUBLIC
6070 twice.
6071
6072 * gimple.c (gimple_type_leader_entry): Mark deletable.
6073
b9a5b5b2
AM
60742011-04-03 Alan Modra <amodra@gmail.com>
6075
6076 * dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
6077
ac6a641b
MM
60782011-04-03 Michael Matz <matz@suse.de>
6079
6080 * tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not
6081 an integer.
6082 * tree.h (tree_decl_non_common.vindex): Adjust comment.
6083
0038d4e0
MM
60842011-04-03 Michael Matz <matz@suse.de>
6085
e9c18386 6086 * cgraphbuild.c (record_reference): Canonicalize constructor values.
0038d4e0
MM
6087 * gimple-fold.c (canonicalize_constructor_val): Accept being called
6088 without function context.
6089 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
6090 current_function_decl and cfun.
6091
91f2fae8
MM
60922011-04-03 Michael Matz <matz@suse.de>
6093
6094 * tree.c (decl_init_priority_insert): Don't create entry for
6095 default priority.
6096 (decl_fini_priority_insert): Ditto.
6097 (fields_compatible_p, find_compatible_field): Remove.
6098 * tree.h (fields_compatible_p, find_compatible_field): Remove.
6099 * gimple.c (gimple_compare_field_offset): Adjust block comment.
6100
da29e070
EB
61012011-04-03 Eric Botcazou <ebotcazou@adacore.com>
6102
6103 * combine.c (try_combine): Remove useless local variable.
6104
4979c28b 61052011-04-03 Richard Guenther <rguenther@suse.de>
91f2fae8 6106 Ira Rosen <ira.rosen@linaro.org>
4979c28b
RG
6107
6108 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
6109 non-variable offsets and compare the remaining bases of the two
6110 accesses instead of looking for exact same data-ref.
6111
b4ddcaee
KT
61122011-04-02 Kai Tietz <ktietz@redhat.com>
6113
f90298e1
KT
6114 PR target/48416
6115 * i386.c (ix86_function_arg_boundary): Fix printf formatter.
6116
b4ddcaee
KT
6117 * i386.c (ix86_is_msabi_thiscall): New helper function.
6118 (ix86_is_type_thiscall): New helper function.
6119 (ix86_comp_type_attributes): Handle thiscall for method-functions
6120 special.
6121 (init_cumulative_args): Likewise.
6122 (find_drap_reg): Likewise.
6123 (ix86_static_chain): Likewise.
6124 (x86_this_parameter): Likewise.
6125 (x86_output_mi_thunk): Likewise.
6126
2a9d769a 61272011-04-01 Olivier Hainque <hainque@adacore.com>
91f2fae8
MM
6128 Nicolas Setton <setton@adacore.com>
6129 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
6130
6131 * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
6132 (add_gnat_descriptive_type_attribute): New function.
6133 (gen_array_type_die): Call it.
6134 (gen_enumeration_type_die): Likewise.
6135 (gen_struct_or_union_type_die): Likewise.
6136 (modified_type_die): Likewise.
6137 * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
6138 * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
6139 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
6140
15a03a11
JJ
61412011-04-01 Jakub Jelinek <jakub@redhat.com>
6142
6143 PR bootstrap/48148
6144 * dwarf2out.c (resolve_addr): Don't call force_decl_die
6145 if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
6146
6147 Revert:
6148 2011-03-17 Richard Guenther <rguenther@suse.de>
6149
6150 PR bootstrap/48148
6151 * lto-cgraph.c (input_overwrite_node): Clear the abstract
6152 origin for decls in other ltrans units.
6153 (input_varpool_node): Likewise.
6154
19228b93
JJ
61552011-04-01 Jakub Jelinek <jakub@redhat.com>
6156
6157 PR middle-end/48335
6158 * expr.c (expand_assignment): Handle all possibilities
6159 if TO_RTX is CONCAT.
e9c18386 6160 * expmed.c (store_bit_field_1): Avoid trying to create invalid SUBREGs.
19228b93
JJ
6161 (store_split_bit_field): If SUBREG_REG (op0) or
6162 op0 itself has smaller mode than word, return it
6163 for offset 0 and const0_rtx for out-of-bounds stores.
6164 If word is const0_rtx, skip it.
6165
88cb339e
N
61662011-04-01 Naveen H.S <naveen.S@kpitcummins.com>
6167
6168 * config/h8300/h8300.c (print_operand_address): Rename to...
6169 (h8300_print_operand_address): ...this. Make static. Adjust comments.
6170 Call h8300_print_operand and h8300_print_operand_address instead of
6171 print_operand and print_operand_address. Declare.
6172 (print_operand): Renake to...
6173 (h8300_print_operand): ...this. Make static. Adjust comments.
6174 Call h8300_print_operand instead of print_operand. Declare.
6175 (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
6176 (h8300_register_move_cost): Likewise.
6177 (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
6178 TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
6179 * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
6180 PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
6181 * config/h8300/h8300-protos.h (print_operand): Delete.
6182 (print_operand_address): Delete.
6183
756d6ee9
RH
61842011-04-01 Richard Henderson <rth@redhat.com>
6185
6186 PR 48400
6187 * dwarf2out.c (dwarf2out_source_line): Disable discriminators
6188 in strict mode before dwarf4. Re-order tests to early out
6189 before switching sections.
6190
ceaaaeab
NF
61912011-04-01 Nathan Froyd <froydnj@codesourcery.com>
6192
6193 * config/h8300/constraints.md: New file.
6194 * config/h8300/h8300.md: Include it. Use satisfies_constraint_J,
6195 satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
6196 (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
6197 * config/h8300/predicates.md (bit_operand): Likewise.
6198 (incdec_operand): Use satisfies_constraint_M and
6199 satisfies_constraint_O. Don't use C code block.
6200 * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
6201 * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
6202 (compute_mov_length): Use satisfies_constraint_G.
6203 (fix_bit_operand): Use satisfies_constraint_U.
6204 * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
6205 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
6206 (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
6207 (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
6208 (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
6209 (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
6210 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
6211 (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
6212 (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
6213 (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
6214 (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
6215 (EXTRA_MEMORY_CONSTRAINT): Delete.
6216
08ae38e0
AP
62172011-04-01 Andrew Pinski <pinskia@gmail.com>
6218 Michael Meissner <meissner@linux.vnet.ibm.com>
6219
6220 PR target/48262
6221 * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
6222 operands, as per the specifications.
6223
6224 * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
6225 (vec_extract_evenv4sf): Ditto.
6226 (vec_extract_evenv8hi): Ditto.
6227 (vec_extract_evenv16qi): Ditto.
6228 (vec_extract_oddv4si): Ditto.
6229
bdb0b0f6
MW
62302011-03-31 Mark Wielaard <mjw@redhat.com>
6231
6232 * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
6233 high_pc attribute if the CU has no associated code. Only output
6234 DW_AT_entry_pc for CU if not generating strict dwarf and
6235 dwarf_version < 4.
6236
722279e4
BS
62372011-04-01 Bernd Schmidt <bernds@codesourcery.com>
6238
6239 * dwarf2out.h (dwarf2out_frame_debug_init): Declare.
6240 * dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
6241 out of ...
6242 (dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
6243 * final.c (final_start_function): Call the new function rather
6244 than using a NULL argument for dwarf2out_frame_debug.
6245
c5dd277d
BS
6246 * ifcvt.c (cond_exec_process_insns): Disallow converting a block
6247 that contains the prologue.
6248
ec4efea9
BS
6249 * haifa-sched.c (queue_insn): New arg REASON. All callers
6250 changed. Print it in debugging output.
6251
2a6a0d80
BS
6252 * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
6253
86014d07
BS
6254 * sched-ebb.c (begin_schedule_ready): Remove second argument.
6255 Split most of the code into...
6256 (begin_move_insn): ... here. New function.
6257 (ebb_sched_info): Add a pointer to it.
6258 * haifa-sched.c (scheduled_insns): New static variable.
6259 (sched_extend_ready_list): Allocate it.
6260 (schedule_block): Use it to record the order of scheduled insns.
6261 Perform RTL changes to move insns only after all scheduling
6262 decisions have been made.
6263 * modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
6264 begin_move_insn field.
6265 * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
6266 * sched-int.h (struct haifa_sched_info): Remove second argument
6267 from begin_schedule_ready hook. Add new member begin_move_insn.
6268 * sched-rgn.c (begin_schedule_ready): Remove second argument.
6269 (rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
6270
9d701248
BS
6271 * haifa-sched.c (prune_ready_list): New function, broken out of
6272 schedule_block.
6273 (schedule_block): Use it.
6274
1ca1dad5
UW
62752011-04-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6276
6277 * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
6278
49568e45
KT
62792011-04-01 Kai Tietz <ktietz@redhat.com>
6280
6281 * config.gcc (*-*-mingw*): Allow as option the
6282 posix threading model.
07c0852e 6283 * config/i386/mingw32.h (SPEC_PTHREAD1, SPEC_PTHREAD2):
49568e45
KT
6284 New macros defined dependent to TARGET_USE_PTHREAD_BY_DEFAULT
6285 definition.
6286 (CPP_SPEC): Add pthread/no-pthread handling.
6287 (LIB_SPEC): Likewise.
6288 * config/i386/mingw-w64.h (CPP_SPEC):Likewise.
6289 (LIB_SPEC): Likewise.
6290 * config/i386/t-cygming (SHLIB_PTHREAD_CFLAG): New
6291 flag to pass -pthread option for shared libgcc build.
6292 (SHLIB_PTHREAD_LDFLAG): New option to pass -lpthread
6293 for shared libgcc build.
6294 * config/i386/t-mingw-pthread: New file.
6295 * config/i386/mingw-pthread.h (TARGET_USE_PTHREAD_BY_DEFAULT):
6296 New define to enable use of library pthread by default.
6297 * config/i386/mingw.opt (pthread): New driver option.
6298 (no-pthread): New driver option.
e9c18386 6299 * config/i386/cygming.opt: Make sure trailing empty line is retained.
49568e45
KT
6300 * config/i386/mingw-w64.opt: Likewise.
6301
748f7574 63022011-04-01 Gary Funck <gary@intrepid.com>
636b4106
GF
6303
6304 * c-decl.c (grokdeclarator): Fix formatting.
6305
f04713ee
RS
63062011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
6307
6308 * expr.c (emit_block_move_via_movmem): Use n_generator_args
6309 instead of n_operands.
6310 (set_storage_via_setmem): Likewise.
6311 * optabs.c (maybe_gen_insn): Likewise.
6312 * config/arm/arm.c (arm_init_neon_builtins): Likewise.
6313 * config/mips/mips.c (mips_expand_builtin_compare_1): Likewise.
6314 (mips_expand_builtin_direct): Likewise.
6315 * config/spu/spu.c (expand_builtin_args): Likewise.
6316
b29387ee
RS
63172011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
6318
6319 * recog.h (insn_data_d): Add n_generator_args.
6320 * genoutput.c (data): Likewise.
6321 (output_insn_data): Print it.
6322 (max_opno, num_dups): Delete.
6323 (scan_operands): Just fill in "d->operand[...]".
6324 (gen_insn, gen_peephole, gen_expand, gen_split): Use get_pattern_stats.
6325
e792559a
RS
63262011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
6327
6328 * gensupport.h (pattern_stats): New structure.
6329 * gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
6330 * genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
6331 (max_operand_1, max_operand_vec): Delete.
6332 (gen_insn, gen_expand, gen_split): Use get_pattern_stats.
6333
e8110d6f
NF
63342011-03-31 Nathan Froyd <froydnj@codesourcery.com>
6335
6336 * emit-rtl.c (emit_pattern_after_setloc): New function.
6337 (emit_insn_after_setloc, emit_jump_insn_after_setloc): Call it.
6338 (emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise.
6339 (emit_pattern_after): New function.
6340 (emit_insn_after, emit_jump_insn_after): Call it.
6341 (emit_call_insn_after, emit_debug_insn_after): Likewise.
6342 (emit_pattern_before_setloc): New function.
6343 (emit_insn_before_setloc, emit_jump_insn_before_setloc): Call it.
6344 (emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
6345 Likewise.
6346 (emit_pattern_before): New function.
6347 (emit_insn_before, emit_jump_insn_before): Call it.
6348 (emit_call_insn_before, emit_debug_insn_before): Likewise.
6349
576f85f1
RH
63502011-03-31 Richard Henderson <rth@redhat.com>
6351
6352 * dwarf2out.c (dw_separate_line_info_ref): Remove.
6353 (dw_separate_line_info_entry): Remove.
6354 (enum dw_line_info_opcode): New.
6355 (dw_line_info_entry): Use it.
6356 (dw_line_info_table, dw_line_info_table_p): New.
6357 (DWARF_LINE_OPCODE_BASE): Include dwarf3 opcodes.
6358 (line_info_table, line_info_label_num): Remove.
6359 (line_info_table_in_use): Remove.
6360 (separate_line_info_table): Remove.
6361 (separate_line_info_table_allocated): Remove.
6362 (separate_line_info_table_in_use): Remove.
6363 (LINE_INFO_TABLE_INCREMENT): Remove.
6364 (line_info_label_num): New.
6365 (cur_line_info_table): New.
6366 (text_section_line_info, cold_text_section_line_info): New.
6367 (separate_line_info): New.
6368 (SEPARATE_LINE_CODE_LABEL): Remove.
6369 (print_dwarf_line_table): Remove.
6370 (debug_dwarf): Don't dump it.
6371 (output_one_line_info_table): New.
6372 (output_line_info): Use it.
6373 (new_line_info_table): New.
6374 (set_cur_line_info_table): New.
6375 (dwarf2out_switch_text_section): Use it.
6376 (dwarf2out_begin_function): Likewise.
6377 (push_dw_line_info_entry): New.
6378 (dwarf2out_source_line): Rewrite for new line info tables.
6379 (dwarf2out_init): Remove dead initailizations.
6380
300d83d9
JM
63812011-03-31 Joseph Myers <joseph@codesourcery.com>
6382
6383 * opts.h (cl_option): Add comments to fields. Add bit-fields for
6384 various flags.
6385 (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK,
6386 CL_SEPARATE_ALIAS, CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE,
6387 CL_DISABLED, CL_REPOR, CL_REJECT_NEGATIVE, CL_MISSING_OK,
6388 CL_UINTEGER, CL_NEGATIVE_ALIAS): Remove.
6389 (CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED): Update bit positions.
6390 * opt-functions.awk (flag_init, switch_bit_fields): New.
6391 (switch_flags): Don't handle flags moved to bit-fields. Don't
6392 generate CL_MISSING_OK or CL_SAVE.
6393 * optc-gen.awk: Update to generate bit-field output as well as
6394 flags field.
6395 * gcc.c (driver_wrong_lang_callback): Use cl_reject_driver
6396 bit-field instead of CL_REJECT_DRIVER flag.
6397 * opts-common.c (generate_canonical_option,
6398 decode_cmdline_option): Use bit-fields instead of CL_* flags.
6399 * opts.c (maybe_default_option): Use cl_reject_negative bit-field
6400 instead of CL_REJECT_NEGATIVE flag.
6401 * toplev.c (print_switch_values): Use cl_report bit-field instead
6402 of CL_REPORT flag.
6403
d4d73ce2
EB
64042011-03-31 Eric Botcazou <ebotcazou@adacore.com>
6405
6406 * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
6407 a zero minimum index only if it is redundant.
6408
b8faca75
VM
64092011-03-31 Vladimir Makarov <vmakarov@redhat.com>
6410
6411 PR rtl-optimization/48381
6412 * ira-color.c (assign_hard_reg): Use hard reg set intersection
6413 instead of ira_class_hard_reg_index for calculating conflicting
6414 hard registers.
6415
7d11cebe
SB
64162011-03-31 Steven Bosscher <steven@gcc.gnu.org>
6417
6418 * cprop.c: Clean up hash table building.
6419 (reg_avail_info): Remove.
6420 (oprs_available_p): Remove.
6421 (record_last_reg_set_info): Remove.
6422 (record_last_set_info): Remove.
6423 (reg_available_p): New function.
6424 (gcse_constant_p): Do not treat unfolded conditions as constants.
6425 (make_set_regs_unavailable): New function.
6426 (hash_scan_set): Simplify with new reg_available_p.
6427 (compute_hash_table_work): Traverse insns stream only once.
6428 Do not compute reg_avail_info. Traverse insns in reverse order.
6429 Record implicit sets after recording explicit sets from the block.
6430
98faf84f
MM
64312011-03-31 Michael Matz <matz@suse.de>
6432
e9c18386 6433 * builtins.c (build_va_arg_indirect_ref): Use build_simple_mem_ref_loc.
98faf84f 6434
f52d97da
AS
64352011-03-31 Anatoly Sokolov <aesok@post.ru>
6436
6437 * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove macro.
6438 * config/h8300/h8300-protos.h (h8300_get_index): Remove.
6439 * config/h8300/h8300.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
6440 (h8300_mode_dependent_address_p): New function.
6441 (h8300_get_index): Make static.
6442
e16b6fd0
JL
64432011-03-31 Jeff Law <law@redhat.com>
6444
10c51983
JL
6445 * reload1.c (elimination_effects): Fix typo in recent change.
6446
e9c18386 6447 * tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid
e16b6fd0
JL
6448 typo potentially leading to null pointer dereference.
6449
6450 * caller-save.c (new_saved_hard_reg): Eliminate return value.
6451 (setup_save_areas): Corresponding changes to avoid useless
6452 assignments.
6453
6454 * jump.c (reversed_comparison_code_parts): Avoid successive return
6455 statements when REVERSE_CONDITION is defined.
6456
6457 * expr.c (expand_assignment): Avoid useless assignments.
6458 (expand_expr_real_1): Likewise.
6459 (expand_expr_real_2): Avoid useless statements.
6460
6461 * tree-ssa-phiopt.c (minmax_replacement): Avoid useless statement.
6462
6463 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
6464
6465 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Avoid useless
6466 statements.
6467
6468 * stmt.c (expand_expr_stmt): Avoid useless assignment.
6469
eb1eb914
JM
64702011-03-31 Joseph Myers <joseph@codesourcery.com>
6471
6472 PR target/47109
6473 * doc/tm.texi.in (TARGET_VERSION): Remove.
6474 * doc/tm.texi: Regenerate.
6475 * system.h (TARGET_VERSION, MACHINE_TYPE): Poison.
6476 * collect2.c (main): Don't use TARGET_VERSION.
6477 * mips-tdump.c (main): Don't use TARGET_VERSION.
6478 * mips-tfile.c (main): Don't use TARGET_VERSION.
e9c18386 6479 * config.gcc (powerpc-wrs-vxworksae): Don't use rs6000/vxworksae.h.
eb1eb914
JM
6480 * config/rs6000/vxworksae.h: Remove.
6481 * config/alpha/alpha.h (TARGET_VERSION): Remove.
6482 * config/alpha/freebsd.h (TARGET_VERSION): Remove.
6483 * config/alpha/linux-elf.h (TARGET_VERSION): Remove.
6484 * config/alpha/netbsd.h (TARGET_VERSION): Remove.
6485 * config/alpha/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
6486 * config/arm/arm.h (TARGET_VERSION): Remove.
6487 * config/arm/coff.h (TARGET_VERSION): Remove.
6488 * config/arm/ecos-elf.h (TARGET_VERSION): Remove.
6489 * config/arm/elf.h (TARGET_VERSION): Remove.
6490 * config/arm/freebsd.h (TARGET_VERSION): Remove.
6491 * config/arm/linux-elf.h (TARGET_VERSION): Remove.
6492 * config/arm/netbsd-elf.h (TARGET_VERSION): Remove.
6493 * config/arm/pe.h (TARGET_VERSION): Remove.
6494 * config/arm/rtems-elf.h (TARGET_VERSION): Remove.
6495 * config/arm/semi.h (TARGET_VERSION): Remove.
6496 * config/arm/uclinux-elf.h (TARGET_VERSION): Remove.
6497 * config/arm/unknown-elf.h (TARGET_VERSION): Remove.
6498 * config/arm/vxworks.h (TARGET_VERSION): Remove.
6499 * config/avr/avr.h (TARGET_VERSION): Remove.
6500 * config/bfin/bfin.h (TARGET_VERSION): Remove.
6501 * config/fr30/fr30.h (TARGET_VERSION): Remove.
6502 * config/frv/frv.h (TARGET_VERSION): Remove.
6503 * config/h8300/h8300.h (TARGET_VERSION): Remove.
6504 * config/i386/cygwin.h (TARGET_VERSION): Remove.
6505 * config/i386/darwin.h (TARGET_VERSION): Remove.
6506 * config/i386/darwin64.h (TARGET_VERSION): Remove.
6507 * config/i386/djgpp.h (TARGET_VERSION): Remove.
6508 * config/i386/freebsd.h (TARGET_VERSION): Remove.
6509 * config/i386/freebsd64.h (TARGET_VERSION): Remove.
6510 * config/i386/gnu.h (TARGET_VERSION): Remove.
6511 * config/i386/i386-interix.h (TARGET_VERSION): Remove.
6512 * config/i386/i386elf.h (TARGET_VERSION): Remove.
6513 * config/i386/linux.h (TARGET_VERSION): Remove.
6514 * config/i386/linux64.h (TARGET_VERSION): Remove.
6515 * config/i386/lynx.h (TARGET_VERSION): Remove.
6516 * config/i386/mingw32.h (TARGET_VERSION): Remove.
6517 * config/i386/netbsd-elf.h (TARGET_VERSION): Remove.
6518 * config/i386/netbsd64.h (TARGET_VERSION): Remove.
6519 * config/i386/netware.h (TARGET_VERSION): Remove.
6520 * config/i386/nto.h (TARGET_VERSION): Remove.
6521 * config/i386/openbsd.h (TARGET_VERSION): Remove.
6522 * config/i386/vxworks.h (TARGET_VERSION): Remove.
6523 * config/ia64/elf.h (TARGET_VERSION): Remove.
6524 * config/ia64/freebsd.h (TARGET_VERSION): Remove.
6525 * config/ia64/hpux.h (TARGET_VERSION): Remove.
6526 * config/ia64/linux.h (TARGET_VERSION): Remove.
6527 * config/ia64/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
6528 * config/iq2000/iq2000.h (IQ2000_VERSION, MACHINE_TYPE,
6529 TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
6530 * config/lm32/lm32.h (TARGET_VERSION): Remove.
6531 * config/lm32/uclinux-elf.h (TARGET_VERSION): Remove.
6532 * config/m32c/m32c.h (TARGET_VERSION): Remove.
6533 * config/m32r/linux.h (LINUX_DEFAULT_ELF, TARGET_VERSION): Remove.
6534 * config/m32r/m32r.h (TARGET_VERSION): Remove.
6535 * config/m68k/linux.h (TARGET_VERSION): Remove.
6536 * config/m68k/m68k.h (TARGET_VERSION): Remove.
6537 * config/m68k/netbsd-elf.h (TARGET_VERSION): Remove.
6538 * config/m68k/uclinux.h (TARGET_VERSION): Remove.
6539 * config/mcore/mcore-elf.h (TARGET_VERSION): Remove.
6540 * config/mep/mep.h (TARGET_VERSION): Remove.
6541 * config/microblaze/microblaze.h (MICROBLAZE_VERSION,
6542 MACHINE_TYPE, TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
6543 * config/mips/iris6.h (MACHINE_TYPE): Remove.
6544 * config/mips/linux.h (TARGET_VERSION): Remove.
6545 * config/mips/netbsd.h (MACHINE_TYPE): Remove.
6546 * config/mips/vxworks.h (TARGET_VERSION): Remove.
6547 * config/mmix/mmix.h (TARGET_VERSION): Remove.
6548 * config/mn10300/linux.h (TARGET_VERSION): Remove.
6549 * config/mn10300/mn10300.h (TARGET_VERSION): Remove.
6550 * config/pa/pa.h (TARGET_VERSION): Remove.
6551 * config/pdp11/pdp11.h (TARGET_VERSION): Remove.
6552 * config/picochip/picochip.h (TARGET_VERSION): Remove.
6553 * config/rs6000/aix.h (TARGET_VERSION): Remove.
6554 * config/rs6000/darwin.h (TARGET_VERSION): Remove.
6555 * config/rs6000/darwin64.h (TARGET_VERSION): Remove.
6556 * config/rs6000/eabi.h (TARGET_VERSION): Remove.
6557 * config/rs6000/eabialtivec.h (TARGET_VERSION): Remove.
6558 * config/rs6000/eabisim.h (TARGET_VERSION): Remove.
6559 * config/rs6000/eabispe.h (TARGET_VERSION): Remove.
6560 * config/rs6000/freebsd.h (TARGET_VERSION): Remove.
6561 * config/rs6000/linux.h (TARGET_VERSION): Remove.
6562 * config/rs6000/linux64.h (TARGET_VERSION): Remove.
6563 * config/rs6000/linuxaltivec.h (TARGET_VERSION): Remove.
6564 * config/rs6000/linuxspe.h (TARGET_VERSION): Remove.
6565 * config/rs6000/lynx.h (TARGET_VERSION): Remove.
6566 * config/rs6000/netbsd.h (TARGET_VERSION): Remove.
6567 * config/rs6000/sysv4.h (TARGET_VERSION): Remove.
6568 * config/rs6000/vxworks.h (TARGET_VERSION): Remove.
6569 * config/s390/linux.h (TARGET_VERSION): Remove.
6570 * config/s390/s390.h (TARGET_VERSION): Remove.
6571 * config/s390/tpf.h (TARGET_VERSION): Remove.
6572 * config/score/score.h (TARGET_VERSION): Remove.
6573 * config/sh/linux.h (TARGET_VERSION): Remove.
6574 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN,
6575 TARGET_VERSION_CPU, TARGET_VERSION): Remove.
6576 * config/sh/sh.h (TARGET_VERSION): Remove.
6577 * config/sh/sh64.h (TARGET_VERSION): Remove.
6578 * config/sh/superh.h (TARGET_VERSION): Remove.
6579 * config/sh/vxworks.h (TARGET_VERSION): Remove.
6580 * config/sparc/freebsd.h (TARGET_VERSION): Remove.
6581 * config/sparc/linux.h (TARGET_VERSION): Remove.
6582 * config/sparc/linux64.h (TARGET_VERSION): Remove.
6583 * config/sparc/netbsd-elf.h (TARGET_VERSION, TARGET_NAME64,
6584 TARGET_NAME32, TARGET_NAME): Remove.
6585 * config/sparc/openbsd64.h (TARGET_VERSION): Remove.
6586 * config/sparc/sp-elf.h (TARGET_VERSION): Remove.
6587 * config/sparc/sp64-elf.h (TARGET_VERSION): Remove.
6588 * config/sparc/sysv4.h (TARGET_VERSION): Remove.
6589 * config/sparc/vxworks.h (TARGET_VERSION): Remove.
6590 * config/spu/spu.h (TARGET_VERSION): Remove.
6591 * config/stormy16/stormy16.h (TARGET_VERSION): Remove.
6592 * config/v850/v850.h (TARGET_VERSION): Remove.
6593 * config/vax/linux.h (TARGET_VERSION): Remove.
6594 * config/vax/vax.h (TARGET_NAME, TARGET_VERSION): Remove.
6595 * config/xtensa/elf.h (TARGET_VERSION): Remove.
6596 * config/xtensa/linux.h (TARGET_VERSION): Remove.
6597
ace31bca
EB
65982011-03-31 Eric Botcazou <ebotcazou@adacore.com>
6599
6600 PR target/48142
6601 * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
6602 frame-related from frame-unrelated adjustments to the stack pointer.
6603
76f9db36
JJ
66042011-03-31 Jakub Jelinek <jakub@redhat.com>
6605
6606 * common.opt (fdebug-types-section): Move earlier.
6607 * doc/invoke.texi: Fix up -fno-debug-types-section documentation.
6608
b7826465
AT
66092011-03-31 Andreas Tobler <andreast@fgznet.ch>
6610
6611 * config/rs6000/rs6000.c (rs6000_handle_option): Remove unused isel
6612 var.
6613
1290e54c
NF
66142011-03-30 Nathan Froyd <froydnj@codesourcery.com>
6615
6616 * tree.h (CASE_CHAIN): Define.
6617 * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
6618 (gimple_redirect_edge_and_branch): Likewise.
6619
bddc98e1
VM
66202011-03-30 Vladimir Makarov <vmakarov@redhat.com>
6621
6622 PR middle-end/48367
6623 * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
6624 calculation.
6625
c865e437
JL
66262011-03-30 Jeff Law <law@redhat.com>
6627
b3750213 6628 * PR bootstrap/48371
c865e437
JL
6629 * reload1.c (reload): Fix botch in last change.
6630
6631 * reload.h (struct reload): Fix typo introduced in last change.
6632
2cdf9574
JM
66332011-03-30 Joseph Myers <joseph@codesourcery.com>
6634
6635 * config/arm/arm.opt (mhard-float, msoft-float): Mark
6636 Undocumented. Remove help text.
6637 * doc/invoke.texi (ARM Options): Don't document -msoft-float and
6638 -mhard-float.
6639
666a21a2
JM
66402011-03-30 Joseph Myers <joseph@codesourcery.com>
6641
6642 * doc/options.texi (NegativeAlias): Document.
6643 (Alias): Mention NegativeAlias.
6644 * opt-functions.awk: Handle NegativeAlias.
e9c18386 6645 * optc-gen.awk: Disallow NegativeAlias with multiple Alias arguments.
666a21a2
JM
6646 * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
6647 * opts.h (CL_NEGATIVE_ALIAS): Define.
6648 * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
6649 (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
6650 OPT_mspe_.
6651 * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
6652 Alias entries.
6653 * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
6654 mno-spe and mno-isel instead of mspe=no and -misel=no.
6655
0fa4e351
MW
66562011-03-29 Mark Wielaard <mjw@redhat.com>
6657
6658 * common.opt (fdebug-types-section): New flag.
6659 * doc/invoke.texi: Document new -fno-debug-types-section flag.
6660 * dwarf2out.c (use_debug_types): New define.
6661 (struct die_struct): Mark die_id with GTY desc use_debug_types.
6662 (print_die): Guard output of type unit signatures using
6663 use_debug_types.
6664 (build_abbrev_table): Replace assert of dwarf_version >= 4
6665 with assert on use_debug_types.
6666 (size_of_die): Likewise.
6667 (unmark_dies): Likewise.
6668 (value_format): Decide AT_ref_external form on use_debug_types.
6669 (output_die): Replace dwarf_version version check guard with
6670 use_debug_types where appropriate.
6671 (modified_type_die): Likewise.
6672 (gen_reference_type_die): Likewise.
6673 (dwarf2out_start_source_file): Likewise.
6674 (dwarf2out_end_source_file): Likewise.
6675 (prune_unused_types_walk_attribs): Likewise.
6676 (dwarf2out_finish): Likewise.
6677
4648deb4
VM
66782011-03-30 Vladimir Makarov <vmakarov@redhat.com>
6679
6680 * ira-color.c (ira_assign_hard_reg): Use only one variable 'mode'.
6681
4f431835
RS
66822011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
6683
6684 PR rtl-optimization/48332
6685 * optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
6686 mode of input operand N and modeN to its actual mode.
6687
f2034d06
JL
66882011-03-30 Jeff Law <law@redhat.com>
6689
6690 * reload.h (reg_equiv_constant): Move into new structure reg_equivs,
6691 define accessor macro.
6692 (reg_equiv_invariant, reg_equiv_memory_loc): Likewise.
6693 (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise.
6694 (reg_equiv_init): Likewise.
6695 (reg_equivs_size): New variable.
6696 (reg_equiv_init_size): Remove.
6697 (allocate_initial_values): Move prototype to here from....
6698 * integrate.h (allocate_initial_values): Remove prototype.
6699 * integrate.c: Include reload.h.
6700 (allocate_initial_values): Corresponding changes.
6701 * ira.c (find_reg_equiv_invariant_cost): Corresponding changes.
6702 (fix_reg_equiv_init, no_equiv): Corresponding changes.
6703 (update_equiv_regs): Corresponding changes.
6704 (ira): Corresponding changes.
6705 * reload.c (push_reg_equiv_alt_mem): Corresponding changes.
6706 (push_secondary_reload): Corresponding changes.
6707 (push_reload, find_reloads, find_reloads_toplev): Corresponding changes.
6708 (make_memloc, find_reloads_address): Corresponding changes.
6709 (subst_reg_equivs, subst_indexed_address): Corresponding changes.
6710 (find_reloads_address_1): Corresponding changes.
6711 (find_reloads_subreg_address, subst_reloads): Corresponding changes.
6712 (refers_to_regno_for_reload_p): Corresponding changes.
6713 (reg_overlap_mentioned_for_reload_p): Corresponding changes.
6714 (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes.
6715 * reload1.c: Include ggc.h.
6716 (grow_reg_equivs): New function.
6717 (replace_pseudos_in, reload): Corresponding changes.
6718 (calculate_needs_all_insns, alter_regs): Corresponding changes.
6719 (eliminate_regs_1, elimination_effects): Corresponding changes.
6720 (emit_input_reload_insns, emit_output_reload_insns): Likewise.
6721 (delete_output_reload): Likewise.
6722 * caller-save.c (mark_referenced_regs): Corresponding changes.
6723 * alpha/alpha.c (resolve_reload_operand): Corresponding changes.
6724 * frv/predicates.md (frv_load_operand): Corresponding changes.
6725 * microblaze/microblaze.c (double_memory_operand): Corresponding
6726 changes.
6727 * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes.
6728 * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes.
e9c18386 6729 * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding changes.
f2034d06
JL
6730 * m68k/m68k.c (emit_move_sequence): Corresponding changes.
6731 * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding
6732 changes.
6733 * pa/pa.c (emit_move_sequence): Corresponding changes.
6734 * vax/vax.c (nonindexed_address_p): Corresponding changes.
6735
159b81b0
RS
67362011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
6737
6738 PR target/47551
6739 * config/arm/arm.c (coproc_secondary_reload_class): Handle
6740 structure modes. Don't check neon_vector_mem_operand for
6741 vector or structure modes.
6742
a6217191
RS
67432011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
6744 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
6745
6746 PR target/43590
6747 * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
6748 operand 1 and reshuffle the operands to match.
6749 (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.
6750
bd837408
CS
67512011-03-30 Christian Schüler <cschueler@gmx.de>
6752
6955d771 6753 PR driver/48208
bd837408 6754 * config/c.opt (F): Added 'Driver' to -F option.
e9c18386 6755
6955d771 6756 PR driver/48260
bd837408
CS
6757 * config/darwin-driver.c (darwin_driver_init): Add '-arch' to
6758 handler function.
6759 * config/darwin.opt: Added '-arch' option.
6760
e9c0470a
NC
67612011-03-30 Nick Clifton <nickc@redhat.com>
6762
6763 * config/rx/rx.md: Add peepholes and patterns to combine
6764 extending loads and simple arithmetic instructions.
6765 * config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
e9c18386
UB
6766 * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
6767 * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
e9c0470a 6768 modes to use pre-decrement and post-increment addressing.
e9c18386 6769 (rx_is_restricted_memory_address): Add range checking of REG+INT
e9c0470a 6770 addresses.
e9c18386
UB
6771 (rx_print_operand): Add support for %Q. Fix handling of %Q.
6772 (rx_memory_move_cost): Adjust cost of stores.
6773 (rx_adjust_insn_length): New function.
e9c0470a 6774
8a87e7ab
JJ
67752011-03-30 Jakub Jelinek <jakub@redhat.com>
6776
6777 PR c/48305
6778 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
6779 arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
6780 matching arg00/arg01 types.
6781
12486e03
EB
67822011-03-30 Eric Botcazou <ebotcazou@adacore.com>
6783
6784 * cfglayout.c (insn_locators_alloc): Initialize curr_location and
6785 last_location to UNKNOWN_LOCATION.
6786
0b99eef6
L
67872011-03-30 H.J. Lu <hongjiu.lu@intel.com>
6788
6789 PR target/48349
6790 * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
6791 FLOAT_SSE_REGS.
6792
023592aa
JM
67932011-03-30 Joseph Myers <joseph@codesourcery.com>
6794 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6795
6796 PR bootstrap/48337
6797 * config/sparc/sparc.opt (sparc_cpu_and_features): Add
6798 Init(PROCESSOR_V7).
6799 (sparc_cpu): Likewise.
6800 * config/sparc/sparc.c (sparc_option_override): Replace 0 by
6801 PROCESSOR_V7.
6802
ad3b266b
VM
68032011-03-29 Vladimir Makarov <vmakarov@redhat.com>
6804
6805 PR target/48336
6806 PR middle-end/48342
6807 PR rtl-optimization/48345
6808 * ira-color.c (setup_conflict_profitable_regs): Exclude prohibited
6809 hard regs for given mode from profitable regs when doing secondary
6810 allocation.
6811
633c9126
JL
68122011-03-29 Jeff Law <law@redhat.com>
6813
6814 PR bootstrap/48327
6815 * tree-ssa-threadupdate.c (struct redirection_data): Remove
6816 do_not_duplicate field.
6817 (lookup_redirection_data): Corresponding changes.
6818 (create_duplicates): Always create a template block.
6819 (redirect_edges): Remove code which reused the original block
6820 when it was going to become unreachable code.
6821 (thread_block): Don't set do_not_duplicate field.
6822
eb50f63a
JM
68232011-03-29 Joseph Myers <joseph@codesourcery.com>
6824
6825 * lto-opts.c (register_user_option_p, lto_register_user_option):
6826 Make type argument unsigned.
6827 * lto-streamer.h (lto_register_user_option): Make type argument
6828 unsigned.
6829 * opth-gen.awk: Make CL_* macros unsigned.
6830 * opts-common.c (find_opt): Make lang_mask argument unsigned.
6831 * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
6832 CL_TARGET, CL_COMMON, CL_SEPARATE_NARGS_MASK, CL_SEPARATE_ALIAS,
6833 CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE, CL_DISABLED,
6834 CL_REPORT, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE,
6835 CL_MISSING_OK, CL_UINTEGER, CL_UNDOCUMENTED): Make unsigned.
6836 (find_opt): Make lang_mask argument unsigned.
6837
76763a6d
VM
68382011-03-29 Vladimir Makarov <vmakarov@redhat.com>
6839
6840 PR rtl-optimization/48331
6841 PR rtl-optimization/48334
6842 * ira-color.c (color_allocnos): Call setup_profitable_hard_regs
6843 for any used algorithm.
6844
5c82436e
VM
68452011-03-29 Vladimir Makarov <vmakarov@redhat.com>
6846
6847 * ira-conflicts.c (build_object_conflicts): Add unused attribute
6848 to parent_max.
6849
7a81008b
UB
68502011-03-29 Uros Bizjak <ubizjak@gmail.com>
6851
6852 * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
6853 (alpha_option_override): Don't set alpha_sr_alias_set.
6854 (emit_frame_store_1): Use gen_frame_mem rather than calling
6855 set_mem_alias_set.
6856 (alpha_expand_epilogue): Ditto.
6857
86c8d1f6
IR
68582011-03-29 Ira Rosen <ira.rosen@linaro.org>
6859
6860 PR tree-optimization/48290
6861 * tree-vect-loop.c (vect_analyze_loop_operations): In outer loop
6862 vectorization, check that relevant phis in the basic block after
6863 the inner loop are really inner loop's exit phis.
6864
0d12220f
RS
68652011-03-29 Richard Sandiford <richard.sandiford@linaro.org>
6866
e8cf17e7 6867 PR debug/48190
0d12220f
RS
6868 * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
6869 (cached_dw_loc_list_def): New structure.
6870 (cached_dw_loc_list): New typedef.
6871 (cached_dw_loc_list_table): New variable.
6872 (cached_dw_loc_list_table_hash): New function.
6873 (cached_dw_loc_list_table_eq): Likewise.
6874 (add_location_or_const_value_attribute): Take a bool cache_p.
6875 Cache the list when the parameter is true.
6876 (gen_formal_parameter_die): Update caller.
6877 (gen_variable_die): Likewise.
6878 (dwarf2out_finish): Likewise.
6879 (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
6880 while generating debug info for the decl.
6881 (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
6882 (dwarf2out_init): Initialize cached_dw_loc_list_table.
6883 (resolve_addr): Cache the result of resolving a chain of
6884 location lists.
6885
1756cb66
VM
68862011-03-28 Vladimir Makarov <vmakarov@redhat.com>
6887
6888 * ira-color.c (update_left_conflict_sizes_p): Don't assume that
6889 conflict object hard regset nodes have intersecting hard reg sets.
7a81008b 6890
1756cb66
VM
6891 * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
6892 after regstat_init_n_sets_and_refs.
6893
6894 * ira.c: Add more comments at the top.
6895 (setup_stack_reg_pressure_class, setup_pressure_classes):
6896 Add comments how we compute the register pressure classes.
6897 (setup_allocno_and_important_classes): Add more comments.
6898 (setup_class_translate_array, reorder_important_classes)
6899 (setup_reg_class_relations): Add comments.
6900
6901 * ira-emit.c: Add 2011 to the Copyright line. Add comments at the
6902 start of the file.
6903
6904 * ira-color.c: Add 2011 to the Copyright line.
6905 (assign_hard_reg): Add more comments.
6906 (improve_allocation): Ditto.
6907
6908 * ira-costs.c: Add 2011 to the Copyright line.
6909 (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
6910 comments.
6911 (setup_regno_cost_classes_by_mode): Ditto.
6912
6913 Initial patches from ira-improv branch:
6914
6915 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
6916
f60c2554 6917 * ira-build.c (ira_create_object): Remove initialization of
1756cb66
VM
6918 OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA.
6919 (ira_create_allocno): Remove initialization of
6920 ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
6921 ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
6922 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
6923 ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
6924 ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
6925 Initialize ALLOCNO_ADD_DATA.
6926 (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
6927 and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
6928 ALLOCNO_REG.
6929 (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of
6930 ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
6931
6932 * ira.c (ira_reallocate): Remove.
6933 (setup_pressure_classes): Call
6934 ira_init_register_move_cost_if_necessary. Use
6935 ira_register_move_cost instead of ira_get_register_move_cost.
6936 (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
6937 (ira): Call ira_initiate_emit_data and ira_finish_emit_data.
6938
6939 * ira-color.c: Use ALLOCNO_COLOR_DATA instead of
6940 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
6941 ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
6942 ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
6943 instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
6944 OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
6945 Fix formatting.
7a81008b 6946 (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h.
1756cb66
VM
6947 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
6948 (struct allocno_color_data): New.
6949 (allocno_color_data_t): New typedef.
6950 (allocno_color_data): New definition.
6951 (ALLOCNO_COLOR_DATA): New macro.
6952 (struct object_color_data): New.
6953 (object_color_data_t): New typedef.
6954 (object_color_data): New definition.
6955 (OBJECT_COLOR_DATA): New macro.
6956 (update_copy_costs, calculate_allocno_spill_cost): Call
6957 ira_init_register_move_cost_if_necessary. Use
6958 ira_register_move_cost instead of ira_get_register_move_cost.
6959 (move_spill_restore, update_curr_costs): Ditto.
6960 (allocno_spill_priority): Make it inline.
7a81008b 6961 (color_pass): Allocate and free allocno_color_dat and object_color_data.
1756cb66
VM
6962 (struct coalesce_data, coalesce_data_t): New.
6963 (allocno_coalesce_data): New definition.
6964 (ALLOCNO_COALESCE_DATA): New macro.
6965 (merge_allocnos, coalesced_allocno_conflict_p): Use
6966 ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
6967 ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
6968 (coalesce_allocnos): Ditto.
6969 (setup_coalesced_allocno_costs_and_nums): Ditto.
6970 (collect_spilled_coalesced_allocnos): Ditto.
6971 (slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
6972 (setup_slot_coalesced_allocno_live_ranges): Ditto.
6973 (coalesce_spill_slots): Ditto.
6974 (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and
6975 free allocno_coalesce_data.
6976
6977 * ira-conflicts.c: Fix formatting.
6978 (process_regs_for_copy): Call
6979 ira_init_register_move_cost_if_necessary. Use
6980 ira_register_move_cost instead of ira_get_register_move_cost.
6981 (build_object_conflicts): Optimize.
6982
6983 * ira-costs.c (record_reg_classes): Optimize. Call
6984 ira_init_register_move_cost_if_necessary. Use
6985 ira_register_move_cost, ira_may_move_in_cost, and
6986 ira_may_move_out_cost instead of ira_get_register_move_cost and
6987 ira_get_may_move_cost.
6988 (record_address_regs): Ditto.
6989 (scan_one_insn): Optimize.
6990 (find_costs_and_classes): Optimize.
6991 (process_bb_node_for_hard_reg_moves): Call
6992 ira_init_register_move_cost_if_necessary. Use
6993 ira_register_move_cost instead of ira_get_register_move_cost.
6994
6995 * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
6996 ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
6997 ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
6998 (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
6999 definitions.
7000 (ira_initiate_emit_data, ira_finish_emit_data)
7001 (create_new_allocno): New functions.
7a81008b 7002 (modify_move_list): Call create_new_alloc instead of ira_create_allocno.
1756cb66
VM
7003 (emit_move_list): Call ira_init_register_move_cost_if_necessary.
7004 Use ira_register_move_cost instead of ira_get_register_move_cost.
7005
7006 * ira-int.h: Fix some comments.
7a81008b
UB
7007 (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c.
7008 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
1756cb66
VM
7009 (struct ira_object): Remove profitable_hard_regs, hard_regs_node,
7010 hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member
7011 add_data.
7012 (struct ira_allocno): Make mode and aclass a bitfield. Move other
7013 bitfield after mode. Make hard_regno a short int. Make
7014 hard_regno short. Remove first_coalesced_allocno and
7015 next_coalesced_allocno. Move mem_optimized_dest_p,
7016 somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
7017 into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p,
7018 available_regs_num, next_bucket_allocno, prev_bucket_allocno,
7019 temp, colorable_p. Add new member add_data.
7020 (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
7021 (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
7022 (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
7023 (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
7024 (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
7025 (ALLOCNO_ADD_DATA): New macro.
7026 (ira_emit_data_t): New typedef.
7027 (struct ira_emit_data): New. Move mem_optimized_dest_p,
7028 somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
7029 from struct ira_allocno.
7030 (ALLOCNO_EMIT_DATA): New macro.
7031 (ira_allocno_emit_data, allocno_emit_reg): New.
7032 (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
7a81008b 7033 (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove.
1756cb66
VM
7034 (OBJECT_ADD_DATA): New macro.
7035 (ira_reallocate): Remove.
7036 (ira_initiate_emit_data, ira_finish_emit_data): New.
7037 (ira_get_register_move_cost, ira_get_may_move_cost): Remove.
7038 (ira_init_register_move_cost_if_necessary): New.
7039 (ira_object_conflict_iter_next): Merge into
7040 ira_object_conflict_iter_cond.
7a81008b 7041 (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
1756cb66 7042
f60c2554 7043 * ira-live.c (process_single_reg_class_operands): Call
1756cb66
VM
7044 ira_init_register_move_cost_if_necessary. Use
7045 ira_register_move_cost instead of ira_get_register_move_cost.
7046
7047 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
7048
7049 * ira-int.h (struct target_ira_int): Remove x_cost_classes.
7050
7051 * ira-costs.c: Fix formatting.
7052 (cost_classes, cost_classes_num): Remove.
7053 (struct cost_classes, cost_classes_t, const_cost_classes_t): New.
7054 (regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
7055 (cost_classes_del, cost_classes_htab): New.
7056 (cost_classes_aclass_cache, cost_classes_mode_cache): New.
7057 (initiate_regno_cost_classes, setup_cost_classes): New.
7058 (setup_regno_cost_classes_by_aclass): New.
7a81008b 7059 (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New.
1756cb66
VM
7060 (record_reg_classes): Use regno_cost_classes instead of
7061 cost_classes. Move checking opposite operand up.
7062 (record_address_regs): Use regno_cost_classes
7063 instead of cost_classes.
7064 (scan_one_insn): Ditto. Use always general register.
7065 (print_allocno_costs): Use regno_cost_classes instead of
7066 cost_classes.
7067 (print_pseudo_costs): Ditto. Use Reg_N_REFS.
7068 (find_costs_and_classes): Set up cost classes for each registers.
7069 Use also their mode for this. Use regno_cost_classes instead of
7070 cost_classes.
7071 (setup_allocno_class_and_costs): Use regno_cost_classes instead of
7072 cost_classes.
7073 (free_ira_costs, ira_init_costs): Don't use cost_classes.
7074 (ira_costs, ira_set_pseudo_classes): Call
7075 initiate_regno_cost_classes and finish_regno_cost_classes.
7076
7077 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
7078
7079 * target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
7080
7081 * target.def (ira_cover_classes): Remove.
7082
7a81008b 7083 * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES.
1756cb66
VM
7084
7085 * doc/tm.texi.in: Ditto.
7086
7087 * ira-conflicts.c: Remove mentioning cover classes from the file.
7088 Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use
7a81008b 7089 ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting.
1756cb66
VM
7090
7091 * targhooks.c (default_ira_cover_classes): Remove.
7092
7093 * targhooks.h (default_ira_cover_classes): Ditto.
7094
7095 * haifa-sched.c: Remove mentioning cover classes from the file.
7096 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
7097 ira_pressure_classes and ira_pressure_classes_num instead of
7098 ira_reg_class_cover_size and ira_reg_class_cover. Use
7099 sched_regno_pressure_class instead of sched_regno_cover_class.
7100 (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
7101 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
7102
7103 * ira-int.h: Add 2010 to Copyright. Remove mentioning cover
7104 classes from the file.
7105 (object_hard_regs_t, object_hard_regs_node_t): New typedefs.
7106 (struct object_hard_regs, struct object_hard_regs_node): New.
7107 (struct ira_object): New members profitable_hard_regs,
7108 hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
7109 (struct ira_allocno): Rename cover_class to aclass. Rename
7110 cover_class_cost and updated_cover_class_cost to class_cost and
7111 updated_class_cost. Remove splay_removed_p and
7112 left_conflict_size. Add new members colorable_p.
7113 (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
7114 (ALLOCNO_COLORABLE_P): New macro.
7115 (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
7116 (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
7117 Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
7118 (OBJECT_...): Rename parameter C to O.
7119 (OBJECT_PROFITABLE_HARD_REGS): New macro.
7120 (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
7121 (OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
7122 (struct target_ira_int): New members x_ira_max_memory_move_cost,
7123 x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
7124 x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
7125 x_ira_reg_pressure_class_p, x_ira_important_class_nums,
7126 x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to
7127 x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to
7128 x_ira_reg_class_subunion.
7129 (ira_max_memory_move_cost, ira_max_register_move_cost)
7130 (ira_max_may_move_in_cost, ira_max_may_move_out_cost)
7131 (ira_reg_allocno_class_p, ira_reg_pressure_class_p)
7132 (ira_important_class_nums, ira_reg_class_superunion): New macros.
7a81008b 7133 (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs.
1756cb66
VM
7134 (ira_reg_class_union): Rename to ira_reg_class_subunion.
7135 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
7136 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
7137 (ira_tune_allocno_costs_and_cover_classes): Rename to
7138 ira_tune_allocno_costs.
7139 (ira_debug_hard_regs_forest): New.
7140 (ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
7141 (ira_object_conflict_iter_next): Fix comments.
7a81008b 7142 (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions.
1756cb66
VM
7143 (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
7144 cover_class to aclass.
7145 (ira_allocate_and_accumulate_costs): Ditto.
7146 (ira_allocate_and_set_or_copy_costs): Ditto.
7147
7148 * opts.c (decode_options): Remove ira_cover_class check.
7149
7150 * ira-color.c: Remove mentioning cover classes from the file. Use
7151 ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
7152 instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
7153 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
7154 (splay-tree.h): Remove include.
7155 (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
7156 before copy_freq_compare_func.
7157 (allocnos_for_spilling, removed_splay_allocno_vec): Remove.
7158 (object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
7159 New definitions.
7160 (hard_regs_roots, hard_regs_node_vec): Ditto.
7161 (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
7162 (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
7163 (finish_object_hard_regs, object_hard_regs_compare): Ditto.
7164 (create_new_object_hard_regs_node): Ditto.
7165 (add_new_object_hard_regs_node_to_forest): Ditto.
7a81008b 7166 (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto.
1756cb66
VM
7167 (setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
7168 Ditto.
7169 (print_hard_reg_set, print_hard_regs_subforest): Ditto.
7170 (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
7171 (remove_unused_object_hard_regs_nodes): Ditto.
7172 (enumerate_object_hard_regs_nodes): Ditto.
7173 (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
7174 (object_hard_regs_subnode_t): Ditto.
7175 (struct object_hard_regs_subnode): Ditto.
7176 (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
7177 (setup_object_hard_regs_subnode_index): Ditto.
7178 (get_object_hard_regs_subnodes_num): Ditto.
7179 (form_object_hard_regs_nodes_forest): Ditto.
7180 (finish_object_hard_regs_nodes_tree): Ditto.
7181 (finish_object_hard_regs_nodes_forest): Ditto.
7182 (allocnos_have_intersected_live_ranges_p): Rename to
7a81008b 7183 allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func.
1756cb66
VM
7184 (pseudos_have_intersected_live_ranges_p): Rename to
7185 conflict_by_live_ranges_p. Move before copy_freq_compare_func.
7186 (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
7187 (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
7188 (update_copy_costs): Remove assert. Skip cost update if the hard
7189 reg does not belong the class.
7190 (assign_hard_reg): Process only profitable hard regs.
7191 (uncolorable_allocnos_num): Make it scalar.
7192 (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
7193 and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
7194 and ira_reg_class_max_nregs.
7195 (bucket_allocno_compare_func): Check frequency first.
7196 (sort_bucket): Add compare function as a parameter.
7197 (add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
7198 (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
7199 (push_allocno_to_stack): Rewrite for checking new allocno
7200 colorability.
7a81008b 7201 (remove_allocno_from_bucket_and_push): Print cost too. Remove assert.
1756cb66
VM
7202 (push_only_colorable): Pass new parameter to sort_bucket.
7203 (push_allocno_to_spill): Remove.
7204 (allocno_spill_priority_compare): Make it inline and rewrite.
7205 (splay_tree_allocate, splay_tree_free): Remove.
7206 (allocno_spill_sort_compare): New function.
7207 (push_allocnos_to_stack): Sort allocnos for spilling once. Don't
7208 build and use splay tree. Choose first allocno in uncolorable
7209 allocno bucket to spill. Remove setting spill cost.
7210 (all_conflicting_hard_regs): Remove.
7211 (setup_allocno_available_regs_num): Check only profitable hard
7212 regs. Print info about hard regs nodes.
7213 (setup_allocno_left_conflicts_size): Remove.
7214 (put_allocno_into_bucket): Don't call
7a81008b 7215 setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p.
1756cb66
VM
7216 (improve_allocation): New.
7217 (color_allocnos): Call setup_profitable_hard_regs,
7218 form_object_hard_regs_nodes_forest, improve_allocation,
7219 finish_object_hard_regs_nodes_forest. Setup spill cost.
7220 (print_loop_title): Use pressure classes.
7221 (color_allocnso): Ditto.
7222 (do_coloring): Remove allocation and freeing splay_tree_node_pool
7223 and allocnos_for_spilling.
7224 (ira_sort_regnos_for_alter_reg): Don't setup members
7225 {first,next}_coalesced_allocno.
7226 (color): Remove allocating and freeing removed_splay_allocno_vec.
7227 (fast_allocation): Use ira_prohibited_class_mode_regs instead of
7228 prohibited_class_mode_regs.
7229
7230 * ira-lives.c: Remove mentioning cover classes from the file. Fix
7231 formatting.
7232 (update_allocno_pressure_excess_length): Use pressure classes.
7233 (inc_register_pressure, dec_register_pressure): Check for pressure
7234 class.
7235 (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
7236 pressure class. Use ira_reg_class_nregs instead of
7237 ira_reg_class_max_nregs.
7238 (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
7239 (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
7240 (single_reg_class): Use ira_reg_class_nregs instead of
7241 ira_reg_class_max_nregs.
7242 (process_bb_node_lives): Use pressure classes.
7243
7244 * ira-emit.c: Remove mentioning cover classes from the file. Use
7245 ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting.
7246 (change_loop): Use pressure classes.
7247 (modify_move_list): Call ira_set_allocno_class instead of
7248 ira_set_allocno_cover_class.
7249
7250 * ira-build.c: Remove mentioning cover classes from the file. Use
7251 ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
7252 ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use
7253 ALLOCNO_UPDATED_CLASS_COST instead of
7254 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
7255 (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
7256 (ira_create_allocno): Remove initialization of
7257 ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize
7258 ALLOCNO_COLORABLE_P.
7259 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
7260 Update conflict regs for the objects.
7261 (create_cap_allocno): Remove assert. Don't propagate
7262 ALLOCNO_AVAILABLE_REGS_NUM.
7263 (ira_free_allocno_costs): New function.
7264 (finish_allocno): Change a part of code into call of
7265 ira_free_allocno_costs.
7266 (low_pressure_loop_node_p): Use pressure classes.
7267 (object_range_compare_func): Don't compare classes.
7268 (setup_min_max_conflict_allocno_ids): Ditto.
7269
7270 * loop-invariant.c: Remove mentioning cover classes from the file.
7271 Use ira_pressure_classes and ira_pressure_classes_num instead of
7272 ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting.
7a81008b
UB
7273 (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs.
7274 Use ira_reg_class_max_nregs instead of ira_reg_class_nregs.
7275 Use reg_allocno_class instead of reg_cover_class.
1756cb66
VM
7276 (get_inv_cost): Use instead ira_stack_reg_pressure_class of
7277 STACK_REG_COVER_CLASS.
7278 (get_regno_cover_class): Rename to get_regno_pressure_class.
7279 (move_loop_invariants): Initialize and finalize regstat.
7280
7281 * ira.c: Remove mentioning cover classes from the file. Add
7282 comments about coloring without cover classes. Use ALLOCNO_CLASS
7283 instead of ALLOCNO_COVER_CLASS. Fix formatting.
7284 (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
7285 setup_class_subset_and_memory_move_costs.
7286 (setup_stack_reg_pressure_class, setup_pressure_classes): New.
7287 (setup_cover_and_important_classes): Rename to
7288 setup_allocno_and_important_classes.
7289 (setup_class_translate_array): New.
7290 (setup_class_translate): Call it for allocno and pressure classes.
7291 (cover_class_order): Rename to allocno_class_order.
7292 (comp_reg_classes_func): Use ira_allocno_class_translate instead
7293 of ira_class_translate.
7294 (reorder_important_classes): Set up ira_important_class_nums.
7295 (setup_reg_class_relations): Set up ira_reg_class_superunion.
7296 (print_class_cover): Rename to print_classes. Add parameter.
7297 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
7298 Print pressure classes too.
7299 (find_reg_class_closure): Rename to find_reg_classes. Don't call
7300 setup_reg_subclasses.
7a81008b 7301 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
7302 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
7303 (setup_prohibited_class_mode_regs): Use
7a81008b 7304 ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs.
1756cb66
VM
7305 (clarify_prohibited_class_mode_regs): New function.
7306 (ira_init_register_move_cost): Set up ira_max_register_move_cost,
7307 ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
7308 (ira_init_once): Initialize them.
7309 (free_register_move_costs): Process them.
7310 (ira_init): Move calls of find_reg_classes and
7311 setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
7312 Call clarify_prohibited_class_mode_regs.
7313 (ira_no_alloc_reg): Remove.
7314 (too_high_register_pressure_p): Use pressure classes.
7315
7316 * sched-deps.c: Remove mentioning cover classes from the file.
7317 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
7318 ira_pressure_classes and ira_pressure_classes_num instead of
7319 ira_reg_class_cover_size and ira_reg_class_cover.
7320 (mark_insn_hard_regno_birth, mark_hard_regno_death): Use
7321 sched_regno_pressure_class instead of sched_regno_cover_class.
7322 (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use
7323 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
7324
7325 * ira.h: Add 2010 to Copyright.
7326 (ira_no_alloc_reg): Remove external.
7327 (struct target_ira): Rename x_ira_hard_regno_cover_class,
7328 x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
7329 x_ira_class_translate to x_ira_hard_regno_allocno_class,
7330 x_ira_allocno_classes_num, x_ira_allocno_classes, and
7331 x_ira_allocno_class_translate. Add x_ira_pressure_classes_num,
7332 x_ira_pressure_classes, x_ira_pressure_class_translate, and
7333 x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to
7334 x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and
7335 x_ira_no_alloc_regs.
7a81008b 7336 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
7337 (ira_reg_class_cover_size, ira_reg_class_cover): Rename to
7338 ira_allocno_classes_num and ira_allocno_classes.
7339 (ira_class_translate): Rename to ira_allocno_class_translate.
7340 (ira_pressure_classes_num, ira_pressure_classes): New definitions.
7341 (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
7342 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
7343 (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
7344 (ira_no_alloc_regs): New.
7345
7346 * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover
7347 classes from the file. Use ALLOCNO_CLASS instead of
7348 ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of
7349 ALLOCNO_COVER_CLASS_COST.
7350 (regno_cover_class): Rename to regno_aclass.
7351 (record_reg_classes): Use ira_reg_class_subunion instead of
7352 ira_reg_class_union.
7353 (record_address_regs): Check overflow.
7354 (scan_one_insn): Ditto.
7a81008b 7355 (print_allocno_costs): Print total mem cost fore regional allocation.
1756cb66
VM
7356 (print_pseudo_costs): Use REG_N_REFS.
7357 (find_costs_and_classes): Use classes intersected with them on the
7358 1st pass. Check overflow. Use ira_reg_class_subunion instead of
7359 ira_reg_class_union. Use ira_allocno_class_translate and
7360 regno_aclass instead of ira_class_translate and regno_cover_class.
7361 Modify code for finding regno_aclass. Setup preferred classes for
7362 the next pass.
7363 (setup_allocno_cover_class_and_costs): Rename to
7364 setup_allocno_class_and_costs. Use regno_aclass instead of
7365 regno_cover_class. Use ira_set_allocno_class instead of
7366 ira_set_allocno_cover_class.
7367 (init_costs, finish_costs): Use regno_aclass instead of
7368 regno_cover_class.
7369 (ira_costs): Use setup_allocno_class_and_costs instead of
7370 setup_allocno_cover_class_and_costs.
7371 (ira_tune_allocno_costs_and_cover_classes): Rename to
7372 ira_tune_allocno_costs. Check overflow. Skip conflict hard regs
7373 by processing objects. Use ira_reg_class_max_nregs instead of
7374 ira_reg_class_nregs.
7375
7376 * rtl.h (reg_cover_class): Rename to reg_allocno_class.
7377
7378 * sched-int.h: Remove mentioning cover classes from the file.
7379 (sched_regno_cover_class): Rename to sched_regno_pressure_class.
7380
7381 * reginfo.c: Add 2010 to Copyright. Remove mentioning cover
7382 classes from the file.
7383 (struct reg_pref): Rename coverclass into allocnoclass.
7384 (reg_cover_class): Rename to reg_allocno_class.
7385
7a81008b 7386 * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies.
1756cb66
VM
7387
7388 * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
7389
7390 * config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
7391
7392 * config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
7393
7394 * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
7395
7396 * config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
7397
7398 * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
7399
7400 * config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
7401
7402 * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
7403
7404 * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
7405
7406 * config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
7407 (i386_ira_cover_classes): Ditto.
7408
7409 * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
7410
7411 * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
7412
7413 * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
7414
7415 * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
7416
7417 * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
7418
7419 * config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
7420
7421 * config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
7422 (mips_ira_cover_classes): Ditto.
7423
7424 * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
7425
7426 * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
7427
7428 * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
7429
7430 * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
7431
7432 * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
7433
7434 * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
7435 (IRA_COVER_CLASSES_VSX): Ditto.
7436
7437 * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
7438 (rs6000_ira_cover_classes): Ditto.
7439
7440 * config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
7441
7442 * config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
7443
7444 * config/score/score.h (IRA_COVER_CLASSES): Ditto.
7445
7446 * config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
7447
7448 * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
7449
7450 * config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
7451
7452 * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
7453
7454 * config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
7455
7456 * config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
7457
7458 * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
7459
2b80199f
JJ
74602011-03-29 Jakub Jelinek <jakub@redhat.com>
7461
71dae1fe
JJ
7462 PR debug/48253
7463 * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
7464 dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
7465 dw_fde_unlikely_section_end_label, cold_in_std_section,
7466 dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
7467 Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
7468 fields.
7469 (output_fde): Use dw_fde_second_{begin,end} if second is
7470 true, otherwise dw_fde_{begin,end}.
7471 (output_call_frame_info): Test dw_fde_second_begin != NULL
7472 instead of dw_fde_switched_sections.
7473 (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
7474 fields, initialize new fields. Initialize in_std_section
7475 unconditionally from the first partition.
7476 (dwarf2out_end_epilogue): Don't override dw_fde_end when
7477 dw_fde_second_begin is non-NULL.
7478 (dwarf2out_switch_text_section): Stop initializing removed
7479 dw_fde_struct fields, initialize new fields, initialize
7480 also dw_fde_end here. Set dw_fde_switch_cfi even when
7481 dwarf2out_do_cfi_asm (). Call var_location_switch_text_section.
7482 (struct var_loc_list_def): Add last_before_switch field.
7483 (arange_table, arange_table_allocated, arange_table_in_use,
7484 ARANGE_TABLE_INCREMENT, add_arange): Removed.
7485 (size_of_aranges): Count !in_std_section and !second_in_std_section
7486 hunks in fdes, instead of looking at arange_table_in_use.
7487 (output_aranges): Add aranges_length argument, don't call
7488 size_of_aranges here. Instead of using aranges_table*
7489 emit ranges for fdes when !in_std_section resp.
7490 !second_in_std_section.
7491 (dw_loc_list): Break ranges crossing section switch.
7492 (convert_cfa_to_fb_loc_list): Likewise. If switched sections,
7a81008b 7493 use dw_fde_second_end instead of dw_fde_end as end of last range.
71dae1fe
JJ
7494 (gen_subprogram_die): Don't call add_arange. Use
7495 dw_fde_{begin,end} for first partition and if switched
7496 section dw_fde_second_{begin,end} for the second.
7497 (var_location_switch_text_section_1,
7498 var_location_switch_text_section): New functions.
7499 (dwarf2out_begin_function): Initialize cold_text_section even
7500 when function_section () isn't text_section.
7501 (prune_unused_types): Don't walk arange_table.
7502 (dwarf2out_finish): Don't needlessly test
7503 flag_reorder_blocks_and_partition when testing cold_text_section_used.
7504 If info_section_emitted, call size_of_aranges and if it indicates
7505 non-empty .debug_aranges, call output_aranges with the computed
7506 size. Stop using removed dw_fde_struct fields, use
7507 dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
7508 for second.
7509
2b80199f
JJ
7510 PR debug/48203
7511 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Only
7512 create ENTRY_VALUE if incoming or address of incoming's MEM
7513 is a hard REG.
7514 * dwarf2out.c (mem_loc_descriptor): Don't emit
7515 DW_OP_GNU_entry_value of DW_OP_fbreg.
7516 * var-tracking.c (vt_add_function_parameter): Ensure cselib_lookup
7517 on ENTRY_VALUE is able to find the canonical parameter VALUE.
7518 * cselib.c (rtx_equal_for_cselib_1) <case ENTRY_VALUE>: Use
7519 rtx_equal_p instead of rtx_equal_for_cselib_1 to compare
7520 ENTRY_VALUE_EXPs.
7521 (cselib_hash_rtx) <case ENTRY_VALUE>: If ENTRY_VALUE_EXP
7522 is a REG_P or MEM_P with REG_P address, compute hash directly
7523 instead of calling cselib_hash_rtx on ENTRY_VALUE_EXP.
7524 (preserve_only_constants): Don't clear VALUES forwaring
7525 ENTRY_VALUE to some other VALUE.
7526
8a445129
RS
75272011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
7528
7529 * builtins.c (expand_builtin_memset_args): Use gen_int_mode
7530 instead of GEN_INT.
7531
c82fee88
EB
75322011-03-28 Eric Botcazou <ebotcazou@adacore.com>
7533
7534 * cfgexpand.c (expand_gimple_cond): Always set the source location and
7535 block before expanding the statement.
7536 (expand_gimple_stmt_1): Likewise. Set them here...
7537 (expand_gimple_stmt): ...and not here. Tidy.
7538 * cfglayout.c (curr_insn_locator): Return 0 if the current location is
7539 unknown.
7540
e45425ec
SB
75412011-03-28 Steven Bosscher <steven@gcc.gnu.org>
7542
7543 * Makefile.in: New rule for cprop.o.
7544 * gcse.c: Move constant/copy propagation to cprop.c.
7545 (compute_local_properties): Only handle expression tables.
7546 (hash_scan_set, compute_hash_table_work, alloc_hash_table,): Likewise.
7547 (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
7548 (hash_set, insert_set_in_table, gcse_constant_p, lookup_set,
7549 next_set, reset_opr_set_tables, oprs_not_set_p, mark_call, mark_set,
7a81008b 7550 mark_clobber, mark_oprs_set, alloc_cprop_mem, free_cprop_mem,
e45425ec
SB
7551 compute_cprop_data, find_used_regs, try_replace_reg,
7552 find_avail_set, cprop_jump, constprop_register, cprop_insn,
7553 local_cprop_find_used_regs, do_local_cprop, local_cprop_pass,
7554 fis_get_condition, implicit_set_cond_p, find_implicit_sets,
7555 find_bypass_set, reg_killed_on_edge, bypass_block,
7556 bypass_conditional_jumps, one_cprop_pass, gate_rtl_cprop,
7557 execute_rtl_cprop, pass_rtl_cprop): Move to...
7558 * cprop.c: ...here. New file, constant/copy propagation for RTL
7559 moved from gcse.c to here with minor cleanups in duplicated code.
7560
c09d5426
L
75612011-03-28 H.J. Lu <hongjiu.lu@intel.com>
7562
7563 * config/i386/i386.c (flag_opts): Fix a typo in
7564 -mavx256-split-unaligned-store.
7565
9eaa7740
AS
75662011-03-28 Anatoly Sokolov <aesok@post.ru>
7567
7568 * config/h8300/h8300.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
7569 LIBCALL_VALUE): Remove macros.
7570 * config/h8300/h8300.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
7571 TARGET_FUNCTION_VALUE_REGNO_P): Define.
7572 (h8300_function_value, h8300_libcall_value,
7573 h8300_function_value_regno_p): New functions.
7574
dcec2be2
AS
75752011-03-28 Anatoly Sokolov <aesok@post.ru>
7576
7577 * config/h8300/h8300.h (ASM_OUTPUT_BSS): Remove macro.
7578
520af9ec
JL
75792011-03-28 Jeff Law <law@redhat.com>
7580
7581 * tree-ssa-threadupdate.c (redirect_edges): Call
7582 create_edge_and_update_destination_phis as needed.
7583 (create_edge_and_update_destination_phis): Accept new BB argument.
7584 All callers updated.
7585 (thread_block): Do not update the profile when threading around
7586 intermediate blocks.
7587 (thread_single_edge): Likewise.
7588 (determine_bb_domination_status): If BB is not a successor of the
7589 loop header, return NONDOMINATING.
7590 (register_jump_thread): Note when we register a jump thread around
7591 an intermediate block.
7592 * tree-ssa-threadedge.c (thread_around_empty_block): New function.
7593 (thread_across_edge): Use it.
7594
7450b54f
TG
75952011-03-28 Tristan Gingold <gingold@adacore.com>
7596
7597 * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
7598 when for_return is 2.
7599
649beb33
JL
76002011-03-28 Jeff Law <law@redhat.com>
7601
7602 * var-tracking.c (canonicalize_values_mark): Delete unused
7603 lhs assignment.
7604 (canonicalize_values_star, set_variable_part): Likewise.
7605 (clobber_variable_part, delete_variable_part): Likewise.
7606
d5b8da97
SB
76072011-03-28 Steven Bosscher <steven@gcc.gnu.org>
7608
7609 * gcse.c (free_gcse_mem): Free reg_set_bitmap.
7610
322dd859
MJ
76112011-03-28 Martin Jambor <mjambor@suse.cz>
7612
7613 * tree-inline.c (expand_call_inline): Do not check that destination
7614 node is analyzed.
7615 (optimize_inline_calls): Assert that destination node is analyzed.
7616 * cgraph.c (cgraph_add_new_function): Call cgraph_analyze_function, do
7617 not call tree_lowering_passes.
7618 * cgraph.h (cgraph_analyze_function): Declare.
7619 * cgraphunit.c (cgraph_analyze_function): Make public.
7620
aa53e58b
JM
76212011-03-28 Joseph Myers <joseph@codesourcery.com>
7622
7623 * config/sparc/sparc-opts.h: New.
7624 * config/sparc/sparc.c (sparc_handle_option, sparc_select,
7625 sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
7626 (sparc_option_override): Store processor_type enumeration rather
7627 than string in cpu_default. Remove name and enumeration from
7628 cpu_table. Directly default -mcpu then default -mtune from -mcpu
7629 without using sparc_select. Use target_flags_explicit instead of
7630 fpu_option_set.
7631 * config/sparc/sparc.h (enum processor_type): Move to
7632 sparc-opts.h.
7633 (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
7634 * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
7635 HeaderInclude entry.
7636 (mcpu=, mtune=): Use Var and Enum.
7637 (sparc_processor_type): New Enum and EnumValue entries.
7638
dd350eba
RO
76392011-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7640 Iain Sandoe <iains@gcc.gnu.org>
7641
7642 PR target/48245
7643 * config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.
7644
1b29f05e
EB
76452011-03-28 Eric Botcazou <ebotcazou@adacore.com>
7646
7647 * tree-vectorizer.h (vect_create_data_ref_ptr): Adjust prototype.
7648 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add GSI parameter.
7649 Insert new statements at it in lieu of STMT.
7650 (vect_setup_realignment): Adjust call to vect_create_data_ref_ptr.
7651 * tree-vect-stmts.c (vectorizable_store): Likewise.
7652 (vectorizable_load): Likewise.
7653
506e6808
UB
76542011-03-28 Uros Bizjak <ubizjak@gmail.com>
7655
7656 * config/alpha/alpha.md (addtf3): Change mode of operands to TFmode.
7657 (divtf3): Ditto.
7658 (multf3): Ditto.
7659 (subtf3): Ditto.
7660
2e939ee9
L
76612011-03-27 H.J. Lu <hongjiu.lu@intel.com>
7662
7663 * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
7664 unaligned 256bit load/store.
7665 (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
7666 (*avx_movdqu<avxmodesuffix>): Likewise.
7667
5e85ab88
JDA
76682011-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7669
7670 PR target/48288
7671 * config/pa/predicates.md (reg_or_ior_operand): New predicate.
7672 * config/pa/pa.md (iordi3): Use new predicate in expander.
7673 (iorsi3): Likewise.
7674
47be3d6d
AS
76752011-03-27 Anatoly Sokolov <aesok@post.ru>
7676
506e6808 7677 * config/mips/mips.h (LIBCALL_VALUE, FUNCTION_VALUE,
47be3d6d 7678 FUNCTION_VALUE_REGNO_P): Remove macros.
506e6808
UB
7679 * config/mips/mips-protos.h (mips_function_value): Remove.
7680 * config/mips/mips.c (mips_function_value): Rename to...
47be3d6d
AS
7681 (mips_function_value_1): ... this. Make static. Handle receiving
7682 the function type in 'fn_decl_or_type' argument.
7683 (mips_function_value, mips_libcall_value,
7684 mips_function_value_regno_p): New function.
7685 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
7686 TARGET_FUNCTION_VALUE_REGNO_P): Define.
7687
d253656a
L
76882011-03-27 H.J. Lu <hongjiu.lu@intel.com>
7689
7690 * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
7691 and -mavx256-split-unaligned-store.
7692 (ix86_option_override_internal): Split 32-byte AVX unaligned
7693 load/store by default.
7694 (ix86_avx256_split_vector_move_misalign): New.
7695 (ix86_expand_vector_move_misalign): Use it.
7696
7697 * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
7698 -mavx256-split-unaligned-store.
7699
7700 * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
7701 256bit load/store. Generate unaligned store on misaligned memory
7702 operand.
7703 (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
7704 256bit load/store.
7705 (*avx_movdqu<avxmodesuffix>): Likewise.
7706
7707 * doc/invoke.texi: Document -mavx256-split-unaligned-load and
7708 -mavx256-split-unaligned-store.
7709
1ea9206a
RS
77102011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
7711
7712 PR target/38598
7713 * config/mips/mips.md (extendsidi2): Add an "l" alternative.
7714 Update commentary.
7715
b99ce2a8
RS
77162011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
7717
7718 * config/mips/mips.c (mips_prepare_builtin_arg): Replace icode and
7719 opno arguments with an expand_operand. Use create_input_operand.
7720 (mips_prepare_builtin_target): Delete.
7721 (mips_expand_builtin_insn, mips_expand_builtin_compare_1): New
7722 functions.
7723 (mips_expand_builtin_direct): Use create_output_operand and
7724 mips_expand_builtin_insn. Update call to mips_prepare_builtin_arg.
7725 (mips_expand_builtin_movtf): Likewise. Use mips_expand_fp_comparison.
7726 (mips_expand_builtin_compare): Use mips_expand_fp_comparison.
7727
69d52339
IR
77282011-03-27 Ira Rosen <ira.rosen@linaro.org>
7729
7730 * config/arm/arm.c (arm_autovectorize_vector_sizes): New
7731 function.
7732 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
7733
ba5e9aca
EB
77342011-03-26 Eric Botcazou <ebotcazou@adacore.com>
7735
7736 * basic-block.h (fixup_abnormal_edges): Adjust prototype.
7737 * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover
7738 basic blocks and call commit_edge_insertions directly.
7739 (fixup_abnormal_edges): Move from here to...
7740 * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions
7741 on the edges and return whether some have actually been inserted.
7742 * reg-stack.c (convert_regs): Fix up abnormal edges before inserting
7743 compensation code.
7744
5d369d58
AB
77452011-03-26 Andrey Belevantsev <abel@ispras.ru>
7746
7747 PR rtl-optimization/48144
7748 * sel-sched-ir.c (merge_history_vect): Factor out from ...
7749 (merge_expr_data): ... here.
7750 (av_set_intersect): Rename to av_set_code_motion_filter.
7751 Update all callers. Call merge_history_vect when an expression
7752 is found in both sets.
7753 * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
7754
f082c000
AM
77552011-03-26 Alan Modra <amodra@gmail.com>
7756
7757 * config/rs6000/predicates.md (word_offset_memref_op): Handle
7758 cmodel medium addresses.
7759 * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
7760 64-bit gpr loads and stores.
7761 (rs6000_secondary_reload_ppc64): New function.
7762 * config/rs6000/rs6000-protos.h: Declare it.
7763 * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
7764
8ac5e12e
AM
77652011-03-26 Alan Modra <amodra@gmail.com>
7766
7767 PR target/47487
7768 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
7769 GNU Go in traceback table.
7770
c2654ded
RH
77712011-03-25 Richard Henderson <rth@redhat.com>
7772
7773 * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
7774 if there are exactly 6 operands.
7775 (set_storage_via_setmem): Similarly.
7776
ba78087b
KT
77772011-03-25 Kai Tietz <ktietz@redhat.com>
7778
7779 * collect2.c (write_c_file_stat): Handle backslash
7780 as right-hand directory separator.
7781 (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
7782 checking just for slash.
7783 * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
7784 instead of checking for trailing slash.
7785 * gcc.c (record_temp_file): Use filename_cmp instead
7786 of strcmp.
7787 (do_spec_1): Likewise.
7788 (replace_outfile_spec_function): Likewise.
7789 (is_directory): Use filename_ncmp instead of strncmp.
7790 (print_multilib_info): Likewise.
7791 * gcov.c (find_source): Use filename_cmp instead
7792 instead of strcmp.
7793 (make_gcov_file_name): Fix order of slash/backslash
7794 checks.
7795 * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
7796 (add_standard_paths): Likewise.
7797 * mips-tfile.c (saber_stop): Handle backslash.
7798 * prefix.c (update_path): Use filename_ncmp instead of
7799 strncmp.
7800 * profile.c (output_location): Use filename_cmp instead
7801 of strcmp.
7802 * read-md.c (handle_toplevel_file): Handle backslash.
7803 * tlink.c (frob_extension): Likewise.
7804 * tree-cfg.c (same_line_p): Use filename_cmp instead of
7805 strcmp.
7806 * tree-dump.c (dequeue_and_dump): Handle backslash.
7807 * tree.c (get_file_function_name): Likewise.
7808 * gengtype.c (read_input_list): Likewise.
7809 (get_file_realbasename): Likewise.
7810 (get_output_file_with_visibility): Use filename_cmp
7811 instead of strcmp.
7812
75f6ec9a
RS
78132011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
7814
7815 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
7816 case to VFPv1.
7817
6c4e2997
NF
78182011-03-25 Nathan Froyd <froydnj@codesourcery.com>
7819
7820 * fold-const.c (expr_location_or): New function.
7821 (fold_truth_not_expr): Call it.
7822
0edf1bb2
JL
78232011-03-25 Jeff Law <law@redhat.com>
7824
7825 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
7826 va_end.
7827 * c-family/c-common.c (def_fn_type): Likewise.
7828 * ada/gcc-interface/utils.c (def_fn_type): Likewise.
7829 * emit-rtl.c (gen_rtvec): Likewise.
7830 * lto/lto-lang.c (def_fn_type): Likewise.
7831
fdc2de95
RG
78322011-03-25 Richard Guenther <rguenther@suse.de>
7833
7834 * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
7835 also generate copies.
7836 (fini_copy_prop): Handle constant values properly.
7837
21385db0
JJ
78382011-03-25 Jakub Jelinek <jakub@redhat.com>
7839
7840 * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
7841 mode size instead of bitsize with DWARF2_ADDR_SIZE.
7842 (hash_loc_operands, compare_loc_operands): Handle
7843 DW_OP_GNU_entry_value.
7844
6510e8bb
KT
78452011-03-25 Kai Tietz <ktietz@redhat.com>
7846
7847 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
7848 (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
7849 * config/i386/i386.c (ix86_conditional_register_usage): Adjust
7850 comment and use macro TARGET_64BIT_MS_ABI instead.
7851 (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
7852 and change default behavior for 32-bit MS_ABI.
7853 (ix86_reg_parm_stack_space): Check additionally for bit-ness.
7854 (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
7855 32-bit, too.
7856 (ix86_cfun_abi): Likewise.
7857 (ix86_maybe_switch_abi): Adjust comment.
7858 (init_cumulative_args): Check for bit-ness in MS_ABI case.
7859 (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
7860 instead of checking for SYSV_ABI.
7861 (ix86_nsaved_sseregs): Likewise.
7862 (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
7863 to 16 bytes.
7864 (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
7865 * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
7866 (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
7867 (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
7868 * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
7869
34019e28
RG
78702011-03-25 Richard Guenther <rguenther@suse.de>
7871
7872 * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
7873 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
7874 (verify_gimple): Remove.
7875 * tree-cfg.c (verify_gimple_call): Merge verification
7876 from verify_stmts.
7877 (verify_gimple_phi): Merge verification from verify_stmts.
7878 (verify_gimple_label): New function.
7879 (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
7880 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
7881 (verify_stmt): Merge into verify_gimple_in_cfg and callees.
7882 (verify_stmts): Rename to verify_gimple_in_cfg.
7883 (verify_gimple_in_cfg): New function.
7884 * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
7885 * tree-ssa.c (verify_ssa): Likewise.
7886 * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
7887
605896f5
RG
78882011-03-25 Richard Guenther <rguenther@suse.de>
7889
7890 * passes.c (init_optimization_passes): Add FRE pass after
7891 early SRA.
7892
7baa7c13
BS
78932011-03-25 Bernd Schmidt <bernds@codesourcery.com>
7894 Andrew Stubbs <ams@codesourcery.com>
7895
7896 * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
7897 for Cortex-A8.
7898 (arm_movdi_vfp_cortexa8): New pattern.
7899 * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
7900 iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
7901 instructions when tuning for Cortex-A8. Set attribute "arch".
7902 * config/arm/arm.md: Move include arm-tune.md up a bit.
7903 (define_attr "arch"): Add "onlya8" and "nota8" values.
7904 (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
7905
45dbce1b
NF
79062011-03-25 Nathan Froyd <froydnj@codesourcery.com>
7907
4ff08abf 7908 PR bootstrap/48282
45dbce1b
NF
7909 Revert:
7910 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
7911
7912 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
7913 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
7914 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
7915 * passes.c (init_optimization_passes): Move
7916 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
7917
ac9a30ae
KT
79182011-03-25 Kai Tietz <ktietz@redhat.com>
7919
7920 * c-typeck.c (comptypes_internal): Replace target
7921 hook call of comp_type_attributes by version in tree.c file.
7922 * gimple.c (gimple_types_compatible_p_1): Likewise.
7923 * tree-ssa.c (useless_type_conversion_p): Likewise.
7924 * tree.c (build_type_attribute_qual_variant): Likewise.
7925 (attribute_value_equal): New static helper function.
7926 (comp_type_attributes): New function.
7927 (merge_attributes): Use attribute_value_equal for comparison.
7928 (attribute_list_contained): Likewise.
7929 * tree.h (comp_type_attributes): New prototype.
7930
afdac116
RG
79312011-03-25 Richard Guenther <rguenther@suse.de>
7932
7933 * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
7934 of complex types at -O0.
7935 (verify_gimple_assign_binary): Likewise.
7936 (verify_gimple_assign_ternary): Likewise.
7937
ec6165f8
MW
79382011-03-24 Mark Wielaard <mjw@redhat.com>
7939
7940 * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
7941 (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
7942
2a5ac39a
MW
79432011-03-24 Mark Wielaard <mjw@redhat.com>
7944
7945 PR debug/48041
7946 * dwarf2out.c (output_abbrev_section): Only write table when
7947 abbrev_die_table_in_use > 1.
7948
e533b2a4
RH
79492011-02-24 Richard Henderson <rth@redhat.com>
7950
7951 * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
7952 (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
7953 (alpha_expand_unaligned_load_words): Use extql.
7954 (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
7955 (emit_insxl): Handle all modes for consistency.
7956
0b2a7367
RH
79572011-02-24 Richard Henderson <rth@redhat.com>
7958
7959 * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
7960 (alpha_expand_unaligned_load): Likewise.
7961 (alpha_expand_unaligned_store): Likewise.
7962 (alpha_expand_unaligned_load_words): Likewise.
7963 (alpha_expand_unaligned_store_words): Likewise.
7964 (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
7965 (alpha_split_lock_test_and_set_12): Likewise.
7966 (print_operand, alpha_fold_builtin_extxx): Likewise.
7967 (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
7968 * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
7969 (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
7970 (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
7971 (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
7972 (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
7973 (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
7974 (unaligned_storeqi_be, unaligned_storehi_be): Remove.
7975 (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
7976 (extwl, extll, extql): Similarly.
7977 (inswh, inslh, insqh): Similarly.
7978 (mskbl, mskwl, mskll, mskql): Similarly.
7979 (mskwh, msklh, mskqh): Similarly.
7980
315b2bef
RH
79812011-02-24 Richard Henderson <rth@redhat.com>
7982
7983 * config/alpha/alpha.md (attribute isa): Add er, ner.
7984 (attribute enabled): Handle them.
7985 (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
7986
67102517
RH
79872011-02-24 Richard Henderson <rth@redhat.com>
7988
7989 * config/alpha/alpha.md (attribute isa): Add vms.
7990 (attribute enabled): Handle it.
7991 (*movsf): Merge *movsf_{nofix,fix,nofp}.
7992 (*movdf): Merge *movdf_{nofix,fix,nofp}.
7993 (*movtf): Rename from *movtf_internal for consistency.
7994 (*movsi): Merge with *movsi_nt_vms.
7995 (*movhi): Merge *movhi_nobwx, *movhi_bwx.
7996 (*movqi): Merge *movqi_nobwx, *movqi_bwx.
7997 (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
7998 * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
7999
6aba5cb4
RH
80002011-02-24 Richard Henderson <rth@redhat.com>
8001
8002 * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
8003 (extendqisi2, extendhisi2): Likewise.
8004 (extendqidi2): Simplify BWX/non-BWX expansions.
8005 (extendhidi2): Similarly.
8006
bdfb351b
RH
80072011-02-24 Richard Henderson <rth@redhat.com>
8008
8009 * config/alpha/alpha.md (attribute isa): New.
8010 (attribute enabled): New.
8011 (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
8012 (zero_extendqisi2, zero_extendqidi2): Similarly.
8013 (zero_extendhisi2, zero_extendhidi2): Similarly.
8014 * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
8015
6abe71eb
RH
80162011-02-24 Richard Henderson <rth@redhat.com>
8017
8018 * config/alpha/predicates.md (input_operand): Revert last change;
8019 update comment to mention 32-bit VMS rather than Windows.
8020
7114321e
NF
80212011-03-24 Nathan Froyd <froydnj@codesourcery.com>
8022
8023 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
8024 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
8025 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
8026 * passes.c (init_optimization_passes): Move
8027 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
8028
c8679567
EB
80292011-03-24 Eric Botcazou <ebotcazou@adacore.com>
8030
8031 * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
8032
27173058
UB
80332011-03-24 Uros Bizjak <ubizjak@gmail.com>
8034
8035 * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
8036 correctly.
8037
6f0c9f06
JJ
80382011-03-24 Jakub Jelinek <jakub@redhat.com>
8039
8040 PR debug/48204
8041 * simplify-rtx.c (simplify_const_unary_operation): Call
8042 real_convert when changing mode class with FLOAT_EXTEND.
8043
662666e5
NC
80442011-03-24 Nick Clifton <nickc@redhat.com>
8045
8046 * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
8047 (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
8048 * config/rx/rx.c (rx_option_override): Set align_jumps,
8049 align_loops and align_labels if not set by the user.
8050 (rx_align_for_label): New function.
8051 (rx_max_skip_for_label): New function.
8052 (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
8053 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
8054 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
8055 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
8056 * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
8057
2b99b2b8
RS
80582011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
8059
8060 PR rtl-optimization/48263
8061 * optabs.c (expand_binop_directly): Reinstate convert_modes code
8062 and original commutative_p handling. Use maybe_gen_insn.
8063
ccecd6ea
AK
80642011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8065
8066 * reload.c (find_reloads_subreg_address): Add address_reloaded
8067 parameter and return true there if the full address has been
8068 reloaded.
8069 (find_reloads_toplev): Pass address_reloaded flag.
8070 (find_reloads_address_1): Don't use address_reloaded parameter.
8071
67295642
JL
80722011-03-24 Jeff Law <law@redhat.com>
8073
8074 * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
8075 unused variable "ann".
8076 (remove_unused_locals): Likewise.
8077
8078 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
8079 statement.
8080
8081 * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
8082 after it is freed.
8083
212aa74f
AK
80842011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8085
8086 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
8087 for invalid symbolic addresses.
8088 (s390_secondary_reload): Don't use s390_check_symref_alignment for
8089 larl operands.
8090
fe784e0d
EB
80912011-03-24 Eric Botcazou <ebotcazou@adacore.com>
8092
8093 * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
8094 the argument in calls to fold_truth_not_expr.
8095
63ee8641
NF
80962011-03-24 Nathan Froyd <froydnj@codesourcery.com>
8097
8098 * tree.c (record_node_allocation_statistics): New function.
8099 (make_node_stat, copy_node_stat, build_string): Call it.
8100 (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
8101 (build1_stat, build_omp_clause): Likewise.
8102
61be2a1c
RS
81032011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
8104
8105 * builtins.c (expand_movstr): Fix endp == 1 adjustment after
8106 last commit.
8107
a881aaa7
RG
81082011-03-24 Richard Guenther <rguenther@suse.de>
8109
8110 PR tree-optimization/48271
8111 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
8112 blocks that still exist.
8113
dbaa912c
RG
81142011-03-24 Richard Guenther <rguenther@suse.de>
8115
8116 PR tree-optimization/48270
8117 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
8118 not free datarefs before ddrs.
8119
1d60cc55
EB
81202011-03-24 Eric Botcazou <ebotcazou@adacore.com>
8121
8122 * tree-sra.c (build_ref_for_offset): Strip useless type conversions
8123 from the address built for a reference with variable offset.
8124
c78dd519
UB
81252011-03-24 Uros Bizjak <ubizjak@gmail.com>
8126
8127 PR target/48237
8128 * config/i386/i386.md (*movdf_internal_rex64): Do not split
8129 alternatives that can be handled with movq or movabsq insn.
8130 (*movdf_internal): Disable for !TARGET_64BIT.
8131 (*movdf_internal_nointeger): Ditto.
8132 * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
8133
b25b9e8f
NF
81342011-03-24 Nathan Froyd <froydnj@codesourcery.com>
8135
8136 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
8137 (FUNCTION_ARG_ADVANCE): Likewise.
8138 * tm.texi.in: Change references to them to hook references.
8139 * tm.texi: Regenerate.
c78dd519 8140 * targhooks.c (default_function_arg): Eliminate check for target macro.
b25b9e8f
NF
8141 (default_function_incoming_arg): Likewise.
8142 (default_function_arg_advance): Likewise.
c78dd519 8143 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
b25b9e8f
NF
8144 (function_arg_advance): Likewise.
8145 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
8146
190b2187
RG
81472011-03-24 Richard Guenther <rguenther@suse.de>
8148
8149 PR middle-end/48269
8150 * tree-object-size.c (addr_object_size): Do not double-account
8151 for MEM_REF offsets.
8152
a183b5c7
DN
81532011-03-24 Diego Novillo <dnovillo@google.com>
8154
8155 * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
c78dd519 8156 * lto-streamer-in.c (input_string_internal): Add clarifying comments.
a183b5c7
DN
8157 (lto_input_data_block): Move from lto-opts.c. Make extern.
8158 Update all users.
8159 (lto_input_string): Rename from input_string. Make extern.
8160 Update all users.
8161 * lto-streamer-out.c (lto_output_string_with_length): Rename from
8162 output_string_with_length.
8163 Output 0 to indicate a non-NULL string. Update all callers to
8164 not emit 0.
8165 (lto_output_string): Rename from output_string. Make extern.
8166 Update all users.
8167 (lto_output_decl_state_streams): Make extern.
8168 (lto_output_decl_state_refs): Make extern.
8169 * lto-streamer.h (lto_input_string): Declare.
8170 (lto_input_data_block): Declare.
8171 (lto_output_string): Declare.
8172 (lto_output_string_with_length): Declare.
8173 (lto_output_decl_state_streams): Declare.
8174 (lto_output_decl_state_refs): Declare.
8175
cfef45c8
RG
81762011-03-24 Richard Guenther <rguenther@suse.de>
8177
8178 PR tree-optimization/46562
8179 * tree.c (build_invariant_address): New function.
8180 * tree.h (build_invariant_address): Declare.
8181 * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
8182 a renamed function moved ...
8183 * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
8184 Take valueization callback parameter.
8185 * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
8186 * gimple-fold.h: New file.
8187 * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
8188 (ccp_fold, fold_const_aggregate_ref,
8189 fold_ctor_reference, fold_nonarray_ctor_reference,
8190 fold_array_ctor_reference, fold_string_cst_ctor_reference,
8191 get_base_constructor): Move ...
8192 * gimple-fold.c: ... here.
8193 (gimple_fold_stmt_to_constant_1): New function
8194 split out from ccp_fold. Take a valueization callback parameter.
8195 Valueize all operands.
8196 (gimple_fold_stmt_to_constant): New wrapper function.
8197 (fold_const_aggregate_ref_1): New function split out from
8198 fold_const_aggregate_ref. Take a valueization callback parameter.
8199 (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
8200 * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
8201 invariant POINTER_PLUS_EXPRs to invariant form.
8202 (vn_valueize): New function.
8203 (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
8204 * tree-vrp.c (vrp_valueize): New function.
8205 (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
8206 to fold statements to constants.
8207 * tree-ssa-pre.c (eliminate): Properly guard propagation of
8208 function declarations.
8209 * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
8210 tree-ssa-ccp.o): Add gimple-fold.h dependencies.
8211
5e0a7e40
RS
82122011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
8213
8214 * config/h8300/predicates.md (jump_address_operand): Fix register
8215 mode check.
8216
bfe068c3
IR
82172011-03-24 Ira Rosen <ira.rosen@linaro.org>
8218
8219 * doc/invoke.texi (max-stores-to-sink): Document.
8220 * params.h (MAX_STORES_TO_SINK): Define.
8221 * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
8222 if either vectorization or if-conversion is disabled.
8223 * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
8224 tree-vect-data-refs.c vect_equal_offsets.
8225 (dr_equal_offsets_p): New function.
8226 (find_data_references_in_bb): Remove static.
8227 * tree-data-ref.h (find_data_references_in_bb): Declare.
8228 (dr_equal_offsets_p): Likewise.
8229 * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
8230 (vect_drs_dependent_in_basic_block): Update calls to
8231 vect_equal_offsets.
8232 (vect_check_interleaving): Likewise.
8233 * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
8234 (cond_if_else_store_replacement): Rename to...
8235 (cond_if_else_store_replacement_1): ... this. Change arguments and
8236 documentation.
8237 (cond_if_else_store_replacement): New function.
8238 * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
8239 * params.def (PARAM_MAX_STORES_TO_SINK): Define.
8240
4908b0bf
CLT
82412011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
8242
8243 PR target/46934
8244 * config/arm/arm.md (casesi): Use the gen_int_mode() function
8245 to subtract lower bound instead of GEN_INT().
8246
2be478a2
JW
82472011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
8248
8249 PR other/48179
8250 PR other/48221
8251 PR other/48234
8252 * doc/extend.texi (Alignment): Move section to match order in TOC.
8253 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
8254 (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
8255
0c617be4
JL
82562011-03-23 Jeff Law <law@redhat.com>
8257
8258 * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
8259 before removing the edge.
8260
8261 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
8262 it may have been freed by redirect_branch_edge or
8263 redirect_edge_succ_nodup.
8264
58da96fe
RG
82652011-03-23 Richard Guenther <rguenther@suse.de>
8266
c78dd519 8267 * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
58da96fe
RG
8268 (check_va_list_escapes): Likewise.
8269 (check_all_va_list_escapes): Likewise.
8270
b8beb4d1
RG
82712011-03-23 Richard Guenther <rguenther@suse.de>
8272
8273 * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
8274 (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
8275 (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
8276 (alias.o): Likewise.
8277 (ipa-type-escape.o): Remove.
8278 (ipa-struct-reorg.o): Likewise.
8279 (GTFILES): Remove ipa-struct-reorg.c.
8280 * alias.c: Do not include ipa-type-escape.h.
8281 * tree-ssa-alias.c: Likewise.
8282 * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
8283 * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
8284 * passes.c (init_optimization_passes): Remove ipa-struct-reorg
8285 and ipa-type-escape passes.
8286 * tree-pass.h (pass_ipa_type_escape): Remove.
8287 (pass_ipa_struct_reorg): Likewise.
8288 * ipa-struct-reorg.h: Remove.
8289 * ipa-struct-reorg.c: Likewise.
8290 * ipa-type-escape.h: Likewise.
8291 * ipa-type-escape.c: Likewise.
8292 * doc/invoke.texi (-fipa-struct-reorg): Remove.
8293 (--param struct-reorg-cold-struct-ratio): Likewise.
8294 * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
8295 * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
8296 * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
8297
f137aa63
AK
82982011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8299
8300 * config/s390/2084.md: Enable all insn reservations also for z9_ec
8301 cpu attribute value.
8302 * config/s390/s390-opts.h (enum s390_arch_option): Remove.
8303 (enum processor_type): Add PROCESSOR_2094_Z9_EC.
8304 * config/s390/s390.c (processor_flags_table): New constant array.
8305 (s390_handle_arch_option): Remove.
8306 (s390_handle_option): Remove s390_handle_arch_option invocations
8307 and OPT_mwarn_framesize_ handling.
8308 (s390_option_override): Remove s390_handle_arch_option invocation.
8309 (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
8310 warnings.
8311 * config/s390/s390.md (cpu attribute): Add z9_ec value.
8312 * config/s390/s390.opt (s390_tune, s390_arch)
8313 (march=): Replace s390_arch_option enum and values with
8314 processor_type. Set variable name to s390_arch. Set
8315 initialization value.
8316 (mtune=): Replace s390_arch_option with processor_type. Set
8317 variable name to s390_tune. Set initialization value.
8318
bf90208f
JB
83192011-03-23 Julian Brown <julian@codesourcery.com>
8320
8321 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
8322 accesses which are not naturally aligned.
8323
3460fdf3
RS
83242011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
8325
8326 PR target/47553
8327 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
8328
a5c7d693
RS
83292011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
8330
8331 * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
8332 parameter from "int" to "enum insn_code".
8333 (expand_operand_type): New enum.
8334 (expand_operand): New structure.
8335 (create_expand_operand): New function.
8336 (create_fixed_operand, create_output_operand): Likewise
8337 (create_input_operand, create_convert_operand_to): Likewise.
8338 (create_convert_operand_from, create_address_operand): Likewise.
8339 (create_integer_operand): Likewise.
8340 (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
8341 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
8342 (expand_insn, expand_jump_insn): Likewise.
8343 * builtins.c (expand_builtin_prefetch): Use the new interfaces.
8344 (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
8345 (expand_movstr, expand_builtin___clear_cache): Likewise.
8346 (expand_builtin_lock_release): Likewise.
8347 * explow.c (allocate_dynamic_stack_space): Likewise.
8348 (probe_stack_range): Likewise. Allow check_stack to FAIL,
8349 and use the default handling in that case.
8350 * expmed.c (check_predicate_volatile_ok): Delete.
8351 (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
8352 (emit_cstore): Likewise.
8353 * expr.c (emit_block_move_via_movmem): Likewise.
8354 (set_storage_via_setmem, expand_assignment): Likewise.
8355 (emit_storent_insn, try_casesi): Likewise.
8356 (emit_single_push_insn): Likewise. Allow the expansion to fail.
8357 * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
8358 (expand_vec_shift_expr, expand_binop_directly): Likewise.
8359 (expand_twoval_unop, expand_twoval_binop): Likewise.
8360 (expand_unop_direct, emit_indirect_jump): Likewise.
8361 (emit_conditional_move, vector_compare_rtx): Likewise.
8362 (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
8363 (expand_sync_operation, expand_sync_fetch_operation): Likewise.
8364 (expand_sync_lock_test_and_set): Likewise.
8365 (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
8366 (emit_unop_insn): Likewise.
8367 (expand_copysign_absneg): Change icode to an insn_code.
8368 (create_convert_operand_from_type): New function.
8369 (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
8370 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
8371 (expand_insn, expand_jump_insn): Likewise.
8372 * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
8373 than const_int_operand for operand 2.
8374
78fadbab
AK
83752011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8376
8377 * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
8378 if possible.
8379
5f02387d
NF
83802011-03-22 Nathan Froyd <froydnj@codesourcery.com>
8381
8382 * emit-rtl.c (emit_pattern_before_noloc): New function.
8383 (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
8384 (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
8385 (emit_pattern_after_noloc): New function.
8386 (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
8387 (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
8388
fdf3e18a
NF
83892011-03-22 Nathan Froyd <froydnj@codesourcery.com>
8390
8391 * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
8392 (__ffsDI2): Likewise.
8393
42d085c1
RH
83942011-03-22 Richard Henderson <rth@redhat.com>
8395
8396 * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
8397 of !TARGET_ABI_OPEN_VMS.
8398 (alpha_trampoline_init, alpha_start_function): Likewise.
8399 (alpha_expand_epilogue, alpha_file_start): Likewise.
8400 * config/alpha/alpha.md (divsi3, modsi3): Likewise.
8401 (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
8402 (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
8403 (*divmodsi_internal, *divmoddi_internal_er): Likewise.
8404 (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
8405
cabbe12a
JM
84062011-03-22 Joseph Myers <joseph@codesourcery.com>
8407
8408 * config/s390/s390-opts.h: New.
8409 * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
8410 s390_arch_flags, s390_warn_framesize, s390_stack_size,
8411 s390_stack_guard): Remove.
8412 (s390_handle_arch_option): Return void. Take enum
8413 s390_arch_option value instead of string and searching array.
8414 (s390_handle_option): Don't assert that global structures are in
8415 use. Access variables via opts pointer. Use error_at. Don't use
8416 sscanf for -mstack-guard= or -mstack-size=. Update call to
8417 s390_handle_arch_option.
8418 (s390_option_override): Update call to s390_handle_arch_option.
8419 (s390_emit_prologue): Use %d format for s390_stack_size in
8420 diagnostic. Use %wd for HOST_WIDE_INT.
8421 * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
8422 (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
8423 * config/s390/s390.opt (config/s390/s390-opts.h): New
8424 HeaderInclude entry.
8425 (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
8426 s390_arch_flags, s390_warn_framesize): New Variable entries.
8427 (s390_arch_option): New Enum and EnumValue entries.
8428 (march=): Use Enum instead of Var.
8429 (mstack-guard=, mstack-size=): Use UInteger and Var.
8430 (mtune=): Use Enum.
8431
05b12036
JM
84322011-03-22 Joseph Myers <joseph@codesourcery.com>
8433
8434 * config/score/score.c (score_handle_option): Don't assert that
8435 global structures are in use. Access target_flags via opts
8436 pointer. Use value of -march= option to determine target_flags
8437 settings.
8438 * config/score/score.opt (march=): Use Enum.
8439 (score_arch): New Enum and EnumValue entries.
8440
dd51e35a
JM
84412011-03-22 Joseph Myers <joseph@codesourcery.com>
8442
8443 * config/mep/mep.c (option_mtiny_specified): Remove.
8444 (mep_option_override): Move register handling for -mivc2 from
8445 mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
8446 instead of option_mtiny_specified.
8447 (mep_handle_option): Access target_flags via opts pointer. Don't
8448 assert that global structures are in use. Defer part of -mivc2
8449 handling and move it to mep_option_override.
8450 * config/mep/mep.opt (IVC2): New Mask entry.
8451 (mivc2): Use Var and Defer instead of Mask.
8452
4a8d3d91
JM
84532011-03-22 Joseph Myers <joseph@codesourcery.com>
8454
8455 * config/v850/v850-opts.h: New.
8456 * config/v850/v850.c (small_memory): Replace with
8457 small_memory_physical_max array. Make that array static const.
8458 (v850_handle_memory_option): Take integer value of argument. Take
8459 gcc_options pointer, option text and location. Return void.
8460 Update for changes to small memory structures.
8461 (v850_handle_option): Access target_flags via opts pointer. Don't
8462 assert that global structures are in use. Update calls to
8463 v850_handle_memory_option.
c78dd519
UB
8464 (v850_encode_data_area): Update references to small memory settings.
8465 * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
4a8d3d91
JM
8466 (enum small_memory_type): Move to v850-opts.h.
8467 * config/v850/v850.opt (config/v850/v850-opts.h): New
8468 HeaderInclude entry.
8469 (small_memory_max): New Variable entry.
8470 (msda): Replace by pair of options msda= and msda-. Use UInteger.
8471 (mtda, mzda): Likewise.
8472
117fdbfa
JM
84732011-03-22 Joseph Myers <joseph@codesourcery.com>
8474
8475 * config/sh/sh.c (sh_handle_option): Access target_flags via opts
8476 pointer. Don't assert that global structures are in use.
8477
d715091c
JM
84782011-03-22 Joseph Myers <joseph@codesourcery.com>
8479
8480 * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
8481 via opts pointer. Don't assert that global structures are in use.
8482
1bb721dc
JM
84832011-03-22 Joseph Myers <joseph@codesourcery.com>
8484
8485 * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
8486 (munix=93): Use Var.
8487 * config/pa/pa-hpux1010.opt (munix=95): Use Var.
8488 * config/pa/pa-hpux1111.opt (munix=98): Use Var.
8489 * config/pa/pa-opts.h: New.
8490 * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
8491 (pa_handle_option): Don't assert that global structures are in
8492 use. Access target_flags via opts pointer. Don't handle
8493 OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
8494 OPT_munix_98 here.
8495 (pa_option_override): Handle deferred OPT_mfixed_range_.
8496
cd8d8754
JM
84972011-03-22 Joseph Myers <joseph@codesourcery.com>
8498
8499 * config/mn10300/mn10300-opts.h: New.
8500 * config/mn10300/mn10300.c (mn10300_processor,
8501 mn10300_tune_string): Remove.
8502 (mn10300_handle_option): Don't assert that global structures are
8503 in use. Access mn10300_processor via opts pointer. Don't handle
8504 OPT_mtune_ here.
8505 * config/mn10300/mn10300.h (enum processor_type): Move to
8506 mn10300-opts.h.
8507 (mn10300_processor): Remove.
8508 * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
8509 HeaderInclude entry.
8510 (mn10300_processor): New Variable entry.
8511 (mtune=): Use Var.
8512
24e6e6b1
JM
85132011-03-22 Joseph Myers <joseph@codesourcery.com>
8514
8515 * config/microblaze/microblaze.c: Don't include opts.h.
8516 (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
8517 * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
8518 (mno-clearbss): Use Var and Warn.
8519
8a784afb
JM
85202011-03-22 Joseph Myers <joseph@codesourcery.com>
8521
8522 * config/m32r/m32r-opts.h: New.
8523 * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
8524 (m32r_handle_option): Don't assert that global structures are in
8525 use. Access target_flags and m32r_cache_flush_func via opts
8526 pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
8527 OPT_mno_flush_trap here.
8528 * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
8529 include of m32r-opts.h.
8530 * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
8531 HeaderInclude entry.
8532 (m32r_model_selected, m32r_sdata_selected): New Variable entries.
8533 (mmodel=): Use Enum and Var.
8534 (m32r_model): New Enum and EnumValue entries.
8535 (mno-flush-trap): Use Var.
8536 (msdata=): Use Enum and Var.
8537 (m32r_sdata): New Enum and EnumValue entries.
8538
bbfc9a8c
JM
85392011-03-22 Joseph Myers <joseph@codesourcery.com>
8540
8541 * config/m32c/m32c.c: Don't include opts.h.
8542 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
8543 m32c_handle_option): Remove.
8544 (m32c_option_override): Check global_options_set.x_target_memregs
8545 instead of target_memregs_set.
8546 * config/m32c/m32c.h (target_memregs): Remove.
8547 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
8548 variable.
8549
e24b8335
JM
85502011-03-22 Joseph Myers <joseph@codesourcery.com>
8551
8552 * config/iq2000/iq2000-opts.h: New.
8553 * config/iq2000/iq2000.c: Don't include opts.h.
8554 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 8555 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
e24b8335
JM
8556 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
8557 HeaderInclude entry.
8558 (iq2000_tune): New Variable entry.
8559 (march=): Add comment. Use Enum.
8560 (iq2000_arch): New Enum and EnumValue entries.
8561 (mcpu=): Use Enum and Var.
8562 (iq2000_tune): New Enum and EnumValue entries.
8563
e6cc0c98
JM
85642011-03-22 Joseph Myers <joseph@codesourcery.com>
8565
8566 * config/ia64/ia64-opts.h: New.
8567 * config/ia64/ia64.c (ia64_tune): Remove.
8568 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
8569 here. Use error_at.
8570 (ia64_option_override): Handle deferred OPT_mfixed_range_.
8571 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
8572 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
8573 HeaderInclude entry.
8574 (ia64_tune): New Variable entry.
8575 (mfixed-range=): Use Defer and Var.
8576 (mtune=): Use Enum and Var.
8577 (ia64_tune): New Enum and EnumValue entries.
8578
db25893c
JM
85792011-03-22 Joseph Myers <joseph@codesourcery.com>
8580
8581 * config/frv/frv-opts.h: New.
8582 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
8583 frv-opts.h.
8584 (frv_cpu_type): Remove.
8585 * config/frv/frv.c: Don't include opts.h.
8586 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 8587 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
db25893c
JM
8588 (frv_cpu_type): New Variable entry.
8589 (frv_cpu): New Enum and EnumValue entries.
8590
6c223f5d
JM
85912011-03-22 Joseph Myers <joseph@codesourcery.com>
8592
8593 * config/cris/cris.c (cris_handle_option): Access target_flags via
8594 opts pointer. Don't assert that global structures are in use.
8595 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
8596 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
8597
bbd399cf
JM
85982011-03-22 Joseph Myers <joseph@codesourcery.com>
8599
8600 * config/bfin/bfin-opts.h: New.
8601 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
8602 bfin_si_revision, bfin_workarounds): Remove.
8603 (bfin_cpus): Make static const.
8604 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
8605 not bfin_lib_id_given.
8606 (bfin_handle_option): Don't set bfin_lib_id_given. Access
8607 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
c78dd519 8608 pointer. Use error_at. Don't assert that global structures are in use.
bbd399cf
JM
8609 * config/bfin/bfin.h: Include bfin-opts.h.
8610 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
8611 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
8612 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
8613 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
8614 entries.
8615
5e1b4d5a
JM
86162011-03-22 Joseph Myers <joseph@codesourcery.com>
8617
8618 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
8619 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
8620 or -msoft-float here.
8621 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
8622 -msoft-float and -mhard-float.
c78dd519 8623 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
5e1b4d5a
JM
8624 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
8625 msoft-float.
8626 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
8627 -msoft-float.
8628 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
8629 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
8630 not mhard-float.
8631 (LIBGCC_SPEC): Don't handle -msoft-float.
8632 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
8633 -mhard-float.
8634 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
8635 msoft-float.
8636 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
8637 -mfloat-abi=*, not -msoft-float and -mhard-float.
8638 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
8639 -msoft-float.
8640 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
8641 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
8642 mhard-float and msoft-float.
8643 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
8644 mfloat-abi=soft in comments, not mhard-float and msoft-float.
8645 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
8646 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
8647 mhard-float.
8648 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
8649 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
8650 msoft-float.
8651 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
8652 not mhard-float.
8653 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
8654 not msoft-float.
8655
800d1de1
RH
86562011-03-22 Richard Henderson <rth@redhat.com>
8657
8658 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
8659 TARGET_ABI_WINDOWS_NT.
8660 (alpha_output_function_end_prologue): Likewise.
8661 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
8662 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8663 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
8664 (trap, *movsi_nt_vms): Likewise.
8665 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
8666 (*tablejump_osf_nt_internal): Remove.
8667 * config/alpha/predicates.md (input_operand): Only test Pmode.
8668
c59ddd2b
JM
86692011-03-22 Joseph Myers <joseph@codesourcery.com>
8670
8671 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
8672 via opts pointer. Use error_at. Don't assert that global
8673 structures are in use.
8674
1333f97f
JM
86752011-03-22 Joseph Myers <joseph@codesourcery.com>
8676
8677 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
8678 (ix86_handle_option): Access ix86_isa_flags and
8679 ix86_isa_flags_explicit via opts pointer. Don't assert that
8680 global structures are in use.
8681 (ix86_function_specific_save, ix86_function_specific_restore):
8682 Update ix86_isa_flags_explicit field name.
c78dd519 8683 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
1333f97f
JM
8684 (ix86_isa_flags_explicit): Rename TargetSave entry to
8685 x_ix86_isa_flags_explicit.
8686
75db85d8
RH
86872011-03-22 Richard Henderson <rth@redhat.com>
8688
8689 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
8690 (alpha_option_override, direct_return): Likewise.
8691 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
8692 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
8693 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
8694 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
8695 (alpha_expand_epilogue, alpha_end_function): Likewise.
8696 (alpha_init_libfuncs): Likewise.
8697 (struct machine_function): Remove unicosmk members.
8698 (print_operand) ['t']: Remove.
8699 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
8700 unicosmk_output_module_name, unicosmk_output_common,
8701 current_section_align, unicosmk_output_text_section_asm_op,
8702 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
8703 unicosmk_section_type_flags, unicosmk_unique_section,
8704 unicosmk_asm_named_section, unicosmk_insert_attributes,
8705 unicosmk_output_align, unicosmk_defer_case_vector,
8706 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
8707 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
8708 unicosmk_output_ssib, unicosmk_add_call_info_word,
8709 unicosmk_extern_head, unicosmk_output_default_externs,
8710 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
8711 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
8712 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
8713 * config/alpha/alpha-protos.h: Update.
8714 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
8715 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
8716 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
8717 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
8718 (*mulsi_se, mulvsi3): Likewise.
8719 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
8720 (*divmodsi_internal, call, call_value, realign): Likewise.
8721 (moddi3, umoddi3): Likewise; remove duplicate expander.
8722 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
8723 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
8724 (*movdi_nofix): Remove r/U alternative.
8725 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
8726 * config/alpha/constraints.md ("U"): Remove.
8727 * config/alpha/predicates.md (call_operand"): Don't test
8728 TARGET_ABI_UNICOSMK.
8729
96e45421
JM
87302011-03-22 Joseph Myers <joseph@codesourcery.com>
8731
8732 * target.def (handle_option): Take gcc_options and
8733 cl_decoded_option pointers and location_t.
8734 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
8735 * doc/tm.texi: Regenerate.
8736 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
8737 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
8738 * lto-opts.c (lto_reissue_options): Generate option structure for
8739 targetm.handle_option call.
8740 * opts.c (target_handle_option): Update call to
8741 targetm.handle_option. Remove assertions about values now passed
8742 down to hook.
8743 * targhooks.c (default_target_handle_option): New.
8744 * targhooks.h (default_target_handle_option): Declare.
8745 * config/alpha/alpha.c: Include opts.h.
8746 (alpha_handle_option): Update to new hook interface.
8747 * config/arm/arm.c: Include opts.h.
8748 (arm_handle_option): Update to new hook interface.
8749 * config/arm/t-arm (arm.o): Update dependencies.
8750 * config/bfin/bfin.c: Include opts.h.
8751 (bfin_handle_option): Update to new hook interface.
8752 * config/cris/cris.c: Include opts.h.
8753 (cris_handle_option): Update to new hook interface.
8754 * config/frv/frv.c: Include opts.h.
8755 (frv_handle_option): Update to new hook interface.
8756 * config/i386/i386.c: Include opts.h.
8757 (ix86_handle_option): Update to new hook interface.
8758 (ix86_valid_target_attribute_inner_p): Generate option structure
8759 for call to ix86_handle_option.
8760 * config/i386/t-i386 (i386.o): Update dependencies.
8761 * config/ia64/ia64.c: Include opts.h.
8762 (ia64_handle_option): Update to new hook interface.
8763 * config/ia64/t-ia64 (ia64.o): Update dependencies.
8764 * config/iq2000/iq2000.c: Include opts.h.
8765 (iq2000_handle_option): Update to new hook interface.
8766 * config/m32c/m32c.c: Include opts.h.
8767 (m32c_handle_option): Update to new hook interface.
8768 * config/m32r/m32r.c: Include opts.h.
8769 (m32r_handle_option): Update to new hook interface.
8770 * config/m68k/m68k.c: Include opts.h.
8771 (m68k_handle_option): Update to new hook interface.
8772 * config/mep/mep.c: Include opts.h.
8773 (mep_handle_option): Update to new hook interface.
8774 * config/microblaze/microblaze.c: Include opts.h.
8775 (microblaze_handle_option): Update to new hook interface.
8776 * config/mips/mips.c: Include opts.h.
8777 (mips_handle_option): Update to new hook interface.
8778 * config/mn10300/mn10300.c: Include opts.h.
8779 (mn10300_handle_option): Update to new hook interface.
8780 * config/pa/pa.c: Include opts.h.
8781 (pa_handle_option): Update to new hook interface.
8782 * config/pdp11/pdp11.c: Include opts.h.
8783 (pdp11_handle_option): Update to new hook interface.
8784 * config/rs6000/rs6000.c: Include opts.h.
8785 (rs6000_handle_option): Update to new hook interface.
8786 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
8787 * config/rx/rx.c: Include opts.h.
8788 (rx_handle_option): Update to new hook interface.
8789 * config/s390/s390.c: Include opts.h.
8790 (s390_handle_option): Update to new hook interface.
8791 * config/score/score.c: Include opts.h.
8792 (score_handle_option): Update to new hook interface.
8793 * config/sh/sh.c: Include opts.h.
8794 (sh_handle_option): Update to new hook interface.
8795 * config/sparc/sparc.c: Include opts.h.
8796 (sparc_handle_option): Update to new hook interface.
8797 * config/v850/v850.c: Include opts.h.
8798 (v850_handle_option): Update to new hook interface.
8799
66017846
JM
88002011-03-22 Joseph Myers <joseph@codesourcery.com>
8801
8802 * gcc.c (driver_unknown_option_callback): Only permit and save
8803 unknown -Wno- options.
8804 (driver_wrong_lang_callback): Save options directly instead of via
8805 driver_unknown_option_callback.
8806
e8b97ccd
EB
88072011-03-22 Eric Botcazou <ebotcazou@adacore.com>
8808
8809 * combine.c (simplify_set): Try harder to find the best CC mode when
8810 simplifying a nested COMPARE on the RHS.
8811
ebb9f8b0
JM
88122011-03-22 Joseph Myers <joseph@codesourcery.com>
8813
8814 * config/alpha/gnu.h: Remove.
8815 * config/arc: Remove directory.
8816 * config/arm/netbsd.h: Remove.
8817 * config/arm/t-pe: Remove.
8818 * config/crx: Remove directory.
8819 * config/i386/netbsd.h: Remove.
8820 * config/m68hc11: Remove directory.
8821 * config/m68k/uclinux-oldabi.h: Remove.
8822 * config/mcore/mcore-pe.h: Remove.
8823 * config/mcore/t-mcore-pe: Remove.
8824 * config/netbsd-aout.h: Remove.
8825 * config/rs6000/gnu.h: Remove.
8826 * config/sh/sh-symbian.h: Remove.
8827 * config/sh/symbian-base.c: Remove.
8828 * config/sh/symbian-c.c: Remove.
8829 * config/sh/symbian-cxx.c: Remove.
8830 * config/sh/symbian-post.h: Remove.
8831 * config/sh/symbian-pre.h: Remove.
8832 * config/sh/t-symbian: Remove.
8833 * config/svr3.h: Remove.
8834 * config/vax/netbsd.h: Remove.
8835 * config.build: Don't handle i[34567]86-*-pe.
8836 * config.gcc: Remove handling of deprecations for most deprecated
8837 targets.
8838 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
8839 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
8840 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
8841 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
8842 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
8843 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
8844 Remove cases.
8845 * config.host: Don't handle i[34567]86-*-pe.
8846 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
8847 (ASM_SPEC32): Don't handle -mcall-gnu.
8848 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
8849 -mcall-gnu.
8850 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
8851 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
8852 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
8853 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
8854 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
8855 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
8856 conditional on SYMBIAN.
8857 * configure.ac: Don't handle powerpc*-*-gnu*.
8858 * configure: Regenerate.
8859 * doc/extend.texi (interrupt attribute): Don't mention CRX.
8860 * doc/install-old.texi (m6811, m6812): Don't mention.
8861 * doc/install.texi (arc-*-elf*): Don't document multilib option.
8862 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
8863 (m68k-uclinuxoldabi): Don't mention.
8864 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
8865 Remove.
8866 (-mcall-gnu): Remove.
8867 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
8868 families): Remove constraint documentation.
8869
999a7d80
MS
88702011-03-22 Marius Strobl <marius@FreeBSD.org>
8871
8872 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
8873 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
8874 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
8875
45540bcf
MM
88762011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
8877
8878 PR target/48226
8879 * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If we see a
8880 vector when peeking at the next token for vector, don't expand the
8881 keywords.
8882
980a0ff4
GJL
88832011-03-21 Georg-Johann Lay <avr@gjlay.de>
8884
8885 * config/avr/avr-protos.h (expand_epilogue): Change prototype
8886 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
8887 * config/avr/avr.c (init_cumulative_args)
8888 (avr_function_arg_advance): Use it.
8889 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
8890 sibcall epilogues.
8891 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
8892 (avr_function_ok_for_sibcall): ...this new function.
8893 (avr_lookup_function_attribute1): New static Function.
8894 (avr_naked_function_p, interrupt_function_p)
8895 (signal_function_p, avr_OS_task_function_p)
8896 (avr_OS_main_function_p): Use it.
8897 * config/avr/avr.md ("sibcall", "sibcall_value")
8898 ("sibcall_epilogue"): New expander.
8899 ("*call_insn", "*call_value_insn"): New insn.
8900 ("call_insn", "call_value_insn"): Remove
8901 ("call", "call_value", "epilogue"): Change expander to handle
8902 sibling calls.
8903
49168734
NC
89042011-03-21 Nick Clifton <nickc@redhat.com>
8905
8906 * doc/invoke.texi (Overall Options): Move closing brace to end of
8907 options list.
8908 (Optimization Options): Add missing @gol.
8909 (Directory Options): Likewise.
8910 (i386 and x86-64 Options): Likewise.
8911 (RS6000 and PowerPC Options): Likewise.
8912 (i386 and x86-64 Windows Options): Likewise.
8913 (V850 Options): Add text missing from descriptions.
8914
bdfe906f
RH
89152011-03-22 Richard Henderson <rth@redhat.com>
8916
8917 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
8918 (avr_incoming_return_addr_rtx): New.
8919 (emit_push_byte): New.
8920 (expand_prologue): Use it. Remove incorrect dwarf annotation for
8921 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
8922 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
8923 (emit_pop_byte): New.
8924 (expand_epilogue): Use it. Pop frame pointer by bytes.
8925 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
8926 (INCOMING_RETURN_ADDR_RTX): New.
8927 (INCOMING_FRAME_SP_OFFSET): New.
8928 (ARG_POINTER_CFA_OFFSET): New.
8929 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
8930 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
8931 (pophi): Remove.
8932
d090a5aa
RH
8933 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
8934
fdf3e18a
NF
89352011-03-22 Nathan Froyd <froydnj@codesourcery.com>
8936
8937 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
8938 (FUNCTION_ARG_ADVANCE): Likewise.
8939 * tm.texi.in: Change references to them to hook references.
8940 * tm.texi: Regenerate.
8941 * targhooks.c (default_function_arg): Eliminate check for target
8942 macro.
8943 (default_function_incoming_arg): Likewise.
8944 (default_function_arg_advance): Likewise.
c78dd519 8945 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
fdf3e18a
NF
8946 (function_arg_advance): Likewise.
8947 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
8948
009d3fcf
NF
89492011-03-22 Nathan Froyd <froydnj@codesourcery.com>
8950
8951 * tree.c (build_call_1): New function.
8952 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
8953
7bec30e1
RG
89542011-03-22 Richard Guenther <rguenther@suse.de>
8955
8956 PR tree-optimization/48228
8957 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
8958 for single-arg PHIs.
8959
0b7e851b
AB
89602011-03-22 Andrey Belevantsev <abel@ispras.ru>
8961
8962 PR rtl-optimization/48143
8963 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
8964 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
8965 sse2_cvtps2pd): Likewise.
8966
d89afca5
AK
89672011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8968
8969 * recog.c (canonicalize_change_group): Use validate_unshare_change.
8970
f471fe72
RG
89712011-03-22 Richard Guenther <rguenther@suse.de>
8972
8973 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
8974 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
8975 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
8976 and REALIGN_LOAD_EXPR.
8977 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
8978 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
8979 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
8980 DOT_PROD_EXPR case ...
8981 (expand_expr_real_2): ... here.
8982 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
8983 and REALIGN_LOAD_EXPR.
8984 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
8985 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
8986 (vect_create_epilog_for_reduction): Likewise.
8987 (vectorizable_reduction): Likewise.
8988 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
8989 * tree-vect-stmts.c (vectorizable_load): Likewise.
8990
f2f81d57
EB
89912011-03-22 Eric Botcazou <ebotcazou@adacore.com>
8992
8993 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
8994
ab081dd6
AK
89952011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8996
8997 * config/s390/s390.c (s390_delegitimize_address): Fix offset
8998 handling for PLTOFF/GOTOFF.
8999
6fd5332b
NC
90002011-03-22 Nick Clifton <nickc@redhat.com>
9001
9002 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
9003 trailing backslash from the end of the macro definition.
9004
01841ac0
AK
90052011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9006
9007 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
9008 and PLT unspecs.
9009
2ef6ce06
RS
90102011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
9011
9012 * expr.h (prepare_operand): Move to...
9013 * optabs.h (prepare_operand): ...here and change the insn code
9014 parameter from "int" to "enum insn_code".
9015 (insn_operand_matches): Declare.
9016 * expr.c (init_expr_target): Use insn_operand_matches.
9017 (compress_float_constant): Likewise.
9018 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
9019 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
9020 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
c78dd519
UB
9021 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
9022 Likewise.
2ef6ce06
RS
9023 (gen_cond_trap): Likewise.
9024 (prepare_operand): Likewise. Change icode to an insn_code.
9025 (insn_operand_matches): New function.
9026 * reload.c (find_reloads_address_1): Use insn_operand_matches.
9027 * reload1.c (gen_reload): Likewise.
9028 * targhooks.c (default_secondary_reload): Likewise.
9029
9e43ad68
UB
90302011-03-21 Uros Bizjak <ubizjak@gmail.com>
9031
9a96da32
UB
9032 * config/alpha/alpha.md (unspec): New define_c_enum.
9033 (unspecv): Ditto.
9034
90352011-03-21 Uros Bizjak <ubizjak@gmail.com>
9036
9037 PR debug/48214
9e43ad68
UB
9038 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
9039 between a call and its CALL_ARG_LOCATION note.
9040
31408f60
EB
90412011-03-21 Eric Botcazou <ebotcazou@adacore.com>
9042
9043 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
9044
90452011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
9046
9047 PR c/42544
9048 PR c/48197
9049 * c-common.c (shorten_compare): If primopN is first sign-extended
9050 to opN and then zero-extended to result type, set primopN to opN.
9051
9dfd55f5
DJ
90522011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
9053
9054 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
9055 for barrier handlers.
9056
f3c33d9d
MM
90572011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
9058
9059 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
9060 UNSPEC constants to be in the unspec enumeration, and redefine
9061 all UNSPECV constants to be in the unspecv enumeration, so that
9062 dumps print which unspec/unspec_volatile this is.
9063 * config/rs6000/vector.md (UNSPEC_*): Ditto.
9064 * config/rs6000/paired.md (UNSPEC_*): Ditto.
9065 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
9066 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
9067 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
9068
9069 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
9070 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
9071 UNSPECV_LWSYNC, since these are used as unspec_volatile.
9072 * config/rs6000/sync.md (isync, lwsync): Ditto.
9073
ac43f774
RG
90742011-03-21 Richard Guenther <rguenther@suse.de>
9075
9076 * params.def (lto-min-partition): Fix typo.
9077
411cdbd8
RG
90782011-03-21 Richard Guenther <rguenther@suse.de>
9079
9080 PR c/47939
9081 * c-decl.c (grokdeclarator): Drop to the main variant only
9082 for array types. Drop flag_gen_aux_info check.
9083
1cd9e416
RG
90842011-03-21 Richard Guenther <rguenther@suse.de>
9085
9086 PR translation/47911
9087 * params.def (lto-partitions): Fix typo.
9088 (lto-min-partition): Fix wording.
9089
ada5ad67
AT
90902011-03-21 Andreas Tobler <andreast@fgznet.ch>
9091
9092 * config/rs6000/t-freebsd: Remove duplication from file.
9093
f9613c9a
RG
90942011-03-21 Richard Guenther <rguenther@suse.de>
9095
9096 PR middle-end/47661
9097 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
9098
9bfbc1eb
RG
90992011-03-21 Richard Guenther <rguenther@suse.de>
9100
9101 PR lto/48210
9102 * params.def (lto-partitions): Require at least 1 partition.
9103
a2268084
RO
91042011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9105
9106 * gthr-solaris.h: Remove.
9107 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
9108 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
9109 (LIB_SPEC): Likewise.
9110 * config/sol2.opt (threads): Remove.
9e43ad68 9111 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
9112 (sparc*-*-solaris2*): Likewise.
9113 * configure.ac (enable_threads): Enable solaris support.
9114 * configure: Regenerate.
9e43ad68 9115 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
9116 * doc/install.texi (Configuration, --enable-threads=lib): Remove
9117 solaris.
9118
c43d9a1b
RO
91192011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9120
9121 * config.gcc: Obsolete *-*-solaris2.8*.
9122 * doc/install.texi (Specific, *-*-solaris2*): Document it.
9123
084239f4
RO
91242011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9125
9126 PR bootstrap/48135
9127 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
9128 reference. Solaris 8 perl works.
9129
64cadbe7
RO
91302011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9131
9132 PR bootstrap/48135
9133 * doc/install.texi (Prerequisites): Move jar etc. up.
9134 Explain support library version requirements.
9135
eb975109
RO
91362011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9137
9138 PR bootstrap/48135
9139 * doc/install.texi (Prerequisites): Move Perl to build
9140 requirements. Always necessary on Solaris 2 with Sun ld.
9141
8a509ffd
RO
91422011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9143
9144 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
9145 binutils 2.21.
9146 (Specific, i?86-*-solaris2.[89]): Likewise.
9147 (Specific, i?86-*-solaris2.10): Likewise.
9148 (Specific, mips-sgi-irix6): Likewise.
9149 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
9150 Update for binutils 2.21.
9151
8fbc58a1
RO
91522011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9153
9154 * configure.ac (gcc_cv_lto_plugin): Fix typo.
9155 Allow -fuse-linker-plugin for non-default plugin linker.
9156 * configure: Regenerate.
9157
7e84ad0b
NP
91582011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
9159
9160 PR bootstrap/48167
9161 * gengtype.c (files_rules): Added rule for cp/parser.h.
9162
2f36e14b
JJ
91632011-03-21 Jakub Jelinek <jakub@redhat.com>
9164
9165 PR target/48213
9166 * config/s390/s390.c (s390_delegitimize_address): Don't call
9167 lowpart_subreg if orig_x has BLKmode.
9168
62d784f7
KT
91692011-03-21 Kai Tietz <ktietz@redhat.com>
9170
9171 PR target/12171
9e43ad68
UB
9172 * doc/plugins.texi: Adjust documentation for plugin register_callback.
9173 * tree.h (attribute_spec): Add new member affects_type_identity.
9174 * attribs.c (empty_attribute_table): Adjust attribute_spec
9175 initializers.
62d784f7
KT
9176 * config/alpha/alpha.c: Likewise.
9177 * config/arc/arc.c: Likewise.
9178 * config/arm/arm.c: Likewise.
9179 * config/avr/avr.c: Likewise.
9180 * config/bfin/bfin.c: Likewise.
9181 * config/crx/crx.c: Likewise.
9182 * config/darwin.h: Likewise.
9183 * config/h8300/h8300.c: Likewise.
9184 * config/i386/cygming.h: Likewise.
9185 * config/i386/i386.c: Likewise.
9186 * config/ia64/ia64.c: Likewise.
9187 * config/m32c/m32c.c: Likewise.
9188 * config/m32r/m32r.c: Likewise.
9189 * config/m68hc11/m68hc11.c: Likewise.
9190 * config/m68k/m68k.c: Likewise.
9191 * config/mcore/mcore.c: Likewise.
9192 * config/mep/mep.c: Likewise.
9193 * config/microblaze/microblaze.c: Likewise.
9194 * config/mips/mips.c: Likewise.
9195 * config/rs6000/rs6000.c: Likewise.
9196 * config/rx/rx.c: Likewise.
9197 * config/sh/sh.c: Likewise.
9198 * config/sol2.h: Likewise.
9199 * config/sparc/sparc.c: Likewise.
9200 * config/spu/spu.c: Likewise.
9201 * config/stormy16/stormy16.c: Likewise.
9202 * config/v850/v850.c: Likewise.
9203
54833ec0
CLT
92042011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
9205
9206 * simplify-rtx.c (simplify_binary_operation_1): Handle
9207 (xor (and A B) C) case when B and C are both constants.
9208
14a41392
MX
92092011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
9210
9211 * tree-dfa.c (add_referenced_var): Fix typo in comment.
9212
806c3492
EB
92132011-03-20 Eric Botcazou <ebotcazou@adacore.com>
9214
9215 PR bootstrap/48168
9216 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
9217
65e0a0f3
JJ
92182011-03-20 Jakub Jelinek <jakub@redhat.com>
9219
9220 PR rtl-optimization/48156
9221 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
9222 assume df and df_lr are not NULL.
9223
b6a75dda
RR
92242011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
9225
9226 PR debug/48023
9227 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
9228 between a call and its CALL_ARG_LOCATION note.
9229
5969b52d
KK
92302011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
9231
9232 PR debug/48178
9233 * config/sh/sh.c (find_barrier): Don't emit a constant pool
9234 between a call and its corresponding CALL_ARG_LOCATION note.
9235
f773c2bd
AS
92362011-03-19 Anatoly Sokolov <aesok@post.ru>
9237
9238 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
9239 instead of loop. Use HARD_REGISTER_NUM_P predicate.
9240 * haifa-sched.c (setup_ref_regs): Ditto.
9241 * caller-save.c (add_used_regs_1): Ditto.
9242 * dse.c (look_for_hardregs): Ditto.
9243 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
9244 * sched-rgn.c (check_live_1): Ditto.
9245
8bf872f9
JM
92462011-03-18 Joseph Myers <joseph@codesourcery.com>
9247
9248 * c-decl.c (diagnose_mismatched_decls): Give an error for
9249 redefining a typedef with variably modified type.
9250
ff8e2159
JM
92512011-03-18 Joseph Myers <joseph@codesourcery.com>
9252
9253 * c-decl.c (grokfield): Don't allow typedefs for structures or
9254 unions with no tag by default.
9255 * doc/extend.texi (Unnamed Fields): Update.
9256
16cc4440
UB
92572011-03-18 Uros Bizjak <ubizjak@gmail.com>
9258
9259 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
9260 Rewrite using indirect functions.
9261 (lwp_slwpcb): Ditto.
9262 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
9263 (avx_vinsertf128<mode>): Ditto.
9264
e101e12e
AK
92652011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9266
9267 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
9268 unspecs.
9269
4627c7fb
AK
92702011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9271
9272 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 9273 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 9274
2d36b47f
MK
92752011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
9276
9277 PR rtl-optimization/48170
9278 * gcse.c (hoist_code): Remove bogus asserts.
9279
2a3d7659
JL
92802011-03-18 Georg-Johann Lay <avr@gjlay.de>
9281
9282 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
9283 computation for prologue/epilogue.
9284
34c3ef05
RO
92852011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9286
9287 * Makefile.in (check-consistency): Remove.
9288
81f2b976
JJ
92892011-03-18 Jakub Jelinek <jakub@redhat.com>
9290
9291 PR debug/48176
9292 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
9293 arange_table_in_use is 0, but either text_section_used or
9294 cold_text_section_used is true. Don't call it if
9295 !info_section_emitted.
9296
68fd7765
AS
92972011-03-18 Anatoly Sokolov <aesok@post.ru>
9298
9299 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
9300 FUNCTION_VALUE_REGNO_P): Remove.
9301 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
9302 Remove.
9303 * config/avr/avr.c (avr_ret_register): Make static inline.
9304 (avr_function_value_regno_p): New function.
9305 (avr_libcall_value): Make static. Add 'func' argument.
9306 (avr_function_value): Make static. Rename 'func' argument to
9307 'fn_decl_or_type', forward it to avr_libcall_value. Call
9308 avr_ret_register function instead of RET_REGISTER macro.
9309 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
9310
b4ef8aac
JM
93112011-03-18 Jason Merrill <jason@redhat.com>
9312
9313 PR c++/23372
9314 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
9315
09a52fc3
RG
93162011-03-18 Richard Guenther <rguenther@suse.de>
9317
9318 * doc/install.texi (--enable-gold): Remove.
9319 (--with-plugin-ld): Document.
9320 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
9321
2a3d7659 93222011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
9323
9324 PR middle-end/47790
9325 * expr.c (optimize_bitfield_assignment_op): Revamp to work
9326 again after expansion changes.
9327
2abbb0fe
CLT
93282011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
9329
9330 * combine.c (try_combine): Do simplification only call of
9331 subst() on i2 even when i1 is present. Update comments.
9332
2efd0aa6
KK
93332011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
9334
9335 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
9336 and UNSPEC_PCREL_SYMOFF.
9337
30a49b23
AK
93382011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9339
9340 * config/s390/s390.md: Use define_c_enum for the unspec constant
9341 definitions.
9342
419e1853
JJ
93432011-03-18 Richard Henderson <rth@redhat.com>
9344 Jakub Jelinek <jakub@redhat.com>
9345
9346 PR bootstrap/48161
9347 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
9348 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
9349
37875856
L
93502011-03-17 H.J. Lu <hongjiu.lu@intel.com>
9351
9352 PR middle-end/47725
9353 * combine.c (cant_combine_insn_p): Don't check zero/sign
9354 extended hard registers.
9355
76069764
L
93562011-03-17 H.J. Lu <hongjiu.lu@intel.com>
9357
9358 PR middle-end/47725
9359 * combine.c (cant_combine_insn_p): Check zero/sign extended
9360 hard registers.
9361
24da2019
AS
93622011-03-17 Anatoly Sokolov <aesok@post.ru>
9363
9364 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
9365 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
9366 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
9367 Change return type to bool.
9368 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
9369
a82ff31f
JJ
93702011-03-17 Jakub Jelinek <jakub@redhat.com>
9371
8b29c87a
JJ
9372 PR debug/48163
9373 * var-tracking.c (prepare_call_arguments): If CALL target
9374 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
9375 pc instead of looking it up using cselib_lookup and use
9376 Pmode for it if x has VOIDmode.
9377 * dwarf2out.c (gen_subprogram_die): If also both first and
9378 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
9379
a82ff31f
JJ
9380 PR debug/48163
9381 * function.c (assign_parms): For data.passed_pointer parms
9382 use MEM of data.entry_parm instead of data.entry_parm itself
9383 as DECL_INCOMING_RTL.
9384 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
9385 also when passed and declared mode is the same, DECL_RTL
9386 is a MEM with pseudo as address and DECL_INCOMING_RTL is
9387 a MEM too.
9388
82ce305c
JL
93892011-03-16 Jeff Law <law@redhat.com>
9390
9391 PR rtl-optimization/37273
9392 * ira-costs.c (scan_one_insn): Detect constants living in memory and
9393 handle them like argument loads from stack slots. Do not double
9394 count memory for memory constants and argument loads from stack slots.
9395
fe58e02b
L
93962011-03-17 H.J. Lu <hongjiu.lu@intel.com>
9397
9398 PR debug/48160
9399 * var-tracking.c (prepare_call_arguments): Check SUBREG.
9400
6fc4dbc7
L
94012011-03-17 H.J. Lu <hongjiu.lu@intel.com>
9402
9403 PR target/48171
9404 * config/i386/i386.opt: Add Save to -mavx and -mfma.
9405
db3ed0b3
JJ
94062011-03-17 Jakub Jelinek <jakub@redhat.com>
9407
8054a389
JJ
9408 PR bootstrap/48153
9409 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
9410 if dwarf_strict.
9411 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
9412 Clear call_arg_locations and call_arg_loc_last always.
9413
db3ed0b3
JJ
9414 PR middle-end/48152
9415 * var-tracking.c (prepare_call_arguments): If argument needs to be
9416 passed by reference, adjust argtype and mode.
9417
1bce4ff3
RG
94182011-03-17 Richard Guenther <rguenther@suse.de>
9419
9420 PR middle-end/48134
9421 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
9422 a value make sure to fold the statement.
9423
7c71147d
CLT
94242011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
9425
9426 PR target/43872
9427 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
9428 return condition with !cfun->calls_alloca.
9429
0e1ee172
RG
94302011-03-17 Richard Guenther <rguenther@suse.de>
9431
9432 PR bootstrap/48148
9433 * lto-cgraph.c (input_overwrite_node): Clear the abstract
9434 origin for decls in other ltrans units.
9435 (input_varpool_node): Likewise.
9436
f8bce518
RG
94372011-03-17 Richard Guenther <rguenther@suse.de>
9438
9439 PR middle-end/48165
9440 * tree-object-size.c (compute_object_offset): Properly return
9441 the offset operand of MEM_REFs as sizetype.
9442
1b6fa860
JJ
94432011-03-17 Jakub Jelinek <jakub@redhat.com>
9444
dabd47e7
JJ
9445 PR rtl-optimization/48141
9446 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
9447 * dse.c: Include params.h.
9448 (active_local_stores_len): New variable.
9449 (add_wild_read, dse_step1): Clear it when setting active_local_stores
9450 to NULL.
9451 (record_store, check_mem_read_rtx): Decrease it when removing
9452 from the chain.
9453 (scan_insn): Likewise. Increase it when adding to chain, if it
9454 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
9455 set active_local_stores to NULL before the addition.
9456 * Makefile.in (dse.o): Depend on $(PARAMS_H).
9457
1b6fa860
JJ
9458 PR rtl-optimization/48141
9459 * dse.c (record_store): If no positions are needed in an insn
9460 that cannot be deleted, at least unchain it from active_local_stores.
9461
7b5cb7d6
DS
94622011-03-16 Dodji Seketeli <dodji@redhat.com>
9463
9464 PR debug/47510
9465 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
9466 (lookup_type_die_strip_naming_typedef): ... here.
9467 (get_context_die): Use it.
9468 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
9469 the anonymous struct named by the naming typedef.
9470
585e9d9d
L
94712011-03-16 H.J. Lu <hongjiu.lu@intel.com>
9472
9473 PR target/48154
9474 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
9475 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
9476
6261ab0e
JL
94772011-03-16 Jeff Law <law@redhat.com>
9478
9479 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 9480 check for operands of conditional. Allow type to be a pointer.
6261ab0e 9481
0b0081ec
RG
94822011-03-16 Richard Guenther <rguenther@suse.de>
9483
9484 PR tree-optimization/48149
9485 * fold-const.c (fold_binary_loc): Fold
9486 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
9487
64a3d647
RG
94882011-03-16 Richard Guenther <rguenther@suse.de>
9489
9490 PR tree-optimization/26134
9491 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
9492 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
9493 (non_rewritable_mem_ref_base): Handle complex type component
9494 accesses, constrain offsets for vector and complex extracts
9495 more properly.
9496
ef13324e
RG
94972011-03-16 Richard Guenther <rguenther@suse.de>
9498
9499 PR tree-optimization/48146
9500 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
9501 operands avoiding the need for renaming.
9502
f0eddb90
RG
95032011-03-16 Richard Guenther <rguenther@suse.de>
9504
9505 * gimple-fold.c (maybe_fold_reference): Open-code relevant
9506 constant folding. Move MEM_REF canonicalization first.
9507 Rely on fold_const_aggregate_ref for initializer folding.
9508 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
9509
e42348b8
JJ
95102011-03-16 Jakub Jelinek <jakub@redhat.com>
9511
29f10e71
JJ
9512 PR middle-end/48136
9513 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
9514 arg0/arg1 or their arguments are always fold converted to matching
9515 types.
9516
e42348b8
JJ
9517 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
9518 to nargs.
9519
55b46574
RO
95202011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9521
9522 PR lto/46944
9523 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
9524 Handle in-tree gold.
9525 (ld_vers): Extract binutils version for gold.
9526 (gcc_cv_ld_hidden): Handle gold here.
9527 (gcc_cv_lto_plugin): Determine level of linker plugin support.
9528 * configure: Regenerate.
9529 * config.in: Regenerate.
9530 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
9531 -fuse-linker-plugin otherwise.
9532 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
9533 (LINK_COMMAND_SPEC): Use it.
9534 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
9535
2b1c5433
JJ
95362011-03-16 Jakub Jelinek <jakub@redhat.com>
9537
c2969d8e
JJ
9538 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
9539 * calls.c: Remove debug.h include.
9540 (emit_call_1): Don't call virtual_call_token debug hook.
9541 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
9542 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
9543 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
9544 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
9545 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
9546 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
9547 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
9548 dwarf2out_virtual_call): Remove.
9549 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
9550 copy_call_info and virtual_call hooks.
9551 (dwarf2out_init): Don't initialize vcall_insn_table,
9552 debug_dcall_section and debug_vcall_section.
9553 (prune_unused_types): Don't mark nodes from dcall_table.
9554 (dwarf2out_finish): Don't output dcall or vcall tables.
9555 * final.c (final_scan_insn): Don't call direct_call or
9556 virtual_call debug hooks.
9557 * debug.h (struct gcc_debug_hooks): Remove direct_call,
9558 virtual_call_token, copy_call_info and virtual_call hooks.
9559 (debug_nothing_uid): Remove prototype.
9560 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
9561 copy_call_info and virtual_call hooks.
9562 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
9563 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
9564 * debug.c (do_nothing_debug_hooks): Likewise.
9565 (debug_nothing_uid): Remove.
9566 * doc/invoke.texi (-fenable-icf-debug): Remove.
9567 * common.opt (-fenable-icf-debug): Likewise.
9568
325f5379
JJ
9569 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
9570 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
9571 call's MEM. Handle functions returning aggregate through a hidden
9572 first pointer. For virtual calls add clobbered pc to call arguments
9573 chain.
9574 * dwarf2out.c (gen_subprogram_die): Emit
9575 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
9576 can't be emitted.
9577
a58a8e4b
JJ
9578 PR debug/45882
9579 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
9580 * rtl.h (ENTRY_VALUE_EXP): Define.
9581 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
9582 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
9583 * print-rtl.c (print_rtx): Likewise.
9584 * gengtype.c (adjust_field_rtx_def): Likewise.
9585 * var-tracking.c (vt_add_function_parameter): Adjust
9586 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
9587 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
9588 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
9589 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
9590 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
9591
2b1c5433
JJ
9592 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
9593 Call var_location debug hook even on CALL_INSNs.
9594 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
9595 * rtl.def (ENTRY_VALUE): New.
9596 * dwarf2out.c: Include cfglayout.h.
9597 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
9598 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
9599 (struct call_arg_loc_node): New type.
9600 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
9601 tail_call_site_count): New variables.
9602 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
9603 DW_TAG_GNU_call_site_parameter.
9604 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
9605 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
9606 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
9607 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
9608 and DW_AT_GNU_all_source_call_sites.
9609 (mem_loc_descriptor): Handle ENTRY_VALUE.
9610 (add_src_coords_attributes): Don't add enything if
9611 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
9612 (dwarf2out_abstract_function): Save and clear call_arg_location,
9613 call_site_count and tail_call_site_count around dwarf2out_decl call.
9614 (gen_call_site_die): New function.
9615 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
9616 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
9617 (dwarf2out_function_decl): Clear call_arg_locations,
9618 call_arg_loc_last, set call_site_count and tail_call_site_count
9619 to -1 and free block_map.
9620 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
9621 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
9622 followed by any real instructions.
9623 (dwarf2out_begin_function): Set call_site_count and
9624 tail_call_site_count to 0.
9625 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
9626 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
9627 attempt to force a DIE for it and worst case remove the attribute.
9628 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
9629 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
9630 the decl itself.
9631 * var-tracking.c: Include tm_p.h.
9632 (vt_stack_adjustments): For calls call note_register_arguments.
9633 (argument_reg_set): New variable.
9634 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
9635 ensure the VALUE is resolved.
9636 (call_arguments): New variable.
9637 (prepare_call_arguments): New function.
9638 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
9639 (struct expand_loc_callback_data): Add ignore_cur_loc field.
9640 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
9641 always use the best expression.
9642 (vt_expand_loc): Add ignore_cur_loc argument.
9643 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
9644 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
9645 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
9646 note for all calls.
9647 (vt_add_function_parameter): Use cselib_lookup_from_insn.
9648 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
9649 argument. Don't call cselib_preserve_only_values and
9650 cselib_reset_table.
9651 (note_register_arguments): New function.
9652 (vt_initialize): Compute argument_reg_set. Call
9653 vt_add_function_parameters before processing basic blocks instead of
9654 afterwards. For calls call prepare_call_arguments before calling
9655 cselib_process_insn.
9656 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
9657 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
9658 (var-tracking.o): Depend on $(TM_P_H).
9659 * cfglayout.h (insn_scope): New prototype.
9660 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
9661 * cfglayout.c (insn_scope): No longer static.
9662 * insn-notes.def (CALL_ARG_LOCATION): New.
9663 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
9664 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
9665 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
9666 nothing for DECL_EXTERNAL BLOCK_VARS.
9667
9ef13bd0
AM
96682011-03-16 Alan Modra <amodra@gmail.com>
9669
9670 PR target/45844
9671 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
9672 create invalid offset address for vsx splat insn.
9673 * config/rs6000/predicates.md (splat_input_operand): New.
9674 * config/rs6000/vsx.md (vsx_splat_*): Use it.
9675
56b67510
XDL
96762011-03-15 Xinliang David Li <davidxl@google.com>
9677
9678 PR c/47837
9679 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
9680 (normalize_preds): New function.
9681 (is_use_properly_guarded): Normalize def predicates.
9682
80fffdef
RR
96832011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
9684
732f37c6 9685 PR target/46788
80fffdef
RR
9686 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
9687 in the output template.
9688
930672ad
RG
96892011-03-15 Richard Guenther <rguenther@suse.de>
9690
9691 PR middle-end/47650
9692 * tree-pretty-print.c (dump_function_declaration): Properly
9693 dump unprototyped and varargs function types.
9694
c7ee7b45
RG
96952011-03-15 Richard Guenther <rguenther@suse.de>
9696
9697 PR tree-optimization/13954
9698 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
9699 and friends.
9700
b2ad5e37
RG
97012011-03-15 Richard Guenther <rguenther@suse.de>
9702
9703 PR tree-optimization/48037
9704 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
9705 selects into BIT_FIELD_REFs.
9706 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
9707 vector select.
9708
7ee93d4e
JJ
97092011-03-15 Jakub Jelinek <jakub@redhat.com>
9710
9711 PR tree-optimization/48129
9712 * builtins.c (fold_builtin_snprintf): Convert to type of
9713 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
9714 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
9715
e106efc7
RG
97162011-03-15 Richard Guenther <rguenther@suse.de>
9717
9718 PR tree-optimization/41490
9719 * tree-ssa-dce.c (propagate_necessity): Handle returns without
9720 value but with VUSE.
9721 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
9722 return statements.
9723 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
9724 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
9725 * tree-tailcall.c (find_tail_calls): Ignore returns.
9726
17dea42f
RG
97272011-03-15 Richard Guenther <rguenther@suse.de>
9728
9729 PR middle-end/48031
9730 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
9731 or variable-indexed array accesses when in gimple form.
9732
01c77a60
RG
97332011-03-15 Richard Guenther <rguenther@suse.de>
9734
16cc4440 9735 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 9736
77b0791e
AM
97372011-03-15 Alan Modra <amodra@gmail.com>
9738
9739 PR target/48032
9740 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
9741 presume symbol_refs without a symbol_ref_decl are suitably
9742 aligned, nor other trees we may see here. Handle anchor symbols.
9743 (legitimate_constant_pool_address_p): Comment. Add mode param.
9744 Check cmodel=medium addresses. Adjust all calls.
9745 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
9746 creating cmodel=medium optimized access to locals.
9747 * config/rs6000/constraints.md (R): Pass QImode to
9748 legitimate_constant_pool_address_p.
9749 * config/rs6000/predicates.md (input_operand): Pass mode to
9750 legitimate_constant_pool_address_p.
9751 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
9752 Update prototype.
9753
35f61ba4
MM
97542011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
9755
9756 PR target/48053
9757 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
9758 64-bit constants being loaded into registers other than GPRs such
9759 as loading 0 into a VSX register.
9760
07332e6d
RO
97612011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9762
16cc4440 9763 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 9764
de888d90
JJ
97652011-03-14 Jakub Jelinek <jakub@redhat.com>
9766
ba3ceb2d
JJ
9767 PR middle-end/47917
9768 * builtins.c (fold_builtin_snprintf): New function.
9769 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
9770 (fold_builtin_4): Likewise.
9771
2e64f8b8
JJ
9772 PR middle-end/38878
9773 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
9774 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
9775 and C - X == X also strip nops from +/-/p+ operand.
9776 When optimizing -X == C, fold C to arg0's type.
9777
de888d90
JJ
9778 PR debug/47946
9779 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
9780 emit it as add_AT_int instead of add_AT_unsigned.
9781
97822011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
9783
9784 * unwind-dw2.c: Include sys/sdt.h if it exists.
9785 (_Unwind_DebugHook): Use STAP_PROBE2.
9786 * config.in, configure: Rebuild.
9787 * configure.ac: Check for sys/sdt.h.
9788
d34abfd2
UB
97892011-03-14 Uros Bizjak <ubizjak@gmail.com>
9790
9791 * config/i386/i386.md (ROUND_FLOOR): New constant.
9792 (ROUND_CEIL): Ditto.
9793 (ROUND_TRUNC): Ditto.
9794 (ROUND_MXCSR): Ditto.
9795 (ROUND_NO_EXC): Ditto.
9796 (rint<mode>2): Use new defines instead of numerical constants.
9797 (floor<mode>2): Ditto.
9798 (ceil<mode>2): Ditto.
9799 (btrunc<mode>2): Ditto.
9800 * config/i386/i386-builtin-types.def: Define ROUND function type
9801 aliases.
9802 * config/i386/i386.c (enum ix86_builtins): Add
9803 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
9804 (struct builtin_description): Add
9805 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
9806 (ix86_expand_sse_round): New static function.
9807 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
9808 function types.
9809 (ix86_builtin_vectorized_function): Handle
9810 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
9811
87f9e23d
TT
98122011-03-14 Tom Tromey <tromey@redhat.com>
9813
9814 * c-parser.c (c_parser_asm_string_literal): Clear
9815 warn_overlength_strings.
9816
b3ab9ea2
TT
98172011-03-14 Tom Tromey <tromey@redhat.com>
9818
9819 * c-parser.c (disable_extension_diagnostics): Save
9820 warn_overlength_strings.
9821 (restore_extension_diagnostics): Restore warn_overlength_strings.
9822
6bd73dd8
JJ
98232011-03-14 Jakub Jelinek <jakub@redhat.com>
9824
9825 * BASE-VER: Change to 4.7.0.
9826
7f4d6e1b
RG
98272011-03-14 Richard Guenther <rguenther@suse.de>
9828
9829 PR middle-end/48098
9830 * tree.c (build_vector_from_val): Adjust assert to requirements
9831 and reality.
9832
c6104ef1
JJ
98332011-03-14 Jakub Jelinek <jakub@redhat.com>
9834
9835 PR bootstrap/48102
d34abfd2 9836 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 9837
dfa95e19
AT
98382011-03-14 Andreas Tobler <andreast@fgznet.ch>
9839
f60c2554 9840 * config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP): Define in
dfa95e19
AT
9841 terms of target_flags_explicit. Adjust copyright year.
9842
9843 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
9844 * config/rs6000/t-freebsd: New file. Add override for
9845 LIB2FUNCS_EXTRA.
9846
bb322018
CD
98472011-03-13 Chris Demetriou <cgd@google.com>
9848
9849 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
9850 (-fno-diagnostics-show-option): this, to reflect current default.
9851 (-Werror=): Update text about -fno-diagnostics-show-option.
9852
12b1c80b
PB
98532011-03-12 Peter Bergner <bergner@vnet.ibm.com>
9854
9855 PR target/48053
9856 * config/rs6000/predicates.md (easy_vector_constant_add_self,
9857 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
9858 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
9859 mode is not V2DImode or V2DFmode.
9860 (vspltis_constant): Do not handle V2DImode and V2DFmode.
9861 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
9862 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
9863 registers to 0.
9864 (movdi_internal64): Likewise.
9865
57d598f7
SP
98662011-03-12 Sebastian Pop <sebastian.pop@amd.com>
9867
9868 PR tree-optimization/47127
9869 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
9870 parameter.
9871 (set_cloog_options): Same.
9872 (scop_to_clast): Same.
9873 (print_clast_stmt): Do not call cloog_state_malloc and
9874 cloog_state_free.
9875 (print_generated_program): Same.
9876 (gloog): Same.
9877 * graphite-clast-to-gimple.h (cloog_state): Declared.
9878 (scop_to_clast): Adjust declaration.
9879 * graphite.c (cloog_state): Defined here.
9880 (graphite_initialize): Call cloog_state_malloc.
9881 (graphite_finalize): Call cloog_state_free.
9882
f231b5ff
JM
98832011-03-11 Jason Merrill <jason@redhat.com>
9884
9885 * attribs.c (lookup_attribute_spec): Take const_tree.
9886 * tree.h: Adjust.
9887
6a4e2bd5
JM
98882011-03-11 Joseph Myers <joseph@codesourcery.com>
9889
9890 * config/sparc/sparc.c (sparc_option_override): Use
9891 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
9892
a758fd67
RG
98932011-03-11 Richard Guenther <rguenther@suse.de>
9894
9895 PR tree-optimization/48067
9896 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
9897 multiplication result will be only used once on the target
9898 stmt.
9899
03dfda54
RG
99002011-03-11 Richard Guenther <rguenther@suse.de>
9901
9902 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
9903
5f11a50a
RG
99042011-03-11 Richard Guenther <rguenther@suse.de>
9905
9906 PR lto/48073
9907 * tree.c (find_decls_types_r): Do not walk types only reachable
9908 from IDENTIFIER_NODEs.
9909
4074f163
JJ
99102011-03-11 Jakub Jelinek <jakub@redhat.com>
9911
9912 PR middle-end/48044
9913 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
9914 all vnode->force_output nodes as needed.
9915
30f7cdcd
JM
99162011-03-11 Jason Merrill <jason@redhat.com>
9917
9918 PR c++/48069
9919 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
9920 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
9921
62ecfeb8
MJ
99222011-03-11 Martin Jambor <mjambor@suse.cz>
9923
9924 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
9925 cgraph_node.
9926
e89e03ab
JJ
99272011-03-11 Jakub Jelinek <jakub@redhat.com>
9928
9929 PR tree-optimization/48063
9930 * ipa-inline.c (cgraph_decide_inlining): Don't try to
9931 inline functions called once if !tree_can_inline_p (node->callers).
9932
efbe978b 99332011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 9934
efbe978b
EB
9935 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
9936 extra_objs.
9d6193a7
CL
9937 * config/score/score3.c: Delete.
9938 * config/score/score3.h: Delete.
9939 * config/score/mul-div.S: Delete.
9940 * config/score/sfp-machine.h: Add new file.
9941 * config/score/constraints.md: Add new file.
9942 * config/score/t-score-softfp: Add new file.
efbe978b 9943 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
9944 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
9945 (score7_extra_constraint): Delete.
efbe978b 9946 (score7_option_override): Remove unused code.
9d6193a7
CL
9947 * config/score/score.c: Remove score3 and score5 define and code.
9948 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 9949 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
9950 * config/score/score.opt: Remove score3 and score5 options.
9951
5de27cca
JDA
99522011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9953
9954 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
9955 when _HPUX_SOURCE is defined.
9956 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
9957
18d92053
JM
99582011-03-10 Jason Merrill <jason@redhat.com>
9959
9960 PR c++/48029
9961 * stor-layout.c (layout_type): Don't set structural equality
9962 on arrays of incomplete type.
9963 * tree.c (type_hash_eq): Handle comparing them properly.
9964
67a2f76d
JJ
99652011-03-10 Jakub Jelinek <jakub@redhat.com>
9966
9967 PR debug/48043
18d92053 9968 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
9969 result mode matches original rtl mode.
9970
d845b2f9
NC
99712011-03-10 Nick Clifton <nickc@redhat.com>
9972
9973 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 9974 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 9975
db7ec035
JJ
99762011-03-09 Jakub Jelinek <jakub@redhat.com>
9977
9978 PR rtl-optimization/47866
9979 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
9980 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
9981 if target wasn't scalar.
9982 * function.c (assign_stack_temp_for_type): Assert that neither
9983 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
9984 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
9985 macro.
9986 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
9987
5d304e47
AK
99882011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9989
9990 * config/s390/s390-protos.h (s390_label_align): New prototype.
9991 * config/s390/s390.c (s390_label_align): New function.
9992 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
9993
93b826f0
MM
99942011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
9995
9996 PR target/47755
9997 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
9998 V2DI/V2DF constants. Only all 0's or all 1's are easy.
9999 (output_vec_const_move): Ditto.
10000
ef78aed6
AS
100012011-03-08 Anatoly Sokolov <aesok@post.ru>
10002
10003 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
10004 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
10005 * config/mips/mips.c (mips_preferred_reload_class): Make static.
10006 Change 'rclass' argument and result type to reg_class_t.
10007 (TARGET_PREFERRED_RELOAD_CLASS): Define.
10008
5f892aa0
GJL
100092011-03-08 Georg-Johann Lay <avr@gjlay.de>
10010
9e43ad68
UB
10011 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
10012 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
10013 (TARGET_MEMORY_MOVE_COST): Define.
10014 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 10015
32bd2409
JJ
100162011-03-08 Jakub Jelinek <jakub@redhat.com>
10017
530a4800
JJ
10018 PR debug/47881
10019 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
10020 removed anything.
10021
32bd2409
JJ
10022 PR tree-optimization/48022
10023 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
10024 for EQ/NE_EXPR.
10025
c7148991
JJ
100262011-03-07 Jakub Jelinek <jakub@redhat.com>
10027
10028 PR debug/47991
10029 * var-tracking.c (find_use_val): Return NULL for
10030 cui->sets && cui->store_p BLKmode MEMs.
10031
43070a6e
AS
100322011-03-07 Anatoly Sokolov <aesok@post.ru>
10033
10034 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
10035 Remove.
10036 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
10037 xstormy16_print_operand_address): Remove.
10038 * config/stormy16/stormy16.c (xstormy16_print_operand,
10039 xstormy16_print_operand_address): Make static.
10040 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
10041
efbe978b 100422011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
10043
10044 PR target/47862
10045 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
10046 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
10047 before definition.
10048
cec8ac0b
ZD
100492011-03-07 Zdenek Dvorak <ook@ucw.cz>
10050
10051 PR bootstrap/48000
10052 * cfgloopmanip.c (fix_bb_placements): Return immediately
10053 if FROM is BASE_LOOP's header.
10054
59527282
PW
100552011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
10056
10057 * gimplify.c (gimplify_function_tree): Fix building calls
10058 to __builtin_return_address.
10059
617718f7
AM
100602011-03-07 Alan Modra <amodra@gmail.com>
10061
10062 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
10063 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
10064 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
10065 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
10066 return_mode args.
10067 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
10068 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
10069 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
10070 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
10071 * config/rs6000/rs6000.c
10072 (rs6000_elf_end_indicate_exec_stack): Rename to..
10073 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
10074 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
10075 (rs6000_file_start): ..here.
10076 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
10077 file scope variables.
10078 (call_ABI_of_interest): New function.
10079 (init_cumulative_args): Set above vars when function return value
10080 is a float, vector, or small struct.
10081 (rs6000_function_arg_advance_1): Likewise for function args.
10082 (rs6000_va_start): Set rs6000_passes_float if variable arg function
10083 references float args.
10084
38528d50
MX
100852011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
10086
10087 * doc/cfg.texi: Remove "See" before @ref.
10088 * doc/invoke.texi: Likewise.
10089
f42cf4f4
JM
100902011-03-05 Jason Merrill <jason@redhat.com>
10091
10092 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
10093
804a304d
AG
100942011-03-05 Anthony Green <green@moxielogic.com>
10095
10096 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
10097
634ee309
ZD
100982011-03-05 Zdenek Dvorak <ook@ucw.cz>
10099
10100 PR rtl-optimization/47899
10101 * cfgloopmanip.c (fix_bb_placements): Fix first argument
10102 to flow_loop_nested_p when moving the loop upward.
10103
6fe471c8
RE
101042011-03-05 Richard Earnshaw <rearnsha@arm.com>
10105
10106 PR target/47719
10107 * arm.md (movhi_insn_arch4): Accept any immediate constant.
10108
cc58ceee
JJ
101092011-03-05 Jakub Jelinek <jakub@redhat.com>
10110
10111 PR tree-optimization/47967
10112 * ipa-cp.c (build_const_val): Return NULL instead of creating
10113 VIEW_CONVERT_EXPR for mismatching sizes.
10114 (ipcp_create_replace_map): Return NULL if build_const_val failed.
10115 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
10116 give up on versioning.
10117
ea868305
AM
101182011-03-05 Alan Modra <amodra@gmail.com>
10119
10120 PR target/47986
10121 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
10122 full cmodel medium/large lo_sum + high addresses.
10123
bc6ce334
AK
101242011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10125
10126 * config/s390/s390.c (s390_decompose_address): Reject non-literal
10127 pool references in UNSPEC_LTREL_OFFSET.
10128
87e7b310
JH
101292011-03-04 Jan Hubicka <jh@suse.cz>
10130
10131 PR lto/47497
10132 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
10133 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
10134 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
10135 Add node pointers.
87e7b310
JH
10136 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
10137 cgraph_add_thunk): Add node pointers.
10138 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
10139 associated to right node.
10140 (input_node): Update use of cgraph_same_body_alias
10141 and cgraph_add_thunk.
10142
d9c64246
CF
101432011-03-04 Changpeng Fang <changpeng.fang@amd.com>
10144
10145 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
10146 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
10147 modes when the flag -mprefer-avx128 is on.
d9c64246 10148
08707076
RS
101492011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
10150
10151 * dwarf2out.c (compare_loc_operands): Fix address handling.
10152
52517c81
AM
101532011-03-04 Alan Modra <amodra@gmail.com>
10154
10155 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
10156
b147c5b9
RG
101572011-03-04 Richard Guenther <rguenther@suse.de>
10158
10159 PR middle-end/47968
10160 * expmed.c (extract_bit_field_1): Prefer vector modes that
10161 vec_extract patterns can handle.
10162
8750672f
RG
101632011-03-04 Richard Guenther <rguenther@suse.de>
10164
10165 PR middle-end/47975
10166 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
10167
9eac0f2a
RH
101682011-03-04 Richard Henderson <rth@redhat.com>
10169
10170 * explow.c (emit_stack_save): Remove 'after' parameter.
10171 (emit_stack_restore): Likewise.
10172 * expr.h: Update to match.
10173 * builtins.c, calls.c, stmt.c: Likewise.
10174 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
10175 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
10176 * function.c (expand_function_end): Insert the emit_stack_save
10177 sequence before parm_birth_insn instead of after.
10178
dfee1406
UB
101792011-03-03 Uros Bizjak <ubizjak@gmail.com>
10180
10181 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
10182 (ssse3_pmaddubsw128): Ditto.
10183 (ssse3_pmaddubsw): Ditto.
10184
f1d4c3de
SE
101852011-03-03 Steve Ellcey <sje@cup.hp.com>
10186
10187 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
10188
71f3a3f5
JJ
101892011-03-03 Jakub Jelinek <jakub@redhat.com>
10190
423ed416
JJ
10191 PR c/47963
10192 * gimplify.c (omp_add_variable): Only call omp_notice_variable
10193 on TYPE_SIZE_UNIT if it is a DECL.
10194
71f3a3f5
JJ
10195 PR debug/47283
10196 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
10197 first operand is not is_gimple_mem_ref_addr, try to fold it.
10198 If the operand still isn't is_gimple_mem_ref_addr, clear
10199 MEM_EXPR on op0.
10200
4b1a5c0d
RG
102012011-03-03 Richard Guenther <rguenther@suse.de>
10202
10203 PR middle-end/47283
10204 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
10205 match comment.
10206 (refs_may_alias_p_1): For release branches return true if
10207 we are confused by our input.
10208
b46616fd
AK
102092011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10210
10211 * config/s390/s390.c (s390_function_value): Rename to ...
10212 (s390_function_and_libcall_value): ... this.
10213 (s390_function_value): New function.
10214 (s390_libcall_value): New function.
dfee1406 10215 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
10216 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
10217 target macro definitions.
10218 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
10219
46d8fabb
JM
102202011-03-02 Joseph Myers <joseph@codesourcery.com>
10221
10222 * config/i386/freebsd64.h (CC1_SPEC): Define.
10223 * config/i386/linux64.h (CC1_SPEC): Define.
10224 * config/i386/x86-64.h (CC1_SPEC): Don't define.
10225
6b1ce545
AS
102262011-03-02 Anatoly Sokolov <aesok@post.ru>
10227
10228 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
10229 Remove.
10230 * config/stormy16/stormy16.c: Include reload.h.
10231 (xstormy16_memory_move_cost): New function.
10232 (TARGET_MEMORY_MOVE_COST): Define.
10233
34161e98
RS
102342011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
10235
10236 PR rtl-optimization/47925
10237 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
10238 with side effects. Remove the more-specific check for volatile asms.
10239
f60a97cf
AM
102402011-03-02 Alan Modra <amodra@gmail.com>
10241
10242 PR target/47935
10243 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
10244 toc relative addresses for valid offsets.
10245
f2ca11ca
RG
102462011-03-01 Richard Guenther <rguenther@suse.de>
10247
10248 PR tree-optimization/47890
10249 * tree-vect-loop.c (get_initial_def_for_induction): Set
10250 related stmt properly.
10251
7a00d9ea
RG
102522011-03-01 Richard Guenther <rguenther@suse.de>
10253
10254 PR lto/47924
10255 * lto-streamer.c (lto_record_common_node): Also register
10256 the canonical type.
10257
06c7edcc
RG
102582011-03-01 Richard Guenther <rguenther@suse.de>
10259
10260 PR lto/46911
10261 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
10262 Do not stream DECL_ABSTRACT_ORIGIN.
10263 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
10264 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
10265 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
10266 Do not stream DECL_ABSTRACT_ORIGIN.
10267 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
10268 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
10269
998871e9
AS
102702011-02-28 Anatoly Sokolov <aesok@post.ru>
10271
10272 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
10273 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 10274 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
10275 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
10276 Add 'outgoing' argument.
10277 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
10278 function.
10279 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
10280 TARGET_FUNCTION_VALUE_REGNO_P): Define.
10281
94369251
KT
102822011-02-28 Kai Tietz <kai.tietz@onevision.com>
10283
10284 PR debug/28047
10285 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
10286 (lookup_filename): Likewise.
b2e2ea67 10287 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 10288
80a832cd
JJ
102892011-02-28 Bernd Schmidt <bernds@codesourcery.com>
10290 Jakub Jelinek <jakub@redhat.com>
10291
10292 PR middle-end/47893
10293 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
10294 (assign_stack_local_1): Change last argument type to int.
10295 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
10296 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 10297 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
10298 (assign_stack_local): Adjust caller.
10299 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
10300 of assign_stack_local, pass 0 as last argument.
10301 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
10302 callers.
10303
1b500976
JJ
103042011-02-28 Jakub Jelinek <jakub@redhat.com>
10305
f61c6f34
JJ
10306 PR debug/47283
10307 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
10308 Use target address_mode and pointer_mode hooks instead of hardcoded
10309 Pmode and ptr_mode. Handle some simple cases of extending if
10310 POINTERS_EXTEND_UNSIGNED < 0.
10311 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
10312 Call convert_debug_memory_address.
10313 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
10314 convert_debug_memory_address.
10315
1b500976
JJ
10316 PR middle-end/46790
10317 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
10318 * configure: Regenerated.
10319 * config.in: Regenerated.
10320 * varasm.c (default_function_section): Return NULL
b2e2ea67 10321 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 10322
2f2935b6
MJ
103232011-02-28 Martin Jambor <mjambor@suse.cz>
10324
10325 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
10326 the description to match the printed values.
10327
474086eb
RG
103282011-02-28 Richard Guenther <rguenther@suse.de>
10329
10330 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
10331 of the copied scope tree.
10332
15bf6f3a
RW
103332011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10334
10335 * doc/extend.texi (Function Attributes): Avoid deeply (and
10336 wrongly) nested tables.
10337
f6b439c9
JJ
103382011-02-27 Jakub Jelinek <jakub@redhat.com>
10339
10340 PR middle-end/47903
10341 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
10342 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
10343 r isn't op0 nor op1.
10344
1d8ca2c7
GJL
103452011-02-23 Georg-Johann Lay <avr@gjlay.de>
10346
10347 * config/avr/avr.md: Remove magic comment for emacs.
10348
593fca4b
GJL
103492011-02-23 Georg-Johann Lay <avr@gjlay.de>
10350
10351 PR target/45261
10352 * config/avr/avr.c (avr_option_override): Use error on bad options.
10353 (avr_help): New function.
10354 (TARGET_HELP): Define.
10355
6609216e
GJL
103562011-02-22 Georg-Johann Lay <avr@gjlay.de>
10357
10358 PR target/42240
10359 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
10360 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
10361
03d458af
GP
103622011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
10363
10364 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
10365 (ARM Options): Ditto.
10366 (i386 and x86-64 Options): Ditto.
10367 (RX Options): Ditto.
10368 (SPARC Options): Ditto.
10369
1c379b78
TC
103702011-02-26 Tijl Coosemans <tijl@coosemans.org>
10371
10372 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
10373 FreeBSD 6 and later. Generally use cpu generic.
10374
d5ed058c 103752011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 10376
d5ed058c
GP
10377 * doc/cpp.texi: Update copyright years.
10378
509d65dd 103792011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 10380
509d65dd 10381 PR target/46898
308d39cd
SB
10382 * config/lm32/lm32.md (ashrsi3): Added needed variable.
10383
509d65dd 103842011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 10385
509d65dd 10386 PR target/46898
308d39cd
SB
10387 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
10388 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
10389 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
10390 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 10391 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
10392 (gen_int_relational): Move declarations to start of function.
10393
822ba6d7
EB
103942011-02-25 Eric Botcazou <ebotcazou@adacore.com>
10395
10396 PR tree-optimization/45470
10397 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
10398 can throw internally only.
10399 * tree-vect-stmts.c (vectorizable_call): Likewise.
10400
ef795fc2
AS
104012011-02-24 Anatoly Sokolov <aesok@post.ru>
10402
10403 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
10404 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
10405 * config/stormy16/stormy16-protos.h
10406 (xstormy16_preferred_reload_class): Remove.
10407 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
10408 static. Change 'rclass' argument and return type to reg_class_t.
10409 (TARGET_PREFERRED_RELOAD_CLASS,
10410 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
10411
1c3277ee
RG
104122011-02-24 Richard Guenther <rguenther@suse.de>
10413
10414 * lto-streamer-in.c (input_bb): Do not find referenced vars
10415 in debug statements.
10416
67e18edb
JM
104172011-02-23 Jason Merrill <jason@redhat.com>
10418
10419 * common.opt (fabi-version): Document v5 and v6.
10420
b14fad9d
RG
104212011-02-23 Richard Guenther <rguenther@suse.de>
10422
10423 PR tree-optimization/47849
10424 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
10425
7fcf46f5
JZ
104262011-02-23 Jie Zhang <jie@codesourcery.com>
10427
10428 * opts-common.c (decode_cmdline_option): Print empty string
10429 argument as "" in decoded->orig_option_with_args_text.
10430 * gcc.c (execute): Print empty string argument as ""
10431 in the verbose output.
10432 (do_spec_1): Keep empty string argument.
10433
f85b70fd
NF
104342011-02-23 Nathan Froyd <froydnj@codesourcery.com>
10435
10436 * config.gcc: Declare score-* and crx-* obsolete.
10437
b152a615
JZ
104382011-02-23 Jie Zhang <jie@codesourcery.com>
10439
10440 PR rtl-optimization/47763
10441 * web.c (web_main): Ignore naked clobber when replacing register.
10442
bb6e77bc
AS
104432011-02-22 Anatoly Sokolov <aesok@post.ru>
10444
10445 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
10446 Remove.
10447
68bf6491
SP
104482011-02-22 Sebastian Pop <sebastian.pop@amd.com>
10449
10450 PR doc/47848
10451 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
10452
88ee1fc7
MS
104532011-02-22 Mike Stump <mikestump@comcast.net>
10454
10455 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
10456 assembler.
10457 * configure: Regenerate.
10458
6042d1dd
CLT
104592011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
10460
10461 PR rtl-optimization/46002
10462 * ira-color.c (update_copy_costs): Change class intersection
10463 test to reg_class_contents[] test of 'hard_regno'.
10464
7de97f9e
JM
104652011-02-21 Joseph Myers <joseph@codesourcery.com>
10466
10467 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
10468 than Driver option.
10469 * config/hpux11.opt (mt): Likewise.
10470 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
10471 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
10472 * config/vax/elf.opt (mno-asm-pic): Likewise.
10473 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
10474
d1d46f9f
MS
104752011-02-21 Mike Stump <mikestump@comcast.net>
10476
10477 PR target/47822
10478 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
10479 tree so we can get save the type.
10480 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
10481 for CFString instead of trying to use past the end of the builtins.
10482 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
10483 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
10484 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
10485 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
10486 Rename to darwin_builtin_cfstring.
10487 (darwin_init_cfstring_builtins): Return the built type.
10488
23e0d930
UB
104892011-02-21 Uros Bizjak <ubizjak@gmail.com>
10490
10491 PR target/47840
10492 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
10493 (_mm256_insert_epi64): Use _mm_insert_epi64.
10494
192997cf
AS
104952011-02-21 Anatoly Sokolov <aesok@post.ru>
10496
10497 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
10498 * config/stormy16/stormy16-protos.h
10499 (xstormy16_mode_dependent_address_p): Remove.
10500 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
10501 Make static. Change return type to bool. Change argument type to
10502 const_rtx. Remove dead code.
10503 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
10504
e292d003
RG
105052011-02-21 Richard Guenther <rguenther@suse.de>
10506
10507 PR lto/47820
10508 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
10509 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
10510 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
10511 TUs context.
23e0d930 10512 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
10513 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
10514
77f846e9
RG
105152011-02-20 Richard Guenther <rguenther@suse.de>
10516
10517 PR lto/47822
10518 * tree.c (free_lang_data_in_decl): Clean builtins from
10519 the TU decl BLOCK_VARS.
23e0d930 10520
b2cddfc8
AO
105212011-02-19 Alexandre Oliva <aoliva@redhat.com>
10522
10523 PR debug/47620
10524 PR debug/47630
10525 * haifa-sched.c (fix_tick_ready): Skip tick computation
10526 for debug insns.
10527
becf4c11
RG
105282011-02-19 Richard Guenther <rguenther@suse.de>
10529
10530 PR lto/47647
10531 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
10532 Remove lazy BLOCK_VARS streaming.
10533 (lto_input_ts_block_tree_pointers): Likewise.
10534 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
10535
27f98305
JM
105362011-02-19 Joseph Myers <joseph@codesourcery.com>
10537
10538 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
10539
064bf3f4
JM
105402011-02-19 Joseph Myers <joseph@codesourcery.com>
10541
10542 * config/i386/biarch32.h, config/i386/mach.h,
10543 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
10544
9215ddc3
JJ
105452011-02-19 Jakub Jelinek <jakub@redhat.com>
10546
10547 PR target/47800
10548 * config/i386/i386.md (peephole2 for shift and plus): Use
10549 operands[1] original mode in the first insn.
10550
8b021004
MS
105512011-02-18 Mike Stump <mikestump@comcast.net>
10552
65ded153 10553 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 10554
f84ae14c
JH
105552011-02-18 Jan Hubicka <jh@suse.cz>
10556
10557 PR middle-end/47788
65ded153
EB
10558 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
10559 to zero when the function is not inlinable at all.
f84ae14c 10560
eddabc80
JDA
105612011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10562
10563 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
10564 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
10565 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
10566 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
10567 * config/pa/t-pa64: Likewise.
10568 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
10569
ca3da783
JJ
105702011-02-18 Jakub Jelinek <jakub@redhat.com>
10571
10572 PR driver/47787
10573 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
10574
430aa868
JDA
105752011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10576
10577 PR target/47792
10578 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
10579
4bf7ff7e
AS
105802011-02-18 Anatoly Sokolov <aesok@post.ru>
10581
10582 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
10583 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
10584 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
10585 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
10586 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
10587 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
10588 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
10589 m32r_load_postinc_p, m32r_store_preinc_predec_p,
10590 m32r_legitimate_address_p): New functions.
10591 * config/m32r/constraints.md (constraint "S"): Don't use
10592 STORE_PREINC_PREDEC_P.
10593 (constraint "U"): Don't use LOAD_POSTINC_P.
10594
7efcf910
CLT
105952011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
10596
10597 PR rtl-optimization/46178
10598 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
10599 compute ira_hard_regno_cover_class[].
10600
237d6259
RG
106012011-02-18 Richard Guenther <rguenther@suse.de>
10602
10603 PR lto/47798
10604 * lto-streamer.h (lto_global_var_decls): Declare.
10605 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
10606 statics for global var processing.
10607
12d80acc
RG
106082011-02-18 Richard Guenther <rguenther@suse.de>
10609
10610 PR tree-optimization/47737
10611 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
10612 edge dominance check.
10613
abfea58d
JJ
106142011-02-18 Jakub Jelinek <jakub@redhat.com>
10615
10616 PR debug/47780
10617 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
10618 avoid invalid rtx sharing.
10619
f73c8882
GP
106202011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
10621
10622 * doc/cpp.texi (Obsolete Features): Add background on the
10623 origin of assertions.
10624
d764a8e6
IS
106252011-02-17 Iain Sandoe <iains@gcc.gnu.org>
10626
10627 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 10628 objc_abi == 2.
d764a8e6
IS
10629 * config/darwin.c (output_objc_section_asm_op): Added support for
10630 ABI v1 and v2.
10631 (is_objc_metadata): New.
10632 (darwin_objc2_section): New.
10633 (darwin_objc1_section): New.
10634 (machopic_select_section): Added support for ABI v1 and v2.
10635 (darwin_emit_objc_zeroed): New.
10636 (darwin_output_aligned_bss): Detect objc metadata and treat it
10637 appropriately.
10638 (darwin_asm_output_aligned_decl_common): Same.
10639 (darwin_asm_output_aligned_decl_local): Same.
10640 * config/darwin-sections.def: Updated for ABI v1 and v2.
10641 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
10642 compiling Objective-C code for the NeXT runtime, default to using
10643 ABI version 0 for 32-bit, and version 2 for 64-bit.
10644
0a8134ca
JM
106452011-02-17 Joseph Myers <joseph@codesourcery.com>
10646
10647 * common.opt (optimize_fast): New Variable.
10648 * opts.c (default_options_optimization): Use opts->x_optimize_fast
10649 instead of local variable ofast.
10650
0a256240
NP
106512011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
10652
10653 * doc/invoke.texi (fobjc-abi-version): Documented.
10654 (fobjc-nilcheck): Documented.
10655 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
10656 version.
10657
fa381cb2
JM
106582011-02-17 Joseph Myers <joseph@codesourcery.com>
10659
10660 PR driver/47390
10661 * common.opt (export-dynamic): New Driver option.
10662 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
10663
5437eaa6
JM
106642011-02-17 Joseph Myers <joseph@codesourcery.com>
10665
10666 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
10667
bb7e6d55
AO
106682011-02-17 Alexandre Oliva <aoliva@redhat.com>
10669 Jan Hubicka <jh@suse.cz>
10670
10671 PR debug/47106
10672 PR debug/47402
10673 * cfgexpand.c (account_used_vars_for_block): Remove.
10674 (estimated_stack_frame_size): Use referenced vars.
10675 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
10676 that were referenced in the original function. Test src_fn
10677 rather than cfun. Drop redundant get_var_ann.
10678 (setup_one_parameter): Drop redundant get_var_ann.
10679 (declare_return_variable): Likewise.
10680 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
10681 (copy_arguments_for_versioning): Drop redundant get_var_ann.
10682 * ipa-inline.c (compute_inline_parameters): Do not compute
10683 disregard_inline_limits here.
bb7e6d55
AO
10684 (compute_inlinable_for_current, pass_inlinable): New.
10685 (pass_inline_parameters): Require PROP_referenced_vars.
10686 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 10687 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
10688 (cgraph_analyze_function): Set .disregard_inline_limits.
10689 * tree-sra.c (convert_callers): Compute inliner parameters
10690 only for functions already in SSA form.
10691
f181a8a7
JM
106922011-02-17 Joseph Myers <joseph@codesourcery.com>
10693
10694 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
10695 -mlittle-endian-data.
10696
c6869789
JM
106972011-02-17 Joseph Myers <joseph@codesourcery.com>
10698
10699 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
10700 -mno-fpu, not -fpu and -no-fpu.
10701 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
10702 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
10703
fbf4bfd3
UB
107042011-02-17 Uros Bizjak <ubizjak@gmail.com>
10705
10706 PR target/43653
10707 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
10708 input reload with PLUS RTX.
10709
70be5dc7
JM
107102011-02-16 Joseph Myers <joseph@codesourcery.com>
10711
10712 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
10713 of InverseVar(MDMX).
10714
30b1646e
JM
107152011-02-16 Joseph Myers <joseph@codesourcery.com>
10716
10717 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
10718 --m4-340.
10719
ab7b71e9
JM
107202011-02-16 Joseph Myers <joseph@codesourcery.com>
10721
10722 * config/mn10300/mn10300.opt (mno-crt0): New.
10723
466f3f08
JM
107242011-02-16 Joseph Myers <joseph@codesourcery.com>
10725
10726 * config/m68k/uclinux.opt (static-libc): New Driver option.
10727
8226cd7b
JM
107282011-02-16 Joseph Myers <joseph@codesourcery.com>
10729
10730 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
10731
45cab1d7
JM
107322011-02-16 Joseph Myers <joseph@codesourcery.com>
10733
10734 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
10735 %{muser-extend-enabled}.
10736
65aab64f
RG
107372011-02-16 Richard Guenther <rguenther@suse.de>
10738
10739 PR tree-optimization/47738
10740 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
10741 the TODO from tree_predictive_commoning.
10742
fc2fa4fb
JL
107432011-02-15 Jeff Law <law@redhat.com>
10744
10745 Revert
10746 2011-01-25 Jeff Law <law@redhat.com>
10747
10748 PR rtl-optimization/37273
10749 * ira-costs.c (scan_one_insn): Detect constants living in memory and
10750 handle them like argument loads from stack slots. Do not double
10751 count memory for memory constants and argument loads from stack slots.
10752
4e380b8e
L
107532011-02-15 H.J. Lu <hongjiu.lu@intel.com>
10754
10755 PR middle-end/47725
10756 * combine.c (cant_combine_insn_p): Revert the last change.
10757
e3a69bb4
MM
107582011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
10759
10760 PR target/47755
10761 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
10762 mode for vector constants. Remove code that checks for TImode.
10763
de650422
AO
107642011-02-15 Alexandre Oliva <aoliva@redhat.com>
10765
10766 PR debug/47106
10767 PR debug/47402
10768 * cgraph.h (compute_inline_parameters): Return void.
10769 * ipa-inline.c (compute_inline_parameters): Adjust.
10770
30925d94
AO
107712011-02-15 Alexandre Oliva <aoliva@redhat.com>
10772
10773 PR debug/47106
10774 PR debug/47402
10775 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
10776 rather than decl.
10777 * cfgexpand.c (estimated_stack_frame_size): Likewise.
10778 * ipa-inline.c (compute_inline_parameters): Adjust.
10779
1b9a784a
AO
107802011-02-15 Alexandre Oliva <aoliva@redhat.com>
10781
10782 PR debug/47106
10783 PR debug/47402
10784 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
10785 Adjust all users. Pass FN to...
10786 * tree-flow-inline.h (first_referenced_var): ... this. Add
10787 fn argument.
10788 * ipa-struct-reorg.c: Adjust.
10789 * tree-dfa.c: Adjust.
10790 * tree-into-ssa.c: Adjust.
10791 * tree-sra.c: Adjust.
10792 * tree-ssa-alias.c: Adjust.
10793 * tree-ssa-live.c: Adjust.
10794 * tree-ssa.c: Adjust.
10795 * tree-ssanames.c: Adjust.
10796 * tree-tailcall.c: Adjust.
10797
27c6b086
AO
107982011-02-15 Alexandre Oliva <aoliva@redhat.com>
10799
10800 PR debug/47106
10801 PR debug/47402
10802 * tree-flow.h (referenced_var_lookup): Add fn parameter.
10803 Adjust all callers.
10804 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
10805 * tree-flow-inline.h: Adjust.
10806 * gimple-pretty-print.c: Adjust.
10807 * tree-into-ssa.c: Adjust.
10808 * tree-ssa.c: Adjust.
10809 * cfgexpand.c: Adjust.
10810
679e8183
NF
108112011-02-15 Nathan Froyd <froydnj@codesourcery.com>
10812
fbf4bfd3
UB
10813 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
10814 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
10815 (EXTRA_CONSTRAINT): Delete.
10816 * config/iq2000/constraints.md: New file.
10817 * config/iq2000/iq2000.md: Include it.
679e8183
NF
10818 (define_insn ""): Delete.
10819 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
10820 unsupported constraint letters from patterns.
10821 (call_value, call_value_internal1): Likewise.
10822 (call_value_multiple_internal1): Likewise.
10823
a45d420a
NC
108242011-02-15 Nick Clifton <nickc@redhat.com>
10825
10826 * config/mn10300/mn10300.c: Include tm-constrs.h.
10827 (struct liw_data): New data structure describing an LIW candidate
10828 instruction.
10829 (extract_bundle): Use struct liw_data. Allow small integer
10830 operands for some instructions.
10831 (check_liw_constraints): Use struct liw_data. Remove swapped
10832 parameter. Add comments describing the checks. Fix bug when
10833 assigning the source of liw1 to the source of liw2.
10834 (liw_candidate): Delete. Code moved into extract_bundle.
10835 (mn10300_bundle_liw): Use struct liw_data. Check constraints
10836 before swapping.
10837 * config/mn10300/predicates.md (liw_operand): New predicate.
10838 Allows registers and small integer constants.
10839 * config/mn10300/constraints.md (O): New constraint. Accetps
10840 integers in the range -8 to +7 inclusive.
10841 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
10842 for moving a small integer into a register. Give this alternative
10843 LIW attributes.
10844 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
10845 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
10846 using the J,K,L and M constraints,
10847 (liw): Remove SI mode on second operands to allow for HI and QI
10848 mode values.
10849 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
10850 instruction.
10851
8a73faf1
L
108522011-02-15 H.J. Lu <hongjiu.lu@intel.com>
10853
10854 PR middle-end/47725
10855 * combine.c (cant_combine_insn_p): Check zero/sign extended
10856 hard registers.
10857
48feba28
RG
108582011-02-15 Richard Guenther <rguenther@suse.de>
10859
10860 PR tree-optimization/47743
10861 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
10862 for a non-type-compatible VN lookup bail out.
10863
ad1c1eeb
NF
108642011-02-15 Nathan Froyd <froydnj@codesourcery.com>
10865
10866 * config/fr30/constraints.md: New file.
10867 * config/fr30/fr30.md: Include it.
10868 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
10869 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
10870 (EXTRA_CONSTRAINT): Delete.
10871
49ac143d
NF
108722011-02-15 Nathan Froyd <froydnj@codesourcery.com>
10873
10874 * config/frv/constraints.md: New file.
10875 * config/frv/predicates.md: Include it.
10876 * config/frv/frv.c (reg_class_from_letter): Delete.
10877 (frv_option_override): Don't initialize it.
10878 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
10879 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
10880 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
10881 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
10882 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
10883 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
10884 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
10885 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
10886 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
10887 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
10888 (REG_CLASS_FROM_CONSTRAINT): Delete.
10889
c95f9494
JJ
108902011-02-15 Jakub Jelinek <jakub@redhat.com>
10891
10892 PR middle-end/47581
10893 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
10894 if frame size is 0 in a leaf function.
10895
13aed611
RO
108962011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10897
10898 PR pch/14940
10899 * config/alpha/host-osf.c: New file.
10900 * config/alpha/x-osf: New file.
10901 * config.host (alpha*-dec-osf*): Use it.
10902
b09c3081
AS
109032011-02-14 Anatoly Sokolov <aesok@post.ru>
10904
10905 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
10906 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
10907 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
10908 (rx_mode_dependent_address_p): ...this. Make static. Change argument
10909 type to const_rtx.
10910 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
10911
d634083b
NF
109122011-02-14 Nathan Froyd <froydnj@codesourcery.com>
10913
10914 * config/stormy16/constraints.md: New file.
10915 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
10916 Use satisfies_constraint_Q and satisfies_constraint_R.
10917 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
10918 Delete.
10919 (xstormy16_legitiamte_address_p): Declare.
10920 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
10921 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
10922 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 10923 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
10924 Un-staticize.
10925 (xstormy16_extra_constraint_p): Delete.
10926
c7dd803e
EB
109272011-02-14 Eric Botcazou <ebotcazou@adacore.com>
10928
10929 PR tree-optimization/46494
10930 * loop-unroll.c (split_edge_and_insert): Adjust comment.
10931 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
10932 (pass_rtl_loop_done): Add TODO_verify_flow.
10933 * fwprop.c (pass_rtl_fwprop): Likewise.
10934 * modulo-sched.c (pass_sms): Likewise.
10935 * tree-ssa-dom.c (pass_dominator): Likewise.
10936 * tree-ssa-loop-ch.c (pass_ch): Likewise.
10937 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
10938 (pass_tree_loop_done): Likewise.
10939 * tree-ssa-pre.c (execute_pre): Likewise.
10940 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
10941 * tree-ssa-sink.c (pass_sink_code): Likewise.
10942 * tree-vrp.c (pass_vrp): Likewise.
10943
c6150df6
NF
109442011-02-14 Nathan Froyd <froydnj@codesourcery.com>
10945
c7dd803e
EB
10946 * config/v850/constraints.md: New file.
10947 * config/v850/v850.md: Include it.
10948 * config/v850/predicates.md (reg_or_0_operand): Use
10949 satisfies_constraint_G.
10950 (special_symbolref_operand): Use satisfies_constraint_K.
10951 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
10952 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
10953 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
10954 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
10955 (EXTRA_CONSTRAINT): Delete.
10956 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
10957 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
10958 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 10959
30dd1ea3
AS
109602011-02-14 Anatoly Sokolov <aesok@post.ru>
10961
10962 PR target/47696
10963 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
10964 description.
10965
944f4bb3
NF
109662011-02-14 Nathan Froyd <froydnj@codesourcery.com>
10967
10968 * config/mcore/constraints.md: New file.
10969 * config/mcore/mcore.md: Include it.
10970 * config/mcore/mcore.c (reg_class_from_letter): Delete.
10971 * config/mcore/mcore.h (reg_class_from_letter): Delete.
10972 (REG_CLASS_FROM_LETTER): Delete.
10973 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
10974 insn_const_int_ok_for_constraint.
10975 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
10976 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
10977 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
10978 (EXTRA_CONSTRAINT): Delete.
10979
ad56a54c
RO
109802011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10981
10982 PR ada/41929
10983 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
10984 (IS_SIGHANDLER): Define.
10985 (sparc64_is_sighandler): New function, split off from
10986 sparc64_fallback_frame_state.
10987 (sparc_is_sighandler): New function, split off from
10988 sparc_fallback_frame_state.
10989 (sparc64_fallback_frame_state): Merge with ...
10990 (sparc_fallback_frame_state): ... this into ...
10991 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
10992 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
10993 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
10994 stack instead of hardcoded offsets.
ad56a54c 10995
fbf4bfd3 109962011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
10997
10998 PR target/45808
10999 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
11000
029c8f3e
RW
110012011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11002
11003 * configure: Regenerate.
11004
a016dc83
JM
110052011-02-12 Joseph Myers <joseph@codesourcery.com>
11006
11007 PR driver/45731
11008 * gcc.c (asm_options): Correct spec matching --target-help.
11009
8957a0ec
MJ
110102011-02-12 Martin Jambor <mjambor@suse.cz>
11011
11012 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
11013 to gimple call error.
11014
6ef828bc
MS
110152011-02-12 Mike Stump <mikestump@comcast.net>
11016
11017 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
11018 comments in backslash regions.
11019
a4015be5
MS
110202011-02-12 Mike Stump <mikestump@comcast.net>
11021 Jakub Jelinek <jakub@redhat.com>
11022 Iain Sandoe <iains@gcc.gnu.org>
11023
11024 PR target/47324
11025 * dwarf2out.c (output_cfa_loc): When required, apply the
11026 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
11027 (output_loc_sequence): Likewise.
11028 (output_loc_operands_raw): Likewise.
11029 (output_loc_sequence_raw): Likewise.
11030 (output_cfa_loc): Likewise.
11031 (output_loc_list): Suppress register number adjustment when
11032 calling output_loc_sequence()
11033 (output_die): Likewise.
11034
5378dda2
AS
110352011-02-12 Anatoly Sokolov <aesok@post.ru>
11036
11037 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
11038 Remove macros.
11039 * config/xtensa/xtensa.c (xtensa_register_move_cost,
11040 xtensa_memory_move_cost): New functions.
11041 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
11042
f3d533d3
AO
110432011-02-12 Alexandre Oliva <aoliva@redhat.com>
11044
11045 PR lto/47225
11046 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
11047 in the current directory.
11048 * configure: Rebuilt.
11049
9d53403c
IS
110502011-02-12 Iain Sandoe <iains@gcc.gnu.org>
11051
11052 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 11053 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
11054 correct indents of the preceding block.
11055
a350a6c8
IS
110562011-02-12 Iain Sandoe <iains@gcc.gnu.org>
11057
11058 * gcc.c (driver_handle_option): Concatenate the argument to -F with
11059 the switch.
11060
bab79a40
JM
110612011-02-11 Joseph Myers <joseph@codesourcery.com>
11062
11063 * common.opt (nostartfiles): New Driver option.
11064
1bbc6693
XDL
110652011-02-11 Xinliang David Li <davidxl@google.com>
11066
11067 PR tree-optimization/47707
11068 * tree-chrec.c (convert_affine_scev): Keep type precision.
11069
1da7d8c0
EB
110702011-02-11 Eric Botcazou <ebotcazou@adacore.com>
11071
11072 PR tree-optimization/47420
11073 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
11074
110752011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
11076
11077 PR rtl-optimization/47614
11078 * rtl.h (check_for_inc_dec): Declare.
11079 * dse.c (check_for_inc_dec): Externalize...
11080 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
11081 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
11082
4df47bca
JM
110832011-02-11 Joseph Myers <joseph@codesourcery.com>
11084
11085 PR driver/47678
11086 * gcc.c (main): Do not compile inputs if there were errors in
11087 option handling.
11088 * opts-common.c (read_cmdline_option): Check for wrong language
11089 after other error checks.
11090
61502ca8
NF
110912011-02-11 Nathan Froyd <froydnj@codesourcery.com>
11092
11093 * cgraph.c: Fix comment typos.
11094 * cgraph.h: Likewise.
11095 * cgraphunit.c: Likewise.
11096 * ipa-cp.c: Likewise.
11097 * ipa-inline.c: Likewise.
11098 * ipa-prop.c: Likewise.
11099 * ipa-pure-const.c: Likewise.
11100 * ipa-ref.c: Likewise.
11101 * ipa-reference.c: Likewise.
11102
b63f974e
JJ
111032011-02-11 Jakub Jelinek <jakub@redhat.com>
11104
d50c5e0c
JJ
11105 PR debug/47684
11106 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 11107
6dd2a13c
RO
111082011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11109
11110 PR testsuite/47400
11111 * doc/sourcebuild.texi (Require Support): Document
11112 dg-require-ascii-locale.
11113
4a087ccf
MX
111142011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
11115
11116 * doc/lto.texi (Write summary): Fix missing parentheses.
11117
a4403164
DD
111182011-02-10 DJ Delorie <dj@redhat.com>
11119
11120 * config/m32c/m32c.c (m32c_option_override): Disable
11121 -fcombine-stack-adjustments until flag value tracking and compare
11122 optimization can be rewritten.
11123
4fac45bd
PB
111242011-02-10 Peter Bergner <bergner@vnet.ibm.com>
11125
11126 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
11127 PROCESSOR_POWER7.
11128 (PROCESSOR_DEFAULT64): Likewise.
11129
72602cd1
RH
111302011-02-10 Richard Henderson <rth@redhat.com>
11131
11132 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
11133 change from 2011-02-03.
11134 * config/rx/rx.c (flags_from_code): Likewise.
11135 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
11136 is valid, n/pz otherwise.
11137 (rx_select_cc_mode): Return CCmode if Y is not zero.
11138
ea57f573
RG
111392011-02-10 Richard Guenther <rguenther@suse.de>
11140
ea4c3e65 11141 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 11142
92b1d23b
RG
111432011-02-10 Richard Guenther <rguenther@suse.de>
11144
11145 PR tree-optimization/47677
11146 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
11147
525a2d06
JJ
111482011-02-10 Jakub Jelinek <jakub@redhat.com>
11149
11150 PR target/47665
11151 * combine.c (make_compound_operation): Only change shifts into
11152 multiplication for SCALAR_INT_MODE_P.
11153
06c969bd
JZ
111542011-02-10 Jie Zhang <jie@codesourcery.com>
11155
11156 PR testsuite/47622
11157 Revert
11158 2011-02-05 Jie Zhang <jie@codesourcery.com>
11159 PR debug/42631
11160 * web.c (entry_register): Don't clobber the number of the
11161 first uninitialized reference in used[].
11162
282ec48e
RG
111632011-02-09 Richard Guenther <rguenther@suse.de>
11164
11165 PR tree-optimization/47664
11166 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
11167 all edges again.
11168
df98c3e8
DE
111692011-02-09 David Edelsohn <dje.gcc@gmail.com>
11170
d0f21cd6
DE
11171 PR target/46481
11172 PR target/47032
df98c3e8
DE
11173 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
11174 PROCESSOR_POWER7.
11175 (PROCESSOR_DEFAULT64): Same.
11176 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
11177
67b6839f
RO
111782011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11179
11180 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
11181
4fd73214
MJ
111822011-02-09 Martin Jambor <mjambor@suse.cz>
11183
11184 PR middle-end/45505
11185 * tree-sra.c (struct access): New flags grp_scalar_read and
11186 grp_scalar_write. Changed description of assignment read and write
11187 flags.
11188 (dump_access): Dump new flags, reorder all of them.
11189 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
11190 to detect multiple scalar reads.
11191 (analyze_access_subtree): Use the new scalar read write flags instead
11192 of the old flags. Adjusted comments.
11193
91140cd3
DD
111942011-02-08 DJ Delorie <dj@redhat.com>
11195
11196 PR target/47548
11197 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
11198 patterns.
11199
4254bbfe
JM
112002011-02-08 Joseph Myers <joseph@codesourcery.com>
11201
11202 * config/m68k/uclinux.opt: New.
11203 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
11204
f1fda84e
JM
112052011-02-08 Joseph Myers <joseph@codesourcery.com>
11206
11207 * config/cris/elf.opt (sim): New Driver option.
11208
4933ae74
JM
112092011-02-08 Joseph Myers <joseph@codesourcery.com>
11210
11211 * config/xtensa/elf.opt: New.
11212 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
11213
4ad70280
JM
112142011-02-08 Joseph Myers <joseph@codesourcery.com>
11215
11216 * config/vax/elf.opt: New.
11217 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
11218
20893707
JM
112192011-02-08 Joseph Myers <joseph@codesourcery.com>
11220
11221 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
11222
b8e7038e
JM
112232011-02-08 Joseph Myers <joseph@codesourcery.com>
11224
11225 * config/gnu-user.opt: New.
11226 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
11227 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
11228 *-*-uclinux*): Use gnu-user.opt.
11229
e1c5225a
TS
112302011-02-08 Thomas Schwinge <thomas@schwinge.name>
11231
11232 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
11233 * config/i386/gnu.h (CPP_SPEC): Likewise.
11234
5e46b0c6
ILT
112352011-02-08 Ian Lance Taylor <iant@google.com>
11236
11237 * common.opt (fcx-limited-range): Add SetByCombined flag.
11238 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
11239 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
11240 (fassociative-math, freciprocal-math): Likewise.
11241 (funsafe-math-optimizations): Likewise.
11242 * opth-gen.awk: Handle SetByCombined.
11243 * optc-gen.awk: Likewise.
ea4c3e65 11244 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
11245 (set_unsafe_math_optimizations_flags): Likewise.
11246 * doc/options.texi (Option properties): Document SetByCombined.
11247
32243d46
JM
112482011-02-08 Joseph Myers <joseph@codesourcery.com>
11249
11250 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
11251 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
11252 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
11253 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
11254 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
11255
479c1fb3
SP
112562011-02-08 Sebastian Pop <sebastian.pop@amd.com>
11257
11258 PR tree-optimization/46834
11259 PR tree-optimization/46994
11260 PR tree-optimization/46995
11261 * graphite-sese-to-poly.c (used_outside_reduction): New.
11262 (detect_commutative_reduction): Call used_outside_reduction.
11263 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
11264 translate_scalar_reduction_to_array only when at least one
11265 loop-phi/close-phi tuple has been detected.
11266
3865a06f
RG
112672011-02-08 Richard Guenther <rguenther@suse.de>
11268
11269 PR middle-end/47639
11270 * tree-vect-generic.c (expand_vector_operations_1): Update
11271 stmts here ...
11272 (expand_vector_operations): ... not here. Cleanup EH info
11273 and the CFG if required.
11274
62902f3f
RG
112752011-02-08 Richard Guenther <rguenther@suse.de>
11276
11277 PR tree-optimization/47641
11278 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
11279 require type compatibility.
11280
0efb9d64
AK
112812011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11282
11283 * gimple-low.c (lower_function_body): Don't remove the location of
11284 the return statement here.
11285 (lower_gimple_return): Do it here instead but only if the return
11286 statement is actually used twice.
11287
034b8ae4
RG
112882011-02-08 Richard Guenther <rguenther@suse.de>
11289
11290 PR tree-optimization/47632
11291 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
11292 unused up_to_stmt parameter, return whether cfg-cleanup is
11293 necessary, remove EH info properly.
11294 (forward_propagate_into_gimple_cond): Adjust caller.
11295 (forward_propagate_into_cond): Likewise.
11296 (forward_propagate_comparison): Likewise.
11297 (tree_ssa_forward_propagate_single_use_vars): Make
11298 forward_propagate_comparison case similar to the two others.
11299
298362c8
NC
113002011-02-08 Nick Clifton <nickc@redhat.com>
11301
11302 * config/mn10300/mn10300.opt (mliw): New command line option.
11303 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
11304 (liw_bundling): New automaton.
11305 (liw): New attribute.
11306 (liw_op): New attribute.
11307 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
11308 (movsi_internal): Add LIW attributes.
11309 (andsi3): Likewise.
11310 (iorsi3): Likewise.
11311 (xorsi3): Likewise.
11312 (addsi3): Separate register and immediate alternatives.
11313 Add LIW attributes.
11314 (subsi3): Likewise.
11315 (cmpsi): Likewise.
11316 (aslsi3): Likewise.
11317 (lshrsi3): Likewise.
11318 (ashrsi3): Likewise.
11319 (liw): New pattern.
11320 * config/mn10300/mn10300.c (liw_op_names): New
11321 (mn10300_print_operand): Handle 'W' operand descriptor.
11322 (extract_bundle): New function.
11323 (check_liw_constraints): New function.
11324 (liw_candidate): New function.
11325 (mn10300_bundle_liw): New function.
11326 (mn10300_reorg): New function.
11327 (TARGET_MACHINE_DEPENDENT_REORG): Define.
11328 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
11329 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
11330 __LIW__ or __NO_LIW__.
11331 * doc/invoke.texi: Describe the -mliw command line option.
11332
90488014
JDA
113332011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11334
11335 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
11336 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
11337 pthread_mutex_unlock): Remove.
11338 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
11339 * config/pa/t-pa64: Likewise.
11340 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
11341 shared libc if not linking against libpthread.
11342 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
11343
689ff841
IS
113442011-02-07 Iain Sandoe <iains@gcc.gnu.org>
11345
11346 PR target/47558
11347 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
11348 on 10.6 and later to ensure that we always use the unwinder from
11349 the system. Only add -no_compact_unwind when tarteting darwin
11350 10.6 or later.
11351
821014aa
SE
113522011-02-07 Steve Ellcey <sje@cup.hp.com>
11353
11354 PR target/46997
11355 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
11356 (vec_interleave_lowv2sf): Ditto.
11357 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
11358 (vec_extract_oddv2sf): Ditto.
11359
41cf94fb
MS
113602011-02-07 Mike Stump <mikestump@comcast.net>
11361
62dea57d 11362 PR target/42333
41cf94fb
MS
11363 Add __ieee_divdc3 entry point.
11364 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
11365 entry point.
11366 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
11367 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
11368 * config/darwin.c (darwin_rename_builtins): Add.
11369 * config/darwin-protos.h (darwin_rename_builtins): Add.
11370
ee09a3dd
MM
113712011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
11372
11373 PR target/47636
11374 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
11375 for the condition.
11376
83296cd0
MS
113772011-02-07 Mike Stump <mikestump@comcast.net>
11378
ea4c3e65 11379 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 11380
0f4e946f
DC
113812011-02-07 Denis Chertykov <chertykov@gmail.com>
11382
11383 PR target/47534
11384 * config/avr/libgcc.S (exit): Move .endfunc
11385
1ec87690
RG
113862011-02-07 Richard Guenther <rguenther@suse.de>
11387
11388 PR tree-optimization/47615
11389 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
11390 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
11391 (run_scc_vn): Initialize it.
11392 (visit_reference_op_load): Use it.
11393 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
11394
b46ae6da
UW
113952011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11396
11397 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
11398 DImode trapping arithmetic libfuncs.
11399
c0aae19c
RG
114002011-02-07 Richard Guenther <rguenther@suse.de>
11401
11402 PR tree-optimization/47621
11403 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
11404 two duplicates ...
11405 (execute_update_addresses_taken): ... here. Make it more
11406 conservative in what we accept.
11407
295d926b
JM
114082011-02-06 Joseph Myers <joseph@codesourcery.com>
11409
11410 * config/sparc/freebsd.h (ASM_SPEC): Define.
11411 * config/sparc/vxworks.h (ASM_SPEC): Define.
11412
bdeb2471
JM
114132011-02-06 Joseph Myers <joseph@codesourcery.com>
11414
11415 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
11416
d5d3781a
SB
114172011-02-06 Steven Bosscher <steven@gcc.gnu.org>
11418
11419 * doc/invoke.texi: Remove reference to compiler internals from
11420 user documentation.
11421
11422 * reg-notes.def: Remove REG_VALUE_PROFILE.
11423 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
11424
c42c09fc
JJ
114252011-02-05 Jakub Jelinek <jakub@redhat.com>
11426
11427 PR middle-end/47610
11428 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 11429 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 11430
beea2755
JZ
114312011-02-05 Jie Zhang <jie@codesourcery.com>
11432
11433 PR debug/42631
11434 * web.c (entry_register): Don't clobber the number of the
11435 first uninitialized reference in used[].
11436
a130584a
SP
114372011-02-04 Sebastian Pop <sebastian.pop@amd.com>
11438
11439 PR tree-optimization/46194
11440 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
11441 (build_classic_dist_vector_1): Do not represent classic distance
11442 vectors when the access functions are variating in different loops.
11443
962101ac
JM
114442011-02-04 Joseph Myers <joseph@codesourcery.com>
11445
11446 * config/mips/iris6.opt: New.
11447 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
11448
55eaaa5b
RH
114492011-02-04 Richard Henderson <rth@redhat.com>
11450 Steve Ellcey <sje@cup.hp.com>
11451
11452 PR target/46997
11453 * config/ia64/predicates.md (mux1_brcst_element): New.
11454 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
11455 * config/ia64/ia64.c (ia64_unpack_assemble): New.
11456 (ia64_unpack_sign): New.
11457 (ia64_expand_unpack): Rewrite using new routines.
11458 (ia64_expand_widen_sum): Ditto.
11459 (ia64_expand_dot_prod_v8qi): Ditto.
11460 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
11461 routines, add endian check.
11462 (pmpy2_even): Rename from pmpy2_r, add endian check.
11463 (pmpy2_odd): Rename from pmpy2_l, add endian check.
11464 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
11465 (vec_widen_smult_hi_v4hi): Ditto.
11466 (vec_widen_umult_lo_v4hi): Ditto.
11467 (vec_widen_umult_hi_v4hi): Ditto.
11468 (mulv2si3): Change endian checks.
11469 (sdot_prodv4hi): Rewrite with new calls.
11470 (udot_prodv4hi): New.
11471 (vec_pack_ssat_v4hi): Add endian check.
11472 (vec_pack_usat_v4hi): Ditto.
11473 (vec_pack_ssat_v2si): Ditto.
11474 (max1_even): Rename from max1_r, add endian check.
11475 (max1_odd): Rename from max1_l, add endian check.
11476 (*mux1_rev): Format change.
11477 (*mux1_mix): Ditto.
11478 (*mux1_shuf): Ditto.
11479 (*mux1_alt): Ditto.
11480 (*mux1_brcst_v8qi): Use new predicate.
11481 (vec_extract_evenv8qi): Remove endian check.
11482 (vec_extract_oddv8qi): Ditto.
11483 (vec_interleave_lowv4hi): Format change.
11484 (vec_interleave_highv4hi): Ditto.
11485 (mix2_even): Rename from mix2_r, add endian check.
11486 (mix2_odd): Rename from mux2_l, add endian check.
11487 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
11488 (vec_extract_evenodd_helper): Format change.
11489 (vec_extract_evenv4hi): Remove endian check.
11490 (vec_extract_oddv4hi): Remove endian check.
11491 (vec_interleave_lowv2si): Format change.
11492 (vec_interleave_highv2si): Format change.
11493 (vec_initv2si): Remove endian check.
11494 (vecinit_v2si): Add endian check.
11495 (reduc_splus_v2sf): Add endian check.
11496 (reduc_smax_v2sf): Ditto.
11497 (reduc_smin_v2sf): Ditto.
11498 (vec_initv2sf): Remove endian check.
11499 (fpack): Add endian check.
11500 (fswap): Add endian check.
11501 (vec_interleave_highv2sf): Add endian check.
11502 (vec_interleave_lowv2sf): Add endian check.
11503 (fmix_lr): Add endian check.
11504 (vec_setv2sf): Format change.
11505 (*vec_extractv2sf_0_be): Use shift to extract operand.
11506 (*vec_extractv2sf_1_be): New.
11507 (vec_pack_trunc_v4hi): Add endian check.
11508 (vec_pack_trunc_v2si): Format change.
11509
dcde5957
JJ
115102011-02-04 Jakub Jelinek <jakub@redhat.com>
11511
11512 PR inline-asm/23200
11513 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 11514 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
11515 (stmt_is_replaceable_p): New function.
11516 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
11517 callers.
11518 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
11519 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
11520 SSA_NAME_DEF_STMT.
11521 * tree-flow.h (stmt_is_replaceable_p): New prototype.
11522
a64a8e5a
JM
115232011-02-04 Joseph Myers <joseph@codesourcery.com>
11524
11525 * config/rs6000/xilinx.opt: New.
11526 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
11527
4da2ed2f
JM
115282011-02-04 Joseph Myers <joseph@codesourcery.com>
11529
11530 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
11531
a6e508f9
AS
115322011-02-03 Anatoly Sokolov <aesok@post.ru>
11533
11534 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
11535 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
11536 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
11537 secondary_reload_info, xtensa_secondary_reload): Remove.
11538 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
11539 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
11540 (xtensa_preferred_reload_class): Make static. Change return and
11541 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
11542 Use CONST_DOUBLE_P predicate.
11543 (xtensa_preferred_output_reload_class): New function.
11544 (xtensa_secondary_reload): Make static.
11545
82dc0de3
JM
115462011-02-03 Joseph Myers <joseph@codesourcery.com>
11547
11548 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
11549 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
11550 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
11551
7fece979
JJ
115522011-02-03 Jakub Jelinek <jakub@redhat.com>
11553
11554 PR middle-end/31490
11555 * output.h (SECTION_RELRO): Define.
11556 (SECTION_MACH_DEP): Adjust.
11557 (get_variable_section): New prototype.
11558 * varpool.c (varpool_finalize_named_section_flags): New function.
11559 (varpool_assemble_pending_decls): Call it.
11560 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
11561 * cgraphunit.c (cgraph_output_in_order): Call
11562 varpool_finalize_named_section_flags.
11563 * varasm.c (get_section): Allow section flags conflicts between
11564 relro and read-only sections if the section hasn't been declared yet.
11565 Set SECTION_OVERRIDE after diagnosing section type conflict.
11566 (get_variable_section): No longer static.
11567 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
11568 readonly sections that need relocations.
11569 (decl_readonly_section_1): New function.
11570 (decl_readonly_section): Use it.
11571
11572 Revert:
509d65dd 11573 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
11574 Steve Ellcey <sje@cup.hp.com>
11575
11576 PR middle-end/31490
11577 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
11578 if section attribute used.
11579
d18d5478
JJ
115802011-02-03 Jakub Jelinek <jakub@redhat.com>
11581
11582 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
11583 * config/darwin.c (SECTION_NO_ANCHOR): Define.
11584 (darwin_init_sections): Remove assertion.
11585
6479ed4b
NC
115862011-02-03 Nick Clifton <nickc@redhat.com>
11587
11588 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
11589 lt and ge.
38be4072 11590 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
11591 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
11592 instead of "n" and "pz".
11593 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
11594 CC_FLAG_S.
11595
89843f5d
JJ
115962011-02-03 Jakub Jelinek <jakub@redhat.com>
11597
65450d64
JJ
11598 PR target/47312
11599 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
11600 fma, expand FMA_EXPR as fma{,f,l} call.
11601
7d58701c
JJ
11602 PR lto/47274
11603 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
11604 copy them into a unsigned char variable and pass address of it to
11605 lto_output_data_stream.
11606
89843f5d
JJ
11607 PR target/47564
11608 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
11609 around backend_init_target and lang_dependent_init_target calls.
11610 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
11611 (verify_cgraph_node): Don't call set_cfun here. Use
11612 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
11613 Set error_found for incorrectly represented calls to thunks.
11614
4deef538
AO
116152011-02-03 Alexandre Oliva <aoliva@redhat.com>
11616
11617 PR debug/43092
11618 PR rtl-optimization/43494
11619 * rtl.h (for_each_inc_dec_fn): New type.
11620 (for_each_inc_dec): Declare.
11621 * rtlanal.c (struct for_each_inc_dec_ops): New type.
11622 (for_each_inc_dec_find_inc_dec): New fn.
11623 (for_each_inc_dec_find_mem): New fn.
11624 (for_each_inc_dec): New fn.
11625 * dse.c (struct insn_size): Remove.
11626 (replace_inc_dec, replace_inc_dec_mem): Remove.
11627 (emit_inc_dec_insn_before): New fn.
11628 (check_for_inc_dec): Use it, along with for_each_inc_dec.
11629 (canon_address): Pass mem modes to cselib_lookup.
11630 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
11631 (cselib_lookup_from_insn): Likewise.
11632 (cselib_subst_to_values): Likewise.
11633 * cselib.c (find_slot_memmode): New var.
11634 (cselib_find_slot): New fn. Use it instead of
11635 htab_find_slot_with_hash everywhere.
11636 (entry_and_rtx_equal_p): Use find_slot_memmode.
11637 (autoinc_split): New fn.
11638 (rtx_equal_for_cselib_p): Rename and implement in terms of...
11639 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
11640 Deal with autoinc. Special-case recursion into MEMs.
11641 (cselib_hash_rtx): Likewise.
11642 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
11643 address and MEM modes.
11644 (cselib_subst_to_values): Add memmode, pass it on.
11645 Deal with autoinc.
11646 (cselib_lookup): Add memmode argument, pass it on.
11647 (cselib_lookup_from_insn): Add memmode.
11648 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
11649 (struct cselib_record_autoinc_data): New.
11650 (cselib_record_autoinc_cb): New fn.
11651 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
11652 mode to cselib_lookup. Reset autoinced REGs here instead of...
11653 (cselib_process_insn): ... here.
11654 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
11655 to cselib_lookup.
11656 (add_uses): Likewise, also to cselib_subst_to_values.
11657 (add_stores): Likewise.
11658 * sched-deps.c (add_insn_mem_dependence): Pass mode to
11659 cselib_subst_to_values.
11660 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
11661 * gcse.c (do_local_cprop): Adjusted.
11662 * postreload.c (reload_cse_simplify_set): Adjusted.
11663 (reload_cse_simplify_operands): Adjusted.
11664 * sel-sched-dump (debug_mem_addr_value): Pass mode.
11665
1551d44a
AO
116662011-02-03 Alexandre Oliva <aoliva@redhat.com>
11667
11668 PR tree-optimization/45122
11669 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
11670 unsafe assumptions when there's more than one loop exit.
11671
c9485473
MM
116722011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
11673
11674 PR target/47272
11675 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
11676 Document using vector double with the load/store builtins, and
11677 that the load/store builtins always use Altivec instructions.
11678
11679 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
11680 to use altivec memory instructions, even on VSX.
11681 (vector_altivec_store_<mode>): Ditto.
11682
11683 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
11684 function.
11685
11686 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
11687 V2DF, V2DI support to load/store overloaded builtins.
11688
11689 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
11690 altivec load/store builtins for V2DF/V2DI types.
11691
11692 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
11693 set avoid indexed addresses on power6 if -maltivec.
11694 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
11695 vector_altivec_load/vector_altivec_store builtins.
11696 (altivec_expand_st_builtin): Ditto.
11697 (altivec_expand_builtin): Add VSX memory builtins.
11698 (rs6000_init_builtins): Add V2DI types to internal types.
11699 (altivec_init_builtins): Add support for V2DF/V2DI altivec
11700 load/store builtins.
11701 (rs6000_address_for_altivec): Insure memory address is appropriate
11702 for Altivec.
11703
11704 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
11705 vec_vsx_ld and vec_vsx_st.
11706 (vsx_store_<mode>): Ditto.
11707
11708 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
11709 variables to hold long long types for VSX vector memory builtins.
11710 (RS6000_BTI_unsigned_long_long): Ditto.
11711 (long_long_integer_type_internal_node): Ditti.
11712 (long_long_unsigned_type_internal_node): Ditti.
11713
11714 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
11715 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
11716 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
11717
11718 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
11719 short cuts.
11720 (vec_vsx_st): Ditto.
11721
b24d1acf
JM
117222011-02-02 Joseph Myers <joseph@codesourcery.com>
11723
11724 * config/pa/pa-hpux10.opt: New.
11725 * config/hpux11.opt (pthread): New Driver option.
11726 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
11727 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
11728
aa18dd0f
JM
117292011-02-02 Joseph Myers <joseph@codesourcery.com>
11730
11731 * config/ia64/vms.opt: New.
11732 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
11733
28fc3eee
MM
117342011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
11735
11736 PR target/47580
11737 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
11738 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
11739 generator functions.
11740 (vsx_floatuns<VSi><mode>2): Ditto.
11741 (vsx_fix_trunc<mode><VSi>2): Ditto.
11742 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
11743
b5838b1f
JM
117442011-02-02 Joseph Myers <joseph@codesourcery.com>
11745
11746 * config/i386/djgpp.opt (posix): New Driver option.
11747
0db8fa89
GP
117482011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
11749
11750 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
11751 Move to the unsupported targets list.
11752
9cd4f22a
PB
117532011-02-02 Peter Bergner <bergner@vnet.ibm.com>
11754
11755 PR rtl-optimization/47525
11756 * df-scan.c: Update copyright years.
11757 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
11758 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
11759
9ed8059c
RO
117602011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11761
11762 * config/i386/sysv4.h (TARGET_VERSION): Remove.
11763 (SUBTARGET_RETURN_IN_MEMORY): Remove.
11764 (ASM_OUTPUT_ASCII): Remove.
11765 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
11766
2a737389
JL
117672011-02-02 Jeff Law <law@redhat.com>
11768
11769 PR middle-end/47543
11770 * reload.c (find_reloads_address): Handle reg+d address where both
11771 components are invalid by reloading the entire address.
11772
9dac82c4
SP
117732011-02-02 Sebastian Pop <sebastian.pop@amd.com>
11774 Richard Guenther <rguenther@suse.de>
11775
11776 PR tree-optimization/40979
11777 PR bootstrap/47044
11778 * passes.c (init_optimization_passes): After LIM call copy_prop
11779 and DCE to clean up.
11780 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
11781
14dd9aab
SP
117822011-02-02 Sebastian Pop <sebastian.pop@amd.com>
11783
11784 PR tree-optimization/47576
11785 PR tree-optimization/47555
11786 * doc/invoke.texi (scev-max-expr-complexity): Documented.
11787 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
11788 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
11789 * tree-scalar-evolution.c (follow_ssa_edge): Use
11790 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
11791
5cbf5c20
RG
117922011-02-02 Richard Guenther <rguenther@suse.de>
11793
11794 PR tree-optimization/47566
11795 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
11796
83d70792
AO
117972011-02-02 Alexandre Oliva <aoliva@redhat.com>
11798
e829c321
AO
11799 PR debug/47106
11800 PR debug/47402
11801 * tree-inline.c (declare_return_variable): Remove unused caller
11802 variable.
11803
83d70792
AO
11804 PR debug/47106
11805 PR debug/47402
11806 * tree-flow-inline.h (clear_is_used, is_used_p): New.
11807 * cfgexpand.c (account_used_vars_for_block): Use them.
11808 * tree-nrv.c (tree_nrv): Likewise.
11809 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
11810 (dump_scope_block): Likewise.
11811 (remove_unused_locals): Likewise.
11812
aaa2ac93
AO
11813 PR debug/47106
11814 PR debug/47402
11815 * tree-inline.c (declare_return_variable): Add result decl to
11816 local decls only once.
11817 * gimple-low.c (record_vars_into): Mark newly-created variables
11818 as referenced.
11819
a59d15cf
AO
118202011-02-02 Alexandre Oliva <aoliva@redhat.com>
11821
11822 PR debug/47498
11823 PR debug/47501
11824 PR debug/45136
11825 PR debug/45130
11826 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
11827 debug insns.
11828 (no_real_insns_p, schedule_block, set_priorities): Drop special
11829 treatment of boundary debug insns.
38be4072 11830 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
11831 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
11832 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
11833 (BOUNDARY_DEBUG_INSN_P): Likewise.
11834 (SCHEDULE_DEBUG_INSN_P): Likewise.
11835 * sched-rgn.c (init_ready_list): Drop special treatment of
11836 boundary debug insns.
11837 * final.c (rest_of_clean_state): Clear notes' BB.
11838
6fc2f091
JM
118392011-02-01 Joseph Myers <joseph@codesourcery.com>
11840
11841 * config/openbsd.opt (assert=): New Driver option.
11842
fc523387
JM
118432011-02-01 Joseph Myers <joseph@codesourcery.com>
11844
11845 * config/i386/nto.opt: New.
11846 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
11847
6d9821e5
JM
118482011-02-01 Joseph Myers <joseph@codesourcery.com>
11849
11850 * config/i386/netware.opt: New.
11851 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
11852
cef932d4
JM
118532011-02-01 Joseph Myers <joseph@codesourcery.com>
11854
11855 * config/interix.opt (posix): New Driver option.
11856
22843acd
DD
118572011-02-01 DJ Delorie <dj@redhat.com>
11858
56490b74
DD
11859 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
11860
22843acd
DD
11861 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
11862 class for A0/A1.
11863
199c8f2f
SP
118642011-02-01 Sebastian Pop <sebastian.pop@amd.com>
11865
11866 PR tree-optimization/47561
11867 * toplev.c (process_options): Print the Graphite flags. Add
11868 flag_loop_flatten to the list of options requiring Graphite.
11869
926bcf22
JM
118702011-02-01 Joseph Myers <joseph@codesourcery.com>
11871
11872 * config/i386/cygming.opt (posix): New Driver option.
11873
59793c51
JM
118742011-02-01 Joseph Myers <joseph@codesourcery.com>
11875
11876 * config/arm/vxworks.opt: New.
11877 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
11878
183c38a4
JM
118792011-02-01 Joseph Myers <joseph@codesourcery.com>
11880
11881 * config/alpha/elf.opt: New.
11882 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
11883 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
11884
9939e416
RG
118852011-02-01 Richard Guenther <rguenther@suse.de>
11886
11887 PR tree-optimization/47559
11888 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
11889 store-motion on references that can throw.
11890
4a3c9687
BS
118912011-02-01 Bernd Schmidt <bernds@codesourcery.com>
11892
11893 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
11894 * tree-pass.h (TDF_CSELIB): New macro.
11895 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
11896 cselib_lookup): Check for it rather than for TDF_DETAILS.
11897
dd3b31fb
L
118982011-02-01 H.J. Lu <hongjiu.lu@intel.com>
11899
11900 PR driver/47547
11901 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
11902 is HOST_BIT_BUCKET.
11903
11904 * opts.c (finish_options): Don't add x_aux_base_name if it is
11905 HOST_BIT_BUCKET.
11906
34c1de79
RG
119072011-02-01 Richard Guenther <rguenther@suse.de>
11908
11909 PR tree-optimization/47555
11910 Revert
11911 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
11912
11913 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
11914
dd2804d2
SB
119152011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
11916
11917 PR gcc/46692
11918 * config/lm32/t-lm32: Add multilib for all CPU options.
11919
3fd3b156
RG
119202011-02-01 Richard Guenther <rguenther@suse.de>
11921
11922 PR tree-optimization/47541
11923 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
11924 sure to have a field at offset zero.
11925
f16072b6
JM
119262011-01-31 Joseph Myers <joseph@codesourcery.com>
11927
11928 * config/arc/arc.opt (EB, EL): New Driver options.
11929
6456cf2e
JM
119302011-01-31 Joseph Myers <joseph@codesourcery.com>
11931
11932 * config/alpha/osf5.opt: New.
11933 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
11934
cdde6ab4
JM
119352011-01-31 Joseph Myers <joseph@codesourcery.com>
11936
11937 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
11938
7633415c
SP
119392011-01-31 Sebastian Pop <sebastian.pop@amd.com>
11940
11941 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
11942 -floop-interchange.
11943 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
11944 is an alias of -floop-interchange and that it requires the
11945 Graphite infrastructure.
11946 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
11947 flag_loop_interchange based on the value of flag_tree_loop_linear.
11948
0425d6f5
JJ
119492011-01-31 Jakub Jelinek <jakub@redhat.com>
11950 Richard Guenther <rguenther@suse.de>
11951
11952 PR tree-optimization/47538
11953 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
11954 type instead of r1type, except for comparisons. For right
11955 shifts and comparisons punt if there are mismatches in
11956 sizetype vs. non-sizetype types.
11957
500b16c3
RO
119582011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11959
11960 * doc/sourcebuild.texi (Effective-Target Keywords): Document
11961 avx_runtime.
11962
e279edb0
RO
119632011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11964
11965 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
11966 version number.
11967 * configure: Regenerate.
11968
c6092243
RO
119692011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11970
11971 * configure.ac (gcc_cv_ld_static_option): Define.
11972 (gcc_cv_ld_dynamic_option): Define.
11973 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
11974 instead.
11975 (HAVE_LD_STATIC_DYNAMIC): Update message.
11976 (LD_STATIC_OPTION): Define.
11977 (LD_DYNAMIC_OPTION): Define.
11978 * configure: Regenerate.
11979 * config.in: Regenerate.
11980 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
11981 HAVE_LD_STATIC_DYNAMIC]: Use them.
11982
d7862be3
NC
119832011-01-31 Nick Clifton <nickc@redhat.com>
11984
11985 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
11986 registers inside interrupt handlers if the handler is not a leaf
11987 function.
11988
ba4ec0e0
NC
119892011-01-31 Nick Clifton <nickc@redhat.com>
11990
11991 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
11992 reg_renumber returning an INVALID_REGNUM.
11993
29a63921
AO
119942011-01-31 Alexandre Oliva <aoliva@redhat.com>
11995
11996 PR libgcj/44341
11997 * doc/install.texi: Document host options discarded when cross
11998 configuring target libraries.
11999
ef591d3f
AO
120002011-01-31 Alexandre Oliva <aoliva@redhat.com>
12001
12002 Reverted:
12003 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
12004 PR debug/45136
12005 PR debug/45130
12006 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
12007 debug insns.
12008 (no_real_insns_p, schedule_block, set_priorities): Drop special
12009 treatment of boundary debug insns.
38be4072 12010 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
12011 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
12012 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
12013 (BOUNDARY_DEBUG_INSN_P): Likewise.
12014 (SCHEDULE_DEBUG_INSN_P): Likewise.
12015 * sched-rgn.c (init_ready_list): Drop special treatment of
12016 boundary debug insns.
12017 * final.c (rest_of_clean-state): Clear notes' BB.
12018
61052244
AM
120192011-01-31 Alan Modra <amodra@gmail.com>
12020
12021 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
12022 toc relative expressions as we do in print_operand_address.
12023
c4c8962b
KH
120242011-01-30 Kazu Hirata <kazu@codesourcery.com>
12025
12026 * doc/extend.texi: Follow spelling conventions.
12027 * doc/invoke.texi: Fix a typo.
12028
e543b94c
JM
120292011-01-30 Joseph Myers <joseph@codesourcery.com>
12030
12031 * config/hpux11.opt: New.
12032 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
12033 ia64*-*-hpux*): Use hpux11.opt.
12034
509d65dd 120352011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
12036
12037 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
12038 to tmake_file.
12039
7be03a0e
GP
120402011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
12041
12042 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
12043 support sites.
12044
419d1d37
GP
120452011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
12046
b596ed64
GP
12047 * doc/install.texi (Binaries): Remove outdated reference for
12048 Motorola 68HC11/68HC12 downloads.
12049
120502011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 12051
419d1d37
GP
12052 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
12053 Drepper's paper.
12054
4406d0e9
JW
120552011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
12056
12057 PR bootstrap/47147
12058 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
12059 used by NetBSD.
12060
38be4072 120612011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
12062
12063 * value-prof.c (check_counter): Corrected error message.
12064
0cd98787
JZ
120652011-01-29 Jie Zhang <jie@codesourcery.com>
12066
12067 * config/arm/arm.c (arm_legitimize_reload_address): New.
12068 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
12069 arm_legitimize_reload_address.
38be4072 12070 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 12071
9b798ac5
ILT
120722011-01-28 Ian Lance Taylor <iant@google.com>
12073
12074 * godump.c (go_define): Ignore macros whose definitions include
12075 two adjacent operands.
12076
591e29d9
JJ
120772011-01-28 Jakub Jelinek <jakub@redhat.com>
12078
12079 PR target/42894
12080 * varasm.c (force_const_mem): Store copy of x in desc->constant
12081 instead of x itself.
12082 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
12083 itself into REG_EQUAL note.
12084
62dcc44a
JM
120852011-01-28 Joseph Myers <joseph@codesourcery.com>
12086
12087 * config/freebsd.opt (posix, rdynamic): New Driver options.
12088
c9f58b9a
RO
120892011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12090
12091 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
12092 -Bstatic/-Bdynamic.
12093 * configure: Regenerate.
12094
5f02b9db
JM
120952011-01-27 Joseph Myers <joseph@codesourcery.com>
12096
12097 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
12098 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
12099
5df97412
AS
121002011-01-27 Anatoly Sokolov <aesok@post.ru>
12101
12102 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
12103 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
12104 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
12105 (s390_preferred_reload_class): Make static. Change return and
12106 'rclass' argument type to reg_class_t.
12107
779d4b91
JH
121082011-01-27 Jan Hubicka <jh@suse.cz>
12109
12110 PR middle-end/46949
12111 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
12112 (process_function_and_variable_attributes): Check defined weakrefs.
12113
e80b21ed
MJ
121142011-01-27 Martin Jambor <mjambor@suse.cz>
12115
12116 PR tree-optimization/47228
12117 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
12118 build_ref_for_offset.
12119
6dcc4f31
UW
121202011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
12121
12122 * config/spu/spu-elf.h (ASM_SPEC): Remove.
12123
509d65dd 121242011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
12125
12126 PR rtl-optimization/46856
12127 * postreload.c (reload_combine_recognize_const_pattern): Do not
12128 separate cc0 setter and user on cc0 targets.
12129
04af8788
NP
121302011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
12131
12132 PR c/43082
12133 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
12134 passed a VOID_TYPE expression, immediately emit an error and
12135 return error_mark_node.
12136
f7a60085
JL
121372011-01-26 Jeff Law <law@redhat.com>
12138
12139 PR rtl-optimization/47464
12140 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
12141 rather than may_trap_p as needed.
12142
5c2917ec
DD
121432011-01-26 DJ Delorie <dj@redhat.com>
12144
12145 PR rtl-optimization/46878
12146 * combine.c (insn_a_feeds_b): Check for the implicit cc0
12147 setter/user dependency as well.
12148
bef16e87
EB
121492011-01-26 Eric Botcazou <ebotcazou@adacore.com>
12150
12151 PR rtl-optimization/44469
12152 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
12153 after removing trivially dead basic blocks.
12154
c75d884b
JM
121552011-01-26 Joseph Myers <joseph@codesourcery.com>
12156
12157 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
12158 * config/frv/frv.h (LINK_SPEC): Likewise.
12159 * config/i386/netware.h (LINK_SPEC): Likewise.
12160 * config/m68k/linux.h (ASM_SPEC): Likewise.
12161 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
12162 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
12163 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
12164 * config/sparc/linux.h (ASM_SPEC): Likewise.
12165 * config/sparc/linux64.h (ASM_SPEC): Likewise.
12166 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
12167
d3153553
JM
121682011-01-26 Joseph Myers <joseph@codesourcery.com>
12169
12170 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
12171 * config/frv/frv.h (ASM_SPEC): Likewise.
12172 * config/m68k/linux.h (ASM_SPEC): Likewise.
12173 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
12174 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
12175 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
12176 * config/sparc/linux.h (ASM_SPEC): Likewise.
12177 * config/sparc/linux64.h (ASM_SPEC): Likewise.
12178 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
12179
b89b1e9d
JM
121802011-01-26 Joseph Myers <joseph@codesourcery.com>
12181
12182 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
12183 * config/frv/frv.h (LINK_SPEC): Likewise.
12184 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
12185
12eb1a9c
JM
121862011-01-26 Joseph Myers <joseph@codesourcery.com>
12187
12188 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
12189 * config/frv/frv.h (ASM_SPEC): Likewise.
12190 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
12191 * config/m68k/linux.h (ASM_SPEC): Likewise.
12192 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
12193 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
12194 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
12195 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
12196 * config/sparc/linux.h (ASM_SPEC): Likewise.
12197 * config/sparc/linux64.h (ASM_SPEC): Likewise.
12198 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
12199 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
12200
e435f098
SE
122012011-01-26 Steve Ellcey <sje@cup.hp.com>
12202
12203 PR target/46997
12204 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
12205 (*mux2): Ditto.
12206 (vec_extract_evenodd_help): Ditto.
12207 (vec_extract_evenv4hi): Ditto.
12208 (vec_extract_oddv4hi): Ditto.
12209 (vec_interleave_lowv2si): Ditto.
12210 (vec_interleave_highv2si): Ditto.
12211 (vec_extract_evenv2si): Ditto.
12212 (vec_extract_oddv2si: Ditto.
12213 (vec_pack_trunc_v2si): Ditto.
12214
34f0eee0
JH
122152011-01-22 Jan Hubicka <jh@suse.cz>
12216
12217 PR target/47237
12218 * cgraph.h (cgraph_local_info): New field can_change_signature.
12219 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
12220 signature can change.
12221 (ipcp_estimate_growth): Call sequence simplify only if calle signature
12222 can change.
12223 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
12224 (cgraph_function_versioning): We can not change signature of functions
12225 that don't allow that.
12226 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
12227 (lto_input_node): Likewise.
38be4072
UB
12228 * ipa-inline.c (compute_inline_parameters): Compute
12229 local.can_change_signature.
34f0eee0 12230 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
12231 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
12232 functions that can not change signature.
34f0eee0 12233 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
12234 init_cumulative_args): Do not use local calling conventions
12235 for functions that can not change signature.
34f0eee0 12236
980ca891
JH
122372011-01-22 Jan Hubicka <jh@suse.cz>
12238
12239 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
12240
768e3c60
RG
122412011-01-26 Richard Guenther <rguenther@suse.de>
12242
12243 PR tree-optimization/47190
61052244
AM
12244 * cgraphunit.c (process_common_attributes): New function.
12245 (process_function_and_variable_attributes): Use it.
768e3c60 12246
21d6a1c7
RG
122472011-01-26 Richard Guenther <rguenther@suse.de>
12248
12249 PR lto/47423
12250 * cgraphbuild.c (record_eh_tables): Record reference to personality
12251 function.
12252
48bb58b1
AO
122532011-01-26 Alexandre Oliva <aoliva@redhat.com>
12254
12255 PR debug/45454
12256 * sel-sched.c (moveup_expr): Don't let debug insns prevent
12257 non-debug insns from moving up.
12258
58c741a6
DK
122592011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
12260
12261 PR target/40125
12262 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
12263 t-dlldir{,-x} fragment for build and add it to tmake_file.
12264 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
12265 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
12266 * config/i386/t-dlldir: New file.
12267 (SHLIB_DLLDIR): Define.
12268 * config/i386/t-dlldir-x: New file.
12269 (SHLIB_DLLDIR): Define.
12270 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
12271 (SHLIB_INSTALL): Use it.
12272
bff99262
CLT
122732011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
12274
12275 PR target/47246
12276 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
12277 lower bound of the allowed Thumb-2 coprocessor load/store
12278 index range to -256. Add explaining comment.
12279
82c03907
ILT
122802011-01-25 Ian Lance Taylor <iant@google.com>
12281
12282 * godump.c (go_define): Improve lexing of macro expansion to only
12283 accept expressions which match Go spec.
12284
47ea1edf
DK
122852011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
12286
d4dba752 12287 PR c++/43601
47ea1edf
DK
12288 * tree.c (handle_dll_attribute): Handle it.
12289 * doc/extend.texi (@item dllexport): Mention it.
12290 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
12291
744f0946
ILT
122922011-01-25 Ian Lance Taylor <iant@google.com>
12293
12294 PR tree-optimization/26854
12295 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
12296 (decl_jump_unsafe): Move higher in file, with no other change.
12297 (bind): Set has_jump_unsafe_decl if appropriate.
12298 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
12299 (check_earlier_gotos): Likewise.
12300 (c_check_switch_jump_warnings): Likewise.
12301
5734f2b3
JW
123022011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
12303
12304 * doc/invoke.texi (Warning Options): Add missing hyphen.
12305 (-fprofile-dir): Minor grammatical fixes.
12306 (-fbranch-probabilities): Likewise.
12307
9bdbdcef
AO
123082011-01-25 Alexandre Oliva <aoliva@redhat.com>
12309
12310 PR debug/45136
12311 PR debug/45130
12312 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
12313 debug insns.
12314 (no_real_insns_p, schedule_block, set_priorities): Drop special
12315 treatment of boundary debug insns.
38be4072 12316 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
12317 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
12318 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
12319 (BOUNDARY_DEBUG_INSN_P): Likewise.
12320 (SCHEDULE_DEBUG_INSN_P): Likewise.
12321 * sched-rgn.c (init_ready_list): Drop special treatment of
12322 boundary debug insns.
12323 * final.c (rest_of_clean-state): Clear notes' BB.
12324
b305e3da
SP
123252011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12326
12327 * Makefile.in (LAMBDA_H): Removed.
12328 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
12329 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
12330 lambda-trans.o, and tree-loop-linear.o.
12331 (lto-symtab.o): Remove dependence on LAMBDA_H.
12332 (tree-loop-linear.o): Remove rule.
12333 (lambda-mat.o): Same.
12334 (lambda-trans.o): Same.
12335 (lambda-code.o): Same.
12336 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
12337 (tree-vect-slp.o): Same.
12338 * hwint.h (gcd): Moved here.
12339 (least_common_multiple): Same.
12340 * lambda-code.c: Removed.
12341 * lambda-mat.c: Removed.
12342 * lambda-trans.c: Removed.
12343 * lambda.h: Removed.
12344 * tree-loop-linear.c: Removed.
12345 * lto-symtab.c: Do not include lambda.h.
12346 * omega.c (gcd): Removed.
12347 * passes.c (init_optimization_passes): Remove pass_linear_transform.
12348 * tree-data-ref.c (print_lambda_vector): Moved here.
12349 (lambda_vector_copy): Same.
12350 (lambda_matrix_copy): Same.
12351 (lambda_matrix_id): Same.
12352 (lambda_vector_first_nz): Same.
12353 (lambda_matrix_row_add): Same.
12354 (lambda_matrix_row_exchange): Same.
12355 (lambda_vector_mult_const): Same.
12356 (lambda_vector_negate): Same.
12357 (lambda_matrix_row_negate): Same.
12358 (lambda_vector_equal): Same.
12359 (lambda_matrix_right_hermite): Same.
12360 * tree-data-ref.h: Do not include lambda.h.
12361 (lambda_vector): Moved here.
12362 (lambda_matrix): Same.
12363 (dependence_level): Same.
12364 (lambda_transform_legal_p): Removed declaration.
12365 (lambda_collect_parameters): Same.
12366 (lambda_compute_access_matrices): Same.
12367 (lambda_vector_gcd): Same.
12368 (lambda_vector_new): Same.
12369 (lambda_vector_clear): Same.
12370 (lambda_vector_lexico_pos): Same.
12371 (lambda_vector_zerop): Same.
12372 (lambda_matrix_new): Same.
12373 * tree-flow.h (least_common_multiple): Removed declaration.
12374 * tree-parloops.c (lambda_trans_matrix): Moved here.
12375 (LTM_MATRIX): Same.
12376 (LTM_ROWSIZE): Same.
12377 (LTM_COLSIZE): Same.
12378 (LTM_DENOMINATOR): Same.
12379 (lambda_trans_matrix_new): Same.
12380 (lambda_matrix_vector_mult): Same.
12381 (lambda_transform_legal_p): Same.
12382 * tree-pass.h (pass_linear_transform): Removed declaration.
12383 * tree-ssa-loop.c (tree_linear_transform): Removed.
12384 (gate_tree_linear_transform): Removed.
12385 (pass_linear_transform): Removed.
12386 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
12387 flag_loop_interchange.
12388
6bdfdb96
JJ
123892011-01-25 Jakub Jelinek <jakub@redhat.com>
12390
12391 PR tree-optimization/47265
12392 PR tree-optimization/47443
12393 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
12394 if name still has some uses.
12395
e4cba915
MJ
123962011-01-25 Martin Jambor <mjambor@suse.cz>
12397
12398 PR tree-optimization/47382
12399 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
12400 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
12401
509d65dd 124022011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
12403
12404 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
12405 sjlj_except_unwind_info.
12406
194313e2
RG
124072011-01-25 Richard Guenther <rguenther@suse.de>
12408
12409 PR tree-optimization/47426
12410 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
12411 visible functions results escape.
12412
147a0bcf
JJ
124132011-01-25 Jakub Jelinek <jakub@redhat.com>
12414
12415 PR target/45701
12416 * config/arm/arm.c (any_sibcall_uses_r3): New function.
12417 (arm_get_frame_offsets): Use it.
12418
db963b52
SP
124192011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12420 Jakub Jelinek <jakub@redhat.com>
12421
12422 PR tree-optimization/47271
12423 * tree-if-conv.c (bb_postdominates_preds): New.
12424 (if_convertible_bb_p): Call bb_postdominates_preds.
12425 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
12426 (predicate_scalar_phi): Call bb_postdominates_preds.
12427
bcddd3b9
NC
124282011-01-25 Nick Clifton <nickc@redhat.com>
12429
12430 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
12431 * config/rx/rx.c (rx_function_value): Likewise.
12432 (rx_promote_function_mode): Likewise.
12433 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
12434 in order to make it legitimate.
38be4072
UB
12435 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
12436 make sure that the first operand is the same as the result register.
bcddd3b9
NC
12437 (addsi3_unspec): Delete.
12438 (subdi3): Do not accept immediate operands.
12439 (subdi3_internal): Likewise.
12440
7e6cb022
JL
124412011-01-25 Jeff Law <law@redhat.com>
12442
12443 PR rtl-optimization/37273
12444 * ira-costs.c (scan_one_insn): Detect constants living in memory and
12445 handle them like argument loads from stack slots. Do not double
12446 count memory for memory constants and argument loads from stack slots.
12447
9ffa621e
JJ
124482011-01-25 Jakub Jelinek <jakub@redhat.com>
12449
12450 PR tree-optimization/47427
12451 PR tree-optimization/47428
12452 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
12453 coalesce if the new root var would be TREE_READONLY.
12454
5bd6e652
RG
124552011-01-25 Richard Guenther <rguenther@suse.de>
12456
12457 PR middle-end/47414
12458 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
12459 correct type for TBAA.
12460
7c48ea69
SP
124612011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12462
12463 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
12464 (close_phi_written_to_memory): Call for_each_index with
12465 dr_indices_valid_in_loop.
12466
38013f25
SP
124672011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12468
12469 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
12470 when it is initialized.
12471
5c640e29
SP
124722011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12473
12474 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
12475 call to graphite_find_data_references_in_stmt.
12476 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
12477 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
12478 call to graphite_find_data_references_in_stmt.
12479 (analyze_drs_in_stmts): Same.
12480 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
12481 in which the scalar analysis of indices is performed.
12482 (create_data_ref): Same. Update call to dr_analyze_indices.
12483 (find_data_references_in_stmt): Update call to create_data_ref.
12484 (graphite_find_data_references_in_stmt): Same.
12485 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
12486 declaration.
12487 (create_data_ref): Same.
12488 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
12489 call to create_data_ref.
12490
ac53c069
SP
124912011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12492
12493 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 12494 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 12495
3d17df15
SP
124962011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12497
12498 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
12499 VAR_DECL, PARM_DECL, and RESULT_DECL.
12500
c513da01
SP
125012011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12502
12503 * graphite-dependences.c (reduction_dr_1): Allow several reductions
12504 in a reduction PBB.
12505 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
12506 that have already been marked as PBB_IS_REDUCTION.
12507
3a292d59
SP
125082011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12509
12510 * graphite-scop-detection.c (same_close_phi_node): New.
12511 (remove_duplicate_close_phi): New.
12512 (make_close_phi_nodes_unique): New.
12513 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
12514
ba858447
SP
125152011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12516
12517 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
12518 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
12519 of both data references to be the same.
12520
8d865c56
SP
125212011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12522
38be4072
UB
12523 * graphite-dependences.c (build_lexicographical_constraint): Remove
12524 the gdim parameter.
12525 (build_lexicographical_constraint): Adjust call to
12526 ppl_powerset_is_empty.
8d865c56
SP
12527 (dependence_polyhedron): Same.
12528 (graphite_legal_transform_dr): Same.
12529 (graphite_carried_dependence_level_k): Same.
38be4072
UB
12530 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
12531 parameter.
8d865c56
SP
12532 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
12533
50034a36
SP
125342011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12535
12536 * graphite-sese-to-poly.c
12537 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
12538 (close_phi_written_to_memory): New.
12539 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
12540 and unshare_expr.
12541
0deada9e
SP
125422011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12543
12544 * doc/install.texi: Update the expected version number of PPL to 0.11.
12545 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
12546 #if PPL_VERSION_MINOR < 11.
12547
d7d3d6af
SP
125482011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12549
12550 * graphite-dependences.c: Include graphite-cloog-util.h.
12551 (new_poly_ddr): Inlined into dependence_polyhedron.
12552 (free_poly_ddr): Moved close by new_poly_ddr.
12553 (dependence_polyhedron_1): Renamed dependence_polyhedron.
12554 Early return NULL when ppl_powerset_is_empty returns true.
12555 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
12556 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
12557 (graphite_legal_transform_dr): Call new_poly_ddr.
12558 (graphite_carried_dependence_level_k): Same.
12559 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
12560 (dot_transformed_deps_stmt_1): Removed.
12561 (dot_deps_stmt_1): Call dot_deps_stmt_2.
12562 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
12563 (dot_deps_1): Call dot_deps_2.
12564 * Makefile.in (graphite-dependences.o): Add missing dependence on
12565 graphite-cloog-util.h.
12566
28c5db57
SP
125672011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12568
12569 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
12570 (build_lexicographical_constraint): Same.
12571 (dependence_polyhedron_1): Same.
12572 (graphite_legal_transform_dr): Same.
12573 (graphite_carried_dependence_level_k): Same.
12574 * graphite-ppl.c (ppl_powerset_is_empty): New.
12575 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
12576 * tree-data-ref.c (dump_data_reference): Print the basic block index.
12577
5168d98f
SP
125782011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12579
12580 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
12581 the "a followed by b" relation and document it.
12582
4a40293a
SP
125832011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12584
12585 * graphite-dependences.c (build_lexicographical_constraint): Stop the
12586 iteration when the bag of constraints is empty.
12587
271fb6fa
SP
125882011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12589
12590 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
12591
92d23680
SP
125922011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12593
12594 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
12595 nest and two loop depths as parameters.
12596 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
12597 lst_perfect_nestify.
12598
2f51deff
SP
125992011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12600
12601 * graphite-dependences.c (print_pddr): Call
12602 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
12603
07f3593c
SP
126042011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12605
12606 * graphite-ppl.c (debug_gmp_value): New.
12607 * graphite-ppl.h (debug_gmp_value): Declared.
12608
3fae6099
TG
126092011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
12610
12611 * doc/install.texi: Document availability of cloog-0.16.
12612
1c3ba85b
SP
126132011-01-25 Vladimir Kargov <kargov@gmail.com>
12614
12615 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
12616 invalid postdominance info.
12617
e8ba94fc
JH
126182011-01-24 Jan Hubicka <jh@suse.cz>
12619
12620 PR c/21659
12621 * doc/extend.texi (weak pragma): Drop claim that it must
12622 appear before definition.
12623 * varasm.c (merge_weak, declare_weak): Only sanity check
12624 that DECL is not output at a time it is declared weak.
12625
2b6e2d13
KZ
126262011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
12627
12628 * machmode.def: Fixed comments.
1c3ba85b 12629
9841210f
KT
126302011-01-24 Kai Tietz <kai.tietz@onevision.com>
12631
12632 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
12633
126342011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
12635
12636 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 12637 WORDS_BIG_ENDIAN.
e046112d 12638
a6c5070a
L
126392011-01-24 H.J. Lu <hongjiu.lu@intel.com>
12640
12641 PR target/46519
12642 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
12643 (block_info): Add scanned and prev.
12644 (move_or_delete_vzeroupper_2): Return if the basic block
12645 has been scanned and the upper 128bit state is unchanged
12646 from the last scan.
12647 (move_or_delete_vzeroupper_1): Return true if the exit
12648 state is changed.
12649 (move_or_delete_vzeroupper): Visit basic blocks using the
12650 work-list based algorithm based on vt_find_locations in
12651 var-tracking.c.
12652
12653 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
12654
a40d79d7
NC
126552011-01-24 Nick Clifton <nickc@redhat.com>
12656
12657 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
12658 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
12659 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
12660 then define __v850e1__.
12661 * doc/invoke.texi: Document -mv850es.
12662
440eb8de
RH
126632011-01-24 Richard Henderson <rth@redhat.com>
12664
12665 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
12666 compound unordered comparisons.
12667 * config/rx/rx.c (rx_split_fp_compare): Remove.
12668 * config/rx/rx-protos.h: Update.
12669 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
12670 (cbranchsf4): Don't call rx_split_fp_compare.
12671 (*cbranchsf4): Use rx_split_cbranch.
12672 (*cmpsf): Don't accept "i" constraint.
12673 (*conditional_branch): Only valid after reload.
12674 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
12675
3ff79f99
MM
126762011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
12677
12678 PR target/47385
12679 * config/rs6000/altivec.md (vector constant splitters): Add
12680 support for creating vector single precision constants if -mvsx is
12681 used and we would create the constant using Altivec primitives.
12682
ff3d9d08
BS
126832011-01-23 Bernd Schmidt <bernds@codesourcery.com>
12684 Richard Sandiford <rdsandiford@googlemail.com>
12685
12686 PR rtl-optimization/47166
12687 * reload1.c (emit_reload_insns): Disable the spill_reg_store
12688 mechanism for PRE_MODIFY and POST_MODIFY.
12689 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
12690 reloadreg.
12691
7fcaf152
AS
126922011-01-23 Andreas Schwab <schwab@linux-m68k.org>
12693
8788adb6 12694 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 12695
d09b58c4
JH
126962011-01-22 Jan Hubicka <jh@suse.cz>
12697
12698 PR lto/47333
12699 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
12700
e8ff8c5a
JH
127012011-01-22 Jan Hubicka <jh@suse.cz>
12702
12703 PR tree-optimization/43884
12704 PR lto/44334
8788adb6 12705 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
12706 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
12707
ccaed3ba
AS
127082011-01-22 Anatoly Sokolov <aesok@post.ru>
12709
12710 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
12711 * config/s390/s390.c (s390_register_move_cost,
12712 s390_memory_move_cost): New.
12713 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
12714
0cecee06
UW
127152011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
12716
12717 PR middle-end/47401
12718 * except.c (sjlj_assign_call_site_values): Move setting the
12719 crtl->uses_eh_lsda flag to ...
12720 (sjlj_mark_call_sites): ... here.
12721 (sjlj_emit_function_enter): Support NULL dispatch label.
12722 (sjlj_build_landing_pads): In a function with no landing pads
12723 that still has must-not-throw regions, generate code to register
12724 a personality function with empty LSDA.
12725
e692f276
RH
127262011-01-21 Richard Henderson <rth@redhat.com>
12727
1b7ae0b7
RH
12728 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
12729
3843787f
RH
12730 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
12731
e692f276
RH
12732 * compare-elim.c: New file.
12733 * Makefile.in (OBJS-common): Add it.
12734 (compare-elim.o): New.
12735 * common.opt (fcompare-elim): New.
12736 * opts.c (default_options_table): Add OPT_fcompare_elim.
12737 * tree-pass.h (pass_compare_elim_after_reload): New.
12738 * passes.c (init_optimization_passes): Add it.
12739 * recog.h: Protect against re-inclusion.
12740 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
12741 * doc/invoke.texi (-fcompare-elim): Document it.
12742 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
12743 * doc/tm.texi: Rebuild.
12744
9a7c2050
NC
127452011-01-22 Nick Clifton <nickc@redhat.com>
12746
12747 * config/rx/rx.md (cstoresf4): Pass comparison operator to
12748 rx_split_fp_compare.
12749
15ba5696
NC
127502011-01-22 Nick Clifton <nickc@redhat.com>
12751
12752 * config/rx/rx.md (UNSPEC_CONST): New.
12753 (deallocate_and_return): Wrap the amount popped off the stack in
12754 an UNSPEC_CONST in order to stop it being rejected by
12755 -mmax-constant-size.
12756 (pop_and_return): Add a "(return)" rtx.
12757 (call): Drop the immediate operand.
12758 (call_internal): Likewise.
12759 (call_value): Likewise.
12760 (call_value_internal): Likewise.
12761 (sibcall_internal): Likewise.
12762 (sibcall_value_internal): Likewise.
12763 (sibcall): Likewise. Generate an explicit call using
12764 sibcall_internal.
12765 (sibcall_value): Likewise.
12766 (mov<>): FAIL if a constant operand is not legitimate.
12767 (addsi3_unpsec): New pattern.
9a7c2050 12768
38be4072 12769 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
12770 (ok_for_max_constant): New function.
12771 (gen_safe_add): New function.
12772 (rx_expand_prologue): Use gen_safe_add.
12773 (rx_expand_epilogue): Likewise.
12774 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
12775 UNSPEC CONSTs.
12776
caaf13d3
JL
127772011-01-21 Jeff Law <law@redhat.com>
12778
12779 PR tree-optimization/47053
12780 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
12781 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
12782 statements are deleted.
12783 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
12784 is nonempty, then purge dead edges and cleanup the CFG.
12785
12c30f2f
AO
127862011-01-21 Alexandre Oliva <aoliva@redhat.com>
12787
12788 PR debug/47402
12789 Temporarily revert:
12790 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
12791 PR debug/47106
12792 * tree-dfa.c (create_var_ann): Mark variable as used.
12793
7360d2ac
JJ
127942011-01-21 Jakub Jelinek <jakub@redhat.com>
12795
aaa52a96
JJ
12796 PR middle-end/45566
12797 * except.c (convert_to_eh_region_ranges): Emit queued no-region
12798 notes from other section in hot/cold partitioning even if
12799 last_action is -3. Increment call_site_base.
12800
7360d2ac
JJ
12801 PR rtl-optimization/47366
12802 * fwprop.c (forward_propagate_into): Return bool. If
12803 any changes are made, -fnon-call-exceptions is used and
12804 REG_EH_REGION note is present, call purge_dead_edges
12805 and return true if it purged anything.
12806 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
12807 any EH edges were purged.
12808
e90b336f
JL
128092011-01-21 Jeff Law <law@redhat.com>
12810
12811 PR rtl-optimization/41619
12812 * caller-save.c (setup_save_areas): Break out code to determine
12813 which hard regs are live across calls by examining the reload chains
12814 so that it is always used.
12815 Eliminate code which checked REG_N_CALLS_CROSSED.
12816
3ffe07e1
JJ
128172011-01-21 Jakub Jelinek <jakub@redhat.com>
12818
12819 PR tree-optimization/47355
12820 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
12821 NOP has non-debug uses beyond PHIs in new_bb.
12822
1c7d0b34
AO
128232011-01-21 Alexandre Oliva <aoliva@redhat.com>
12824
12825 PR debug/47106
12826 * cfgexpand.c (account_used_vars_for_block): Only account vars
12827 that are annotated as used.
12828 (estimated_stack_frame_size): Don't set TREE_USED.
12829 * tree-dfa.c (create_var_ann): Mark variable as used.
12830
f99cc488
RG
128312011-01-21 Richard Guenther <rguenther@suse.de>
12832
12833 PR middle-end/47395
12834 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
12835
3bc27de7
RG
128362011-01-21 Richard Guenther <rguenther@suse.de>
12837
12838 PR tree-optimization/47365
12839 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
12840 (vn_reference_lookup_pieces): Adjust.
12841 (vn_reference_lookup): Likewise.
12842 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
12843 (vn_reference_lookup_3): Only look through kills if in
12844 VN_WALKREWRITE mode.
12845 (vn_reference_lookup_pieces): Adjust.
12846 (vn_reference_lookup): Likewise.
12847 (visit_reference_op_load): Likewise.
12848 (visit_reference_op_store): Likewise.
12849 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
12850 (compute_avail): Likewise.
12851 (eliminate): Likewise.
12852
d8debb1d
JJ
128532011-01-21 Jakub Jelinek <jakub@redhat.com>
12854
12855 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
12856 DECL_IGNORED_P non-reg vars if they are used.
12857
3a2df831
JJ
12858 PR tree-optimization/47391
12859 * varpool.c (const_value_known_p): Return false if
12860 decl is volatile.
12861
1dd584a2
KT
128622011-01-21 Kai Tietz <kai.tietz@onevision.com>
12863
12864 PR bootstrap/47215
12865 * config/i386/i386.c (ix86_local_alignment): Handle
12866 case for va_list_type_node is nil.
12867 (ix86_canonical_va_list_type): Likewise.
12868
7f9f095e
AM
128692011-01-21 Alan Modra <amodra@gmail.com>
12870
12871 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
12872 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
12873
837b01f6
RR
128742011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12875
12876 * config/arm/arm.md (define_attr type): Rename f_load
12877 and f_store to f_fpa_load and f_fpa_store. Update.
12878 (write_conflict): Deal with rename fallout.
12879 (*push_fp_multi): Likewise.
12880 * config/arm/fpa.md (f_load): Use f_fpa_load.
12881 (f_store): Use f_fpa_store.
12882 (*movsf_fpa): Likewise.
12883 (*movdf_fpa): Likewise.
12884 (*movxf_fpa): Likewise.
12885 (*thumb2_movsf_fpa): Likewise.
12886 (*thumb2_movdf_fpa): Likewise.
12887 (*thumb2_movxf_fpa): Likewise.
12888 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
12889 f_loadd and f_stored.
12890 (*thumb2_movdi_vfp): Likewise.
12891 (*thumb2_movsf_vfp): Fix attribute to f_loads.
12892 (*thumb2_movsi_vfp): Likewise.
12893 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
12894 Use f_loads instead of f_load.
12895 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
12896
a1a79768
AS
128972011-01-20 Anatoly Sokolov <aesok@post.ru>
12898
12899 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
12900 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
12901 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
12902 (xtensa_mode_dependent_address_p): New function.
12903 (constantpool_address_p): Make static. Change return type to bool.
12904 Change argument type to const_rtx. Use CONST_INT_P predicate.
12905
427f6cec
AO
129062011-01-20 Alexandre Oliva <aoliva@redhat.com>
12907
12908 PR debug/46583
12909 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
12910
583ac69c
JJ
129112011-01-20 Jakub Jelinek <jakub@redhat.com>
12912
12913 PR debug/47283
12914 * cfgexpand.c (expand_debug_expr): Instead of generating
12915 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
12916 etc. handling.
12917
93e452ed
RG
129182011-01-20 Richard Guenther <rguenther@suse.de>
12919
12920 PR middle-end/47370
12921 * tree-inline.c (remap_gimple_op_r): Recurse manually for
12922 the pointer operand of MEM_REFs.
12923
28fc44f3
JJ
129242011-01-20 Jakub Jelinek <jakub@redhat.com>
12925
12926 PR tree-optimization/46130
12927 * ipa-split.c (consider_split): If return_bb contains non-virtual
12928 PHIs other than for retval or if split_function would not adjust it,
12929 refuse to split.
12930
ddd268f2
RG
129312011-01-20 Richard Guenther <rguenther@suse.de>
12932
12933 PR tree-optimization/47167
12934 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
12935 Revert previous change, only avoid enumeral type changes.
12936
882020aa
MS
129372011-01-19 Mike Stump <mikestump@comcast.net>
12938
12939 * doc/tm.texi.in (BRANCH_COST): Englishify.
12940 * doc/tm.texi (BRANCH_COST): Likewise.
12941
7edb6247
DS
129422011-01-19 Dodji Seketeli <dodji@redhat.com>
12943
12944 PR c++/47291
12945 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
12946 (gen_scheduled_generic_parms_dies): New functions.
12947 (gen_struct_or_union_type_die): Schedule template parameters DIEs
12948 generation for the end of CU compilation.
12949 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 12950
23d5ed5d
AO
129512011-01-19 Alexandre Oliva <aoliva@redhat.com>
12952
12953 PR debug/46240
12954 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
12955 debug bind stmt on merge edges.
12956
37d6a488
AO
129572011-01-19 Alexandre Oliva <aoliva@redhat.com>
12958
12959 PR debug/47079
12960 PR debug/46724
12961 * function.c (instantiate_expr): Instantiate incoming rtl of
12962 implicit arguments, and recurse on VALUE_EXPRs.
12963 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
12964 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
12965
689f2c82
AO
129662011-01-19 Alexandre Oliva <aoliva@redhat.com>
12967
12968 * c-parser.c (c_parser_for_statement): Initialize
12969 collection_expression.
12970
03029de4
JM
129712011-01-19 Joseph Myers <joseph@codesourcery.com>
12972
12973 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
12974
3e03217e
JM
129752011-01-19 Joseph Myers <joseph@codesourcery.com>
12976
12977 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
12978 (LINK_SHLIB_SPEC): Don't use %(link_path).
12979 (SUBTARGET_EXTRA_SPECS): Remove link_path.
12980
5bbe9b3f
JM
129812011-01-19 Joseph Myers <joseph@codesourcery.com>
12982
12983 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
12984 (NO_SHARED_LIB_SUPPORT): Remove.
12985 (LINK_SHLIB_SPEC): Remove one conditional definition.
12986
368e0b39
JM
129872011-01-19 Joseph Myers <joseph@codesourcery.com>
12988
12989 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
12990 %{call_shared}.
12991 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
12992 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
12993 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
12994 %{call_shared} and conditionals on these options not being passed.
12995 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
12996 %{call_shared}.
12997
ed7656f6
JJ
129982011-01-19 Jakub Jelinek <jakub@redhat.com>
12999
68457901
JJ
13000 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
13001 simplify.
13002
ed7656f6
JJ
13003 * ipa-split.c: Spelling fixes.
13004
e0d1958f
RH
130052011-01-19 Richard Henderson <rth@redhat.com>
13006
13007 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
13008 (*mulsi3): Likewise.
13009
27098b6b
RH
13010 * longlong.h [__mn10300__] (count_leading_zeros): New.
13011 [__mn10300__] (umul_ppmm, smul_ppmm): New.
13012 [__mn10300__] (add_ssaaaa, subddmmss): New.
13013 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
13014 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
13015
d6be7c36
UW
130162011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13017
13018 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
13019
b1efde2a
RH
130202011-01-19 Richard Henderson <rth@redhat.com>
13021
44217823
RH
13022 * config/mn10300/mn10300.md (addsi3_flags): New.
13023 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
13024 (subsi3_flags, subc_internal, subdi3): New.
13025 (subdi3_internal, *subdi3_degenerate): New.
13026 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
13027
37a185d7
RH
13028 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
13029 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
13030 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
13031 * config/mn10300/mn10300-protos.h: Update.
13032 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
13033 (return_ret): Likewise. Rename from return_internal_regs.
13034 (return_internal): Remove.
13035
040c5757
RH
13036 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
13037 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
13038 (mn10300_legitimate_constant_p): Likewise.
13039 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
13040 (mn10300_frame_size): New.
13041 (mn10300_expand_prologue): Use it.
13042 (mn10300_expand_epilogue): Likewise.
13043 (mn10300_initial_offset): Likewise.
13044 * config/mn10300/mn10300-protos.h: Update.
13045 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
13046 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
13047 (prologue, epilogue, return_internal): Tidy output code.
13048 (mn10300_store_multiple_operation, return): Likewise.
13049 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
13050 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
13051 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
13052 (load_pic, am33_load_pic): New.
13053 (mn10300_load_pic0, mn10300_load_pic1): New.
13054
bad41521
RH
13055 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
13056 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
13057 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
13058 (cc_flags_for_mode, cc_flags_for_code): New.
13059 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
13060 overflow flag is not valid. Validate that the flags we need
13061 for the comparison are valid.
13062 (mn10300_output_cmp): Remove.
13063 (mn10300_output_add): New.
13064 (mn10300_select_cc_mode): Use cc_flags_for_code.
13065 (mn10300_split_cbranch): New.
13066 (mn10300_match_ccmode): New.
13067 (mn10300_split_and_operand_count): New.
13068 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
13069 to the function.
13070 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
13071 (addsi3): ... here. Use mn10300_output_add.
13072 (*addsi3_flags): New.
13073 (*am33_subsi3, *mn10300_subsi3): Merge...
13074 (subsi3): ... here. Use attribute isa.
13075 (*subsi3_flags): New.
13076 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
13077 when possible.
13078 (*am33_andsi3, *mn10300_andsi3): Merge...
13079 (andsi3): ... here.
13080 (*andsi3_flags): New.
13081 (andsi3 splitters): New.
13082 (*am33_iorsi3, *mn10300_iorsi3): Merge...
13083 (iorsi3): ... here.
13084 (*iorsi3_flags): New.
13085 (*am33_xorsi3, *mn10300_xorsi3): Merge...
13086 (xorsi3): ... here.
13087 (*xorsi3_flags): New.
13088 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
13089 (one_cmplsi2): ... here.
13090 (*one_cmplsi2_flags): New.
13091 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
13092 instead of "dax" in constraints. Use mn10300_split_cbranch.
13093 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
13094 use matching constraints to eliminate a self-comparison.
13095 (*integer_conditional_branch): Rename from integer_conditional_branch.
13096 Use int_mode_flags to match CC_REG.
13097 (*cbranchsi4_btst, *btstsi): New.
13098 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
13099 mn10300_split_cbranch.
13100 (*am33_cmpsf): Rename from am33_cmpsf.
13101 (*float_conditional_branch): Rename from float_conditional_branch.
13102 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
13103 (zero_extendqisi2): ... here.
13104 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
13105 (zero_extendhisi2): ... here.
13106 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
13107 (extendqisi2): ... here.
13108 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
13109 (extendhisi2): ... here.
13110 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
13111 (ashlsi3): ... here.
13112 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
13113 (lshrsi3): ... here.
13114 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
13115 (ashrsi3): ... here.
13116 (consecutive add peephole): Remove.
13117 * config/mn10300/predicates.md (label_ref_operand): New.
13118 (int_mode_flags): New.
13119 (CCZN_comparison_operator): New.
13120
9efb4993
RH
13121 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
13122 (throughput_42_latency_43): New reservation.
13123 (mulsidi3, umulsidi3): New expanders.
13124 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
13125 the MDR register to allocation; separately allocate the low and
13126 high parts of the DImode result.
13127 (umulsidi3_internal): Similarly.
13128 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
13129 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
13130 (udivsi3, umodsi3): Remove.
13131 (udivmodsi4, divmodsi4): New expanders.
13132 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
13133 (*divmodsi4): Simiarly.
13134 (ext_internal): New.
13135
c25a21f5
RH
13136 * config/mn10300/constraints.md ("z"): New constraint.
13137 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
13138 (FIXED_REGISTERS): Don't fix MDR.
13139 (CALL_USED_REGSITERS): Reformat nicely.
13140 (REG_ALLOC_ORDER): Add MDR.
13141 (enum regclass): Add MDR_REGS.
13142 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
13143 (IRA_COVER_CLASSES): Add MDR_REGS.
13144 (REGNO_REG_CLASS): Handle MDR_REG.
13145 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
13146 (mn10300_register_move_cost): Likewise.
13147 * config/mn10300/mn10300.md (MDR_REG): New.
13148 (*movsi_internal): Handle moves to/from MDR_REGS.
13149
36846b26
RH
13150 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
13151 POST_MODIFY.
13152 (mn10300_secondary_reload): Tidy combination reload classes.
13153 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
13154 addresses for AM33. Allow symbolic offsets for reg+imm.
13155 (mn10300_regno_in_class_p): New.
13156 (mn10300_legitimize_reload_address): New.
13157 * config/mn10300/mn10300.h (enum reg_class): Remove
13158 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
13159 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
13160 SP_OR_GENERAL_REGS.
13161 (REG_CLASS_NAMES): Update to match.
13162 (REG_CLASS_CONTENTS): Likewise.
13163 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
13164 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
13165 (REGNO_IN_RANGE_P): Remove.
13166 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
13167 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
13168 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
13169 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
13170 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
13171 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
13172 (REGNO_GENERAL_P): New.
13173 (HAVE_POST_MODIFY_DISP): New.
13174 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
13175 (LEGITIMIZE_RELOAD_ADDRESS): New.
13176 * config/mn10300/mn10300-protos.h: Update.
13177
8b119bb6
RH
13178 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
13179 DATA_REGS for AM33 stack-pointer destination.
13180 (mn10300_preferred_output_reload_class): Likewise.
13181 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
13182 into a form appropriate for ...
13183 (TARGET_SECONDARY_RELOAD): New.
13184 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
13185 * config/mn10300/mn10300-protos.h: Update.
13186 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
13187 reload_insi; use the "A" constraint for the scratch; handle AM33
13188 moves of sp to non-address registers.
13189
b1efde2a
RH
13190 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
13191 (*movqi_internal): ... here.
13192 (*am33_movhi, *mn10300_movhi): Merge into...
13193 (*movhi_internal): ... here.
13194 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
13195 as the source/destination of moves from/to SP.
13196 (movsf): Only allow for AM33-2.
1c3ba85b 13197 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
13198 any integer constant constraint. Only allow for AM33-2. Tidy
13199 all of the alternative outputs.
13200 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
13201 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
13202 for MN103.
13203 (udivsi3, umodsi3): New patterns for MN103 only.
13204
b899fd78
JR
132052011-01-19 Joern Rennecke <amylaar@spamcop.net>
13206
13207 * doc/tm.texi.in: Spell out that a lack of register class unions
13208 can lead to ICEs.
13209 * doc/tm.texi: Regenerate.
13210
afaaa67d
JJ
132112011-01-19 Jakub Jelinek <jakub@redhat.com>
13212
2e0642cd
JJ
13213 PR rtl-optimization/47337
13214 * dce.c (check_argument_store): New function.
13215 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
13216
afaaa67d
JJ
13217 PR tree-optimization/47290
13218 * tree-eh.c (infinite_empty_loop_p): New function.
13219 (cleanup_empty_eh): Use it.
13220
d2cd871f
SE
132212011-01-18 Steve Ellcey <sje@cup.hp.com>
13222
13223 PR target/46997
13224 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
13225 (a64_expand_widen_sum): Ditto.
13226 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
13227 (vec_extract_evenodd_help): Ditto.
13228 (vec_extract_evenv4hi): Ditto.
13229 (vec_extract_oddv4hi): Ditto.
13230 (vec_extract_evenv2si): Ditto.
13231 (vec_extract_oddv2si): Ditto.
13232 (vec_extract_evenv2sf): Ditto.
13233 (vec_extract_oddv2sf): Ditto.
13234 (vec_pack_trunc_v4hi: Ditto.
13235 (vec_pack_trunc_v2si): Ditto.
13236 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
13237 (vec_interleave_highv8qi): Ditto.
13238 (mix1_r): Ditto.
13239 (vec_extract_oddv8qi): Ditto.
13240 (vec_interleave_lowv4hi): Ditto.
13241 (vec_interleave_highv4hi): Ditto.
13242 (vec_interleave_lowv2si): Ditto.
13243 (vec_interleave_highv2si): Ditto.
13244
41a1208a
JDA
132452011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13246
13247 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
13248 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
13249 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
13250 (pa_c_mode_for_suffix): New.
13251 (TARGET_EXPAND_BUILTIN): Define.
13252 (TARGET_C_MODE_FOR_SUFFIX): Define.
13253 (pa_builtins): Define.
13254 (pa_init_builtins): Register __float128 type and init new support
13255 builtins.
13256 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
13257 * config/pa/quadlib.c (_U_Qfcopysign): New.
13258
1ecad98e
EB
132592011-01-18 Eric Botcazou <ebotcazou@adacore.com>
13260
13261 PR middle-end/46894
13262 * explow.c (allocate_dynamic_stack_space): Do not assume more than
13263 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
13264 are defined.
13265
d4f2460a
UW
132662011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13267
13268 PR tree-optimization/47179
13269 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
13270 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
13271
4994da65
RG
132722011-01-18 Richard Guenther <rguenther@suse.de>
13273
13274 PR rtl-optimization/47216
13275 * emit-rtl.c: Include tree-flow.h.
13276 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
13277 of replicating it with different semantics.
13278 * Makefile.in (emit-rtl.o): Adjust.
13279
1eb458d1
RR
132802011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13281
38be4072 13282 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 13283 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 13284
e7ef91dc
JJ
132852011-01-18 Jakub Jelinek <jakub@redhat.com>
13286
13287 PR rtl-optimization/47299
13288 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 13289 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
13290 * expmed.c (expand_widening_mult): Don't try to optimize constant
13291 multiplication if op0 has VOIDmode. Convert op1 constant to mode
13292 before using it.
13293
535b7874
RW
132942011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13295
13296 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
13297 spacing after 'e.g.', typos, comma, hyphenation.
13298
27bf36f3
RH
132992011-01-17 Richard Henderson <rth@redhat.com>
13300
8a5b5449
RH
13301 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
13302 (rx_restricted_mem_operand): New.
13303 (rx_shift_operand): Use register_operand.
13304 (rx_source_operand, rx_compare_operand): Likewise.
13305 * config/rx/rx.md (addsi3_flags): New expander.
13306 (adddi3): Rewrite as expander.
13307 (adc_internal, *adc_flags, adddi3_internal): New patterns.
13308 (subsi3_flags): New expander.
13309 (subdi3): Rewrite as expander.
13310 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
13311
784f69be
RH
13312 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
13313 (rx_init_builtins): Remove sat builtin.
13314 (rx_expand_builtin): Likewise.
13315 * config/rx/rx.md (ssaddsi3): New.
13316 (*sat): Rename from sat. Represent the CC_REG input.
13317
f033541c
RH
13318 * config/rx/predicates.md (rshift_operator): New.
13319 * config/rx/rx.c (rx_expand_insv): Remove.
13320 * config/rx/rx-protos.h: Update.
13321 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
13322 operand to the canonical position.
13323 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
13324 (*bitclr, *bitclr_in_memory): Similarly.
13325 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
13326 (insv): Retain the zero_extract in the expansion.
13327
34fee389
RH
13328 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
13329 (bswaphi2, bitinvert, revw): Likewise.
13330
265c835f
RH
13331 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
13332 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
13333 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
13334 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
13335 (bitset, bitset_in_memory): Likewise.
13336 (bitinvert, bitinvert_in_memory): Likewise.
13337 (bitclr, bitclr_in_memory): Likewise.
13338 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
13339 (rx_strend, rx_cmpstrn): Likewise.
13340 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
13341 (bitop peep2 patterns): Remove.
13342
b4d83be3
RH
13343 * config/rx/rx.c (rx_match_ccmode): New.
13344 * config/rx/rx-protos.h: Update.
13345 * config/rx/rx.md (abssi2): Clobber, don't set flags.
13346 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
13347 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
13348 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
13349 (fix_truncsfsi2, floatsisf2): Likewise.
13350 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
13351 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
13352 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
13353 (*subsi3_flags, *xorsi3_flags): New.
13354
d0acb939
RH
13355 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
13356
c06fc3d9
RH
13357 * config/rx/rx.c (rx_print_operand): Remove workaround for
13358 unsplit comparison operations.
13359
2882702b
RH
13360 * config/rx/rx.md (movsicc): Split after reload.
13361 (*movsicc): Merge *movsieq and *movsine via match_operator.
13362 (*stcc): New pattern.
13363
6f7310f2
RH
13364 * config/rx/rx.c (rx_float_compare_mode): Remove.
13365 * config/rx/rx.h (rx_float_compare_mode): Remove.
13366 * config/rx/rx.md (cstoresi4): Split after reload.
13367 (*sccc): New pattern.
13368
e963cb1a
RH
13369 * config/rx/predicates.md (label_ref_operand): New.
13370 (rx_z_comparison_operator): New.
13371 (rx_zs_comparison_operator): New.
13372 (rx_fp_comparison_operator): New.
13373 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
13374 Validate that the flags are set properly for the comparison.
13375 (rx_gen_cond_branch_template): Remove.
13376 (rx_cc_modes_compatible): Remove.
13377 (mode_from_flags): New.
13378 (flags_from_code): Rename from flags_needed_for_conditional.
13379 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
13380 (rx_select_cc_mode): Likewise.
13381 (rx_split_fp_compare): New.
13382 (rx_split_cbranch): New.
13383 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
13384 (*cbranchsi4): Use match_operator and rx_split_cbranch.
13385 (*cbranchsf4): Similarly.
13386 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
13387 match_operator and rx_split_cbranch.
13388 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
13389 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
13390 (*cmpsi): Rename from cmpsi.
13391 (*tstsi): Rename from tstsi.
13392 (*cmpsf): Rename from cmpsf; use CC_Fmode.
13393 (*conditional_branch): Rename from conditional_branch.
13394 (*reveresed_conditional_branch): Remove.
13395 (b<code>): Remove expander.
13396 * config/rx/rx-protos.h: Update.
13397
af530bb4
RH
13398 * config/rx/rx.c (rx_compare_redundant): Remove.
13399 * config/rx/rx.md (cmpsi): Don't use it.
13400 * config/rx/rx-protos.h: Update.
13401
27bf36f3
RH
13402 * config/rx/rx-modes.def (CC_F): New mode.
13403 * config/rx/rx.c (rx_select_cc_mode): New.
13404 * config/rx/rx.h (SELECT_CC_MODE): Use it.
13405 * config/rx/rx-protos.h: Update.
13406
d7fde127
RH
134072011-01-17 Richard Henderson <rth@redhat.com>
13408
13409 * except.c (dump_eh_tree): Fix stray ; after for statement.
13410
6ff38230
RG
134112011-01-17 Richard Guenther <rguenther@suse.de>
13412
13413 PR tree-optimization/47313
13414 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
13415 handling before copying the body. Properly deal with
13416 by-reference result in SSA form.
13417
114ce554
ILT
134182011-01-17 Ian Lance Taylor <iant@google.com>
13419
bf5cd92b 13420 PR target/47219
114ce554
ILT
13421 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
13422 (struct_value_alias_set): Don't define.
13423 (sparc_option_override): Don't set sparc_sr_alias_set and
13424 struct_value_alias_set.
13425 (save_or_restore_regs): Use gen_frame_mem rather than calling
13426 set_mem_alias_set.
13427 (sparc_struct_value_rtx): Likewise.
13428
98c6d93c
L
134292011-01-17 H.J. Lu <hongjiu.lu@intel.com>
13430
13431 PR target/47318
7a81008b 13432 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i.
98c6d93c
L
13433 (_mm_maskstore_pd): Likewise.
13434 (_mm_maskload_ps): Likewise.
13435 (_mm_maskstore_ps): Likewise.
13436 (_mm256_maskload_pd): Change mask to __m256i.
13437 (_mm256_maskstore_pd): Likewise.
13438 (_mm256_maskload_ps): Likewise.
13439 (_mm256_maskstore_ps): Likewise.
13440
13441 * config/i386/i386-builtin-types.def: Updated.
13442 (ix86_expand_special_args_builtin): Likewise.
13443
13444 * config/i386/i386.c (bdesc_special_args): Update
13445 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
13446 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
13447 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
13448 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
13449
13450 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
13451 Use <avxpermvecmode> on mask register.
13452 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
13453
b9361af2 134542011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
13455 Michael Haubenwallner <michael.haubenwallner@salomon.at>
13456 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
13457
13458 PR target/46655
13459 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
13460 if <= USHRT_MAX in 32-bit mode.
13461
b7ae9eb5
RW
134622011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13463
13464 * doc/install.texi (Configuration, Specific): Wrap long
13465 lines in examples. Allow line wrapping in long options
13466 and URLs where beneficial for PDF output.
13467
4377fad9
RS
134682011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
13469
13470 * config/mips/mips.c (mips_classify_symbol): Don't return
13471 SYMBOL_PC_RELATIVE for nonlocal labels.
13472
55959ffa 134732011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 13474
55959ffa
EB
13475 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
13476
134772011-01-15 Jan Hubicka <jh@suse.cz>
13478
13479 PR tree-optimization/47276
be46831f
JH
13480 * ipa.c (function_and_variable_visibility): Do not try to mark alias
13481 declarations as needed.
13482
05842ff5
MJ
134832011-01-15 Martin Jambor <mjambor@suse.cz>
13484
13485 * common.opt (fdevirtualize): New flag.
13486 * doc/invoke.texi (Option Summary): Document it.
13487 * opts.c (default_options_table): Add devirtualize flag.
13488 * ipa-prop.c (detect_type_change): Return immediately if
13489 devirtualize flag is not set.
13490 (detect_type_change_ssa): Likewise.
13491 (compute_known_type_jump_func): Likewise.
13492 (ipa_analyze_virtual_call_uses): Likewise.
13493
f65cf2b7
MJ
134942011-01-14 Martin Jambor <mjambor@suse.cz>
13495
13496 PR tree-optimization/45934
13497 PR tree-optimization/46302
13498 * ipa-prop.c (type_change_info): New type.
13499 (stmt_may_be_vtbl_ptr_store): New function.
13500 (check_stmt_for_type_change): Likewise.
13501 (detect_type_change): Likewise.
13502 (detect_type_change_ssa): Likewise.
13503 (compute_complex_assign_jump_func): Check for dynamic type change.
13504 (compute_complex_ancestor_jump_func): Likewise.
13505 (compute_known_type_jump_func): Likewise.
13506 (compute_scalar_jump_functions): Likewise.
13507 (ipa_analyze_virtual_call_uses): Likewise.
13508 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
13509
eb5bb0fd
JM
135102011-01-14 Joseph Myers <joseph@codesourcery.com>
13511
13512 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
13513 * config/i386/i386.opt (msse5): New Alias.
13514
f2060fbe
JM
135152011-01-14 Joseph Myers <joseph@codesourcery.com>
13516
13517 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
13518 * config/sparc/linux64.h (CC1_SPEC): Likewise.
13519 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
13520 * config/sparc/sparc.h (CC1_SPEC): Likewise.
13521
3a7b4385
JM
135222011-01-14 Joseph Myers <joseph@codesourcery.com>
13523
13524 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
13525 -mcpu options.
13526 * config/sparc/linux64.h (CC1_SPEC): Likewise.
13527 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
13528 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
13529 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
13530 Likewise.
13531 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
13532
a7b778f8
JM
135332011-01-14 Joseph Myers <joseph@codesourcery.com>
13534
38be4072 13535 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 13536
a7edae0a
MS
135372011-01-14 Mike Stump <mikestump@comcast.net>
13538
13539 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
13540 * config/fr30/fr30.md: Likweise
13541 (movsi_push): Likewise.
13542 (movsi_pop): Likewise.
13543 (enter_func): Likewise.
13544 * config/moxie/moxie.md (movsi_push): Likewise.
13545 (movsi_pop): Likewise.
13546
cbabf03f
JM
135472011-01-14 Joseph Myers <joseph@codesourcery.com>
13548
13549 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
13550 %{no_archive} %{exact_version}.
13551 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
13552 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
13553 %{no_archive} %{exact_version}.
13554 * config/mips/openbsd.h (LINK_SPEC): Likewise.
13555 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
13556 * config/mips/vxworks.h: Likewise.
13557
438da41a
JM
135582011-01-14 Joseph Myers <joseph@codesourcery.com>
13559
38be4072 13560 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 13561
da290a42
JM
135622011-01-14 Joseph Myers <joseph@codesourcery.com>
13563
13564 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
13565 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
13566
8989d00e
JM
135672011-01-14 Joseph Myers <joseph@codesourcery.com>
13568
13569 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
13570 -nodefaultlib.
13571
a3010a69
JM
135722011-01-14 Joseph Myers <joseph@codesourcery.com>
13573
13574 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
13575 for mcpu not cpu.
13576 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
13577 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
13578 not cpu.
13579 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
13580 Don't handle -shlib.
13581
e7f2f537
JM
135822011-01-14 Joseph Myers <joseph@codesourcery.com>
13583
13584 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
13585 (CC1_SPEC): Don't handle -profile.
13586
34830bfd
JM
135872011-01-14 Joseph Myers <joseph@codesourcery.com>
13588
13589 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
13590 * config/mips/mips.h (CC1_SPEC): Likewise.
13591
b2d36e74
JM
135922011-01-14 Joseph Myers <joseph@codesourcery.com>
13593
13594 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
13595 * config/mips/mips.h (CC1_SPEC): Likewise.
13596
dabadc52
JM
135972011-01-14 Joseph Myers <joseph@codesourcery.com>
13598
13599 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
13600 * config/m32r/linux.h (LINK_SPEC): Likewise.
13601 * config/mips/linux.h (LINK_SPEC): Likewise.
13602 * config/mips/linux64.h (LINK_SPEC): Likewise.
13603 * config/sparc/linux.h (LINK_SPEC): Likewise.
13604 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
13605 LINK_SPEC): Likewise.
13606 * config/xtensa/linux.h (LINK_SPEC): Likewise.
13607
43ee6785
JM
136082011-01-14 Joseph Myers <joseph@codesourcery.com>
13609
13610 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
13611 %{version:-v}.
13612 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
13613
45e79dfd
JM
136142011-01-14 Joseph Myers <joseph@codesourcery.com>
13615
13616 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
13617 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
13618
37e9e71d
JM
136192011-01-14 Joseph Myers <joseph@codesourcery.com>
13620
13621 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
13622
bb127cd8
RO
136232011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13624
13625 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
13626 supports -Bstatic/-Bdynamic.
13627 * configure: Regenerate.
13628
89a012ea 136292011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 13630 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
13631
13632 PR target/46037
13633 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
13634 when checking debug_info_level. Test write_symbols instead of
13635 debug_hooks->var_location when setting flag_var_tracking_uninit.
13636
7352c013
RG
136372011-01-14 Richard Guenther <rguenther@suse.de>
13638
13639 PR tree-optimization/47179
13640 * target.def (ref_may_alias_errno): New target hook.
13641 * targhooks.h (default_ref_may_alias_errno): Declare.
13642 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
13643 (default_ref_may_alias_errno): New function.
13644 * target.h (struct ao_ref_s): Declare.
13645 * tree-ssa-alias.c: Include target.h.
13646 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
13647 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
13648 (targhooks.o): Likewise.
13649 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
13650 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
13651
9a6c9288
RG
136522011-01-14 Richard Guenther <rguenther@suse.de>
13653
13654 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
13655
0fdb0d27
RG
136562011-01-14 Richard Guenther <rguenther@suse.de>
13657
13658 PR tree-optimization/47280
13659 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
13660 return CFG changes.
13661 (tree_ssa_forward_propagate_single_use_vars): Deal with
13662 CFG changes from associate_plusminus.
13663
8f66db3b
RG
136642011-01-14 Richard Guenther <rguenther@suse.de>
13665
13666 PR middle-end/47281
13667 Revert
13668 2011-01-11 Richard Guenther <rguenther@suse.de>
13669
280d9630
EB
13670 PR tree-optimization/46076
13671 * tree-ssa.c (useless_type_conversion_p): Conversions from
13672 unprototyped to empty argument list function types are useless.
8f66db3b 13673
6c0c92e6
RG
136742011-01-14 Richard Guenther <rguenther@suse.de>
13675
13676 PR tree-optimization/47286
280d9630 13677 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 13678
db09f943
MJ
136792011-01-14 Martin Jambor <mjambor@suse.cz>
13680
13681 PR middle-end/46823
13682 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
13683
dde8a3a4
AS
136842011-01-13 Anatoly Sokolov <aesok@post.ru>
13685
13686 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
13687 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
13688 * config/xtensa/xtensa.c (xtensa_libcall_value,
13689 xtensa_function_value_regno_p): New functions.
13690 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
13691
a2b63a20
KT
136922011-01-13 Kai Tietz <kai.tietz@onevision.com>
13693
13694 PR c++/47213
13695 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
13696 PE specific hook.
13697 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
13698 New function prototype.
13699 * config/i386/winnt.c (i386_pe_assemble_visibility):
13700 Warn only if attribute was specified by user.
13701
b41f0b34
MM
137022011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
13703
13704 PR target/47251
13705 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
13706 floating point.
13707 (floatunsdidf2_fcfidu): Ditto.
13708
3f3c098d
AK
137092011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13710
13711 * config/s390/s390.c (print_operand_address): Replace 'error' with
13712 'output_operand_lossage'.
13713 (print_operand): Likewise.
13714
29fa95ed
JL
137152011-01-13 Jeff Law <law@redhat.com>
13716
280d9630 13717 PR rtl-optimization/39077
29fa95ed
JL
13718 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
13719 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
13720 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
13721 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
13722 * gcse.c (prune_insertions_deletions): New function.
13723 (compute_pre_data): Use it.
13724
71d12276
DS
137252011-01-13 Dodji Seketeli <dodji@redhat.com>
13726
13727 PR debug/PR46973
13728 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
13729 static function.
61052244 13730 (prune_unused_types_mark): Use it.
71d12276 13731
9b0f04e7
AB
137322011-01-13 Andrey Belevantsev <abel@ispras.ru>
13733
13734 PR rtl-optimization/45352
1c3ba85b 13735 * sel-sched.c: Update copyright years.
9b0f04e7 13736 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 13737 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 13738
d6a3e264
RH
137392011-01-12 Richard Henderson <rth@redhat.com>
13740
a49b692a
RH
13741 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
13742 (TARGET_MD_ASM_CLOBBERS): New.
13743
126b1483
RH
13744 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
13745 (TARGET_DELEGITIMIZE_ADDRESS): New.
13746
f3d9d2e0
RH
13747 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
13748 (clzsi2, *bsch): New patterns.
13749
d84760c9
RH
13750 * config/mn10300/mn10300.md (INT): New mode iterator.
13751 (*mov<INT>_clr): New pattern, and peep2 to generate it.
13752
ec815d65
RH
13753 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
13754 flag_split_wide_types.
13755
d6a3e264
RH
13756 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
13757 (mn10300_trampoline_init): Rewrite without a template, an immediate
13758 load and a direct branch.
13759 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
13760
0f8ab434
AS
137612011-01-12 Anatoly Sokolov <aesok@post.ru>
13762
13763 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
13764 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
13765 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
13766 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
13767
d8a24b65
KT
137682011-01-12 Kai Tietz <kai.tietz@onevision.com>
13769
13770 PR debug/47209
13771 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
13772 of type.
13773
56e22cab
JH
137742011-01-12 Jan Hubicka <jh@suse.cz>
13775
13776 PR driver/47244
13777 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
13778 (PLUGIN_COND_CLOSE): New macro.
13779 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
13780
4b18b3c2
RG
137812011-01-12 Richard Guenther <rguenther@suse.de>
13782
13783 PR lto/47259
13784 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
13785 register variables in a MEM_REF.
13786
8e38461c
JM
137872011-01-12 Joseph Myers <joseph@codesourcery.com>
13788
13789 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
13790 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
13791 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
13792 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
13793 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
13794 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
13795 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
13796 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
13797 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
13798 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
13799 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
13800 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
13801 * config/gnu-user.h: New. Copied from linux.h.
13802 (LINUX_TARGET_STARTFILE_SPEC): Rename to
13803 GNU_USER_TARGET_STARTFILE_SPEC.
13804 (LINUX_TARGET_ENDFILE_SPEC): Rename to
13805 GNU_USER_TARGET_ENDFILE_SPEC.
13806 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
13807 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
13808 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
13809 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
13810 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
13811 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
13812 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
13813 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
13814 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
13815 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
13816 * config/arm/linux-eabi.h (CC1_SPEC): Use
13817 GNU_USER_TARGET_CC1_SPEC.
13818 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
13819 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
13820 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
13821 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
13822 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
13823 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
13824 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
13825 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
13826
a570fc16
RG
138272011-01-12 Richard Guenther <rguenther@suse.de>
13828
13829 PR other/46946
13830 * doc/invoke.texi (ffast-math): Document it is turned on
13831 with -Ofast.
13832
b0223c3e
JH
138332011-01-12 Jan Hubicka <jh@suse.cz>
13834
13835 PR tree-optimization/47233
ca1e00b3
EB
13836 * opts.c (common_handle_option): Disable ipa-reference with profile
13837 feedback.
b0223c3e 13838
1c3ba85b 138392011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
13840
13841 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
13842 error message.
13843
d853ee42
NP
138442011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
13845
13846 * c-parser.c (c_lex_one_token): Updated and reindented some
13847 comments. No changes in code.
13848
4053a5a0
ILT
138492011-01-11 Ian Lance Taylor <iant@google.com>
13850
13851 * godump.c (go_output_var): Don't output the variable if there is
13852 already a type with the same name.
13853
fa3e04d2
ILT
138542011-01-11 Ian Lance Taylor <iant@google.com>
13855
13856 * godump.c (go_format_type): Don't generate float80.
13857
885fe07c
RH
138582011-01-11 Richard Henderson <rth@redhat.com>
13859
72d6e3c5
RH
13860 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
13861 declaration. Rewrite for both speed and size.
13862 (mn10300_address_cost_1): Remove.
13863 (mn10300_register_move_cost): New.
13864 (mn10300_memory_move_cost): New.
13865 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
13866 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
13867 extensions, shifts, BSWAP, CLZ.
13868 (mn10300_wide_const_load_uses_clr): Remove.
13869 (TARGET_REGISTER_MOVE_COST): New.
13870 (TARGET_MEMORY_MOVE_COST): New.
13871 * config/mn10300/mn10300-protos.h: Update.
13872 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
13873
df37c023
RH
13874 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
13875 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
13876 * config/mn10300/mn10300-protos.h: Update.
13877 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
13878 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
13879 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
13880 (*test_int_bitfield, *test_byte_bitfield): Remove.
13881 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 13882 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 13883
85a337b5
RH
13884 * config/mn10300/constraints.md ("c"): Rename from "A".
13885 ("A", "D"): New constraint letters.
13886 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
13887 (fmssf4, fnmasf4, fnmssf4): Likewise.
13888
a5c727e3
RH
13889 * config/mn10300/mn10300.md (isa): New attribute.
13890 (enabled): New attribute.
13891
0d9e23f4
RH
13892 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
13893 (abssf2, negsf2): Define only for hardware fp.
13894 (sqrtsf2): Reformat.
13895 (addsf3, subsf3, mulsf3): Merge expander and insn.
13896
c157b3f0
RH
13897 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
13898 (DEBUGGER_AUTO_OFFSET): Remove.
13899 (DEBUGGER_ARG_OFFSET): Remove.
13900
cc909bba
RH
13901 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
13902 Emit register stores with the same offsets as the hardware.
13903 (mn10300_store_multiple_operation): Don't check that the register
13904 save offsets are monotonic.
13905 * config/mn10300/mn10300-protos.h: Update.
13906
e3b5c2f3
RH
13907 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
13908
885fe07c
RH
13909 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
13910 in terms of the value on the stack, not the MDR register.
13911
6e701822
JH
139122011-01-11 Jan Hubicka <jh@suse.cz>
13913
13914 PR lto/45721
13915 PR lto/45375
13916 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
13917 (symbol_alias_set_destroy, symbol_alias_set_contains,
13918 propagate_aliases_backward): Declare.
13919 * lto-streamer-out.c (struct sets): New sturcture.
13920 (trivally_defined_alias): New function.
13921 (output_alias_pair_p): Rewrite.
13922 (output_unreferenced_globals): Fix output of alias pairs.
13923 (produce_symtab): Likewise.
13924 * ipa.c (function_and_variable_visibility): Set weak alias destination
13925 as needed in lto.
13926 * varasm.c (symbol_alias_set_t): Remove.
13927 (symbol_alias_set_destroy): Export.
13928 (propagate_aliases_forward, propagate_aliases_backward): New functions
13929 based on ...
13930 (compute_visible_aliases): ... this one; remove.
13931 (trivially_visible_alias): New
13932 (trivially_defined_alias): New.
13933 (remove_unreachable_alias_pairs): Rewrite.
13934 (finish_aliases_1): Reorganize code checking if alias is defined.
13935 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
13936 in LTO mode.
13937
1b248907
RG
139382011-01-11 Richard Guenther <rguenther@suse.de>
13939
13940 PR tree-optimization/46076
13941 * tree-ssa.c (useless_type_conversion_p): Conversions from
13942 unprototyped to empty argument list function types are useless.
13943
b1923f0a
RG
139442011-01-11 Richard Guenther <rguenther@suse.de>
13945
13946 PR middle-end/45235
13947 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
13948 volatile MEMs as MEM_READONLY_P.
13949
e98965af
RG
139502011-01-11 Richard Guenther <rguenther@suse.de>
13951
13952 PR tree-optimization/47239
13953 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
13954
9f9ca914
JL
139552011-01-11 Jeff Law <law@redhat.com>
13956
1ee3ea05 13957 PR tree-optimization/47086
9f9ca914
JL
13958 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
13959 IVs from statements that might throw.
13960
345fdcb7
JH
139612011-01-10 Jan Hubicka <jh@suse.cz>
13962
13963 PR lto/45375
13964 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
13965
c459c97b
JH
139662011-01-10 Jan Hubicka <jh@suse.cz>
13967
13968 PR lto/45375
13969 * profile.c (read_profile_edge_counts): Ignore profile inconistency
13970 when correcting profile.
13971
06c9eb51
JH
139722011-01-10 Jan Hubicka <jh@suse.cz>
13973
13974 PR lto/46083
13975 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
13976 DECL_FINI_PRIORITY.
13977 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
13978 Restore DECL_FINI_PRIORITY.
13979
ae9fd815
RW
139802011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13981
13982 * doc/gimple.texi: Fix quoting of multi-word return values in
13983 @deftypefn statements. Ensure presence of return value. Wrap
13984 overlong @deftypefn lines.
13985 (is_gimple_operand, is_gimple_min_invariant_address): Remove
13986 descriptions of removed functions.
13987 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
13988 of multi-word return value in @deftypefn statement.
13989
0ecb4a7c
RW
139902011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13991
13992 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
13993 (Conditional Expressions, Logical Operators)
13994 (Statement and operand traversals): Do not indent smallexample
13995 code. Fix duplicate function argument in example.
13996
2e5e346d
JL
139972011-01-10 Jeff Law <law@redhat.com>
13998
1ee3ea05 13999 PR tree-optimization/47141
2e5e346d
JL
14000 * ipa-split.c (split_function): Handle case where we are
14001 returning a value and the return block has a virtual operand phi.
14002
cf9712cc
JH
140032011-01-10 Jan Hubicka <jh@suse.cz>
14004
1c3ba85b 14005 PR tree-optimization/47234
cf9712cc
JH
14006 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
14007 (pass_feedback_split_functions): Declare.
14008 * passes.c (init_optimization_passes): Add ipa-split as subpass of
14009 tree-profile.
14010 * ipa-split.c (gate_split_functions): Update comments; disable
14011 split-functions for profile_arc_flag and branch_probabilities.
14012 (gate_feedback_split_functions): New function.
14013 (execute_feedback_split_functions): New function.
14014 (pass_feedback_split_functions): New global var.
14015
94cd932c
L
140162011-01-10 H.J. Lu <hongjiu.lu@intel.com>
14017
14018 PR lto/46760
14019 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
14020 calling gimple_call_set_cannot_inline.
14021
fbbfcaf1
IS
140222011-01-10 Iain Sandoe <iains@gcc.gnu.org>
14023
14024 * config/darwin-sections.def: Remove unused section.
14025
d06865bf
DK
140262011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
14027
14028 PR c++/47218
14029 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
14030
96bbfbac
NP
140312011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
14032
14033 PR objc/47232
14034 * c-parser.c (c_parser_declaration_or_fndef): Improved
14035 error message.
14036
1ba6516f
KT
140372011-01-09 Kai Tietz <kai.tietz@onevision.com>
14038
14039 * config/i386/winnt.c (i386_pe_start_function): Make sure
14040 to switch back to function's section.
14041
0c5d770e
IS
140422011-01-09 Iain Sandoe <iains@gcc.gnu.org>
14043
14044 PR gcc/46902
14045 PR testsuite/46912
14046 * plugin.c: Move include of dlfcn.h from here...
14047 * system.h: ... to here.
14048
140492011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
14050
14051 * doc/cpp.texi (C++ Named Operators): Fix markup for header
14052 file name.
14053 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
14054 two extra empty pages in PDF output.
14055
046608a3
NP
140562011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
14057
14058 PR objc/47078
14059 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
14060 for error recovery purposes behave as if it was not specified so
14061 that the default type is usd.
14062
8cb114b9
JH
140632011-01-07 Jan Hubicka <jh@suse.cz>
14064
14065 PR tree-optmization/46469
14066 * ipa.c (function_and_variable_visibility): Clear needed flags on
14067 nodes with external decls; handle weakrefs merging correctly.
14068
b294a75e
JM
140692011-01-07 Joseph Myers <joseph@codesourcery.com>
14070
14071 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
14072 not false.
14073
96bdf9b4
JH
140742011-01-07 Jan Hubicka <jh@suse.cz>
14075
f60c2554 14076 * doc/invoke.texi (-flto, -fuse-linker-plugin): Update defaults
96bdf9b4
JH
14077 and no longer claim that gold is required for linker plugin.
14078 * configure: Regenerate.
14079 * gcc.c (PLUGIN_COND): New macro.
14080 (LINK_COMMAND_SPEC): Use it.
14081 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
14082 * config.in (HAVE_LTO_PLUGIN): New.
14083 * configure.ac (--with-lto-plugin): New parameter; autodetect
14084 HAVE_LTO_PLUGIN.
14085
17afc0fe
JH
140862011-01-07 Jan Hubicka <jh@suse.cz>
14087
14088 PR tree-optimization/46367
14089 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
14090 when we can update original.
14091 (cgraph_mark_inline_edge): Sanity check.
14092 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
14093
d4c48c0f
UW
140942011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14095
14096 * config/spu/spu.h (ASM_COMMENT_START): Define.
14097
96f5b137
L
140982011-01-07 H.J. Lu <hongjiu.lu@intel.com>
14099
14100 PR driver/42445
14101 * gcc.c (%>S): New.
14102 (SWITCH_KEEP_FOR_GCC): Likewise.
14103 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
14104 (do_spec_1): Handle "%>".
14105
14106 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
14107
c6a8f6de
JJ
141082011-01-07 Jakub Jelinek <jakub@redhat.com>
14109
c21bbd7a
JJ
14110 PR target/47201
14111 * config/i386/i386.c (ix86_delegitimize_address): If
14112 simplify_gen_subreg fails, return orig_x.
14113
c6a8f6de
JJ
14114 PR bootstrap/47187
14115 * value-prof.c (gimple_stringop_fixed_value): Handle
14116 lhs of the call properly.
14117
fe95fbf9
JH
141182011-01-07 Jan Hubicka <jh@suse.cz>
14119
14120 PR lto/45375
14121 * lto-opt.c (lto_reissue_options): Set flag_shlib.
14122
14d11d40
IS
141232011-01-07 Iain Sandoe <iains@gcc.gnu.org>
14124
72e961c8
EB
14125 * target.def (function_switched_text_sections): New hook.
14126 * doc/tm.texi: Regenerated.
14127 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 14128 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
14129 (final_scan_insn): Call function_switched_text_sections when a
14130 mid-function section change occurs.
14d11d40 14131 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
14132 * config/darwin-protos.h (darwin_function_switched_text_sections):
14133 Likewise.
14d11d40 14134 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 14135 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 14136
0b764288
IS
141372011-01-07 Iain Sandoe <iains@gcc.gnu.org>
14138
14139 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
14140 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
14141 the secondary code fragment when outputting for DWARF == 2.
14142
2ac6bb04
AS
141432011-01-07 Anatoly Sokolov <aesok@post.ru>
14144
14145 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
14146 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
14147 Remove.
14148 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
14149 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
14150
9f82de11
EB
141512011-01-06 Eric Botcazou <ebotcazou@adacore.com>
14152
14153 PR debug/46704
280d9630
EB
14154 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
14155 when it is not empty.
9f82de11
EB
14156
141572011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 14158
1ed72abf 14159 Bobcat Enablement
14b52538 14160 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 14161 (case ${target}): Add btver1.
14b52538 14162 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 14163 -march=native recognize btver1 processors.
14b52538 14164 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 14165 btver1 def_and_undef
14b52538 14166 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
14167 btver1 cost table.
14168 (m_BTVER1): New definition.
14169 (m_AMD_MULTIPLE): Includes m_BTVER1.
14170 (initial_ix86_tune_features): Add btver1 tune.
14171 (processor_target_table): Add btver1 entry.
14172 (static const char *const cpu_names): Add btver1 entry.
14173 (software_prefetching_beneficial_p): Add btver1.
14174 (ix86_option_override_internal): Add btver1 instruction sets.
14175 (ix86_issue_rate): Add btver1.
14176 (ix86_adjust_cost): Add btver1.
14b52538 14177 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
14178 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
14179 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
14180 * config/i386/i386.md (define_attr "cpu"): Add btver1.
14181
e1a973d8
RO
141822011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14183
14184 PR target/43309
14185 * config/i386/i386.c (legitimize_tls_address)
14186 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
14187 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
14188 (tls_initial_exec_64_sun): New pattern.
14189
c73f67c5
GP
141902011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
14191
14192 * doc/invoke.texi (Overall Options): Improve wording and markup
14193 of the description of -wrapper.
14194
bc4c6f9c
JM
141952011-01-06 Joseph Myers <joseph@codesourcery.com>
14196
14197 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
14198 rdynamic, threads): New Driver options.
14199
adb75db0
RO
142002011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14201
14202 PR target/38118
14203 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
14204 if coming from .tdata.
14205 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
14206
402c1cb4
JH
142072011-01-06 Jan Hubicka <jh@suse.cz>
14208
14209 PR lto/47188
14210 * collect2.c (main): Do not enable LTOmode when plugin is active.
14211
a4da6485
RO
142122011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14213
14214 PR other/45915
14215 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
14216 --version output if supported.
14217 * configure: Regenerate.
14218
028dbdf4
JM
142192011-01-06 Joseph Myers <joseph@codesourcery.com>
14220
14221 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
14222 Driver options.
14223
dfe776dd
JJ
142242011-01-06 Jakub Jelinek <jakub@redhat.com>
14225
14226 PR c/47150
14227 * c-convert.c (convert): When converting a complex expression
14228 other than COMPLEX_EXPR to a different complex type, ensure
14229 c_save_expr is called instead of save_expr, unless in_late_binary_op.
14230 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
14231 when converting COMPLEX_TYPE.
14232
210dedfe
IR
142332011-01-06 Ira Rosen <irar@il.ibm.com>
14234
14235 PR tree-optimization/47139
14236 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
14237 only the last reduction value is used outside the loop. Update
14238 documentation.
14239
cd33a412
JM
142402011-01-05 Joseph Myers <joseph@codesourcery.com>
14241
14242 * config/rtems.opt: New.
14243 * config.gcc (*-*-rtems*): Use rtems.opt.
14244
819edd94
CF
142452011-01-05 Changpeng Fang <changpeng.fang@amd.com>
14246
14247 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
14248 processors do not support 3DNow instructions.
14249
dc242c4a
UW
142502011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14251
14252 * config/spu/spu.c (spu_option_override): Set parameter
14253 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
14254
be286227
JH
142552011-01-05 Jan Hubicka <jh@suse.cz>
14256
14257 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
14258 at the command line.
14259
644e637f
MJ
142602011-01-05 Martin Jambor <mjambor@suse.cz>
14261
14262 PR lto/47162
14263 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
14264 deltas on streamed outgoing edges.
14265 (output_node_opt_summary): Output info for outgoing edges only when
14266 the node is in new parameter set.
14267 (output_cgraph_opt_summary): New parameter set, passed to the two
14268 aforementioned functions. Update its forward declaration and its
14269 callee too.
14270
7bd11157
TT
142712011-01-05 Tom Tromey <tromey@redhat.com>
14272
14273 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
14274 operator to c_finish_omp_atomic.
14275 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
14276 (build_unary_op): Update.
14277 (build_modify_expr): Update.
14278 (build_asm_expr): Update.
14279
f626b979
UW
142802011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14281
14282 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
14283 newly inserted insns.
14284 (pad_bb): Likewise.
14285 (spu_emit_branch_hint): Likewise.
14286 (insert_hbrp_for_ilb_runout): Likewise.
14287 (spu_machine_dependent_reorg): Call df_finish_pass after
14288 schedule_insns returns.
14289
4c825c02
UW
142902011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14291
14292 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
14293
5e9fba51
EB
142942011-01-05 Eric Botcazou <ebotcazou@adacore.com>
14295
14296 PR tree-optimization/47005
14297 * tree-sra.c (struct access): Add 'non_addressable' bit.
14298 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
14299 (decide_one_param_reduction): Return 0 if the parameter is passed by
14300 reference and one of the accesses in the group is non_addressable.
14301
3ebb5ca6
EB
143022011-01-04 Eric Botcazou <ebotcazou@adacore.com>
14303
14304 PR tree-optimization/47056
14305 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
14306 (mark_load): Likewise. Handle FUNCTION_DECL specially.
14307 (mark_store): Likewise. Pass STMT to ipa_record_reference.
14308
d5d4d14e
EB
143092011-01-04 Eric Botcazou <ebotcazou@adacore.com>
14310
14311 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
14312 initializer. Skip view conversions from aggregate types.
14313
d996ef70
KT
143142011-01-04 Kai Tietz <kai.tietz@onevision.com>
14315
14316 PR bootstrap/47055
14317 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
14318
509d65dd 143192011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
14320
14321 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
14322 obvious typo.
14323
55c623b5
UW
143242011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14325
14326 * function.c (thread_prologue_and_epilogue_insns): Do not crash
14327 on empty epilogue sequences.
14328
b98d6b35
JM
143292011-01-04 Joseph Myers <joseph@codesourcery.com>
14330
14331 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
14332 non-static): New Driver options.
14333
a0d43bac
JZ
143342011-01-04 Jie Zhang <jie@codesourcery.com>
14335
14336 PR driver/47137
14337 * gcc.c (default_compilers[]): Set combinable field to 0
14338 for all assembly languages.
14339
2b18eb32
MX
143402011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
14341
14342 * config/mips/loongson3a.md: New file.
14343 * config/mips/mips.md: Include loongson3a.md.
14344 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
14345 TUNE_LOONGSON_3A.
14346
42a48c4f
EB
143472011-01-03 Eric Botcazou <ebotcazou@adacore.com>
14348
14349 PR middle-end/47017
14350 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
14351 instead of convert_memory_address_addr_space on the base expression.
14352
9c1732c4
UW
143532011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14354
14355 * config/spu/spu.c (spu_option_override): Update error text
14356 for bad -march= / -mtune= values.
14357
aa474365
UW
143582011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14359
14360 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
14361 if branch-hint optimization will be performed.
14362
9766135b
JJ
143632011-01-03 Jakub Jelinek <jakub@redhat.com>
14364
371556ee
JJ
14365 PR tree-optimization/47148
14366 * ipa-split.c (split_function): Convert arguments to
14367 DECL_ARG_TYPE if possible.
14368
1ac12fa2
JJ
14369 PR tree-optimization/47155
14370 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
14371 when computing uns.
14372
9766135b
JJ
14373 PR rtl-optimization/47157
14374 * combine.c (try_combine): If undobuf.other_insn becomes
14375 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
14376 and set *new_direct_jump_p too.
14377
f4a2e571
SP
143782011-01-03 Sebastian Pop <sebastian.pop@amd.com>
14379
14380 PR tree-optimization/47021
14381 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
14382
9f8e43c0
JJ
143832011-01-03 Jakub Jelinek <jakub@redhat.com>
14384
14385 * gcc.c (process_command): Update copyright notice dates.
14386 * gcov.c (print_version): Likewise.
14387 * gcov-dump.c (print_version): Likewise.
14388 * mips-tfile.c (main): Likewise.
14389 * mips-tdump.c (main): Likewise.
14390
1a2e38f3
MJ
143912011-01-03 Martin Jambor <mjambor@suse.cz>
14392
14393 PR tree-optimization/46801
14394 * tree-sra.c (type_internals_preclude_sra_p): Check whether
14395 aggregate fields start at byte boundary instead of the bit-field flag.
14396
56b721c5
L
143972011-01-03 H.J. Lu <hongjiu.lu@intel.com>
14398
14399 PR driver/47137
14400 * gcc.c (main): Revert revision 168407.
14401
839d549b
MJ
144022011-01-03 Martin Jambor <mjambor@suse.cz>
14403
14404 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
14405
4ce99a20 144062011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
14407
14408 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
14409 vector optab to expand vector/scalar shift, update gimple to vector.
14410
76df0ae6
MJ
144112011-01-03 Martin Jambor <mjambor@suse.cz>
14412
14413 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
14414 a thunk.
14415
ce47fda3
MJ
144162011-01-03 Martin Jambor <mjambor@suse.cz>
14417
14418 PR tree-optimization/46984
14419 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
14420 HOST_WIDE_INT.
14421 (cgraph_create_indirect_edge): Fixed line length.
14422 (cgraph_indirect_call_info): Declare.
14423 (cgraph_make_edge_direct) Update declaration.
14424 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
14425 (cgraph_create_indirect_edge): Use it.
14426 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
14427 callees.
14428 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
14429 the new thunk_delta representation.
14430 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
14431 HOST_WIDE_INT.
14432 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
14433 (ipa_read_indirect_edge_info): Likewise.
14434 * lto-cgraph.c (output_edge_opt_summary): New function.
14435 (output_node_opt_summary): Call it on all outgoing edges.
14436 (input_edge_opt_summary): New function.
14437 (input_node_opt_summary): Call it on all outgoing edges.
14438
1e67fa1f
L
144392011-01-02 H.J. Lu <hongjiu.lu@intel.com>
14440
14441 PR driver/47137
14442 * gcc.c (main): Don't check have_o when settting combine_inputs.
14443
6656b2ac
EB
144442011-01-02 Eric Botcazou <ebotcazou@adacore.com>
14445
14446 * regrename.c: Add general comment describing the pass.
14447 (struct du_head): Remove 'length' field.
14448 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
14449 (regrename_optimize): Do not sort chains. Rework comments, add others.
14450 Force renaming to the preferred class (if any) in the first pass and do
14451 not consider registers that belong to it in the second pass.
14452 (create_new_chain): Do not set 'length' field.
14453 (scan_rtx_reg): Likewise.
14454
bc470c24
JJ
144552011-01-02 Jakub Jelinek <jakub@redhat.com>
14456
4e996296
JJ
14457 PR tree-optimization/47140
14458 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
14459 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
14460 to bit_value_binop.
14461
bc470c24 14462 PR rtl-optimization/47028
6656b2ac
EB
14463 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
14464 parm_birth_insn instead of at the beginning of first bb.
bc470c24 14465
5af62fcd 144662011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
14467
14468 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
14469 Remove the word "see" before "@pxref".
14470 * doc/rtl.texi: Remove the word "see" before "@pxref".
14471
0e20c89f
JH
144722011-01-01 Jan Hubicka <jh@suse.cz>
14473
6656b2ac
EB
14474 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
14475 memory.
0e20c89f 14476
220e83ca
KT
144772011-01-01 Kai Tietz <kai.tietz@onevision.com>
14478
14479 PR target/38662
6656b2ac 14480 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 14481
ad41bd84 14482\f
797103eb 14483Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
14484
14485Copying and distribution of this file, with or without modification,
14486are permitted in any medium without royalty provided the copyright
14487notice and this notice are preserved.