]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
rx.md: Add peephole to remove redundant extensions after loads.
[gcc.git] / gcc / ChangeLog
CommitLineData
4ffc4134
NC
12011-05-17 Nick Clifton <nickc@redhat.com>
2
3 * config/rx/rx.md: Add peephole to remove redundant extensions
4 after loads.
5
b3db92ac
KI
62011-05-17 Kazuhio Inaoka <kazuhiro.inaoka.ud@renesas.com>
7 Nick Clifton <nickc@redhat.com>
8
9 * config/rx/rx.md: Add peepholes to match a register move followed
10 by a comparison of the moved register. Replace these with an
11 addition of zero that does both actions in one instruction.
12
8637e32a
JJ
132011-05-17 Jakub Jelinek <jakub@redhat.com>
14
15 PR target/48986
16 * config/i386/sync.md (sync_old_add<mode>): Relax operand 2
17 predicate to allow CONST_INT.
18 (*sync_old_add_cmp<mode>): New insn and peephole2 for it.
19
8023568e
JM
202011-05-16 Joseph Myers <joseph@codesourcery.com>
21
22 * opts-common.c (opt_enum_arg_to_value): New.
23 * opts.h (opt_enum_arg_to_value): Declare.
24 * config/i386/i386.opt (fpmath): Remove.
25 (mfpmath=): Use Enum, Init and Save.
26 (fpmath_unit): New Enum and EnumValue entries.
27 * config/i386/i386-c.c (ix86_pragma_target_parse): Update field
28 name for function fpmath state.
29 * config/i386/i386-opts.h (enum fpmath_unit): Move from i386.h.
30 * config/i386/i386.c: Include diagnostic.h.
31 (ix86_fpmath, IX86_FUNCTION_SPECIFIC_FPMATH): Remove.
32 (ix86_target_string): Take enum fpmath_unit value instead of
33 string.
34 (ix86_debug_options): Update call to ix86_target_string.
35 (ix86_option_override_internal): Don't process fpmath strings
36 here.
37 (x86_function_specific_save, ix86_function_specific_restore):
38 Don't handle fpmath state specially.
39 (ix86_function_specific_print): Pass fpmath state to
40 ix86_target_string instead of printing in this function.
41 (ix86_valid_target_attribute_inner_p): Take gcc_options pointer.
42 Handle enum attributes.
43 (IX86_ATTR_ENUM, ix86_opt_enum): New.
44 (ix86_valid_target_attribute_tree): Update option_strings
45 handling. Handle fpmath as enum option.
46 (ix86_can_inline_p): Update field names for function fpmath state.
47 (ix86_expand_builtin): Update call to ix86_target_string.
48 * config/i386/i386.h (enum fpmath_unit): Move to i386-opts.h.
49 (ix86_fpmath): Remove.
50 * config/i386/t-i386 (i386.o): Update dependencies.
51
9e8d926e
JM
522011-05-16 Joseph Myers <joseph@codesourcery.com>
53
54 PR preprocessor/48677
55 * cppspec.c (lang_specific_driver): Set new_decoded_options[0]
56 from decoded_options[0], not from itself.
57
f6449011
UB
582011-05-16 Uros Bizjak <ubizjak@gmail.com>
59
60 * config/i386/constraints.md (z): New constraint.
61 * config/i386/i386.c (c): New mode attribute.
62 (*call): Merge insn pattern from *call_0, *call_1, *call_1_rex64 and
63 *call_1_rex64_large patterns using "P" mode iterator. Use "<c>zm"
64 constraint for operand 0.
65 (*call_vzeroupper): Ditto.
66 (*call_rex64_ms_sysv): Ditto. Use "rzm" constraint for operand 0.
67 (*call_rex64_ms_sysv_vzeroupper): Ditto.
68 (*call_pop): Merge insn pattern from *call_pop_0 and *call_pop_1.
69 Use "lzm" constraint for operand 0.
70 (*call_pop_vzeroupper): Ditto.
71 (*sibcall): Merge insn pattern from *sibcall_0, *sibcall_1 and
72 *sibcall_1_rex64 patterns using "P" mode iterator. Use "Uz"
73 constraint for operand 0.
74 (*sibcall_vzeroupper): Ditto.
75 (*sibcall_rex64_ms_sysv): Ditto.
76 (*sibcall_rex64_ms_sysv_vzeroupper): Ditto.
77 (*sibcall_pop): Merge insn pattern from *sibcall_pop_0 and
78 *sibcall_pop_1. Use "Uz" constraint for operand 0.
79 (*sibcall_pop_vzeroupper): Ditto.
80 (*call_value): Merge insn pattern from *call_value_0, *call_value_1,
81 *call_value_1_rex64 and *call_value_1_rex64_large patterns using "P"
82 mode iterator. Use "<c>zm" constraint for operand 1.
83 (*call_value_vzeroupper): Ditto.
84 (*call_value_rex64_ms_sysv): Ditto. Use "rzm" constraint
85 for operand 0.
86 (*call_value_rex64_ms_sysv_vzeroupper): Ditto.
87 (*call_value_pop): Merge insn pattern from *call_value_pop_0 and
88 *call_value_pop_1. Use "lzm" constraint for operand 1.
89 (*call_value_pop_vzeroupper): Ditto.
90 (*sibcall_value): Merge insn pattern from *sibcall_value_0,
91 *sibcall_value_1 and *sibcall_value_1_rex64 patterns using "P"
92 mode iterator. Use "Uz" constraint for operand 1.
93 (*sibcall_value_vzeroupper): Ditto.
94 (*sibcall_value_rex64_ms_sysv): Ditto.
95 (*sibcall_value_rex64_ms_sysv_vzeroupper): Ditto.
96 (*sibcall_value_pop): Rename from *sibcall_pop_1. Use "Uz"
97 constraint for operand 1.
98 (*sibcall_value_pop_vzeroupper): Ditto.
99 (*tls_global_dynamic_64): Use constant_call_address_operand predicate
100 and "z" constraint for operand 2.
101 (*tls_global_dynamic_32_gnu): Ditto.
102 (*tls_local_dynamic_base_32_gnu): Ditto.
103 (*tls_local_dynamic_base_64): Ditto.
104 (*tls_local_dynamic_32_once): Ditto.
105 * config/i386/i386.c (ix86_output_call_insn): Remove int_addr argument.
106 Update all callers.
107 * config/i386/i386-protos.h (ix86_output_call_insn): Update prototype.
108
c11b6902
RG
1092011-05-16 Richard Guenther <rguenther@suse.de>
110
111 * gimple.c (gimple_types_compatible_p_1): Use names of the
112 type itself, not its main variant.
113 (iterative_hash_gimple_type): Likewise.
114
1e83b5f1
RG
1152011-05-16 Richard Guenther <rguenther@suse.de>
116
f6449011
UB
117 * gimple.c (iterative_hash_gimple_type): Re-instantiate change to
118 always visit pointer target and function result and argument types.
1e83b5f1 119
62e36382
JM
1202011-05-16 Jason Merrill <jason@redhat.com>
121
122 PR c++/48999
123 * tree-inline.c (copy_statement_list): Put back recursion.
124
687027a4
GJL
1252011-05-16 Georg-Johann Lay <avr@gjlay.de>
126
127 PR target/27663
128 PR target/41076
129 * config/avr/predicates.md (const_8_16_24_operand): New predicate.
130 * config/avr/avr.md ("*ior<mode>qi.byte0",
131 "*ior<mode>qi.byte1-3"): New define_insn_and_split patterns.
132
f24a5190
GJL
1332011-05-16 Georg-Johann Lay <avr@gjlay.de>
134
135 PR target/45099
136 * config/avr/avr.c (avr_function_arg_advance): Error if a fixed
137 register is needed for a function argument.
138
3066f593
RG
1392011-05-16 Richard Guenther <rguenther@suse.de>
140
141 * gimple.c (struct type_hash_pair): New type.
142 (type_hash_pair_compare): New function.
f6449011 143 (iterative_hash_gimple_type): Mix in SCC member hashes in hash-order.
3066f593 144
b2ab2cf4
RE
1452011-05-16 Revital Eres <revital.eres@linaro.org>
146
f6449011 147 * modulo-sched.c (doloop_register_get): Check !DEBUG_INSN_P first.
b2ab2cf4 148
dfb737fc
UB
1492011-05-15 Uros Bizjak <ubizjak@gmail.com>
150
151 * config/i386/i386.md (floating point move splitters): Fix
152 usage of standard_80387_constant_p.
f6449011 153 * config/i386/i386.c (ix86_preferred_reload_class): Ditto.
dfb737fc 154
8caa1de0
UB
1552011-05-15 Uros Bizjak <ubizjak@gmail.com>
156
157 * config/i386/i386.md (*movdf_internal): Simplify insn condition.
158
8a519095
EB
1592011-05-14 Eric Botcazou <ebotcazou@adacore.com>
160
161 * tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
162 (fill_always_executed_in): Use [SET_]ALWAYS_EXECUTED_IN.
163 (tree_ssa_lim_finalize): Likewise.
164
479fecd3
UB
1652011-05-14 Uros Bizjak <ubizjak@gmail.com>
166
167 * config/i386/constraint.md (Yd, Yx): New register constraints.
168 * config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger. Use
169 Yd conditional register constraint.
170 (*movtf_internal): Use standard_sse_constant_opcode.
171 (*movxf_internal): Merge with *movxf_internal_nointeger. Use
172 Yx conditional register constraint.
173 (*movdf_internal): Merge with *movdf_internal_nointeger. Use
174 Yd conditional register constraint. Use standard_sse_constant_p to
175 check for valid SSE constants and call standard_sse_constant_opcode to
176 output SSE insn.
177 (*movsf_internal): Use standard_sse_constant_p to check for valid SSE
178 constants and call standard_sse_constant_opcode to output SSE insn.
179 * config/i386/i386.c (ix86_option_ovverride_internal): Set
180 TARGET_INTEGER_DFMODE_MOVES for 64bit targets. Clear it when
181 optimize_size is set.
182 (standard_sse_constant_opcode): Output conditional AVX insn templates.
183
2d8c9ad5
TB
1842011-05-14 Tobias Burnus <burnus@net-b.de>
185
186 * doc/invoke.texi (-Ofast): Also enables -fstack-arrays.
187
411a20d6
MJ
1882011-05-13 Martin Jambor <mjambor@suse.cz>
189
190 * ipa-prop.c (ipa_cst_from_jfunc): New function.
191 * ipa-prop.h (ipa_cst_from_jfunc): Declare.
192 * ipa-inline-analysis.c (evaluate_conditions_for_edge): Use it.
193 (evaluate_conditions_for_ipcp_clone): Removed.
194 (estimate_ipcp_clone_size_and_time): Accept vector of known constants.
195 * ipa-cp.c (ipcp_estimate_growth): Build vector of known constants.
196 * ipa-inline.h (estimate_ipcp_clone_size_and_time): Update.
197
dc764d10
EB
1982011-05-13 Eric Botcazou <ebotcazou@adacore.com>
199
200 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.
201 * regcprop.c (copyprop_hardreg_forward): Test MAY_HAVE_DEBUG_INSNS in
202 lieu of MAY_HAVE_DEBUG_STMTS.
203 * tree-cfgcleanup.c (remove_forwarder_block): Do not attempt to move
204 debug statements if !MAY_HAVE_DEBUG_STMTS.
205
9f47a24e
MT
2062011-05-13 Martin Thuresson <martint@google.com>
207
208 PR gcov-profile/47793
209 * libgcov.c (gcov_exit): Support relative profile paths.
210 * doc/invoke.texi (-fprofile-dir): Update for above change.
211
b8a71aed
RG
2122011-05-13 Richard Guenther <rguenther@suse.de>
213
214 * gimple.c (gimple_canonical_types_compatible_p): Do not use
215 type-pair caching, do not compare hashes.
216
eb9f9259
NF
2172011-05-13 Nathan Froyd <froydnj@codesourcery.com>
218
219 PR middle-end/48965
220 * tree-cfg.c (edge_to_cases_cleanup): Return true.
221 (verify_expr) [CASE_LABEL_EXPR]: Add checking.
222
3c6cbf7a
KT
2232011-05-13 Kai Tietz <ktietz@redhat.com>
224
225 * gimplify.c (gimplify_expr): Make sure operand is boolified.
226 * tree-cfg.c (verify_gimple_assign_unary): Check for boolean
227 compatible type for TRUTH_NOT_EXPR.
228
2e7f5dc0
L
2292011-05-13 H.J. Lu <hongjiu.lu@intel.com>
230
dc764d10 231 * config/i386/i386.c (ix86_save_reg): Change return type to bool.
2e7f5dc0
L
232 (ix86_hard_regno_mode_ok): Change return value to bool. Use
233 can_create_pseudo_p ().
234
e834e95c
RG
2352011-05-13 Richard Guenther <rguenther@suse.de>
236
237 PR lto/48978
238 * gimple.c (iterative_hash_gimple_type): Revert change in
239 pointer target and function result and argument hashing.
240
34203483
UB
2412011-05-13 Uros Bizjak <ubizjak@gmail.com>
242
243 * config/i386/i386.md (*movxf_internal): Use !can_create_pseudo ().
244 (*movxf_internal_nointeger): Ditto.
245 (*movdf_internal_rex64): Ditto.
246 (*movdf_internal): Ditto.
247 (*movdf_internal_nointeger): Ditto.
248 (*movsf_internal): Ditto.
249 (sincos splitters): Use can_create_pseudo ().
250
7eb68c06
JM
2512011-05-13 Joseph Myers <joseph@codesourcery.com>
252
253 * config/i386/i386-opts.h: New.
254 * gcc/config/i386/i386.c (stringop_alg, ix86_cmodel,
255 ix86_asm_dialect, ix86_regparm, ix86_abi, ix86_branch_cost,
256 ix86_section_threshold): Remove.
257 (ix86_handle_option): Move MAX_CODE_ALIGN define here. Handle
258 OPT_malign_loops_, OPT_malign_jumps_, OPT_malign_functions_ and
259 OPT_mbranch_cost_.
260 (ix86_option_override_internal): Don't decode strings for options
261 other than -march=, -mtune= and -mfpmath=. Don't allow for
262 __attribute__ uses in remaining diagnostics for options with
34203483 263 string arguments. Don't check for integer arguments being negative.
7eb68c06 264 * gcc/config/i386/i386.h (enum stringop_alg, enum calling_abi,
34203483 265 enum tls_dialect, enum cmodel, enum asm_dialect): Move to i386-opts.h.
7eb68c06
JM
266 (ix86_abi, ix86_tls_dialect, ix86_cmodel, ix86_asm_dialect,
267 ix86_branch_cost, ix86_section_threshold): Remove.
268 * gcc/config/i386/i386.opt (config/i386/i386-opts.h): New
269 HeaderInclude.
270 (malign-functions=, malign-jumps=, malign-loops=): Use UInteger
271 but not Var.
272 (masm=): Use Enum and Init.
273 (asm_dialect): New Enum and EnumValue entries.
274 (mbranch-cost=): Use UInteger.
275 (mlarge-data-threshold=): Use UInteger and Init.
276 (mcmodel=): Use Enum and Init.
277 (cmodel): New Enum and EnumValue entries.
278 (mpc): Replace with separate mpc32, mpc64 and mpc80 entries.
279 (mpreferred-stack-boundary=, mincoming-stack-boundary=,
280 mregparm=): Use UInteger.
281 (mstringop-strategy=): Use Enum and Init.
282 (stringop_alg): New Enum and EnumValue entries.
283 (mtls-dialect=): Use Enum and Init.
284 (tls_dialect): New Enum and EnumValue entries.
285 (mabi=): Use Enum and Init.
286 (calling_abi): New Enum and EnumValue entries.
287 (mveclibabi=): Use Enum and Init.
288 (ix86_veclibabi): New Enum and EnumValue entries.
289
f67e203c
NC
2902011-05-13 Nick Clifton <nickc@redhat.com>
291
34203483
UB
292 * config/rx/rx.md (mov expander): Fix use of rx_legitimate_constant_p.
293 * config/rx/rx-protos.h (rx_legitimate_constant_p): Rename prototype.
f67e203c 294
221df0b6
KT
2952011-05-13 Kai Tietz <ktietz@redhat.com>
296
297 PR middle-end/48984
298 * gimplify.c (gimplify_expr): Check for boolean_type_node instead
299 for BOOLEAN_TYPE for TRUTH-NOT/AND/OR/XOR.
300 (gimple_boolify): Check for cast for boolean_type_node instead for
301 BOOLEAN_TYPE.
302
208cb8cb
RG
3032011-05-13 Richard Guenther <rguenther@suse.de>
304
305 PR tree-optimization/48172
306 * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
307 multiplying by number of iterations for equal step.
308 (vect_create_cond_for_alias_checks): Likewise.
309
b88ecf55
AS
3102011-05-13 Andreas Schwab <schwab@redhat.com>
311
312 * configure.ac: Use AS_HELP_STRING throughout.
313 * configure: Regenerate.
314
569b527e
L
3152011-05-12 H.J. Lu <hongjiu.lu@intel.com>
316
34203483 317 * config/i386/i386.c (ix86_save_reg): Change maybe_eh_return to bool.
569b527e
L
318 (ix86_emit_restore_regs_using_mov): Likewise.
319 (ix86_emit_restore_sse_regs_using_mov): Likewise.
320
8b9a1428
AS
3212011-05-12 Anatoly Sokolov <aesok@post.ru>
322
323 * config/sparc/sparc.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P,
324 SYMBOLIC_CONST, RTX_OK_FOR_BASE_P, RTX_OK_FOR_INDEX_P): Remove.
325 (RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Move to...
326 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P,
327 RTX_OK_FOR_OLO10_P): ...here.
328 (sparc_mode_dependent_address_p): Use symbolic_operand instead of
329 SYMBOLIC_CONST.
330
1d15f620
KT
3312011-05-12 Kai Tietz <ktietz@redhat.com>
332
333 * gimplify.c (gimple_boolify): Re-boolify expression
334 arguments even if expression type is of kind BOOLEAN_TYPE.
335 (gimplify_boolean_expr): Removed.
336 (gimplify_expr): Boolify truth opcodes AND, ANDIF, OR, ORIF,
337 and XOR. Additional take care that we keep expression's type.
338 * tree-cfg.c (verify_gimple_assign_binary): Adjust check for type
339 of TRUTH_AND|OR|XOR_EXPR.
340
c2b5fc8d
JJ
3412011-05-12 Jakub Jelinek <jakub@redhat.com>
342
343 PR tree-optimization/48975
344 * tree-if-conv.c (combine_blocks): Call free_bb_predicate
345 on all bbs here and free and clear ifc_bbs at the end.
346
61332f77
RG
3472011-05-12 Richard Guenther <rguenther@suse.de>
348
349 * gimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle
350 NULLPTR_TYPE similar to VOID_TYPE. Defer type-leader lookup
351 until after simple checks.
352 (gimple_types_compatible_p): Likewise.
353 (iterative_hash_gimple_type): Always hash pointer targets
354 and function return and argument types.
355 (iterative_hash_canonical_type): Do not hash TYPE_QUALS,
356 hash TYPE_ALIGN. Do not hash TYPE_MIN/MAX_VALUE.
357 (gimple_canonical_types_compatible_p): Compare TREE_ADDRESSABLE,
358 handle NULLPTR_TYPE similar to VOID_TYPE. Handle non-aggregates
359 completely in the simple compare section.
360 (gimple_register_canonical_type): Query the cache again after
361 registering.
362
e2a3a5f1
RG
3632011-05-12 Richard Guenther <rguenther@suse.de>
364
365 PR tree-optimization/48172
366 * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
367 the number of iterations from the segment size calculation.
368 (vect_create_cond_for_alias_checks): Adjust.
369
2c703f3a
JJ
3702011-05-12 Jakub Jelinek <jakub@redhat.com>
371
372 PR debug/48967
373 * var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
374 if validate_subreg fails.
375
3762011-05-12 Hariharan Sandanagobalane <hariharan@picochip.com>
b27981e0
HS
377
378 * ira.c (clarify_prohibited_class_mode_regs): Prevent the function from
379 accessing beyond the end of REGNO_REG_CLASS array by stopping the loop
380 early.
381
87e91fca
DD
3822011-05-12 DJ Delorie <dj@redhat.com>
383
d53903d6 384 * config/rx/rx.c (rx_builtins): New arrays - holds builtin functions.
87e91fca
DD
385 (ADD_RX_BUILTIN1, ADD_RX_BUILTIN2, ADD_RX_BUILTIN3): Install
386 created builtin into rx_builtins array.
387 (rx_builtin_decl): New function.
34203483 388 (TARGET_BUITLIN_DECL): Define. Include gt-rx.h.
87e91fca 389
5f2f13fd
DD
3902011-05-12 DJ Delorie <dj@redhat.com>
391 Nick Clifton <nickc@redhat.com>
392
393 * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
394 * config/rx/rx.c (CC_FLAG_FP): Fix comment.
395 (rx_is_legitimate_address): Add pre-decrement and post-increment
396 addressing in HImode and QImode. Fix test for out of range
397 REG+INT addressing.
87e91fca 398 (rx_legitimate_constant_p): Rename to rx_is_legitimate_constant.
34203483 399 (rx_align_for_label): Test label before extracting its usage count.
5f2f13fd 400 (rx_adjust_insn_lengths): Fix selection of insn codes.
87e91fca 401 (TARGET_LEGITIMATE_CONSTANT_P): Use renamed function.
5f2f13fd 402
57421f45
JM
4032011-05-11 Jason Merrill <jason@redhat.com>
404
405 * tree.c (type_hash_canon): Use struct tree_type_non_common.
406
898c90c0
EB
4072011-05-11 Eric Botcazou <ebotcazou@adacore.com>
408
409 * cfgrtl.c (commit_one_edge_insertion): Remove always-true test and
410 reindent the subsequent block.
411
79bec923
ST
4122011-05-11 Satoru Takabayashi <satorux@google.com>
413 Paul Pluzhnikov <ppluzhnikov@google.com>
414
34203483 415 * doc/install.texi (Configuration): Document --with-linker-hash-style.
e77e2cbb
PP
416 * gcc.c (init_spec): Handle LINKER_HASH_STYLE.
417 * config.in: Add LINKER_HASH_STYLE.
418 * configure.ac: Add --with-linker-hash-style.
419 * configure: Regenerate.
79bec923 420
d0340959
RG
4212011-05-11 Richard Guenther <rguenther@suse.de>
422
423 PR middle-end/48964
424 * gimple.c (iterative_hash_canonical_type): Fix typo.
425
cb032fee
UB
4262011-05-11 Uros Bizjak <ubizjak@gmail.com>
427
428 * config/i386/i386.c (legitimize_tls_address)
479fecd3 429 <case TLS_MODEL_GLOBAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
cb032fee
UB
430 expanders directly for TARGET_GNU2_TLS. Determine pic and
431 __tls_get_addr symbol reference here. Update call to
432 gen_tls_global_dynamic_{32,64} for added arguments.
479fecd3 433 <case TLS_MODEL_LOCAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
cb032fee
UB
434 expanders directly for TARGET_GNU2_TLS. Determine
435 __tls_get_addr symbol reference here. Update call to
436 gen_tls_local_dynamic_base_{32,64} for added arguments. Attach
437 unique UNSPEC REG_EQUIV to libcall block.
438 (ix86_tls_get_addr): Declare static.
439 * config/i386/i386-protos.h (ix86_tls_get_addr): Remove declaration.
440 * config/i386/i386.md (tls_global_dynamic_32): Add operand 2 and 3.
441 Do not determine pic and __tls_get_addr symbol reference here. Do not
442 call gen_tls_dynamic_gnu2_32 for TARGET_GNU2_TLS.
443 (tls_local_dynamic_base_32): Ditto for operands 1 and 2.
444 (tls_global_dynamic_64): Add operand 2. Do not determine
445 __tls_get_addr symbol reference here. Do not call
446 gen_tls_dynamic_gnu2_64 for TARGET_GNU2_TLS here.
447 (tls_local_dynamic_base64): Ditto for operand 1.
448
6d3cc8f0
EB
4492011-05-11 Eric Botcazou <ebotcazou@adacore.com>
450
451 * function.c (expand_function_start): Initialize stack_check_probe_note
452 only if the generic stack checking mechanism is used.
453
51e020fc
RG
4542011-05-11 Richard Guenther <rguenther@suse.de>
455
456 PR tree-optimization/15256
457 * tree-ssa-forwprop.c (simplify_bitwise_binary): Canonicalize
458 (A & B) | C, combine (A op CST1) op CST2.
459 (tree_ssa_forward_propagate_single_use_vars): Only bother to
460 visit assigns that have uses.
461
51545682
NF
4622011-05-11 Nathan Froyd <froydnj@codesourcery.com>
463
cb032fee 464 * ggc-page.c (extra_order_size_table): Use struct tree_type_non_common.
51545682
NF
465 * lto-streamer-in.c (unpack_ts_type_value_fields): Rename to...
466 (unpack_ts_type_common_value_fields): ...this. Update comment.
467 (unpack_value_fields): Adjust for renaming.
468 (lto_input_ts_type_tree_pointers): Split into...
469 (lto_input_ts_type_common_tree_pointer): ...this and...
470 (lto_input_ts_type_non_common_tree_pointers): ...this.
471 (lto_input_tree_pointers): Adjust for above split.
472 * lto-streamer-out.c (pack_ts_type_value_fields): Rename to...
473 (pack_ts_type_common_value_fields): ...this. Update comment.
474 (lto_output_ts_type_tree_pointers): Split into...
475 (lto_output_ts_type_common_tree_pointers): ...this and...
476 (lto_output_ts_type_non_common_tree_pointers): ...this.
477 (lto_output_tree_pointers): Adjust for above split.
478 * lto-streamer.c (check_handled_ts_structures): Mark TS_TYPE_COMMON,
479 TS_TYPE_WITH_LANG_SPECIFIC, and TS_TYPE_NON_COMMON as handled.
480 * stor-layout.c (vector_type_mode): Adjust location of mode field.
481 * tree.h (MARK_TS_TYPE_COMMON, MARK_TS_TYPE_WITH_LANG_SPECIFIC):
482 Define.
483 (struct tree_type): Split into...
484 (struct tree_type_common: ...this and...
485 (struct tree_type_with_lang_specific): ...this and...
486 (struct tree_type_non_common): ...this. Adjust accessor macros
487 accordingly.
488 (TYPE_VALUES_RAW): Define.
489 (union tree_node): Update for above changes.
490 * tree.c (tree_node_structure_for_code) [tcc_type]: Return
491 TS_TYPE_NON_COMMON.
492 (initialize_tree_contains_struct) [TS_TYPE]: Use TS_TYPE_COMMON.
493 Add TS_TYPE_WITH_LANG_SPECIFIC and TS_TYPE_NON_COMMON.
494 (tree_code_size) [tcc_type]: Use struct tree_type_non_common.
495 * treestructu.def (TS_TYPE): Remove.
496 (TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, TS_TYPE_NON_COMMON):
497 Define.
498
b03c3082
JJ
4992011-05-11 Jakub Jelinek <jakub@redhat.com>
500
501 PR debug/48159
502 * tree-ssa.c (reset_debug_uses): New function.
503 * tree-flow.h (reset_debug_uses): New prototype.
504 * tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
505 * tree-loop-distribution.c (generate_loops_for_partition): Call
506 reset_debug_uses on the stmts that will be removed. Keep around
507 all debug stmts, don't count them as bits in partition bitmap.
508 (generate_builtin): Don't count debug stmts or labels as bits in
509 partition bitmap.
510
b5e04de5
RG
5112011-05-11 Richard Guenther <rguenther@suse.de>
512
513 * gimple.c (gimple_type_hash_1): Merge with ...
514 (gimple_type_hash): ... this.
515 (gtc_visit): Remove mode parameter and simplify accordingly.
516 (gimple_types_compatible_p_1): Likewise.
517 (gimple_types_compatible_p): Likewise.
518 (iterative_hash_gimple_type): Likewise.
519 (visit): Likewise.
520 (gimple_type_eq): Adjust.
521
fc6970e4
RE
5222011-05-11 Revital Eres <revital.eres@linaro.org>
523
524 * ddg.c (create_ddg_dep_from_intra_loop_link): If a true dep edge
525 enters the branch create an anti edge in the opposite direction
526 to prevent the creation of reg-moves.
527 * modulo-sched.c: Adjust comment to reflect the fact we are
528 scheduling closing branch.
529 (PS_STAGE_COUNT): Rename to CALC_STAGE_COUNT and redefine.
530 (stage_count): New field in struct partial_schedule.
531 (calculate_stage_count): New function.
532 (normalize_sched_times): Rename to reset_sched_times and handle
533 incrementing the sched time of the nodes by a constant value
534 passed as parameter.
535 (duplicate_insns_of_cycles): Skip closing branch.
536 (sms_schedule_by_order): Schedule closing branch.
537 (ps_insn_find_column): Handle closing branch.
538 (sms_schedule): Call reset_sched_times and adjust the code to
539 support scheduling of the closing branch.
540 (ps_insert_empty_row): Update calls to normalize_sched_times
541 and rotate_partial_schedule functions.
542
41a58a92
RG
5432011-05-11 Richard Guenther <rguenther@suse.de>
544
545 PR middle-end/48953
546 * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
547
e9f8dcf9
JM
5482011-05-11 Joseph Myers <joseph@codesourcery.com>
549
cb032fee
UB
550 * opts.c (finish_options): Move warning settings from process_options.
551 * toplev.c (process_options): Move warning settings to finish_options.
e9f8dcf9 552
10c224a9
RG
5532011-05-11 Richard Guenther <rguenther@suse.de>
554
555 PR tree-optimization/18041
556 * tree-ssa-forwprop.c (simplify_bitwise_and): Rename to ...
557 (simplify_bitwise_binary): ... this. Handle operand conversions
558 by applying them to the result instead.
559 (tree_ssa_forward_propagate_single_use_vars): Adjust. CSE tree code.
560
825b27de
RG
5612011-05-11 Richard Guenther <rguenther@suse.de>
562
563 * gimple.c (gimple_canonical_types_compatible_p): Split out
564 from gimple_types_compatible_p and friends. Do not recurse
565 to pointed-to types.
566 (gimple_canonical_type_eq): Use it.
567 (iterative_hash_canonical_type): Split out from
568 iterative_hash_gimple_type and friends. Do not recurse
569 to pointed-to types.
570 (gimple_canonical_type_hash): Use it, allocate the hash here.
571
ca756625
RE
5722011-05-11 Revital Eres <revital.eres@linaro.org>
573
574 * modulo-sched.c (doloop_register_get): Ignore DEBUG_INSNs while
575 recognizing doloop.
576
b8abece3
RE
5772011-05-11 Revital Eres <revital.eres@linaro.org>
578
579 * loop-doloop.c (doloop_condition_get): Use prev_nondebug_insn
580 instead of PREV_INSN.
581
ce7b3761
RE
5822011-05-11 Revital Eres <revital.eres@linaro.org>
583
584 * modulo-sched.c (sms_schedule): Support new form of doloop pattern
585 * loop-doloop.c (doloop_condition_get): Likewise.
586 * config/arm/thumb2.md (*thumb2_addsi3_compare0): Remove "*".
587 (doloop_end): New.
588 * config/arm/arm.md (*addsi3_compare0): Remove "*".
589
a9dc9d37
NF
5902011-05-10 Nathan Froyd <froydnj@codesourcery.com>
591
592 * tree.def (CASE_LABEL_EXPR): Add an operand.
593 * tree.h (CASE_CHAIN): Use TREE_OPERAND instead of TREE_CHAIN.
594
96703596
JM
5952011-05-10 Joseph Myers <joseph@codesourcery.com>
596
597 * c-decl.c (c_override_global_bindings_to_false): Remove.
598 (global_bindings_p): Don't check
599 c_override_global_bindings_to_false.
600 * c-tree.h (c_override_global_bindings_to_false): Remove.
601 * c-typeck.c (composite_type): Don't set
602 c_override_global_bindings_to_false.
603
dbcc9f08
MM
6042011-05-10 Michael Meissner <meissner@linux.vnet.ibm.com>
605
606 PR target/48857, 48495
607 * config/rs6000/rs6000.h (VSX_SCALAR_MODE): Delete.
608 (VSX_MODE): Ditto.
609 (VSX_MOVE_MODE): Ditto.
610 (ALTIVEC_OR_VSX_VECTOR_MODE): New macro, combine all Altivec and
611 VSX vector types. Add V2DImode.
612 (HARD_REGNO_CALLER_SAVE_MODE): Use it instead of
613 ALTIVEC_VECTOR_MODE and VSX_VECTOR_MODE calls.
614 (MODES_TIEABLE_P): Ditto.
615
616 * config/rs6000/rs6000.c (rs6000_emit_move): Use
617 ALTIVEC_OR_VSX_MODE instead of ALTIVEC_VECTOR_MODE and
618 VSX_VECTOR_MODE.
619 (init_cumulative_args): Ditto.
620 (rs6000_function_arg_boundary): Ditto.
621 (rs6000_function_arg_advance_1): Ditto.
622 (rs6000_function_arg): Ditto.
623 (rs6000_function_ok_for_sibcall): Ditto.
624 (emit_frame_save): Ditto.
625 (rs6000_function_value): Ditto.
626 (rs6000_libcall_value): Ditto.
627
4a68b4ca
JM
6282011-05-10 Joseph Myers <joseph@codesourcery.com>
629
630 * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
631 i386/darwin-lib.h to $libgcc_tm_file.
632 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Remove.
633
bcb521e9
JM
6342011-05-10 Joseph Myers <joseph@codesourcery.com>
635
636 * doc/sourcebuild.texi (Back End): Mention contrib/config-list.mk.
637
f10d3ac9
JM
6382011-05-10 Joseph Myers <joseph@codesourcery.com>
639
cb032fee 640 * config/rs6000/genopt.sh, config/rs6000/rs6000-cpus.def: New files.
f10d3ac9
JM
641 * config/rs6000/rs6000-tables.opt: New file (generated).
642 * config.gcc (powerpc*-*-*, rs6000*-*-*): Add
643 rs6000/rs6000-tables.opt to extra_options.
644 * config/rs6000/rs6000-opts.h (RS6000_CPU_OPTION_NATIVE): Define.
645 * config/rs6000/rs6000.c (rs6000_select): Remove.
646 (processor_target_table): Move contents to rs6000-cpus.def.
647 (darwin_rs6000_override_options): Check
648 global_options_set.x_rs6000_cpu_index instead of
649 rs6000_select[1].string.
650 (rs6000_option_override_internal): Likewise.
651 (rs6000_handle_option): Don't assert that global structures are in
652 use. Don't handle OPT_mcpu_ and OPT_mtune_ here.
653 (rs6000_default_cpu): New variable.
654 (rs6000_file_start): Set it instead of local default_cpu. Check
655 rs6000_default_cpu, global_options_set.x_rs6000_cpu_index and
656 global_options_set.x_rs6000_tune_index instead of rs6000_select.
657 (rs6000_darwin_file_start): Check rs6000_default_cpu and
658 global_options_set.x_rs6000_cpu_index instead of rs6000_select.
659 * config/rs6000/rs6000.h (struct rs6000_cpu_select,
660 rs6000_select): Remove.
661 * config/rs6000/rs6000.opt (rs6000_cpu_index, rs6000_tune_index):
662 Remove.
663 (mcpu=, mtune=): Use Var, Init, Enum and Save.
664 * config/rs6000/t-rs6000
665 ($(srcdir)/config/rs6000/rs6000-tables.opt): New.
666 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
667 global_options_set.x_rs6000_cpu_index instead of
668 rs6000_select[1].string.
669 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
670 global_options_set.x_rs6000_cpu_index instead of
671 rs6000_select[1].string.
672
80cf2e08
JM
6732011-05-10 Joseph Myers <joseph@codesourcery.com>
674
675 * config.gcc (libgcc_tm_file): Define instead of including files
676 from ../../libgcc/config/ in tm_file.
cb032fee 677 * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): Define.
80cf2e08
JM
678 * configure: Regenerate.
679 * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
680 libgcc_tm.h, cs-libgcc_tm.h): New.
681 (TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
682 (clean): Remove libgcc_tm.h.
683 * config/arm/symbian.h (RENAME_LIBRARY): Remove.
684 * mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
685 * system.h (DECLARE_LIBRARY_RENAMES): Poison.
686
fd01a351
GJL
6872011-05-10 Georg-Johann Lay <avr@gjlay.de>
688
689 PR target/48896
690 * config/avr/avr.c (avr_ret_register): Return unsigned int
691 instead of int.
692 (avr_function_value): Mark fn_decl_or_type as unused, don't pass
693 it to avr_libcall_value.
694 avr_expand_builtin): Use EXPAND_NORMAL as arg 4 in calls to
695 expand_expr.
696 (avr_expand_binop_builtin): Ditto.
697 (avr_expand_unop_builtin): Ditto.
698
34cc3c86
DD
6992011-05-10 DJ Delorie <dj@redhat.com>
700
701 * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
702 (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
703 * config/rx/rx.c (rx_align_for_label): Add label and
704 uses_threshold parameters. Do not align when the label is not
705 used enough.
706 * config/rx/rx-protos.h (rx_align_for_label): Update prototype.
707
be173289
RG
7082011-05-10 Richard Guenther <rguenther@suse.de>
709
710 * tree-ssa-forwprop.c (combine_conversions): Pattern-match
711 a series of conversions and apply foldings similar to what
712 fold-const does.
713 (tree_ssa_forward_propagate_single_use_vars): Call it.
714
e7f78021
JJ
7152011-05-10 Jakub Jelinek <jakub@redhat.com>
716
6ae70ea2
JJ
717 PR tree-optimization/48611
718 PR tree-optimization/48794
719 * tree-eh.c (remove_unreachable_handlers): Don't remove regions
720 referenced from RESX or EH_DISPATCH arguments.
721
e7f78021
JJ
722 PR debug/48928
723 * dfp.c (decimal_to_decnumber): Handle conversion from
724 dconst{1,2,m1,half}.
725
fca132b9
UB
7262011-05-09 Uros Bizjak <ubizjak@gmail.com>
727
728 * config/i386/i386.c (ix86_autovectorize_vector_sizes): Return 0
729 for !flag_prefer_avx128.
730 (ix86_preferred_simd_mode): Return word_mode for DFmode without SSE2.
731
e4c03378
EB
7322011-05-09 Eric Botcazou <ebotcazou@adacore.com>
733
734 * fold-const.c (fold_range_test): Pass LOC to build_range_check.
735 (fold_ternary_loc): Use expr_location_or.
736
805d6a75
L
7372011-05-09 H.J. Lu <hongjiu.lu@intel.com>
738
739 PR debug/48853
740 * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: If
741 POINTERS_EXTEND_UNSIGNED is defined, don't give up if mode is
742 Pmode and mem_mode is not VOIDmode.
743
e4c03378 7442011-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
b5da71d4 745
e4c03378
EB
746 * tree.h (TYPE_UNQUALIFIED, TYPE_QUAL_CONST, TYPE_QUAL_VOLATILE,
747 TYPE_QUAL_RESTRICT): Convert to enum.
b5da71d4 748
51e7f377
UB
7492011-05-09 Uros Bizjak <ubizjak@gmail.com>
750
751 * config/i386/predicates.md (const_pow2_1_to_2_operand): Remove.
752 (const_pow2_1_to_8_operand): Ditto.
753 (const_pow2_1_to_128_operand): Ditto.
754 (const_pow2_1_to_32768_operand): Ditto.
755 * config/i386/mmx.md (*mmx_pinsrw): Use const_int_operand instead of
756 const_pow2_1_to_8_operand for operand 3 predicate. Use exact_log2
757 in insn constraint to check integer value of operand 3.
758 * config/i386/sse.md (*vec_setv4sf_sse4_1): Ditto.
759
760 (PINSR_MODE): New mode iterator.
761 (sse2p4_1): New mode attribute.
762 (<sse2p4_1>_pinsr<ssemodesuffix>): Merge insn from sse4_1_pinsrb,
763 sse2_pinsrw, sse4_1_pinsrd and sse4_1_pinsrq using PINSR_MODE mode
764 iterator. Use const_int_operand instead of
765 const_pow2_1_to_{2,8,128,32768}_operand for operand 3 predicate. Use
766 exact_log2 in insn constraint to check integer value of operand 3.
767
7682011-05-09 Uros Bizjak <ubizjak@gmail.com>
769
770 * config/i386/sse.md (blendbits): Remove mode attribute.
771 (<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
772 instead of const_0_to_<blendbits>_operand for operand 3 predicate.
773 Check integer value of operand 3 in insn constraint.
774
0ca8de87
RG
7752011-05-09 Richard Guenther <rguenther@suse.de>
776
777 * lto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p
778 for diagnostics.
779 (lto_symtab_merge): Likewise. Do not register types here.
780 (lto_symtab_merge_decls_2): Likewise.
781 (lto_symtab_merge_decls_1): Likewise.
782 * gimple.h (enum gtc_mode, gimple_types_compatible_p): Do not declare.
783 * gimple.c (enum gtc_mode): Declare.
784 (gimple_types_compatible_p): Make static.
785
a9e6994a
AK
7862011-05-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
787
788 * config/s390/s390.md (TD/TF mem to reg move splitter): Make the
789 temporary register to match Pmode.
790
fb55d62e
UB
7912011-05-09 Uros Bizjak <ubizjak@gmail.com>
792
793 * config/i386/sse.md (*vec_concatv4si): Merge from *vec_concatv4si_1
794 and *vec_concatv4si_1_avx.
795
eb1485a6
UB
7962011-05-09 Uros Bizjak <ubizjak@gmail.com>
797
798 PR rtl-optimization/48927
799 * ira-conflicts.c (commutative_constraint_p): Use
800 recog_data.alternative_enabled_p to disable alternatives where
801 "enabled" attribute is false.
802 (get_dup_num): Ditto.
803 * ira-lives.c (single_reg_class): Ditto.
804 (ira_implicitly_set_insn_hard_regs): Ditto.
805
c46d001a
EB
8062011-05-09 Eric Botcazou <ebotcazou@adacore.com>
807
808 * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
809 (dataflow_set_preserve_mem_locs): Likewise.
810
8112011-05-09 Philipp Thomas <pth@suse.de>
812
6d9e7c41
PT
813 * config/mep/mep.c (mep_validate_vliw): Syntax description
814 should not be translated.
815
d371df6f
JM
8162011-05-09 Joseph Myers <joseph@codesourcery.com>
817
818 * config/mips/genopt.sh, config/mips/mips-cpus.def: New files.
819 * config/mips/mips-tables.opt: New file (generated).
eb1485a6 820 * config.gcc (mips*-*-*): Add mips/mips-tables.opt to extra_options.
d371df6f
JM
821 * config/mips/mips-opts.h (MIPS_ARCH_OPTION_FROM_ABI,
822 MIPS_ARCH_OPTION_NATIVE): Define.
823 * config/mips/mips.c (mips_cpu_info_table): Move contents to
824 mips-cpus.def.
825 (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p,
826 mips_parse_cpu): Remove.
827 (mips_cpu_info_from_opt, mips_default_arch): New.
828 (mips_handle_option): Don't assert that global structures are in
829 use. Don't handle OPT_march_, OPT_mtune_ and OPT_mips here.
830 (mips_option_override): Use new variables and functions to set
eb1485a6 831 state of these options. Use strcmp to check for individual CPU names.
d371df6f
JM
832 * config/mips/mips.h (MIPS_CPU_STRING_DEFAULT): Remove default
833 definition.
834 * config/mips/mips.opt (march=): Use ToLower and Enum.
835 (mips): Use ToLower, Enum and Var.
836 (mtune=): Use ToLower and Enum.
837 * config/mips/t-mips ($(srcdir)/config/mips/mips-tables.opt): New.
838
4fc07af9
JH
8392011-05-08 Jan Hubicka <jh@suse.cz>
840
841 * gimple.c (type_pair_hash, type_pair_eq, lookup_type_pair):
842 Arrange type pairs to be UID ordered.
843 (gimple_lookup_type_leader): Make inline.
844
2cf320a8
NC
8452011-05-09 Nick Clifton <nickc@redhat.com>
846
61d6def5
NC
847 PR target/48899
848 * config/iq2000/iq2000.opt (iq2000_tune): Initialise to
849 PROCESSOR_DEFAULT.
850
2cf320a8
NC
851 PR target/48897
852 * config/mn10300/mn10300.c (extract_bundle): Remove spurious local
853 variable 's'.
854
4f82319d
CLT
8552011-05-08 Chung-Lin Tang <cltang@codesourcery.com>
856
857 * combine.c (simplify_comparison): Abstract out parts into...
858 (simplify_compare_const): ... new function.
859 (try_combine): Generalize parallel arithmetic/compare combining
860 to call simplify_compare_const() and CANONICALIZE_COMPARE().
861
74605a11
JH
8622011-05-08 Jan Hubicka <jh@suse.cz>
863
864 * cgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.
eb1485a6
UB
865 (cgraph_create_virtual_clone): Call hooks once virtual clone
866 is finished.
74605a11 867 * cgraph.h (cgraph_clone_node): Update prototype.
eb1485a6
UB
868 * ipa-cp.c (ipcp_estimate_growth): Use
869 estimate_ipcp_clone_size_and_time.
74605a11
JH
870 * ipa-inline-transform.c (clone_inlined_nodes): Update.
871 * lto-cgraph.c (input_node): Update.
872 * ipa-inline.c (recursive_inlining): Update.
873 * ipa-inline.h (estimate_ipcp_clone_size_and_time): New function.
874 (evaluate_conditions_for_known_args): Break out from ...
875 (evaluate_conditions_for_edge): ... here.
876 (evaluate_conditions_for_ipcp_clone): New function.
877 (inline_node_duplication_hook): Update clone summary based
878 on parameter map.
879 (estimate_callee_size_and_time): Rename to ...
880 (estimate_node_size_and_time): take NODE instead of EDGE;
881 take POSSIBLE_TRUTHS as argument.
882 (estimate_callee_size_and_time): Update.
883 (estimate_ipcp_clone_size_and_time): New function.
884 (do_estimate_edge_time): Update.
885
5c049507
RG
8862011-05-08 Richard Guenther <rguenther@suse.de>
887
888 PR middle-end/48908
889 PR middle-end/48905
890 * expmed.c (expand_shift_1): Compute adjusted constant shift
891 amount manually.
892
f64c36ba
EB
8932011-05-08 Eric Botcazou <ebotcazou@adacore.com>
894
895 * config/avr/avr.c (print_operand_address): Fix invalid RTL access.
896
c461a957
EB
8972011-05-08 Eric Botcazou <ebotcazou@adacore.com>
898
899 * config/rs6000/rs6000.c (output_profile_hook): Fix thinko.
900
7c74e556
JW
9012011-05-08 Jonathan Wakely <jwakely.gcc@gmail.com>
902
903 * doc/invoke.texi (-fuse-linker-plugin): Improve grammar.
904
b4c0a884
JH
9052011-05-07 Jan Hubicka <jh@suse.cz>
906
a9bcb3f0
EB
907 * ipa-inline-transform.c (inline_call): Account when program size
908 decreases.
b4c0a884 909 * ipa-inline.c (relative_time_benefit): New function.
a9bcb3f0
EB
910 (edge_badness): Reorganize to be power 2 based; fix thinko when
911 computing badness for negative growth; update comments to match
912 reality; better dumps.
b4c0a884 913
c99c0026
EB
9142011-05-07 Eric Botcazou <ebotcazou@adacore.com>
915
916 * langhooks.h (lang_hooks_for_types): Change global_bindings_p's return
917 type to bool and adjust comment.
918 * fold-const.c (fold_range_test): Adjust call to global_bindings_p.
919 (fold_mathfn_compare): Remove calls to global_bindings_p.
920 (fold_inf_compare): Likewise.
921 * stor-layout.c (variable_size): Adjust call to global_bindings_p.
922 * c-tree.h (global_bindings_p): Adjust prototype.
923 * c-decl.c (global_bindings_p): Return bool and simplify.
924
1400c8e5
ZD
9252011-05-07 Zdenek Dvorak <ook@ucw.cz>
926
927 PR tree-optimization/48837
928 * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
929 when accumulator transformation is performed.
930
5d0878e7
JH
9312011-05-06 Jan Hubicka <jh@suse.cz>
932
a9bcb3f0
EB
933 * i386.h (ix86_tune_indices): Add
934 X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.
eb1485a6 935 (TARGET_SOFTWARE_PREFETCHING_BENEFICIAL): New macro.
a9bcb3f0
EB
936 * i386.c (initial_ix86_tune_features): Add
937 X86_SOFTARE_PREFETCHING_BENEFICIAL.
5d0878e7
JH
938 (software_prefetching_beneficial_p): Remove predicate.
939 (ix86_option_override_internal): Use new macro.
940
58696ce5
JH
9412011-05-06 Jan Hubicka <jh@suse.cz>
942
943 * ipa-inline.c (update_callee_keys): Don't reset node growth cache.
944
c47d0034
JH
9452011-05-06 Jan Hubicka <jh@suse.cz>
946
947 * cgraph.c (cgraph_add_thunk): Create real function node instead
948 of alias node; finalize it and mark needed/reachale; arrange visibility
949 to be right and add it into the corresponding same comdat group list.
950 (dump_cgraph_node): Dump thunks.
951 * cgraph.h (cgraph_first_defined_function, cgraph_next_defined_function,
a9bcb3f0
EB
952 cgraph_function_with_gimple_body_p,
953 cgraph_first_function_with_gimple_body,
c47d0034
JH
954 cgraph_next_function_with_gimple_body): New functions.
955 (FOR_EACH_FUNCTION_WITH_GIMPLE_BODY, FOR_EACH_DEFINED_FUNCTION):
956 New macros.
957 * ipa-cp.c (ipcp_need_redirect_p): Thunks can't be redirected.
958 (ipcp_generate_summary): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
959 * cgraphunit.c (cgraph_finalize_function): Only look into possible
960 devirtualization when optimizing.
961 (verify_cgraph_node): Verify thunks.
962 (cgraph_analyze_function): Analyze thunks.
963 (cgraph_mark_functions_to_output): Output thunks only in combination
964 with function they are assigned to.
965 (assemble_thunk): Turn thunk into non-thunk; don't try to turn
966 alias into normal node.
967 (assemble_thunks): New functoin.
968 (cgraph_expand_function): Use it.
969 * lto-cgraph.c (lto_output_node): Stream thunks.
970 (input_overwrite_node): Stream in thunks.
971 * ipa-pure-const.c (analyze_function): Thunks do nothing interesting.
972 * lto-streamer-out.c (lto_output): Do not try to output thunk's body.
973 * ipa-inline.c (inline_small_functions): Use FOR_EACH_DEFINED_FUNCTION.
974 * ipa-inline-analysis.c (compute_inline_parameters): "Analyze" thunks.
975 (inline_analyze_function): Do not care about thunk jump functions.
976 (inline_generate_summary):Use FOR_EACH_DEFINED_FUNCTION.
a9bcb3f0
EB
977 * ipa-prop.c (ipa_prop_write_jump_functions): Use
978 cgraph_function_with_gimple_body_p.
979 * passes.c (do_per_function_toporder): Use
980 cgraph_function_with_gimple_body_p.
c47d0034
JH
981 (execute_one_pass);Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
982 (ipa_write_summaries): Use cgraph_function_with_gimple_body_p.
983 (function_called_by_processed_nodes_p): Likewise.
984
d8f426ec
JM
9852011-05-06 Joseph Myers <joseph@codesourcery.com>
986
987 * config/rs6000/rs6000.opt (rs6000_ieeequad, rs6000_altivec_abi,
988 rs6000_spe_abi, rs6000_darwin64_abi): Remove TargetVariable
989 entries.
990 (mabi=): Replace with separate entries for mabi=altivec,
991 mabi=no-altivec, mabi=spe, mabi=no-spe, mabi=d64, mabi=d32,
992 mabi=ieeelongdouble and mabi=ibmlongdouble.
993 * config/rs6000/rs6000.c (rs6000_option_override_internal): Move
994 check for -mabi=spe without SPE ABI support here.
995 (rs6000_handle_option): Replace OPT_mabi_ handling with
996 OPT_mabi_altivec and OPT_mabi_spe handling.
997
80bde45b
CC
9982011-05-06 Cary Coutant <ccoutant@google.com>
999
1000 * dwarf2out.c (contains_subprogram_definition): New function.
1001 (should_move_die_to_comdat): Call it.
1002
a91926b9
JL
10032011-05-06 Jeff Law <law@redhat.com>
1004
1005 * tree-ssa-threadupdate.c (create_block_for_threading): Do not call
1006 remove_ctrl_stmt_and_useless_edges.
1007 (create_duplicates): Call remove_ctrl_stmt_and_useless_edges.
1008 (fixup_template_block, thread_single_edge): Likewise.
1009 (mark_threaded_blocks): Use THREAD_TARGET.
1010
1fc1b66d
AM
10112011-05-06 Alan Modra <amodra@gmail.com>
1012
1013 PR target/48900
1014 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
1015 const0_rtx as the arg to the dummy __tls_get_addr libcall.
1016
e194de64
UB
10172011-05-06 Uros Bizjak <ubizjak@gmail.com>
1018
1019 * config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
1020 constraint modifier to "r".
1021
d740dc9e
JM
10222011-05-06 Joseph Myers <joseph@codesourcery.com>
1023
1024 * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle and
1025 fall through for OPT_mcmodel_.
1026
cab78b15
AK
10272011-05-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1028
1029 * config/s390/s390.c (s390_asm_trampoline_template): Comment
1030 instruction sizes.
e194de64 1031 (s390_trampoline_init): Replace UNITS_PER_WORD with UNITS_PER_LONG.
cab78b15 1032
ee6824ae
RR
10332011-05-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
1034
eb1485a6
UB
1035 PR target/47930
1036 * config/arm/arm.opt (marm): Document it.
1037 (mthumb): Reject negative variant.
ee6824ae 1038
9ef58464
UB
10392011-05-06 Uros Bizjak <ubizjak@gmail.com>
1040
1041 PR target/48898
1042 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
1043 Fix typo in "ccvt" variable name.
1044
155b6176
TG
10452011-05-06 Tristan Gingold <gingold@adacore.com>
1046
1047 PR target/48895
1048 * config/vms/vms-ar.c (main): Remove cwd variable.
1049
3becc47b
JJ
10502011-05-06 Jakub Jelinek <jakub@redhat.com>
1051
1052 PR debug/48902
1053 * var-tracking.c (prepare_call_arguments): Move else before #endif.
1054
3d528853
NF
10552011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1056
1057 * except.c (sjlj_emit_dispatch_table): Call build_case_label.
1058 * gimplify.c (gimplify_switch_expr): Likewise.
1059 * omp-low.c (expand_omp_sections): Likewise.
1060 * tree-eh.c (lower_try_finally_switch): Likewise.
1061 (lower_eh_dispatch): Likewise.
1062 * tree.h (build_case_label): Declare.
1063 * tree.c (build_case_label): Define.
1064
deb5046b
JM
10652011-05-05 Jason Merrill <jason@redhat.com>
1066
1067 PR c++/40975
1068 * tree-inline.c (copy_tree_r): Use copy_statement_list.
1069 (copy_statement_list): Don't recurse.
1070 * stor-layout.c (copy_self_referential_tree_r): Don't allow
1071 STATEMENT_LIST.
1072
013c0411
JM
10732011-05-05 Joseph Myers <joseph@codesourcery.com>
1074
1075 * config/rs6000/rs6000.c (rs6000_handle_option): Don't fall
1076 through from -mfpu= handling.
1077 * config/rs6000/rs6000.opt (mfpu=): Use Var and Init.
1078
a0905f8b
BS
10792011-05-05 Bernd Schmidt <bernds@codesourcery.com>
1080
1081 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 10]: Handle
1082 POST_MODIFY.
1083
fc4538e4
SE
10842011-05-05 Steve Ellcey <sje@cup.hp.com>
1085
1086 * config.gcc (hppa*64*-*-hpux11*): Modify tm_file and extra_options
1087 for 11.31.
1088 (hppa[12]*-*-hpux11*): Ditto.
1089 (ia64*-*-hpux*): Add ia64/hpux-unix2003.h to tm_file.
1090 * config/ia64/hpux-unix2003.h: New.
1091 * config/pa/pa-hpux1131.opt: New.
1092 * config/pa/pa-hpux1131.h: New.
1093 * config/pa/pa64-hpux.h (STARTFILE_SPEC): Use unix2003.o if requested.
1094 * config/pa/pa-hpux.opt (flag_pa_unix): Check TARGET_HPUX_11_31 value.
4eec64ff 1095 * config/pa/pa.h (TARGET_HPUX_11_31): Provide default (0) value.
fc4538e4 1096
1e30c578
JJ
10972011-05-05 Jakub Jelinek <jakub@redhat.com>
1098
1099 PR debug/48853
1100 * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: Pass mem_mode
1101 instead of mode as 3rd argument to recursive call.
1102 (mem_loc_descriptor) <case REG>: If POINTERS_EXTEND_UNSIGNED, don't
1103 emit DW_OP_GNU_regval_type if mode is Pmode and mem_mode is not
1104 VOIDmode.
1105 (mem_loc_descriptor) <case SYMBOL_REF>: If POINTERS_EXTEND_UNSIGNED,
1106 don't give up if mode is Pmode and mem_mode is not VOIDmode.
1107 (mem_loc_descriptor) <case CONST_INT>: If POINTERS_EXTEND_UNSIGNED,
1108 use int_loc_descriptor if mode is Pmode and mem_mode is not VOIDmode.
1109
d19eb620
JB
11102011-05-05 Julian Brown <julian@codesourcery.com>
1111
1112 * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
1113 parenthesis in D-register case.
1114
c860fe8c
JM
11152011-05-05 Joseph Myers <joseph@codesourcery.com>
1116
1117 * opt-functions.awk (var_type_struct): Handle Enum options.
1118 * optc-gen.awk: Don't check range of variables of character type.
1119 * config/rs6000/rs6000.c (rs6000_sched_insert_nops_str,
1120 rs6000_sched_costly_dep_str, rs6000_recip_name, rs6000_abi_name,
1121 rs6000_sdata_name, rs6000_explicit_options): Remove.
1122 (rs6000_option_override_internal): Check for -malign-power here.
1123 Use global_options_set instead of rs6000_explicit_options.
1124 (rs6000_parse_fpu_option): Remove.
1125 (rs6000_handle_option): Access variables via opts and opts_set
1126 pointers. Use error_at and warning_at. Add fall-through
1127 comments. Don't handle OPT_mcmodel_, OPT_maix_struct_return,
1128 OPT_msvr4_struct_return, OPT_mvrsave, OPT_mspe, OPT_mcall_,
1129 OPT_msdata_, OPT_mtls_size_, OPT_mtraceback_, OPT_mfloat_gprs_,
1130 OPT_msched_costly_dep_, OPT_malign_ or OPT_mrecip_ explicitly
1131 here. Don't use rs6000_parse_fpu_option.
1132 * config/rs6000/rs6000.h (fpu_type): Remove declaration.
1133 * config/rs6000/rs6000.opt (rs6000_long_double_type_size,
1134 rs6000_spe, rs6000_float_gprs): Remove TargetVariable entries.
1135 (mrecip=): Use Var.
1136 (mspe): Use Var and Save.
1137 (mtraceback=): Use Enum and Var.
1138 (rs6000_traceback_type): New Enum and EnumValue entries.
1139 (mfloat-gprs=): Use Enum, Var and Save.
1140 (rs6000_float_gprs): New Enum and EnumValue entries.
1141 (mlong-double-): use Var and Save.
1142 (msched-costly-dep=, minsert-sched-nops=): Use Var.
1143 (malign-): Use Enum and Var.
1144 (rs6000_alignment_flags): New Enum and EnumValue entries.
1145 (mfpu=): Use Enum.
1146 (fpu_type_t): New Enum and EnumValue entries.
1147 * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Use
1148 global_options_set instead of rs6000_explicit_options.
1149 * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Use
1150 global_options_set instead of rs6000_explicit_options.
1151 * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Use
1152 global_options_set instead of rs6000_explicit_options.
1153 * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Use
1154 global_options_set instead of rs6000_explicit_options.
1155 * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Use
1156 global_options_set instead of rs6000_explicit_options.
1157 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
1158 global_options_set instead of rs6000_explicit_options.
1159 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Remove commented-out
1160 definition.
1161 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
1162 global_options_set instead of rs6000_explicit_options.
1163 * config/rs6000/linux64.opt (mcmodel=): Use Enum and Var.
1164 (rs6000_cmodel): New Enum and EnumValue entries.
1165 * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
1166 global_options_set instead of rs6000_explicit_options.
1167 * config/rs6000/sysv4.opt (mcall-, msdata=): Use Var.
1168 (mtls-size=): Use Enum and Var.
1169 (rs6000_tls_size): New Enum and EnumValue entries.
1170
0691dde9
MM
11712011-05-05 Michael Matz <matz@suse.de>
1172
1173 * config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
1174 * config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
1175 * config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
1176 * config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
1177 * config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
1178 * config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
1179 * config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
1180 * config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
1181 * config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
1182 * config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
1183 * config/i386/gnu-user.h (ENDFILE_SPEC): Add Ofast.
1184 * config/i386/gnu-user64.h (ENDFILE_SPEC): Add Ofast.
1185 * config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
1186 * config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
1187 * config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
1188 * config/mips/linux.h (ENDFILE_SPEC): Add Ofast.
1189
86529a49
RG
11902011-05-05 Richard Guenther <rguenther@suse.de>
1191
1192 * expmed.c (expand_variable_shift): Rename to ...
1193 (expand_shift_1): ... this. Take an expanded shift amount.
1194 For rotates recurse directly not building trees for the shift amount.
1195 (expand_variable_shift): Wrap around expand_shift_1.
1196 (expand_shift): Adjust.
1197
d0228c2e
JJ
11982011-05-05 Jakub Jelinek <jakub@redhat.com>
1199
1200 * gimplify.c (create_tmp_var_raw): Don't call build_type_variant.
1201
907a08d9
EB
12022011-05-05 Eric Botcazou <ebotcazou@adacore.com>
1203
1204 * tree.h (get_pending_sizes): Remove prototype.
1205 (put_pending_size): Likewise.
1206 (put_pending_sizes): Likewise.
1207 * stor-layout.c (pending_sizes): Delete.
1208 (get_pending_sizes): Likewise.
1209 (put_pending_size): Likewise.
1210 (put_pending_sizes): Likewise.
1211 (variable_size): Do not call put_pending_size and tidy up.
1212 * function.h (struct function): Remove dont_save_pending_sizes_p.
1213 * lto-streamer-in.c (input_function): Do not stream it.
1214 * lto-streamer-out.c (output_function): Likewise.
1215 * tree-inline.c (initialize_cfun): Do not copy it.
1216 * c-decl.c (store_parm_decls): Do not set it.
1217 * omp-low.c (create_task_copyfn): Likewise.
1218 * tree-optimize.c (tree_rest_of_compilation): Likewise.
1219
386d9c57
UB
12202011-05-05 Uros Bizjak <ubizjak@gmail.com>
1221
1222 * config/i386/i386.md (*movdf_internal_rex64): Simplify nested "if"
1223 conditions.
1224 (*movdf_internal): Ditto.
1225 (*movdf_internal_nointeger): Ditto.
1226 (*movsf_internal): Ditto.
1227
a04a722b
JM
12282011-05-05 Joseph Myers <joseph@codesourcery.com>
1229
1230 * c-decl.c (finish_decl): Don't call get_pending_sizes.
1231 (grokparm): Add parameter expr. Pass it to grokdeclarator.
1232 (push_parm_decl): Add parameter expr. Pass it to grokdeclarator.
1233 (c_variable_size): Remove.
1234 (grokdeclarator): Use save_expr instead of c_variable_size. Don't
1235 call put_pending_sizes.
1236 (get_parm_info): Add parameter expr. Use it to set
1237 arg_info->pending_sizes.
1238 (store_parm_decls): Use arg_info->pending_sizes instead or calling
1239 get_pending_sizes.
1240 * c-parser.c (c_parser_parms_declarator): Update call to
1241 c_parser_parms_list_declarator.
1242 (c_parser_parms_list_declarator): Take parameter expr. Update
1243 call to push_parm_decl. Update recursive call. Don't call
1244 get_pending_sizes. Update calls to get_parm_info.
1245 (c_parser_objc_method_definition): Update calls to
1246 c_parser_objc_method_decl and objc_start_method_definition.
386d9c57 1247 (c_parser_objc_methodproto): Update call to c_parser_objc_method_decl.
a04a722b
JM
1248 (c_parser_objc_method_decl): Add parameter expr. Update call to
1249 grokparm.
386d9c57 1250 (c_parser_objc_try_catch_finally_statement): Update call to grokparm.
a04a722b
JM
1251 * c-tree.h (struct c_arg_info.pending_sizes): Change to a tree.
1252 (get_parm_info, grokparm, push_parm_decl): Update prototypes.
1253
c92a6f97
MH
12542011-05-05 Michael Hope <michael.hope@linaro.org>
1255
386d9c57
UB
1256 PR pch/45979
1257 * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
1258 __ARM_EABI__ hosts.
c92a6f97 1259
07ea0048
UW
12602011-05-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1261
1262 * config/spu/spu.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
1263 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
1264 (spu_output_mi_thunk): New function.
1265
d634bfa1
RO
12662011-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1267
1268 * config/sparc/sol2.h (ASM_OUTPUT_CALL): Use
1269 targetm.asm_out.print_operand.
1270 * config/sol2.c: Include target.h.
1271
40fda55b
JH
12722011-05-04 Jan Hubicka <jh@suse.cz>
1273
1274 * ipa-inline.c (reset_edge_caches): New function.
1275 (update_caller_keys): Add check_inlinablity_for; do not
1276 reset edge caches; remove now unnecesary loop.
386d9c57 1277 (update_callee_keys): Add comments; reset node_growth_cache of callee.
40fda55b
JH
1278 (update_all_callee_keys): Likewise.
1279 (inline_small_functions): Sanity check cache; update code
1280 recomputing it.
1281
0360f70d
BS
12822011-05-04 Bernd Schmidt <bernds@codesourcery.com>
1283
1284 PR rtl-optimization/47612
1285 * df-problems.c (can_move_insns_across): Don't pick a cc0 setter
1286 as the last insn of the sequence to be moved.
1287
7a994646
TB
12882011-05-04 Tobias Burnus <burnus@net-b.de>
1289
1290 PR fortran/48864
1291 * doc/invoke.texi (Ofast): Document that it
1292 enables Fortran's -fno-protect-parens.
1293
7a2f7208
UB
12942011-05-04 Uros Bizjak <ubizjak@gmail.com>
1295
1296 * config/i386/i386.c (ix86_reorg): Run move_or_delete_vzeroupper first.
1297
a2d42931
EB
12982011-05-04 Eric Botcazou <ebotcazou@adacore.com>
1299
1300 * stor-layout.c (variable_size): Do not issue errors.
1301
f81b1a3d
RG
13022011-05-04 Richard Guenther <rguenther@suse.de>
1303
1304 * coverage.c (tree_coverage_counter_ref): Use integer_type_node
1305 for array-ref indices.
1306 (tree_coverage_counter_addr): Likewise.
1307 (build_fn_info_type): Use size_int for index types.
1308 (build_gcov_info): Likewise.
1309
c62c040f
RG
13102011-05-04 Richard Guenther <rguenther@suse.de>
1311
1312 * c-decl.c (check_bitfield_type_and_width): Do not pass NULL
1313 to build_int_cst.
1314 * c-typeck.c (really_start_incremental_init): Use bitsize_int
1315 for constructor indices.
1316 (push_init_level): Likewise.
1317
1e3287d0
RG
13182011-05-04 Richard Guenther <rguenther@suse.de>
1319
1320 * explow.c (promote_mode): Move variable declarations before code.
1321
6c32445b
NF
13222011-05-04 Nathan Froyd <froydnj@codesourcery.com>
1323
1324 * tree.h (build_function_type_array): Declare.
1325 (build_varargs_function_type_array): Declare.
1326 (build_function_type_vec, build_varargs_function_type_vec): Define.
1327 * tree.c (build_function_type_array_1): New function.
1328 (build_function_type_array): New function.
1329 (build_varargs_function_type_array): New function.
1330
fdabf269
RS
13312011-05-04 Richard Sandiford <richard.sandiford@linaro.org>
1332
1333 * tree-vect-loop.c (vectorizable_reduction): Check reduction cost
1334 before setting STMT_VINFO_TYPE.
1335
a207915a
UW
13362011-05-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1337
1338 * config/spu/spu.c (spu_gimplify_va_arg_expr): Call pass_by_reference
1339 instead of spu_pass_by_reference.
1340
5e617be8
AK
13412011-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1342
1343 * calls.c (emit_library_call_value_1): Invoke
1344 promote_function_mode hook on libcall arguments.
1345 * explow.c (promote_function_mode, promote_mode): Handle TYPE
1346 argument being NULL.
1347 * targhooks.c (default_promote_function_mode): Lisewise.
1348 * config/s390/s390.c (s390_promote_function_mode): Likewise.
1349 * config/sparc/sparc.c (sparc_promote_function_mode): Likewise.
1350
1351 * doc/tm.texi: Document that TYPE argument might be NULL.
1352
486d04be
SH
13532011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
1354
1355 * config/bfin/bfin.c (bfin_cpus): Update silicon revisions.
1356
9b19b026
SH
13572011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
1358
1359 From Bernd Schmidt
1360 * config/bfin/bfin.md (addsi3): Add an alternative for IREGS.
1361
502bc3df
RO
13622011-05-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1363
1364 * config/alpha/alpha.h (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB)
1365 (MIPS_UNMARK_STAB, SHASH_SIZE, THASH_SIZE, ALIGN_SYMTABLE_OFFSET):
1366 Move ...
1367 * mips-tfile.c: ... here.
1368 Don't include coretypes.h, tm.h, filenames.h.
1369 (saber_stop): Remove definition and all calls.
1370 [__SABER__]: Remove.
1371 (__LINE__): Remove default.
1372 (Size_t, Ptrdiff_t): Remove definitions.
1373 Replace by size_t, ptrdiff_t.
1374 [!MIPS_DEBUGGING_INFO]: Remove.
1375 (SHASH_SIZE, THASH_SIZE): Remove defaults.
1376 (progname): Add const.
1377 (STATIC): Remove.
1378 Replace all uses by static.
1379 (ALIGN_SYMTABLE_OFFSET): Remove default.
1380 * mips-tdump.c: Don't include coretypes.h, tm.h.
1381 Remove !MIPS_IS_STAB guard.
1382 * Makefile.in (mips-tfile.o): Remove $(RTL_H), coretypes.h,
1383 $(TM_H), filenames.h dependencies.
1384 (mips-tdump.o): Remove $(RTL_H), coretypes.h, $(TM_H) dependencies.
1385
991eb6ef
SH
13862011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
1387
1388 From Jie Zhang
1389 *config/bfin/bfin.c (bfin_extra_live_on_entry): New.
1390 (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
1391
420ccc84
SH
13922011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
1393
1394 From Bernd Schmidt
1395 * config/bfin/bfin.h (FUNCTION_PROFILER): Take TARGET_LONG_CALLS into
1396 account and save/restore RETS.
1397 (PROFILE_BEFORE_PROLOGUE): Define.
1398 (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add tab character. Correct
1399 the push insn to use predecrement.
1400
9f8d69ee
SH
14012011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
1402
1403 From Jie Zhang
1404 * config/bfin/bfin.c (bfin_expand_prologue): Don't clobber P2.
1405
662c03f4
NC
14062011-05-04 Nick Clifton <nickc@redhat.com>
1407
1408 * config/mn10300/mn10300.c: Include cfgloop.h.
1409 (DUMP): New macro.
1410 (mn10300_insert_setlb_lcc): New function. Inserts a SETLB and a
1411 Lcc or a FLcc insn into the instruction stream.
1412 (mn10300_block_contains_call): New function. Returns true if the
1413 given basic block contains a CALL insn.
1414 (mn10300_loop_contains_call_insn): New function. Returns true if
1415 the given loop contains a CALL insn.
1416 (mn10300_scan_for_setlb_lcc): New function. Finds opportunities
1417 to use the SETLB and Lcc or FLcc insns.
1418 (mn10300_reorg): Invoke mn10300_scan_for_setlb_lcc when optimizing.
1419 (TARGET_FLAGS): Add MASK_ALLOW_SETLB.
1420 * config/mn10300/mn10300.opt (msetlb): New option. Used to
1421 disable the SETLB optimization.
1422 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
1423 __SETLB__ or __NO_SETLB__.
1424 * config/mn10300/mn10300.md (UNSPEC_SETLB): New constant.
1425 (movsf_internal): Handle MDR register.
1426 (cmpsi): Make visible.
1427 (setlb): New pattern.
1428 (Lcc): New pattern.
1429 (FLcc): New pattern.
1430
843b6915
UB
14312011-05-04 Uros Bizjak <ubizjak@gmail.com>
1432
1433 PR target/48860
1434 * config/i386/i386.md (*movdi_internal_rex64) Use %vmovd
1435 for reg<->xmm moves.
1436 * config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto.
1437 (vec_concatv2di_rex64_sse): Ditto.
1438 (*sse2_storeq_rex64): Do not emit %v prefix for mov{q} mnemonic.
1439 (*vec_extractv2di_1_rex64): Ditto.
1440
1441 Revert:
1442 2011-05-02 Uros Bizjak <ubizjak@gmail.com>
1443
1444 * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
1445 reg<->xmm moves.
1446 (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves.
1447
d35936ab
RG
14482011-05-04 Richard Guenther <rguenther@suse.de>
1449
1450 * tree.h (int_const_binop): Remove notrunc argument.
1451 * fold-const.c (int_const_binop): Remove notrunc argument. Always
1452 create integer constants that are properly truncated.
1453 (extract_muldiv_1): Expand one notrunc int_const_binop caller.
1454 (const_binop): Remove zero notrunc argument to int_const_binop.
1455 (size_binop_loc): Likewise.
1456 (fold_div_compare): Likewise.
1457 (maybe_canonicalize_comparison_1): Likewise.
1458 (fold_comparison): Likewise.
1459 (fold_binary_loc): Likewise.
1460 (multiple_of_p): Likewise.
1461 * expr.c (store_constructor): Likewise.
1462 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
1463 (maybe_fold_stmt_addition): Likewise.
1464 * ipa-prop.c (ipa_modify_call_arguments): Likewise.
1465 * stor-layout.c (layout_type): Likewise.
1466 * tree-data-ref.c (tree_fold_divides_p): Likewise.
1467 * tree-sra.c (build_ref_for_offset): Likewise.
1468 (build_user_friendly_ref_for_offset): Likewise.
1469 * tree-ssa-address.c (maybe_fold_tmr): Likewise.
1470 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
1471 * tree-ssa-loop-niter.c (inverse): Likewise.
1472 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
1473 * tree-ssa.c (maybe_rewrite_mem_ref_base): Likewise.
1474 * tree-switch-conversion.c (check_range): Likewise.
1475 (build_constructors): Likewise.
1476 * tree-vect-generic.c (expand_vector_piecewise): Likewise.
1477 * tree-vrp.c (set_and_canonicalize_value_range): Likewise.
1478 (extract_range_from_assert): Likewise.
1479 (vrp_int_const_binop): Likewise.
1480 (extract_range_from_binary_expr): Likewise.
1481 (extract_range_from_unary_expr): Likewise.
1482 (check_array_ref): Likewise.
1483 (find_case_label_range): Likewise.
1484 (simplify_div_or_mod_using_ranges): Likewise.
1485 * tree-cfg.c (group_case_labels_stmt): Use double-ints for
1486 comparing case labels for merging.
1487
8992c063
MW
14882011-05-03 Mark Wielaard <mjw@redhat.com>
1489
1490 * dwarf2out.c (debug_str_hash_forced): Removed.
1491 (gen_label_for_indirect_string): Removed.
1492 (get_debug_string_label): Removed.
1493 (AT_string_form): Generate label directly.
1494 (output_indirect_string): Test indirect_string_node for
1495 DW_FORM_strp instead of checking label and refcount.
1496 (prune_indirect_string): Removed.
1497 (prune_unused_types): Don't check debug_str_hash_forced or
1498 call prune_indirect_string.
1499
4868e6ea
AO
15002011-05-04 Alexandre Oliva <aoliva@redhat.com>
1501
1502 PR other/48093
1503 * doc/invoke.texi: Document -mtls-dialect and GCC_COMPARE_DEBUG.
1504
01a5c0ab
AO
15052011-05-04 Alexandre Oliva <aoliva@redhat.com>
1506
1507 PR debug/47994
1508 PR debug/47919
1509 * combine.c (try_combine): Skip debug insns at m_split tests.
1510
6ac00218
MW
15112011-04-26 Mark Wielaard <mjw@redhat.com>
1512
1513 PR42288
1514 * dwarf2out.c (dwarf2out_finish): Always call output_aranges ()
1515 when info_section_emitted.
1516
3af42a7b
JM
15172011-05-03 Joseph Myers <joseph@codesourcery.com>
1518
1519 * config/mips/mips-opts.h: New.
1520 * config/mips/mips.c (enum mips_r10k_cache_barrier_setting): Move
1521 to mips-opts.h.
1522 (mips_abi, mips_code_readable, mips_r10k_cache_barriee): Remove.
1523 (mips_handle_option): Don't handle OPT_mabi_, OPT_mcode_readable_
1524 or OPT_mr10k_cache_barrier_ here. Access mips_cache_flush_func
1525 via opts pointer.
1526 * config/mips/mips.h (enum mips_code_readable_setting): Move to
1527 mips-opts.h.
1528 (mips_abi, mips_code_readable): Don't declare.
843b6915 1529 * config/mips/mips.opt (config/mips/mips-opts.h): New HeaderInclude.
3af42a7b
JM
1530 (mabi=): Use Enum and Var.
1531 (mips_abi): New Enum and EnumValue entries.
1532 (mcode-readable=): Use Enum and Var.
1533 (mips_code_readable_setting): New Enum and EnumValue entries.
1534 (mr10k-cache-barrier=): Use Enum and Var.
1535 (mips_r10k_cache_barrier_setting): New Enum and EnumValue entries.
1536
1cb1a99f
JH
15372011-05-03 Jan Hubicka <jh@suse.cz>
1538
1539 * cgraph.h (cgraph_node_set_def, varpool_node_set_def): Move out of GTY;
1540 replace hash by pointer map.
1541 (cgraph_node_set_element_def, cgraph_node_set_element,
1542 const_cgraph_node_set_element, varpool_node_set_element_def,
1543 varpool_node_set_element, const_varpool_node_set_element): Remove.
1544 (free_cgraph_node_set, free_varpool_node_set): New function.
1545 (cgraph_node_set_size, varpool_node_set_size): Use vector size.
1546 * tree-emutls.c: Free varpool node set.
1547 * ipa-utils.c (cgraph_node_set_new, cgraph_node_set_add,
1548 cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
1549 debug_cgraph_node_set, free_cgraph_node_set, varpool_node_set_new,
1550 varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
1551 dump_varpool_node_set, free_varpool_node_set, debug_varpool_node_set):
1552 Move here from ipa.c; implement using pointer_map
1553 * ipa.c (cgraph_node_set_new, cgraph_node_set_add,
1554 cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
1555 debug_cgraph_node_set, varpool_node_set_new,
1556 varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
1557 dump_varpool_node_set, debug_varpool_node_set):
1558 Move to ipa-uitls.c.
1559 * passes.c (ipa_write_summaries): Update.
1560
7f31f4db
SH
15612011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
1562
7a2f7208
UB
1563 From Mike Frysinger:
1564 * config/bfin/bfin.c (bfin_cpus[]): Add 0.4 for
1565 bf542/bf544/bf547/bf548/bf549.
7f31f4db 1566
b70fce6d
UB
15672011-05-03 Uros Bizjak <ubizjak@gmail.com>
1568
1569 * expmed.c (extract_bit_field_1): Remove write-only variable "icode".
1570
265b1d82
SH
15712011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
1572
1573 From Bernd Schmidt:
1574 * config/bfin/bfin.md (MOVCC): New mode_macro.
1575 (mov<mode>cc_insn1, mov<mode>cc_insn2, mov<mode>cc): Renamed from
1576 movsicc_insn1, movsicc_insn2 and movsicc and macroized. Remove
1577 comments from generated assembly.
1578
f0b568f3
SH
15792011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
1580
1581 From Bernd Schmidt
1582 * config/bfin/t-bfin (LIB1ASMFUNCS): Add muldi3 and umulsi3_highpart.
1583 * config/bfin/t-bfin-elf (LIB1ASMFUNCS): Add muldi3.
1584 * config/bfin/t-bfin-linux (LIB1ASMFUNCS): Add muldi3.
1585 * config/bfin/t-bfin-uclinux (LIB1ASMFUNCS): Add muldi3.
1586 * config/bfin/lib1funcs.asm (___muldi3): New function.
1587
2c67cf6e
NF
15882011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1589
1590 * config/stormy16/stormy16 (xstormy16_init_builtins): Call
1591 build_function_type_list instead of build_function_type.
1592 Rearrange initialization of `args' to do so.
1593
f9ac28ad
NF
15942011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1595
1596 * config/i386/i386.c (ix86_code_end): Call build_function_type_list
1597 instead of build_function_type.
1598
22b8798c
NF
15992011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1600
1601 * config/rs6000/rs6000.c (spe_init_builtins): Call
1602 build_function_type_list instead of build_function_type.
1603 (paired_init_builtins, altivec_init_builtins): Likewise.
1604 (builtin_function_type): Likewise.
1605
4cb44528
NF
16062011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1607
1608 * config/sh/sh.c (sh_media_init_builtins): Call
1609 build_function_type_list instead of build_function_type.
1610
4c203a6a
NF
16112011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1612
1613 * config/sparc/sparc.c (sparc_file_end): Call
1614 build_function_type_list instead of build_function_type.
1615
d6a3d62b
NF
16162011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1617
1618 * config/alpha/alpha.c (alpha_init_builtins): Call
1619 build_function_type_list instead of build_function_type.
1620
de530b86
NF
16212011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1622
1623 * config/xtensa/xtensa.c (xtensa_init_builtins): Call
1624 build_function_type_list instead of build_function_type.
1625
baeec5f2
NF
16262011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1627
1628 * config/iq2000/i2000.c (iq2000_init_builtins): Call
1629 build_function_type_list instead of build_function_type.
1630 Delete `endlink' variable.
1631
c19afe52
NF
16322011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1633
1634 * config/avr/avr.c (avr_init_builtins): Call
1635 build_function_type_list instead of build_function_type.
1636
a341df0a
NF
16372011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1638
1639 * config/picochip/picochip.c (picochip_init_builtins): Call
1640 build_function_type_list instead of build_function_type.
1641 Delete `endlink' variable.
1642
2102b1e1
NF
16432011-05-03 Nathan Froyd <froydnj@codesourcery.com>
1644
1645 * config/bfin/bfin.c (bfin_init_builtins): Call
1646 build_function_type_list instead of build_function_type.
1647
9f111209
SH
16482011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
1649
1650 From Bernd Schmidt
1651 * config/bfin/bfin.md (rotrsi, rotlsi): Don't take INTVAL of anything
1652 that's not CONST_INT. Seemingly redundant check is due to PR39768.
1653
7071d064
SH
16542011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
1655
1656 From Jie Zhang:
1657 * config/bfin/uclinux.h (LINK_GCC_C_SEQUENCE_SPEC): Make sure
1658 libbffastfp overrides libgcc when -mfast-fp.
1659
748f7574 16602011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
44fb48ef
SH
1661
1662 Originally from Bernd Schmidt
1663 * config/bfin/uclinux.h (SUBTARGET_FDPIC_NOT_SUPPORTED): New macro.
1664 * config/bfin/bfin.c (override_options): Test it and error if
1665 TARGET_FDPIC.
1666
1a3a9152
SH
16672011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
1668
1669 Originally From Bernd Schmidt
1670 * config/bfin/bfin.c (override_options): Disable -fstack-limit for
1671 FD-PIC.
1672
7134c090
JL
16732011-05-03 Jeff Law <law@redhat.com>
1674
1675 * tree-ssa-threadupdate.c (THREAD_TARGET): define.
1676 (remove_ctrl_stmt_and_useless_edges): Clear AUX field of outgoing edges.
1677 (craete_edge_and_update_destination_phis): Use THREAD_TARGET rather
b70fce6d
UB
1678 than accessing AUX field directly. Free the AUX field before
1679 clearing it.
7134c090
JL
1680 (thread_block, thread_through_loop_header): Likewise.
1681 (thread_single_edge, mark_threaded_blocks): Likewise.
1682 (redirect_edges): Delay clearing the AUX field. Free the AUX field.
1683 (register_jump_thread): Do not attempt to thread to a NULL edge.
b70fce6d 1684
2c7eebae
BS
16852011-05-03 Bernd Schmidt <bernds@codesourcery.com>
1686
1687 * function.c (init_function_start): Call decide_function_section.
1688 * varasm.c (decide_function_section): New function.
1689 (assemble_start_function): When not using
1690 flag_reorder_blocks_and_partition, don't compute in_cold_section_p
1691 or first_function_block_is_cold.
1692 * rtl.h (decide_function_section): Declare.
1693
17038fcf
JJ
16942011-05-03 Uros Bizjak <ubizjak@gmail.com>
1695 Jakub Jelinek <jakub@redhat.com>
1696
1697 PR target/48774
1698 * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
1699 only succeed if req_mode is the same as set_mode.
1700
3810076b
BS
17012011-05-03 Bernd Schmidt <bernds@codesourcery.com>
1702
1703 * gengenrtl.c (special_rtx): PC, CC0 and RETURN are special.
1704 * genemit.c (gen_exp): Handle RETURN.
1705 * emit-rtl.c (verify_rtx_sharing): Likewise.
1706 (init_emit_regs): Create pc_rtx, ret_rtx and cc0_rtx specially.
1707 * rtl.c (copy_rtx): RETURN is shared.
1708 * rtl.h (enum global_rtl_index): Add GR_RETURN.
1709 (ret_rtx): New.
1710 * jump.c (redirect_exp_1): Don't use gen_rtx_RETURN.
1711 * config/s390/s390.c (s390_emit_epilogue): Likewise.
1712 * config/rx/rx.c (gen_rx_rtsd_vector): Likewise.
1713 * config/cris/cris.c (cris_expand_return): Likewise.
1714 * config/m68k/m68k.c (m68k_expand_epilogue): Likewise.
1715 * config/rs6000/rs6000.c (rs6000_make_savres_rtx,
1716 rs6000_emit_epilogue, rs6000_output_mi_thunk): Likewise.
1717 * config/picochip/picochip.c (picochip_expand_epilogue): Likewise.
1718 * config/h8300/h8300.c (h8300_push_pop, h8300_expand_epilogue):
1719 Likewise.
1720 * config/v850/v850.c (expand_epilogue): Likewise.
1721 * config/bfin/bfin.c (bfin_expand_call): Likewise.
1722 * config/arm/arm.md (epilogue): Likewise.
1723 * config/mn10300/mn10300.c (mn10300_expand_epilogue): Likewise.
1724 * config/sparc/sparc.c (sparc_struct_value_rtx): Rename ret_rtx
1725 variable to ret_reg.
1726
9efdb4ad
RG
17272011-05-03 Richard Guenther <rguenther@suse.de>
1728
1729 PR lto/48846
1730 * lto-streamer-in.c (unpack_ts_decl_common_value_fields):
1731 Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
1732 * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
1733
60a45536
RG
17342011-05-03 Richard Guenther <rguenther@suse.de>
1735
1736 * c-decl.c (grokdeclarator): Instead of looking at
1737 TREE_OVERFLOW check if the constant fits in the index type.
1738
3188ed59
RS
17392011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
1740
1741 * config/arm/neon.md (vec_load_lanes<mode><mode>): New expanders,
1742 (vec_store_lanes<mode><mode>): Likewise.
1743
272c6793
RS
17442011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
1745
1746 * doc/md.texi (vec_load_lanes, vec_store_lanes): Document.
1747 * optabs.h (COI_vec_load_lanes, COI_vec_store_lanes): New
1748 convert_optab_index values.
1749 (vec_load_lanes_optab, vec_store_lanes_optab): New convert optabs.
1750 * genopinit.c (optabs): Initialize the new optabs.
1751 * internal-fn.def (LOAD_LANES, STORE_LANES): New internal functions.
1752 * internal-fn.c (get_multi_vector_move, expand_LOAD_LANES)
1753 (expand_STORE_LANES): New functions.
1754 * tree.h (build_array_type_nelts): Declare.
1755 * tree.c (build_array_type_nelts): New function.
1756 * tree-vectorizer.h (vect_model_store_cost): Add a bool argument.
1757 (vect_model_load_cost): Likewise.
1758 (vect_store_lanes_supported, vect_load_lanes_supported)
1759 (vect_record_strided_load_vectors): Declare.
1760 * tree-vect-data-refs.c (vect_lanes_optab_supported_p)
1761 (vect_store_lanes_supported, vect_load_lanes_supported): New functions.
1762 (vect_transform_strided_load): Split out statement recording into...
1763 (vect_record_strided_load_vectors): ...this new function.
1764 * tree-vect-stmts.c (create_vector_array, read_vector_array)
1765 (write_vector_array, create_array_ref): New functions.
1766 (vect_model_store_cost): Add store_lanes_p argument.
1767 (vect_model_load_cost): Add load_lanes_p argument.
1768 (vectorizable_store): Try to use store-lanes functions for
1769 interleaved stores.
1770 (vectorizable_load): Likewise load-lanes and loads.
1771 * tree-vect-slp.c (vect_get_and_check_slp_defs): Update call
1772 to vect_model_store_cost.
1773 (vect_build_slp_tree): Likewise vect_model_load_cost.
1774
0f6d54f7
RS
17752011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
1776
1777 * hooks.h (hook_bool_mode_uhwi_false): Declare.
1778 * hooks.c (hook_bool_mode_uhwi_false): New function.
1779 * target.def (array_mode_supported_p): New hook.
1780 * doc/tm.texi.in (TARGET_ARRAY_MODE_SUPPORTED_P): Add @hook.
1781 * doc/tm.texi: Regenerate.
1782 * stor-layout.c (mode_for_array): New function.
1783 (layout_type): Use it.
1784 * config/arm/arm.c (arm_array_mode_supported_p): New function.
1785 (TARGET_ARRAY_MODE_SUPPORTED_P): Define.
1786
b15eacc7
EB
17872011-05-03 Eric Botcazou <ebotcazou@adacore.com>
1788
1789 PR target/48723
1790 * config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
1791 for -fstack-check if the size to allocate is negative.
1792
575bfb00
LC
17932011-05-02 Lawrence Crowl <crowl@google.com>
1794
1795 * timevar.h (timevar_cond_start): Remove unused POP_TIMEVAR_AND_RETURN.
1796 (timevar_cond_start): New for starting a timer only when it is not
1797 already running.
1798 (timevar_cond_stop): New for stopping a timer when it was not already
1799 running.
1800
1801 * timevar.c (timevar_stop): Enable start/stop timers to start again.
1802 (timevar_cond_start): New as above.
1803 (timevar_cond_stop): New as above.
1804
1805 * timevar.def: Add start/stop timers for compiler phases,
1806 TV_PHASE_SETUP, TV_PHASE_PARSING, TV_PHASE_DEFERRED, TV_PHASE_CGRAPH,
1807 TV_PHASE_DBGINFO (C), TV_PHASE_CHECK_DBGINFO (C++), TV_PHASE_GENERATE,
1808 and TV_PHASE_FINALIZE.
1809 Change push/pop timer TV_PARSE to TV_PARSE_GLOBAL.
1810 Add push/pop timers TV_PARSE_STRUCT, TV_PARSE_ENUM, TV_PARSE_FUNC,
1811 TV_PARSE_INLINE, TV_PARSE_INMETH, TV_TEMPLATE_INST.
1812 Change push/pop timer TV_NAME_LOOKUP into a start/stop timer.
1813 Make unused TV_OVERLOAD into a start/stop timer.
1814
1815 Remove unused timers TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION.
1816 Mark the strings for TV_NAME_LOOKUP and TV_OVERLOAD with a "|"
1817 to indicate that they are start/stop timers.
1818
1819 * toplev.c (compile_file): Change TV_PARSE to TV_PARSE_GLOBAL.
1820 Add start/stop timers TV_PHASE_PARSING and TV_PHASE_GENERATE.
1821 Move initialization to do_compile.
1822 (do_compile): Add initialization from above.
1823 Add start/stop timers TV_PHASE_SETUP and TV_PHASE_FINALIZE.
1824
1825 * c-decl.c (c_write_global_declarations): Add start/stop of
1826 TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO.
1827
1828 * c-parser.c (c_parser_declaration_or_fndef): Push/pop TV_PARSE_FUNC
1829 or TV_PARSE_INLINE, as appropriate.
1830 (c_parser_enum_specifier): Push/pop TV_PARSE_ENUM.
1831 (c_parser_struct_or_union_specifier): Push/pop TV_PARSE_STRUCT.
1832
3533b943
JM
18332011-05-02 Jason Merrill <jason@redhat.com>
1834
1835 PR c++/40975
1836 * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.
1837
2609a0ce
SM
18382011-05-02 Simon Martin <simartin@users.sourceforge.net>
1839
1840 PR c/35445
1841 * c-decl.c (finish_decl): Only create a composite if the types are
1842 compatible.
1843
6b0e4cbb
JM
18442011-05-02 Joseph Myers <joseph@codesourcery.com>
1845
1846 * config/fr30/fr30-protos.h (Mmode): Don't define.
1847 * config/m32r/m32r-protos.h (Mmode): Don't define. Expand
1848 definition where used.
1849 * config/mn10300/mn10300-protos.h (Mmode, Cstar, Rclas): Don't
1850 define. Expand definitions where used.
1851 * config/rx/rx-protos.h (Mmode, Fargs, Rcode): Don't define.
1852 Expand definitions where used.
1853 * config/rx/rx.c (rx_is_legitimate_address, rx_function_arg_size,
1854 rx_function_arg, rx_function_arg_advance,
1855 rx_function_arg_boundary): Expand definitions of those macros.
1856 * config/v850/v850-protos.h (Mmode): Don't define. Expand
1857 definition where used.
1858
4e938ce6
UB
18592011-05-02 Uros Bizjak <ubizjak@gmail.com>
1860
1861 * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
1862 reg<->xmm moves.
1863 (*mov<mode>_internal): Merge with *mov<mode>_internal_avx.
1864 (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves. Merge
1865 with *movv2sf_internal_rex64_avx.
1866 (*movv2sf_internal): Merge with *movv2sf_internal_avx.
1867 * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
1868 Use %v prefix in insn mnemonic to handle TARGET_AVX.
1869 (*movdi_internal): Add "isa" attribute. Use "maybe_vex" instead of
1870 "vex" in "prefix" attribute calculation.
1871 (*movdf_internal): Output AVX mnemonics. Add "prefix" attribute.
1872
36019c19
SH
18732011-05-02 Stuart Henderson <shenders@gcc.gnu.org>
1874
7a2f7208
UB
1875 PR target/47951
1876 * config/bfin/bfin.md (loop_end): Use matching constraints to ensure
1877 inputs match the output.
36019c19 1878
f69ea688
AS
18792011-05-02 Andreas Schwab <schwab@linux-m68k.org>
1880
1881 PR target/47955
1882 * config/m68k/m68k.c (m68k_expand_prologue): Set
1883 current_function_static_stack_size.
1884
c33406f5
JH
18852011-05-02 Jan Hubicka <jh@suse.cz>
1886
1887 * lto-streamer.c (lto_streamer_cache_insert_1,
1888 lto_streamer_cache_lookup, lto_streamer_cache_create,
1889 lto_streamer_cache_delete): Use pointer map instead of hashtable.
1890 * lto-streamer.h (lto_streamer_cache_d): Turn node_map into pointer_map.
1891
47c94d21
JM
18922011-05-02 Joseph Myers <joseph@codesourcery.com>
1893
1894 * config/m68k/genopt.sh, config/m68k/m68k-isas.def,
1895 config/m68k/m68k-microarchs.def, config/m68k/m68k-opts.h,
1896 config/m68k/t-opts: New files.
1897 * config/m68k/m68k-tables.opt: New file (generated).
1898 * config.gcc (fido-*-*, m68k-*-*): Add m68k/m68k-tables.opt to
1899 extra_options and m68k/t-opts to tmake_file.
1900 * config/m68k/m68k.c (m68k_library_id_string): More to m68k.opt.
1901 (all_isas): Initialize using m68k-isas.def.
1902 (all_microarchs): Initialize using m68k-microarchs.def.
1903 (m68k_find_selection): Remove.
1904 (m68k_handle_option): Don't assert that global structures are in
1905 use. Use error_at. Access variables via opts pointer. Don't
1906 handle -march=, -mcpu= and -mtune= here. Set gcc_options fields
1907 directly for -m68020-40 and -m68020-60.
1908 (m68k_option_override): Set m68k_arch_entry, m68k_cpu_entry and
1909 m68k_tune_entry here.
1910 * config/m68k/m68k.h (enum uarch_type, enum target_device): Move
1911 to m68k-opts.h.
1912 (m68k_library_id_string): Remove declaration.
4e938ce6 1913 * config/m68k/m68k.opt (config/m68k/m68k-opts.h): New HeaderInclude.
47c94d21
JM
1914 (m68k_library_id_string): New Variable.
1915 (march=, mcpu=, mtune=): Use Enum and Var.
1916
e562bf36
RG
19172011-05-02 Richard Guenther <rguenther@suse.de>
1918
1919 * varasm.c (output_constructor_regular_field): Compute zero-based
1920 index with double-ints. Make sure to ICE instead of producing
1921 wrong code.
1922 * cgraph.c (cgraph_add_thunk): Do not create new tree nodes
1923 in asserts. Properly use a signed type.
1924
6bec6c98
UB
19252011-05-02 Uros Bizjak <ubizjak@gmail.com>
1926
1927 * config/i386/sse.md (V): New mode iterator.
1928 (V_128): Rename from SSEMODE. Make V2DF mode conditional on
1929 TARGET_SSE2.
1930 (V_256): Rename from AVX256MODE.
1931 (VF): Make V4SF mode unconditional. Add TARGET_SSE instruction
1932 condition to all users.
1933 (VF1): Ditto.
1934 (VF2): Make V2DF mode unconditional. Add TARGET_SSE2 instruction
1935 condition to all users.
1936 (VF_128): Make V4SF mode unconditional.
1937 (VF_256): Rename from AVX256MODEF2P.
1938 (VI4F_128): Rename from SSEMODE4S.
1939 (VI8F_128): Rename from SSEMODE2D.
1940 (VI4F_256): Rename from AVX256MODE8P.
1941 (VI8F_256): Rename from AVX256MODE4P.
1942 (avxsizesuffix): Add V16HI, V4DI, V8HI and V2DI modes.
1943 (ssescalarmodesuffix): Remove SF and DF modes.
1944 (SSEMODE124): Remove.
1945 (SSEMODE1248): Ditto.
1946 (SSEMODEF2P): Ditto.
1947 (AVXMODEF2P): Ditto.
1948 (AVXMODEFDP): Ditto.
1949 (AVXMODEFSP): Ditto.
1950 (VEC_EXTRACT_MODE): Make V16QI, V8HI, V4SI, V2DI, V4SF and V2DF modes
1951 unconditional.
1952 (VEC_EXTRACT_EVENODD_MODE): Rename from SSEMODE_EO. Make V4SF mode
1953 unconditional.
1954 (xop_pcmov_<mode><avxsizesuffix>): Merge from xop_pcmov_<mode> and
1955 xop_pcmov_<mode>256. Use V mode iterator.
1956
1957 Adjust RTX patterns globally for renamed mode attributes.
1958
2dfdcb4b
UW
19592011-05-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1960
1961 * haifa-sched.c (sched_emit_insn): Emit insn before first
1962 non-scheduled insn. Inform back-end about new insn. Add
1963 new insn to scheduled_insns list.
1964
90bc4623
RG
19652011-05-02 Richard Guenther <rguenther@suse.de>
1966
1967 PR tree-optimization/48822
1968 * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
1969 (process_scc): Indicate which iteration we start.
1970
bc0fe8cb
JH
19712011-05-02 Jan Hubicka <jh@suse.cz>
1972
1973 * lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
1974 (lto_section_overrun): New.
1975 * lto-section-out.c (append_block): Rename to ...
1976 (lto_append_block): ... this one; export.
1977 (lto_output_1_stream): Move lto lto-streamer.h
1978 (lto_output_data_stream): Update.
1979 * lto-streamer.h (lto_section_overrun, lto_append_block): Declare.
1980 (lto_output_1_stream, lto_input_1_unsigned): Turn into inline
1981 functions.
1982
f070a9d1
RG
19832011-05-02 Richard Guenther <rguenther@suse.de>
1984
1985 * tree.c (tree_code_counts): New global array.
1986 (record_node_allocation_statistics): Count individual tree codes.
1987 (dump_tree_statistics): Dump individual code stats.
1988
09dfe187
JH
19892011-05-01 Jan Hubicka <jh@suse.cz>
1990
1991 * ipa-inline.c (caller_growth_limits): Fix thinko when
1992 looking for largest stack frame.
1993 * ipa-inline.h (dump_inline_summary): Declare.
1994 * ipa-inline-analysis.c (dump_inline_edge_summary): Dump info
1995 on stack usage.
1996 (dump_inline_summary): Export.
1997 (debug_inline_summary): Declare as DEBUG_FUNCTION.
1998
6f76a878
AS
19992011-05-01 Anatoly Sokolov <aesok@post.ru>
2000
2001 * reginfo.c (memory_move_cost): Change rclass argument type form
2002 'enum reg_class' to reg_class_t.
2003 * reload.h (memory_move_cost): Update prototype.
2004 * postreload.c reload_cse_simplify_set): Change type dclass var to
2005 reg_class_t.
2006 * ira-int.h (ira_allocate_cost_vector, ira_free_cost_vector):
2007 Update prototype.
2008 (ira_allocate_and_set_costs): Change aclass argument type form
2009 'enum reg_class' to reg_class_t.
6bec6c98 2010 * ira-build.c (ira_allocate_cost_vector, ira_free_cost_vector):
6f76a878
AS
2011 Change aclass argument type to reg_class_t.
2012 (update_conflict_hard_reg_costs): Change type aclass and pref vars
2013 to reg_class_t.
2014 * gcc/ira.c (setup_class_subset_and_memory_move_costs): Adjust
2015 memory_move_cost call.
2016
2017 * config/ia64/ia64.c (ia64_register_move_cost): Remove 'from' and
2018 'to' local var. Rename from_i and to_i arguments to 'from' and 'to'.
2019 Change type tmp var to reg_class_t.
2020
9a4ac625
JH
20212011-04-30 Jan Hubicka <jh@suse.cz>
2022
2023 * ipa-inline.c (can_inline_edge_p): Disregard limits when
2024 inlining into function with flatten attribute.
2025 (want_inline_small_function_p): Be more realistic about inlining
2026 cold calls where callee size grows.
2027
dd8352ee
JH
20282011-04-30 Jan Hubicka <jh@suse.cz>
2029
2030 * cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor
2031 flags.
2032
46e43d2b
AS
20332011-04-30 Anatoly Sokolov <aesok@post.ru>
2034
2035 * config/sparc/sparc.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
2036 PRINT_OPERAND_PUNCT_VALID_P): Remove.
2037 * config/sparc/sparc-protos.h (print_operand): Remove declaration.
2038 * config/sparc/sparc.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P,
2039 TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
2040 (print_operand): Rename to...
2041 (sparc_print_operand): ...this. Make static. Adjust
2042 sparc_print_operand function call.
2043 (sparc_print_operand_punct_valid_p, sparc_print_operand_address): New
2044 functions.
2045
ecb62563
JH
20462011-04-30 Jan Hubicka <jh@suse.cz>
2047
6bec6c98 2048 PR middle-end/48752
ecb62563
JH
2049 * ipa-inline.c (early_inliner): Disable when doing late
2050 addition of function.
2051
edb9b69e
JJ
20522011-04-30 Jakub Jelinek <jakub@redhat.com>
2053
be80a87e
JJ
2054 * dwarf2out.c (get_address_mode): New inline.
2055 (mem_loc_descriptor): Add MEM_MODE parameter, adjust recursive calls,
2056 if not dwarf_strict emit
2057 DW_OP_GNU_{{const,regval,deref}_type,convert,reinterpret} when
2058 desirable. Handle FLOAT_EXTEND, FLOAT_TRUNCATE, FLOAT,
2059 UNSIGNED_FLOAT, FIX and UNSIGNED_FIX. Just return NULL for
2060 FMA, STRICT_LOW_PART, CONST_VECTOR and CONST_FIXED.
2061 (dwarf2out_frame_debug_cfa_expression, reg_loc_descriptor,
2062 dw_loc_list_1, cst_pool_loc_descr, loc_list_from_tree): Adjust
2063 mem_loc_descriptor callers.
2064 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
2065 output_loc_operands_raw, hash_loc_operands, compare_loc_operands):
2066 Handle DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
2067 DW_OP_GNU_deref_type, DW_OP_GNU_convert and DW_OP_GNU_reinterpret.
2068 (base_types): New variable.
2069 (get_base_type_offset, calc_base_type_die_sizes,
2070 base_type_for_mode, mark_base_types, base_type_cmp,
2071 move_marked_base_types): New functions.
2072 (calc_die_sizes): Assert that die_offset is 0 or equal to
2073 next_die_offset.
2074 (loc_descriptor): Only handle here lowpart SUBREGs of REG, for
2075 others defer to mem_loc_descriptor. Adjust mem_loc_descriptor
2076 callers. If not dwarf_strict, call mem_loc_descriptor even for
2077 non-MODE_INT modes or MODE_INT modes larger than DWARF2_ADDR_SIZE.
2078 (gen_subprogram_die): Don't give up on call site parameters
2079 with non-integral or large integral modes. Adjust
2080 mem_loc_descriptor callers.
2081 (prune_unused_types): Call prune_unused_types_mark on base_types
2082 vector entries.
2083 (resolve_addr): Call mark_base_types.
2084 (dwarf2out_finish): Call move_marked_base_types.
2085
edb9b69e
JJ
2086 PR tree-optimization/48809
2087 * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
2088 type.
2089 (gen_inbound_check): Don't compute index_expr - range_min in utype
2090 again, instead reuse SSA_NAME initialized in build_arrays.
2091 Remove two useless gsi_for_stmt calls.
2092
a6545a3d
JL
20932011-04-29 Jeff Law <law@redhat.com>
2094
2095 * tree-ssa-threadedge.c (thread_across_edge): Add missing return.
2096
af8bca3c
MJ
20972011-04-29 Martin Jambor <mjambor@suse.cz>
2098
2099 * cgraph.h (cgraph_postorder): Remove declaration.
2100 * ipa-utils.h (ipa_free_postorder_info): Declare.
2101 (ipa_reverse_postorder): Likewise.
2102 * cgraphunit.c: Include ipa-utils.h.
2103 (cgraph_expand_all_functions): Update call to ipa_reverse_postorder.
2104 * ipa-inline.c: Include ipa-utils.h.
2105 (ipa_inline): Update call to ipa_reverse_postorder.
2106 * ipa-pure-const.c (propagate_pure_const): Update call to
2107 ipa_reduced_postorder and ipa_print_order. Call
2108 ipa_free_postorder_info to clean up.
2109 (propagate_nothrow): Likewise.
2110 * ipa-reference.c (propagate): Removed a useless call to
2111 ipa_utils_reduced_inorder, updated a call to ipa_reduced_postorder
2112 and ipa_print_order. Call ipa_free_postorder_info to clean up.
2113 * ipa.c: Include ipa-utils.h.
2114 (ipa_profile): Update call to ipa_reverse_postorder.
2115 (cgraph_postorder): Moved to...
2116 * ipa-utils.c (ipa_reverse_postorder): ...here and renamed.
2117 (ipa_utils_print_order): Renamed to ipa_print_order.
2118 (ipa_utils_reduced_inorder): Renamed to ipa_reduced_postorder. Updated
2119 comments.
2120 (ipa_free_postorder_info): New function.
2121 * passes.c: Include ipa-utils.h.
2122 (do_per_function_toporder): Update call to ipa_reverse_postorder.
2123 (ipa_write_summaries): Likewise.
2124 * Makefile.in (passes.o): Add IPA_UTILS_H to dependencies.
2125 (cgraphunit.o): Likewise.
2126 (ipa.o): Likewise.
2127 (ipa-inline.o): Likewise.
2128
b15c64ee
JH
21292011-04-29 Jan Hubicka <jh@suse.cz>
2130
2131 * gcc.dg/tree-ssa/inline-10.c: New testcase.
2132 * gcc.dg/tree-ssa/inline-9.c: Disable partial inlining.
2133 * ipa-inline.h (clause_t): Turn into unsigned int.
2134 * ipa-inline-analysis.c (add_clause): Do more simplification.
2135 (and_predicates): Shortcut more cases.
2136 (predicates_equal_p): Move forward; check that clauses are properly
2137 ordered.
2138 (or_predicates): Shortcut more cases.
2139 (edge_execution_predicate): Rewrite as...
2140 (set_cond_stmt_execution_predicate): ... this function; handle
2141 __builtin_constant_p.
2142 (set_switch_stmt_execution_predicate): New .
2143 (compute_bb_predicates): New.
2144 (will_be_nonconstant_predicate): Update TODO.
2145 (estimate_function_body_sizes): Use compute_bb_predicates
2146 and free them later, always try to estimate if stmt is constant.
2147 (estimate_time_after_inlining, estimate_size_after_inlining):
2148 Gracefully handle optimized out edges.
2149 (read_predicate): Fix off by one error.
2150
a88fdc2a
NP
21512011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>
2152
2153 * Makefile.in (ENABLE_MAINTAINER_RULES): New.
2154
d984c8ef
XDL
21552011-04-27 Xinliang David Li <davidxl@google.com>
2156
2157 * tree-profile.c (init_ic_make_global_vars): Set
2158 tls attribute on ic vars.
2159 * coverage.c (coverage_end_function): Initialize
2160 function_list with zero.
2161
45a2c477
RG
21622011-04-29 Richard Guenther <rguenther@suse.de>
2163
2164 * builtins.c (fold_builtin_classify_type): Use integer_type_node
2165 for the type of the result.
2166 (fold_builtin_isascii): Likewise.
2167 (fold_builtin_toascii): Use integer_type_node where appropriate.
2168 (fold_builtin_logb): Likewise.
2169 (fold_builtin_frexp): Likewise.
2170 (fold_builtin_strstr): Likewise.
2171 (fold_builtin_strpbrk): Likewise.
2172 (fold_builtin_fputs): Likewise.
2173 (fold_builtin_sprintf): Likewise.
2174 (fold_builtin_snprintf): Likewise.
2175 (fold_builtin_printf): Likewise.
2176 (do_mpfr_remquo): Use a proper type for the assigned constant.
2177 (do_mpfr_lgamma_r): Likewise.
2178 * dwarf2out.c (resolve_one_addr): Use size_int.
2179 * except.c (init_eh): Likewise.
2180 (assign_filter_values): Use integer_type_node for filter values.
2181 (sjlj_emit_dispatch_table): Use integer_type_node for dispatch
2182 indices.
2183 * tree-cfg.c (move_stmt_eh_region_tree_nr): Use integer_type_node
2184 for EH region numbers.
2185 * tree-vrp.c (simplify_div_or_mod_using_ranges): Use integer_type_node
2186 for the shift amount.
2187
eb6c3df1
RG
21882011-04-29 Richard Guenther <rguenther@suse.de>
2189
2190 * expr.h (expand_shift): Rename to ...
2191 (expand_variable_shift): ... this.
2192 (expand_shift): Take a constant shift amount.
2193 * expmed.c (expand_shift): Rename to ...
2194 (expand_variable_shift): ... this.
2195 (expand_shift): New wrapper around expand_variable_shift.
2196 * expr.c (convert_move, emit_group_load_1, emit_group_store,
2197 optimize_bitfield_assignment_op, store_field, expand_expr_real_2,
2198 expand_expr_real_1, reduce_to_bit_field_precision): Adjust.
2199 * expmed.c (store_fixed_bit_field, extract_bit_field_1,
2200 extract_fixed_bit_field, extract_split_bit_field, expand_mult_const,
2201 expand_mult, expand_widening_mult, expand_mult_highpart_adjust,
2202 extract_high_half, expand_sdiv_pow2, expand_divmod, emit_cstore,
2203 emit_store_flag_1, emit_store_flag): Likewise.
2204 * builtins.c (expand_builtin_signbit): Likewise.
2205 * calls.c (load_register_parameters): Likewise.
2206 * function.c (assign_parm_setup_block): Likewise.
2207 * lower-subreg.c (resolve_shift_zext): Likewise.
2208 * optabs.c (widen_bswap, expand_abs_nojump,
2209 expand_one_cmpl_abs_nojump, expand_float): Likewise.
2210 * spu/spu.c (spu_expand_extv): Likewise.
2211 * sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
2212
9f616812
RG
22132011-04-29 Richard Guenther <rguenther@suse.de>
2214
2215 * tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node
2216 for the remapped region number.
2217 * predict.c (build_predict_expr): Use integer_type_node for the
2218 predict kind.
2219 * fold-const.c (fold_binary_loc): Use integer_type_node for
2220 the shift amount. Use a proper type for the PLUS_EXPR operand.
2221
b823cdfe
MM
22222011-04-29 Michael Matz <matz@suse.de>
2223
2224 * lto-streamer.c (lto_streamer_cache_insert_1): Accept to override
2225 other trees that just builtins.
2226 (lto_record_common_node): Don't leave NULL TYPE_CANONICAL.
2227
413581ba
RG
22282011-04-29 Richard Guenther <rguenther@suse.de>
2229
2230 * tree-nested.c (get_trampoline_type): Use size_int.
2231 (get_nl_goto_field): Likewise.
2232 * tree-eh.c (lower_try_finally_switch): Use integer_type_node
2233 for all indexes.
2234 (lower_eh_constructs_2): Likewise.
2235 (lower_resx): Likewise.
2236 (lower_eh_dispatch): Likewise.
2237 * tree-mudflap.c (mf_build_string): Use size_int.
2238 (mudflap_register_call): Use integer_type_node for the flag.
2239 (mudflap_enqueue_constant): Use size_int.
2240 * tree-chrec.c (reset_evolution_in_loop): Copy CHREC_VAR
2241 instead of rebuilding it.
2242
5c04e9f4
RG
22432011-04-29 Richard Guenther <rguenther@suse.de>
2244
2245 * tree-ssa-structalias.c (get_fi_for_callee): Restructure.
2246 Handle OBJ_TYPE_REF.
2247 (find_func_aliases_for_call): Use it more consistently.
2248
5c24671b
AO
22492011-04-29 Alexandre Oliva <aoliva@redhat.com>
2250
2251 * haifa-sched.c (last_nondebug_scheduled_insn): New.
2252 (rank_for_schedule): Use it.
2253 (schedule_block): Set it.
2254
10adac51
XDL
22552011-04-28 David Li <davidxl@google.com>
2256
2257 * tree.c (crc32_string): Use crc32_byte.
2258 (crc32_byte): New function.
2259 * tree.h (crc32_byte): New function.
2260 * gcov.c (read_graph_file): Handle new cfg_cksum.
2261 (read_count_file): Ditto.
2262 * profile.c (instrument_values): Ditto.
2263 (get_exec_counts): Ditto.
2264 (read_profile_edge_counts): Ditto.
2265 (compute_branch_probabilities): Ditto.
2266 (compute_value_histograms): Ditto.
2267 (branch_prob): Ditto.
2268 (end_branch_prob): Ditto.
2269 * coverage.c (read_counts_file): Ditto.
2270 (get_coverage_counts): Ditto.
2271 (tree_coverage_counter_addr): Ditto.
2272 (coverage_checksum_string): Ditto.
2273 (coverage_begin_output): Ditto.
2274 (coverage_end_function): Ditto.
2275 (build_fn_info_type): Ditto.
2276 (build_fn_info_value): Ditto.
2277 * libgcov.c (gcov_exit): Ditto.
2278 * gcov-dump.c (tag_function): Ditto.
2279 (compute_checksum): Remove.
2280
5d6358a5
AM
22812011-04-29 Alan Modra <amodra@gmail.com>
2282
2283 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
2284 unspec plus offset. Tidy macho code.
2285
85ad2ef5
MJ
22862011-04-29 Martin Jambor <mjambor@suse.cz>
2287
2288 * cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph
2289 node instead of a decl. Update all callers.
2290 * cgraph.h: Update declaration.
2291
437f4a00
IR
22922011-04-28 Ira Rosen <ira.rosen@linaro.org>
2293
2294 PR tree-optimization/48765
2295 * tree-vectorizer.h (vect_make_slp_decision): Return bool.
2296 * tree-vect-loop.c (vect_analyze_loop_operations): Add new argument
2297 to indicate if loop aware SLP is being used. Scan the statements
2298 and update the vectorization factor according to the type of
2299 vectorization before statement analysis.
2300 (vect_analyze_loop_2): Get a return value from vect_make_slp_decision,
2301 pass it to vect_analyze_loop_operations.
2302 (vectorizable_reduction): Set number of copies to 1 in case of pure
2303 SLP statement.
2304 * tree-vect-stmts.c (vectorizable_conversion,
2305 vectorizable_assignment, vectorizable_shift,
2306 vectorizable_operation, vectorizable_type_demotion,
2307 vectorizable_type_promotion, vectorizable_store, vectorizable_load):
2308 Likewise.
2309 (vectorizable_condition): Move the check that it is not SLP
2310 vectorization before the number of copies check.
2311 * tree-vect-slp.c (vect_make_slp_decision): Return TRUE if decided
2312 to vectorize the loop using SLP.
2313
c6fc44f3
JJ
23142011-04-28 Jakub Jelinek <jakub@redhat.com>
2315
2316 PR middle-end/48597
2317 * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
2318 inline asm.
2319
6c0170ea
JM
23202011-04-28 Joseph Myers <joseph@codesourcery.com>
2321
2322 * config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* |
2323 *-*-kopensolaris*-gnu): Don't define SINGLE_LIBC.
2324 (i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
2325 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
2326 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Don't use
2327 linux*.h headers.
6bec6c98 2328 * config/gnu-user.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Define.
6c0170ea
JM
2329 * config/i386/gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
2330 * config/i386/kfreebsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
2331 * config/i386/knetbsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
6bec6c98 2332 * config/i386/kopensolaris-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
6c0170ea
JM
2333 * config/i386/linux-unwind.h (x86_fallback_frame_state): Don't use
2334 REG_NAME.
2335 * config/i386/linux.h (REG_NAME): Don't define.
2336 * config/i386/linux64.h (REG_NAME): Don't define.
2337 * config/linux.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
2338 Undefine before defining.
2339
970dabbd
JH
23402011-04-28 Jan Hubicka <jh@suse.cz>
2341
6bec6c98
UB
2342 * ipa-inline-analysis.c (will_be_nonconstant_predicate): Take
2343 nonconstant_names array.
970dabbd
JH
2344 (estimate_function_body_sizes): Build nonconstant_names array; handle
2345 BUILT_IN_CONSTANT_P.
2346
8d3e3924
RG
23472011-04-28 Richard Guenther <rguenther@suse.de>
2348
2349 PR bootstrap/48804
2350 Revert
2351 2011-04-28 Richard Guenther <rguenther@suse.de>
2352
2353 * tree-ssa-structalias.c (solve_constraints): Build succ graph
2354 as late as possible.
6bec6c98 2355
8576f20a
RG
23562011-04-28 Richard Guenther <rguenther@suse.de>
2357
2358 * tree-ssa-structalias.c (dump_constraint): Don't end the line.
2359 (debug_constraint): Do it here.
2360 (dump_constraints): And here.
2361 (rewrite_constraints): And here.
2362 (dump_constraint_edge): Remove.
2363 (dump_constraint_graph): Rewrite to produce DOT output.
2364 (solve_constraints): Build succ graph as late as possible.
2365 Dump constraint graphs before and after solving.
2366
e38811ce
RG
23672011-04-28 Richard Guenther <rguenther@suse.de>
2368
2369 * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
2370 New function split out from ...
2371 (find_func_aliases): ... here. Call it.
2372 (find_func_aliases_for_call): Likewise.
2373
fbaf0d0c
GDR
23742011-04-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
2375
2376 * internal-fn.h (internal_fn_name_array): Declare.
2377 (internal_fn_flags_array): Likewise.
2378
cbb734aa
UB
23792011-04-27 Uros Bizjak <ubizjak@gmail.com>
2380
2381 * config/i386/i386.md (ssemodesuffix): Merge with ssevecsize,
2382 ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.
2383 Move from sse.md.
2384 (ssemodefsuffix): Remove.
2385 (ssevecmodesuffix): New mode attribute.
2386 (fix_trunc<mode>di_sse, fix_trunc<mode>si_sse,
2387 *float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
2388 *float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
2389 *float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
2390 *float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit, setcc_<mode>_sse,
2391 *sqrt<mode>2_sse, sse4_1_round<mode>2, <smaxmin:code><mode>3,
2392 *ieee_smin<mode>3, *ieee_smax<mode>3): Adjust assembler templates for
2393 ssemodesuffix mode attribute.
2394 (float splitters): Use ssevecmodesuffix mode attribute.
2395 * config/i386/sse.md (ssescalarmode): Merge with avxscalarmode.
2396 (sseinsmode): Rename from avxvecmode.
2397 (avxsizesuffix): Rename from avxmodesuffix.
2398 (sseintvecmode): Rename from avxpermvecmode.
2399 (ssedoublevecmode): Rename from ssedoublesizemode.
2400 (ssehalfvecmode): Rename from avxhalfvecmode.
2401 (ssescalarmode): Rename from avxscalarmode.
2402 (<sse>_comi, <sse>_ucomi, sse4a_movnt<mode>): Adjust assembler
2403 templates for ssemodesuffix mode attribute.
2404 (*andnot<mode>3, *<any_logic:code><mode>3): Use ssevecmodesuffix
2405 mode attribute.
2406
2407 Adjust RTX patterns globally for renamed mode attributes.
2408
991278ab
JH
24092011-04-27 Jan Hubcika <jh@suse.cz>
2410
2411 * ipa-inline.h (struct inline_edge_summary): Add predicate pointer.
2412 * ipa-inline-analysis.c: Include alloc-pool.h.
2413 (edge_predicate_pool): New.
2414 (trye_predicate_p): New function
2415 (false_predicate_p): New function.
2416 (add_clause): Sanity check that false clauses are "optimized";
2417 never add clauses to predicate that is already known to be false.
2418 (and_predicate): Use flase_predicate_p.
2419 (evaulate_predicate): Rename to ...
2420 (evaluate_predicate): ... this one; update all callers; assert
2421 that false is not listed among possible truths.
2422 (dump_predicate): Use true_predicate_p.
2423 (account_size_time): Use false_predicate_p.
2424 (evaulate_conditions_for_edge): Rename to ...
2425 (evaluate_conditions_for_edge) ... this one.
2426 (edge_set_predicate): New function.
2427 (inline_edge_duplication_hook): Duplicate edge predicates.
2428 (inline_edge_removal_hook): Free edge predicates.
cbb734aa 2429 (dump_inline_edge_summary): Add INFO parameter; dump edge predicates.
991278ab
JH
2430 (dump_inline_summary): Update.
2431 (estimate_function_body_sizes): Set edge predicates.
2432 (estimate_calls_size_and_time): Handle predicates.
2433 (estimate_callee_size_and_time): Update.
2434 (remap_predicate): Add toplev_predicate; update comment.
2435 (remap_edge_predicates): New function.
2436 (inline_merge_summary): Compute toplev predicate; update.
2437 (read_predicate): New function.
2438 (read_inline_edge_summary): Use it.
2439 (inline_read_section): Likewise.
2440 (write_predicate): New function.
2441 (write_inline_edge_summary): Use it.
2442 (inline_write_summary): Likewise.
2443 (inline_free_summary): Free alloc pool and edge summary vec.
2444
648b5f85
RG
24452011-04-27 Richard Guenther <rguenther@suse.de>
2446
2447 * tree-ssa-structalias.c (changed_count): Remove.
2448 (changed): Use a bitmap.
2449 (unify_nodes): Adjust.
2450 (do_sd_constraint): Likewise.
2451 (do_ds_constraint): Likewise.
2452 (do_complex_constraint): Likewise.
2453 (solve_graph): Likewise.
2454
4d5dcfb2
JH
24552011-04-27 Jan Hubicka <jh@suse.cz>
2456
2457 * cgraphunit.c (cgraph_process_new_functions): Fix ordering issue.
2458
200eb7d2
UB
24592011-04-27 Uros Bizjak <ubizjak@gmail.com>
2460
2461 * config/i386/predicates.md (avx_vpermilp_*_operand): Remove.
2462 (avx_vperm2f128_*_operand): Ditto.
2463 * config/i386/sse.md (*avx_vpermilp<mode>): Remove operand2 predicate.
2464 Use avx_vpermilp_parallel in insn condition.
2465 (*avx_vperm2f128<mode>_nozero): Remove operand3 predicate.
2466 Use avx_vperm2f128_parallel in insn condition.
2467
7d6e2521
RG
24682011-04-27 Richard Guenther <rguenther@suse.de>
2469
2470 * Makefile.in (tree-ssa-structalias.o): Remove
2471 gt-tree-ssa-structalias.h dependency.
2472 (GTFILES): Remove tree-ssa-structalias.c.
2473 * tree.c (allocate_decl_uid): New function.
2474 (make_node_stat): Use it.
2475 (copy_node_stat): Likewise.
2476 * tree.h (allocate_decl_uid): Declare.
2477 * tree-ssa-alias.h (delete_alias_heapvars): Remove.
2478 * tree-ssa.c (delete_tree_ssa): Do not call delete_alias_heapvars.
2479 * tree-flow.h (struct var_ann_d): Remove is_heapvar flag.
200eb7d2 2480 * tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar flag.
7d6e2521
RG
2481 * tree-ssa-structalias.c (heapvar_for_stmt): Remove.
2482 (struct heapvar_map): Likewise.
2483 (heapvar_map_eq, heapvar_map_hash, heapvar_lookup,
2484 heapvar_insert): Likewise.
2485 (make_heapvar_for): Rename to ...
2486 (make_heapvar): ... this. Simplify.
2487 (fake_var_decl_obstack): New global var.
2488 (build_fake_var_decl): New function.
2489 (make_constraint_from_heapvar): Adjust.
2490 (handle_lhs_call): Likewise.
2491 (create_function_info_for): Likewise.
2492 (intra_create_variable_infos): Likewise.
2493 (init_alias_vars): Allocate fake_var_decl_obstack.
2494 (init_alias_heapvars, delete_alias_heapvars): Remove.
2495 (compute_points_to_sets): Do not call init_alias_heapvars.
2496 (ipa_pta_execute): Likewise.
2497 (delete_points_to_sets): Free fake_var_decl_obstack.
2498
526ed6c2
UW
24992011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2500
2501 * config/spu/divmovti4.c (union qword_UTItype): New data type.
2502 (si_from_UTItype, si_to_UTItype): New functions.
2503 (__udivmodti4): Use them to implement type-punning.
2504 * config/spu/multi3.c (union qword_TItype): New data type.
2505 (si_from_TItype, si_to_TItype): New functions.
2506 (__multi3): Use them to implement type-punning.
2507
c187d33c
UW
25082011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2509
2510 * config/spu/spu.c (spu_expand_epilogue): Do not emit barrier.
2511
40982661
JH
25122011-04-27 Jan Hubicka <jh@suse.cz>
2513
2514 * ipa-prop.c (function_insertion_hook_holder): New holder.
2515 (ipa_add_new_function): New function.
200eb7d2
UB
2516 (ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks):
2517 Register/deregister holder.
40982661 2518
9aef53ee
RG
25192011-04-27 Richard Guenther <rguenther@suse.de>
2520
2521 PR tree-optimization/48772
200eb7d2 2522 * tree-ssa-pre.c (eliminate): Update call stmts after elimination only.
9aef53ee 2523
f63d806d
RG
25242011-04-27 Richard Guenther <rguenther@suse.de>
2525
2526 * tree-ssa-alias.c (indirect_refs_may_alias_p): Fix
2527 TARGET_MEM_REF handling.
2528
e1ea7451
NC
25292011-04-27 Nick Clifton <nickc@redhat.com>
2530
9b5db25d
NC
2531 * config/frv/frv.h (enum reg_class): Delete EVEN_ACC_REGS,
2532 ACC_REGS, FEVEN_REGS, FPR_REGS, EVEN_REGS.
2533 (REG_CLASS_NAMES): Likewise.
2534 (REG_CLASS_CONTENTS): Likewise.
2535 (EVEN_ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
2536 (ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
2537 (FEVEN_REGS): New macro. Alias for QUAD_ACC_REGS.
2538 (FPR_REGS): New macro. Alias for QUAD_ACC_REGS.
2539 (EVEN_REGS): New macro. Alias for QUAD_REGS.
2540 * config/frv/frv.c (frv_secondary_reload_class): Remove use of
2541 duplicate register classes.
97d20907 2542 (frv_class_likely_spilled_p): Likewise.
9b5db25d
NC
2543 (frv_register_move_cost): Likewise.
2544
e1ea7451
NC
2545 * config/mcore/mcore.h (REGNO_REG_CLASS): Do not index beyond the
2546 end of the regno_reg_class array.
2547
5c2f94b4
JJ
25482011-04-27 Jakub Jelinek <jakub@redhat.com>
2549
2550 PR c/48742
2551 * c-typeck.c (build_binary_op): Don't wrap arguments if
2552 int_operands is true.
2553
57a944d7
KK
25542011-04-26 Kaz Kojima <kkojima@gcc.gnu.org>
2555
2556 PR target/48767
2557 * config/sh/sh.c (sh_gimplify_va_arg_expr): Don't call
2558 targetm.calls.must_pass_in_stack for void type.
2559
898b8927
JH
25602011-04-26 Jan Hubicka <jh@suse.cz>
2561
2562 * cgraphbuild.c (build_cgraph_edges): Update call
2563 of cgraph_create_edge and cgraph_create_indirect_edge.
2564 * cgraph.c (cgraph_create_edge_including_clones,
2565 cgraph_create_edge_1, cgraph_allocate_init_indirect_info,
2566 cgraph_update_edges_for_call_stmt_node): Do not take nest
2567 argument; do not initialize call_stmt_size/time.
2568 (dump_cgraph_node): Do not dump nest.
2569 (cgraph_clone_edge): Do not take loop_nest argument;
2570 do not propagate it; do not clone call_stmt_size/time.
2571 (cgraph_clone_node): Likewise.
2572 (cgraph_create_virtual_clone): Update.
2573 * cgraph.h (struct cgraph_edge): Remove
2574 call_stmt_size/call_stmt_time/loop_nest.
2575 (cgraph_create_edge, cgraph_create_indirect_edge,
2576 cgraph_create_edge_including_clones, cgraph_clone_node): Update
2577 prototype.
2578 * tree-emutls.c (gen_emutls_addr): Update.
2579 * ipa-inline-transform.c (update_noncloned_frequencies): Do not handle
2580 loop_nest; handle indirect calls, too.
2581 (clone_inlined_nodes): Do not care about updating inline summaries.
2582 * cgraphunit.c (cgraph_copy_node_for_versioning): Update.
2583 * lto-cgraph.c (lto_output_edge, input_node, input_edge): Do not
2584 stream call_stmt_size/call_stmt_time/loop_nest.
2585 * ipa-inline.c (edge_badness): Update.
2586 (ipa_inline): dump summaries after inlining.
2587 * ipa-inline.h (struct inline_edge_summary, inline_edge_summary_t):
200eb7d2 2588 New.
898b8927
JH
2589 (inline_edge_summary): New function.
2590 * ipa-inline-analysis.c (edge_duplication_hook_holder): New holder.
2591 (inline_edge_removal_hook): Handle edge summaries.
2592 (inline_edge_duplication_hook): New hook.
2593 (inline_summary_alloc): Alloc hooks.
2594 (initialize_growth_caches): Do not register removal hooks.
2595 (free_growth_caches); Do not free removal hook.
2596 (dump_inline_edge_summary): New function.
2597 (dump_inline_summary): Use it.
2598 (estimate_function_body_sizes, estimate_edge_size_and_time): Update.
2599 (inline_update_callee_summaries): New function.
2600 (inline_merge_summary): Use it.
2601 (do_estimate_edge_time, do_estimate_edge_growth): Update.
2602 (read_inline_edge_summary): New function.
2603 (inline_read_section): Use it.
2604 (write_inline_edge_summary): New function.
2605 (inline_write_summary): Use it.
2606 (inline_free_summary): Free edge new holders.
2607 * tree-inline.c (copy_bb): Update.
2608
ffa03772
JM
26092011-04-26 Jason Merrill <jason@redhat.com>
2610
2611 * tree-eh.c (lower_try_finally_switch): Create the label along with
2612 the CASE_LABEL_EXPR.
2613
6d7b45ad
DM
26142011-04-26 David S. Miller <davem@davemloft.net>
2615 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2616
2617 * configure.ac (gcc_cv_as_sparc_gotdata_op): Specify alignment.
2618 * configure: Regenerate.
2619
df10b6d4
MM
26202011-04-26 Michael Meissner <meissner@linux.vnet.ibm.com>
2621
2622 PR target/48258
2623 * config/rs6000/vector.md (UNSPEC_REDUC): New unspec for vector
2624 reduction.
2625 (VEC_reduc): New code iterator and splitters for vector reduction.
2626 (VEC_reduc_name): Ditto.
2627 (VEC_reduc_rtx): Ditto.
2628 (reduc_<VEC_reduc_name>_v2df): Vector reduction expanders for VSX.
2629 (reduc_<VEC_reduc_name>_v4sf): Ditto.
2630
2631 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
2632 support for extracting SF on VSX.
2633
2634 * config/rs6000/vsx.md (vsx_xscvspdp_scalar2): New insn for
2635 generating xscvspdp.
2636 (vsx_extract_v4sf): New insn to extract SF from V4SF vector.
2637 (vsx_reduc_<VEC_reduc_name>_v2df): New insns and splitters for
2638 double add, minimum, maximum vector reduction.
2639 (vsx_reduc_<VEC_reduc_name>_v4sf): Ditto.
2640 (vsx_reduc_<VEC_reduc_name>_v2df2_scalar): New combiner insn to
2641 optimize double vector reduction.
2642 (vsx_reduc_<VEC_reduc_name>_v4sf_scalar): Ditto.
2643
35a5db04
JM
26442011-04-26 Joseph Myers <joseph@codesourcery.com>
2645
2646 * config/fr30/fr30.h (inhibit_libc): Don't define.
2647 * config/m32r/m32r-protos.h: Correct comment.
2648 * config/v850/v850.h (GHS_default_section_names,
2649 GHS_current_section_names): Use tree, not union tree_node *.
2650
2f964ad6
XDL
26512011-04-26 Xinliang David Li <davidxl@google.com>
2652
200eb7d2 2653 * tree-ssa-uninit.c (warn_uninitialized_phi): Pass warning code.
2f964ad6
XDL
2654 * c-family/c-opts.c (c_common_handle_option): Set
2655 warn_maybe_uninitialized.
2656 * opts.c (common_handle_option): Ditto.
2657 * common.opt: New option.
2658 * tree-ssa.c (warn_uninit): Add one more parameter.
2659 (warn_uninitialized_var): Pass warning code.
2660 * tree-flow.h: Interface change.
2661
2662
9c7bd91a
RO
26632011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2664
200eb7d2 2665 * config/mips/iris6.h (LOCAL_LABEL_PREFIX): Don't test TARGET_NEWABI.
9c7bd91a
RO
2666 (WINT_TYPE_SIZE): Use INT_TYPE_SIZE.
2667 (TARGET_OS_CPP_BUILTINS): Remove TARGET_IRIX6 guards.
2668
c2f36e21
RO
26692011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2670
2671 * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Remove.
2672 * config/mips/mips.opt (mmips-tfile): Remove.
2673
2674 * doc/install.texi (Specific, mips-*-*): Move mips-tfile,
2675 mips-tdump reference to ...
200eb7d2 2676 (Specific, alpha*-dec-osf5.1): ... here. Adapt for Tru64 UNIX.
c2f36e21
RO
2677 * doc/trouble.texi (Cross-Compiler Problems): Replace MIPS
2678 reference by Tru64 UNIX.
2679
2c9da85b
JJ
26802011-04-26 Jakub Jelinek <jakub@redhat.com>
2681
0c5f6539
JJ
2682 PR debug/48768
2683 * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
2684 is error_mark_node, set value to NULL.
2685
2c9da85b
JJ
2686 PR tree-optimization/48734
2687 * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
2688 if return value from maybe_fold_*_comparsions isn't something
2689 the code is prepared to handle.
2690
77fa1d54
UB
26912011-04-26 Uros Bizjak <ubizjak@gmail.com>
2692
2693 * config/i386/predicates.md (ext_QIreg_operand): Remove extra
2694 mode check.
2695 (ext_QIreg_nomode_operands): Remove.
2696 * config/i386/i386.md (*anddi_1): Use ext_QIreg_operand.
2697 (*andsi_1): Ditto.
2698 (*andhi_1): Ditto.
2699
0e2a6c2b
AS
27002011-04-26 Andrew Stubbs <ams@codesourcery.com>
2701
2702 * config/arm/arm.c (arm_gen_constant): Remove can_negate_initial.
2703
961562d8
RB
27042011-04-26 Richard Guenther <rguenther@suse.de>
2705
2706 * c-typeck.c (build_unary_op): Do not expand array-refs via
2707 pointer arithmetic. Only adjust qualifiers for function types.
2708
27092011-04-26 Richard Guenther <rguenther@suse.de>
2710
2711 PR middle-end/48694
2712 * tree.h (OEP_CONSTANT_ADDRESS_OF): New operand_equal_flag.
2713 * fold-const.c (operand_equal_p): For TREE_CONSTANT ADDR_EXPRs
77fa1d54
UB
2714 compare the operands with OEP_CONSTANT_ADDRESS_OF. Treat trees
2715 with TREE_SIDE_EFFECTS equal when OEP_CONSTANT_ADDRESS_OF is set.
961562d8 2716
a0d260fc
PC
27172011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
2718
6bec6c98 2719 * doc/extend.texi: Document __underlying_type.
a0d260fc 2720
4d583bb9
SB
27212011-04-25 Segher Boessenkool <segher@kernel.crashing.org>
2722
2723 * config/rs6000/titan.md (automata_option "progress"): Remove.
2724
1f3fcdc3
JL
27252011-04-25 Jeff Law <law@redhat.com>
2726
2727 * tree-vrp.c (identify_jump_threads): Handle GIMPLE_SWITCH too.
2728
e5b0dad8
JK
27292011-04-25 Jan Kratochvil <jan.kratochvil@redhat.com>
2730
2731 * system.h (ENUM_BITFIELD): Remove.
2732
5157a881 27332011-04-25 Maxim Kuvyrkov <maxim@codesourcery.com>
b15eacc7 2734 Eric Botcazou <ebotcazou@adacore.com>
5157a881
MK
2735
2736 * combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals
2737 for STORE_FLAG_VALUE==-1 case.
2738
ed4c109e
RS
27392011-04-24 Richard Sandiford <richard.sandiford@linaro.org>
2740
2741 PR target/43804
2742 * config/m68k/constraints.md (T): Allow PIC operands that satisfy
2743 LEGITIMATE_PIC_OPERAND_P.
2744
f3181aa2
JH
27452011-04-24 Jan Hubicka <jh@suse.cz>
2746
2747 * ipa-prop.c (ipa_propagate_indirect_call_infos): Remove obsolette
2748 WPA hack.
77fa1d54
UB
2749 * ipa-prop.h (ipa_get_param, ipa_is_param_used,
2750 ipa_param_cannot_devirtualize_p, ipa_param_types_vec_empty,
2751 ipa_get_ith_jump_func, ipa_get_lattice): Fortify array bounds.
f3181aa2
JH
2752 * ipa-inline-analysis.c (add_clause): Fix clause ordering.
2753 (and_predicates, or_predicates, predicates_equal_p, evaulate_predicate):
2754 Sanity check predicate length.
2755 (remap_predicate): Likewise; sanity check jump functions.
2756 (inline_read_section, inline_write_summary): Sanity check
2757 predicate length.
2758
5307cbaa
PC
27592011-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2760
2761 PR other/48748
2762 * doc/extend.texi (Type Traits): Document __is_standard_layout,
2763 __is_literal_type, and __is_trivial; update throughout about
2764 possibly cv-qualified void types.
2765
bebd5f99
GP
27662011-04-24 Gerald Pfeifer <gerald@pfeifer.com>
2767
2768 * doc/sourcebuild.texi (Ada Tests): Adjust reference to ACATS
2769 testsuite and make it version agnostic.
2770
7ee28a74
JH
27712011-04-22 Jan Hubicka <jh@suse.cz>
2772
2773 * ipa-inline-analysis.c (inline_write_summary): Fix thinko.
2774
16997bc0
JJ
27752011-04-23 Jakub Jelinek <jakub@redhat.com>
2776
2777 PR c/48685
2778 * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
2779 to VOID_TYPE even around MODIFY_EXPR.
2780
f94d4ab1
MS
27812011-04-22 Mike Stump <mikestump@comcast.net>
2782
1a84c183 2783 * gensupport.c (read_md_rtx): Fix typo in comment.
f94d4ab1
MS
2784 * config/cris/cris.opt (moverride-best-lib-options): Fix typo in
2785 comment.
2786
632b4f8e
JH
27872011-04-22 Jan Hubicka <jh@suse.cz>
2788
2789 * gengtype.c (open_base_files): Add ipa-inline.h include.
77fa1d54
UB
2790 * ipa-cp.c (ipcp_get_lattice, ipcp_lattice_from_jfunc): Move to
2791 ipa-prop.c; update all uses.
632b4f8e 2792 * ipa-prop.c: (ipa_get_lattice, ipa_lattice_from_jfunc): ... here.
77fa1d54
UB
2793 * ipa-inline-transform.c (inline_call): Use inline_merge_summary to
2794 merge summary of inlined function into former caller.
632b4f8e
JH
2795 * ipa-inline.c (max_benefit): Remove.
2796 (edge_badness): Compensate for removal of benefits.
77fa1d54
UB
2797 (update_caller_keys): Use
2798 reset_node_growth_cache/reset_edge_growth_cache.
632b4f8e
JH
2799 (update_callee_keys): Likewise.
2800 (update_all_callee_keys): Likewise.
77fa1d54
UB
2801 (inline_small_functions): Do not collect max_benefit; do not reset
2802 estimated_growth; call free_growth_caches and initialize_growth_caches.
2803 * ipa-inline.h (struct condition, type clause_t, struct predicate,
2804 struct size_time_entry): New structures.
632b4f8e 2805 (INLINE_SIZE_SCALE, INLINE_TIME_SCALE, MAX_CLAUSES): New constants.
77fa1d54
UB
2806 (inline_summary): Remove size_inlining_benefit, time_inlining_benefit
2807 and estimated_growth.
632b4f8e
JH
2808 (edge_growth_cache_entry): New structure.
2809 (node_growth_cache, edge_growth_cache): New global vars.
2810 (estimate_growth): Turn into inline.
2811 (inline_merge_summary, do_estimate_edge_growth, do_estimate_edge_time,
2812 initialize_growth_caches, free_growth_caches): Declare.
2813 (estimate_edge_growth): Rewrite.
2814 (estimate_edge_time): Implement as inline cache lookup.
77fa1d54
UB
2815 (reset_node_growth_cache, reset_edge_growth_cache): New inline
2816 functions.
632b4f8e
JH
2817 (MAX_TIME): Reduce to allow multiplicatoin by INLINE_SIZE_SCALE.
2818 (NUM_CONDITIONS): New constant.
2819 (predicate_conditions): New enum.
2820 (IS_NOT_CONSTANT): New constant.
2821 (edge_removal_hook_holder): New var.
2822 (node_growth_cache, edge_growth_cache): New global vars.
77fa1d54
UB
2823 (true_predicate, single_cond_predicate, false_predicate,
2824 not_inlined_predicate, add_condition, add_clause, and_predicates,
2825 or_predicates, predicates_equal_p, evaulate_predicate, dump_condition,
2826 dump_clause, dump_predicate, account_size_time,
632b4f8e
JH
2827 evaulate_conditions_for_edge): New functions.
2828 (inline_summary_alloc): Move to heap.
2829 (inline_node_removal_hook): Clear condition and entry vectors.
2830 (inline_edge_removal_hook): New function.
2831 (initialize_growth_caches, free_growth_caches): New function.
2832 (dump_inline_summary): Update.
2833 (edge_execution_predicate): New function.
2834 (will_be_nonconstant_predicate): New function.
2835 (estimate_function_body_sizes): Compute BB and constantness predicates.
2836 (compute_inline_parameters): Do not clear estimated_growth.
2837 (estimate_edge_size_and_time): New function.
2838 (estimate_calls_size_and_time): New function.
2839 (estimate_callee_size_and_time): New function.
2840 (remap_predicate): New function.
2841 (inline_merge_summary): New function.
2842 (do_estimate_edge_time): New function based on...
2843 (estimate_edge_time): ... this one.
2844 (do_estimate_edge_growth): New function.
2845 (do_estimate_growth): New function based on....
2846 (estimate_growth): ... this one.
2847 (inline_analyze_function): Analyze after deciding on jump functions.
2848 (inline_read_section): New function.
2849 (inline_read_summary): Use it.
2850 (inline_write_summary): Write all the new data.
2851 * ipa-prop.c (ipa_get_param_decl_index): Export.
2852 (ipa_lattice_from_jfunc): Move here from ipa-cp.c
77fa1d54
UB
2853 * ipa-prop.h (ipa_get_param_decl_index, ipa_lattice_from_jfunc):
2854 Declare.
2855 (ipa_get_lattice): Move here from ipa-cp.c
632b4f8e
JH
2856 * Makefile.in (GTFILES): Add ipa-inline.h and ipa-inline-analysis.c
2857 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 11.
2858 * cgraph.h (cgraph_clone_inlined_nodes, compute_inline_parameters,
2859 cgraph_edge_inlinable_p): Remove.
2860 * cgraphunit.c: Include ipainline.h
77fa1d54
UB
2861 (cgraph_process_new_functions): Update call of
2862 compute_inline_parameters.
632b4f8e 2863
1df5b0db
RG
28642011-04-22 Richard Guenther <rguenther@suse.de>
2865
2866 * tree.c (build_int_cst): Properly create canonicalized integer
2867 constants.
2868 (build_int_cst_type): Remove scary comments.
2869
ae01169c
XDL
28702011-04-22 Xinliang David Li <davidxl@google.com>
2871
2872 * toplev.c (process_options): Enable -Werror=coverage-mismatch
2873 by default when -Wno-error is not specified.
2874 * opts-global.c (decode_options): Remove call to
2875 control_warning_options.
2876
93dfac24
JJ
28772011-04-22 Jakub Jelinek <jakub@redhat.com>
2878
2879 PR tree-optimization/48717
2880 * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
2881 ~A + A optimizations use build_int_cst_type instead of build_int_cst.
2882
1b5f5069
JM
28832011-04-22 Joseph Myers <joseph@codesourcery.com>
2884
2885 * config/bfin/bfin-protos.h (Mmode): Don't define. Expand
2886 definition where used.
2887
144f4153
JJ
28882011-04-22 Jakub Jelinek <jakub@redhat.com>
2889
2890 PR c/48716
2891 * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
2892 TREE_STATIC variables declared inside of some OpenMP construct.
2893
f9fd305b
MJ
28942011-04-22 Martin Jambor <mjambor@suse.cz>
2895
2896 PR middle-end/48585
1d284ec5 2897 * tree-inline.c (copy_bb): Create new edges only for analyzed nodes.
f9fd305b 2898
49819fef
AM
28992011-04-22 Alexander Monakov <amonakov@ispras.ru>
2900
2901 PR c/36750
2902 * c-typeck.c (pop_init_level): Do not warn about initializing
2903 with ` = {0}'.
2904
401f6699
AM
29052011-04-22 Alan Modra <amodra@gmail.com>
2906
2907 * config/rs6000/rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL
2908 when returning call_cookie.
2909 (rs6000_function_ok_for_sibcall): Allow sibcalls via function
2910 pointers, to functions with no more vector args than the current
2911 function, and some non-local calls for ABI_V4.
2912 * config/rs6000/rs6000.md (sibcall_nonlocal_aix32,
2913 sibcall_nonlocal_aix64): Combine to ..
2914 (sibcall_nonlocal_aix<mode>): ..this. Handle function pointer calls.
2915 (sibcall_value_nonlocal_aix32, sibcall_value_nonlocal_aix64): Combine..
2916 (sibcall_value_nonlocal_aix<mode>): ..likewise.
2917 (*sibcall_nonlocal_sysv<mode>): Handle function pointer calls.
2918 (sibcall_value_nonlocal_sysv<mode>): Likewise. Correct call cookie
2919 operand.
2920 * config/rs6000/darwin.md (sibcall_nonlocal_darwin64,
2921 sibcall_value_nonlocal_darwin64, sibcall_symbolic_64,
2922 sibcall_value_symbolic_64): Delete.
2923
903d1e67
XDL
29242011-04-21 Xinliang David Li <davidxl@google.com>
2925
2926 * cgraph.h: Remove pid.
2927 * cgraph.c: Remove pid.
2928 * value-prof.c (init_node_map): New function.
2929 (del_node_map): New function.
2930 (find_func_by_funcdef_no): New function.
2931 (gimple_ic_transform): Call new function.
2932 * cgraphunit.c (cgraph_finalize_function): Remove pid.
2933 * function.c (get_last_funcdef_no): New function.
2934 * function.h (get_last_funcdef_no): New function.
2935 * tree-profile.c (gimple_gen_ic_func_profiler): Pass funcdef_no
2936 to libgcov function.
2937 (tree-profiling): Call node map init and delete function.
2938
7378e95f
ILT
29392011-04-21 Ian Lance Taylor <iant@google.com>
2940
2941 * godump.c (go_format_type): Use exported Go name for anonymous
2942 field name.
2943
e84a6fcf
NF
29442011-04-21 Nathan Froyd <froydnj@codesourcery.com>
2945
2946 * config/frv/frv.c (frv_init_builtins): Delete `endlink' variable.
2947 Call builtin_function_type_list instead of builtin_function_type.
2948 (UNARY, BINARY, TRINARY, QUAD): Likewise.
2949
4fe058e2
NF
29502011-04-21 Nathan Froyd <froydnj@codesourcery.com>
2951
2952 * config/arm/arm.c (arm_init_iwmmxt_builtins): Call
2953 build_function_type_list instead of build_function_type.
2954 Delete variable `endlink'.
2955
1ba0a2d2
NF
29562011-04-21 Nathan Froyd <froydnj@codesourcery.com>
2957
2958 * config/s390/s390.c (s390_init_builtins): Call
2959 build_function_type_list instead of build_function_type.
2960
c0676219
NF
29612011-04-21 Nathan Froyd <froydnj@codesourcery.com>
2962
2963 * config/ia64/ia64.c (ia64_init_builtins): Call
2964 build_function_type_list instead of builtin_function_type.
2965
6ddfda8a
ER
29662011-04-21 Easwaran Raman <eraman@google.com>
2967
3a6448ea 2968 * cfgexpand.c (stack_var): Remove OFFSET...
6ddfda8a
ER
2969 (add_stack_var): ...and its reference here...
2970 (expand_stack_vars): ...and here.
2971 (stack_var_cmp): Sort by descending order of size.
2972 (partition_stack_vars): Change heuristic.
1d284ec5 2973 (union_stack_vars): Fix to reflect changes in partition_stack_vars.
6ddfda8a
ER
2974 (dump_stack_var_partition): Add newline after each partition.
2975
23756963
DA
29762011-04-21 Dimitrios Apostolou <jimis@gmx.net>
2977 Jeff Law <law@redhat.com>
2978
77fa1d54 2979 * gengtype-state.c (read_a_state_token): Fix argument to obstack_free.
23756963
DA
2980 * gengtype.c (matching_file_name_substitute): Likewise.
2981
aa2a43d2
RG
29822011-04-21 Richard Guenther <rguenther@suse.de>
2983
2984 PR lto/48703
1d284ec5 2985 * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of DECL_NAME.
aa2a43d2 2986
4d931f41
EB
29872011-04-21 Eric Botcazou <ebotcazou@adacore.com>
2988
2989 * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
2990
f103fa7a
RG
29912011-04-21 Richard Guenther <rguenther@suse.de>
2992
2993 * Makefile.in (site.exp): Do not use tmp0 but site.tmp as temporary
2994 file name.
2995
e19f6650
RG
29962011-04-21 Richard Guenther <rguenther@suse.de>
2997
2998 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
2999 MEM_REF and TARGET_MEM_REF, do not care about INDIRECT_REFs.
3000 Use DECL_P, not SSA_VAR_P.
3001 (ptr_derefs_may_alias_p): Likewise.
3002 (ptr_deref_may_alias_ref_p_1): Likewise.
3003 (decl_refs_may_alias_p): Likewise.
3004 (refs_may_alias_p_1): Likewise.
3005 (ref_maybe_used_by_call_p_1): Likewise.
3006 (call_may_clobber_ref_p_1): Likewise.
3007 (indirect_ref_may_alias_decl_p): Assume indirect refrences
3008 are either MEM_REF or TARGET_MEM_REF.
3009 (indirect_refs_may_alias_p): Likewise.
3010 * calls.c (emit_call_1): Build a MEM_REF instead of an INDIRECT_REF
3011 for MEM_EXPR of indirect calls.
3012
9d1831bb
TG
30132011-04-21 Tristan Gingold <gingold@adacore.com>
3014
3015 * vmsdbgout.c (write_srccorr): Compute file length from the string.
3016 (dst_file_info_struct): Remove flen field.
3017 (lookup_filename): Remove code that set flen field.
3018
f199c029
TG
30192011-04-21 Tristan Gingold <gingold@adacore.com>
3020
3021 * config/ia64/ia64.c (ia64_start_function): Add a guard.
3022
2894086e
UB
30232011-04-21 Uros Bizjak <ubizjak@gmail.com>
3024
3025 PR target/48708
3026 * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
3027 vec_extract and vec_concat for non-SSE4_1 targets.
3028
53f94a5c
RG
30292011-04-21 Richard Guenther <rguenther@suse.de>
3030
3031 * tree-ssa-alias.c (ref_maybe_used_by_stmt_p): Handle
3032 return statements.
3033
f0dca5ba
JM
30342011-04-21 Joseph Myers <joseph@codesourcery.com>
3035
3036 * config/i386/cygming.h (union tree_node, TREE): Don't define or
3037 undefine.
3038 (FILE): Don't undefine.
3039
984514ac
JM
30402011-04-21 Joseph Myers <joseph@codesourcery.com>
3041
3042 * config/alpha/alpha.c (struct machine_function): Use rtx, not
3043 struct rtx_def *.
3044 * config/bfin/bfin.h (bfin_cc_rtx, bfin_rets_rtx): Use rtx, not
3045 struct rtx_def *.
3046 * config/cris/cris-protos.h (STDIO_INCLUDED): Don't define.
2894086e 3047 * config/h8300/h8300.h (struct cum_arg): Use rtx, not struct rtx_def *.
984514ac
JM
3048 * config/iq2000/iq2000.h (struct iq2000_args): Use rtx, not struct
3049 rtx_def *.
3050 * config/m32c/m32c-protos.h (MM, UINT): Don't define. Expand
3051 definitions where used.
3052 * config/microblaze/microblaze.h (struct microblaze_args): Use
3053 rtx, not struct rtx_def *.
3054 * config/pa/pa-protos.h (return_addr_rtx): Use rtx, not struct
3055 rtx_def *.
2894086e
UB
3056 * config/pa/pa.h (hppa_pic_save_rtx): Use rtx, not struct rtx_def *.
3057 * config/pdp11/pdp11.h (cc0_reg_rtx): Use rtx, not struct rtx_def *.
984514ac
JM
3058 * config/sh/sh-protos.h (sfunc_uses_reg, get_fpscr_rtx): Use rtx,
3059 not struct rtx_def *.
3060 * config/sh/sh.h (sh_compare_op0, sh_compare_op1): Use rtx, not
3061 struct rtx_def *.
3062 * config/spu/spu-protos.h (spu_float_const): Use rtx, not struct
3063 rtx_def *.
2894086e 3064 * config/spu/spu.c (spu_float_const): Use rtx, not struct rtx_def *.
984514ac 3065
0b5a2724
RS
30662011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
3067
3068 * tree-vect-data-refs.c (vect_drs_dependent_in_basic_block): Use
3069 operand_equal_p to compare DR_BASE_ADDRESSes.
3070 (vect_check_interleaving): Likewise.
3071
4b18d683
RS
30722011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
3073
3074 PR target/46329
3075 * config/arm/arm.c (arm_legitimate_constant_p_1): Return false
3076 for all Neon struct constants.
3077
1a627b35
RS
30782011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
3079
3080 * target.def (legitimate_constant_p): New hook.
3081 * doc/tm.texi.in (LEGITIMATE_CONSTANT_P): Replace with...
3082 (TARGET_LEGITIMATE_CONSTANT_P): ...this.
3083 * doc/tm.texi: Regenerate.
3084 * hooks.h (hook_bool_mode_rtx_true): Declare.
3085 * hooks.c (hook_bool_mode_rtx_true): Define.
3086 * system.h (LEGITIMATE_CONSTANT_P): Poison.
3087 * calls.c (precompute_register_parameters): Replace uses of
3088 LEGITIMATE_CONSTANT_P with targetm.legitimate_constant_p.
3089 (emit_library_call_value_1): Likewise.
3090 * expr.c (move_block_to_reg, can_store_by_pieces, emit_move_insn)
3091 (compress_float_constant, emit_push_insn, expand_expr_real_1): Likewise.
3092 * ira-costs.c (scan_one_insn): Likewise.
3093 * recog.c (general_operand, immediate_operand): Likewise.
3094 * reload.c (find_reloads_toplev, find_reloads_address_part): Likewise.
3095 * reload1.c (init_eliminable_invariants): Likewise.
3096
3097 * config/alpha/alpha-protos.h (alpha_legitimate_constant_p): Add a
3098 mode argument.
3099 * config/alpha/alpha.h (LEGITIMATE_CONSTANT_P): Delete.
3100 * config/alpha/alpha.c (alpha_legitimate_constant_p): Add a mode
3101 argument.
3102 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3103 * config/alpha/predicates.md (input_operand): Update call to
3104 alpha_legitimate_constant_p.
3105
3106 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Delete.
3107 * config/arm/arm.h (ARM_LEGITIMATE_CONSTANT_P): Likewise.
3108 (THUMB_LEGITIMATE_CONSTANT_P, LEGITIMATE_CONSTANT_P): Likewise.
3109 * config/arm/arm.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3110 (arm_legitimate_constant_p_1, thumb_legitimate_constant_p)
3111 (arm_legitimate_constant_p): New functions.
3112 (arm_cannot_force_const_mem): Make static.
3113
3114 * config/avr/avr.h (LEGITIMATE_CONSTANT_P): Delete.
3115
3116 * config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Delete.
3117 * config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Delete.
3118 * config/bfin/bfin.c (expand_move): Use targetm.legitimate_constant_p
3119 instead of bfin_legitimate_constant_p.
3120 (bfin_legitimate_constant_p): Make static. Add a mode argument.
3121 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3122
3123 * config/cris/cris.h (LEGITIMATE_CONSTANT_P): Delete.
3124
3125 * config/fr30/fr30.h (LEGITIMATE_CONSTANT_P): Delete.
3126
3127 * config/frv/frv-protos.h (frv_legitimate_constant_p): Delete.
3128 * config/frv/frv.h (LEGITIMATE_CONSTANT_P): Delete.
3129 * config/frv/frv.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3130 (frv_legitimate_constant_p): Make static. Add a mode argument.
3131
3132 * config/h8300/h8300-protos.h (h8300_legitimate_constant_p): Delete.
3133 * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Likewise.
3134 * config/h8300/h8300.c (h8300_legitimate_constant_p): Likewise.
3135
3136 * config/i386/i386-protos.h (legitimate_constant_p): Delete.
3137 * config/i386/i386.h (LEGITIMATE_CONSTANT_P): Likewise.
3138 * config/i386/i386.c (legitimate_constant_p): Rename to...
3139 (ix86_legitimate_constant_p): ...this. Make static. Add a mode
3140 argument.
3141 (ix86_cannot_force_const_mem): Update accordingly.
3142 (ix86_legitimate_address_p): Likewise.
3143 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3144 * config/i386/i386.md: Update commentary.
3145
3146 * config/ia64/ia64-protos.h (ia64_legitimate_constant_p): Delete.
3147 * config/ia64/ia64.h (LEGITIMATE_CONSTANT_P): Likewise.
3148 * config/ia64/ia64.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3149 (ia64_legitimate_constant_p): Make static. Add a mode argument.
3150
3151 * config/iq2000/iq2000.h (LEGITIMATE_CONSTANT_P): Delete.
3152
3153 * config/lm32/lm32-protos.h (lm32_legitimate_constant_p): Delete.
3154 * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Likewise.
3155 * config/lm32/lm32.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3156 (lm32_legitimate_constant_p): Make static. Add a mode argument.
3157
3158 * config/m32c/m32c-protos.h (m32c_legitimate_constant_p): Delete.
3159 * config/m32c/m32c.h (LEGITIMATE_CONSTANT_P): Likewise.
3160 * config/m32c/m32c.c (m32c_legitimate_constant_p): Likewise.
3161
3162 * config/m32r/m32r.h (LEGITIMATE_CONSTANT_P): Delete.
3163 * config/m32r/m32r.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3164 (m32r_legitimate_constant_p): New function.
3165
3166 * config/m68k/m68k-protos.h (m68k_legitimate_constant_p): Declare.
3167 * config/m68k/m68k.h (CONSTANT_ADDRESS_P): Call it instead of
3168 LEGITIMATE_CONSTANT_P.
3169 (LEGITIMATE_CONSTANT_P): Delete.
3170 * config/m68k/m68k.c (m68k_expand_prologue): Call
3171 m68k_legitimate_constant_p instead of LEGITIMATE_CONSTANT_P.
3172 (m68k_legitimate_constant_p): New function.
3173 * config/m68k/m68k.md: Update comments.
3174
3175 * config/mcore/mcore.h (LEGITIMATE_CONSTANT_P): Delete.
3176 * config/mcore/mcore.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3177 (mcore_legitimate_constant_p): New function.
3178
3179 * config/mep/mep-protos.h (mep_legitimate_constant_p): Delete.
3180 * config/mep/mep.h (LEGITIMATE_CONSTANT_P): Likewise.
3181 * config/mep/mep.c (mep_legitimate_constant_p): Make static.
3182 Add a mode argument.
3183 (mep_legitimate_address): Update accordingly.
3184 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3185
3186 * config/microblaze/microblaze-protos.h (microblaze_const_double_ok):
3187 Delete.
3188 * config/microblaze/microblaze.h (LEGITIMATE_CONSTANT_P): Likewise.
3189 * config/microblaze/microblaze.c (microblaze_const_double_ok): Make
3190 static. Check OP's mode for VOIDmode.
3191 (microblaze_legitimate_constant_p): New function.
3192 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3193
3194 * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Delete.
3195 * config/mips/mips.c (mips_legitimate_constant_p): New function.
3196 (mips_cannot_force_const_mem): Use it instead of LEGITIMATE_CONSTANT_P.
3197 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3198 * config/mips/predicates.md: Update comments.
3199
3200 * config/mmix/mmix-protos.h (mmix_legitimate_constant_p): Delete.
3201 * config/mmix/mmix.h (LEGITIMATE_CONSTANT_P): Likewise.
3202 * config/mmix/mmix.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3203 (mmix_legitimate_constant_p): Make static, return a bool, and take
3204 a mode argument.
3205 (mmix_print_operand_address): Update accordingly.
3206
3207 * config/mn10300/mn10300-protos.h (mn10300_legitimate_constant_p):
3208 Delete.
3209 * config/mn10300/mn10300.h (LEGITIMATE_CONSTANT_P): Likewise.
2894086e
UB
3210 * config/mn10300/mn10300.c (mn10300_legitimate_constant_p): Make
3211 static. Add a mode argument.
1a627b35
RS
3212 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3213
3214 * config/moxie/moxie.h (LEGITIMATE_CONSTANT_P): Delete.
3215
3216 * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Delete.
3217 * config/pa/pa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3218 (pa_legitimate_constant_p): New function.
3219
3220 * config/picochip/picochip.h (LEGITIMATE_CONSTANT_P): Delete.
3221
3222 * config/pdp11/pdp11.h (LEGITIMATE_CONSTANT_P): Delete.
3223 * config/pdp11/pdp11.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3224 (pdp11_legitimate_constant_p): New function.
3225
3226 * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Delete.
3227 * config/rs6000/rs6000.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3228 (rs6000_legitimate_constant_p): New function.
3229
3230 * config/rx/rx-protos.h (rx_is_legitimate_constant): Replace with...
3231 (rx_legitimate_constant_p): ...this.
3232 * config/rx/rx.h (LEGITIMATE_CONSTANT_P): Delete.
3233 * config/rx/rx.c (rx_is_legitimate_constant): Replace with...
3234 (rx_legitimate_constant_p): ...this.
3235 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3236 * config/rx/rx.md (mov<register_modes:mode>): Update accordingly.
3237
3238 * config/s390/s390-protos.h (legitimate_constant_p): Delete.
3239 * config/s390/s390.h (LEGITIMATE_CONSTANT_P): Likewise.
3240 * config/s390/s390.c (legitimate_constant_p): Rename to...
3241 (s390_legitimate_constant_p): ...this. Make static, return a bool,
3242 and add a mode argument.
3243 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3244
3245 * config/score/score.h (LEGITIMATE_CONSTANT_P): Delete.
3246
3247 * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Delete.
3248 * config/sh/sh.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3249 (sh_legitimate_constant_p): New function.
3250
3251 * config/sparc/sparc-protos.h (legitimate_constant_p): Delete.
3252 * config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Delete.
3253 * config/sparc/sparc.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3254 (legitimate_constant_p): Rename to...
3255 (sparc_legitimate_constant_p): ...this. Make static. Add a mode
3256 argument.
3257 (constant_address_p): Update accordingly.
3258
3259 * config/spu/spu-protos.h (spu_legitimate_constant_p): Add a mode
3260 argument and return a bool.
3261 * config/spu/spu.h (LEGITIMATE_CONSTANT_P): Delete.
3262 * config/spu/spu.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3263 (spu_legitimate_constant_p): Add a mode argument and return a bool.
3264 (spu_rtx_costs): Update accordingly.
3265 * config/spu/predicates.md (vec_imm_operand): Likewise.
3266
3267 * config/stormy16/stormy16.h (LEGITIMATE_CONSTANT_P): Delete.
3268
3269 * config/v850/v850.h (LEGITIMATE_CONSTANT_P): Delete.
3270 * config/v850/v850.c (v850_legitimate_constant_p): New function.
3271 (TARGET_LEGITIMATE_CONSTANT_P): Define.
3272
3273 * config/vax/vax-protos.h (legitimate_constant_p): Delete.
3274 * config/vax/vax.h (LEGITIMATE_CONSTANT_P): Likewise.
3275 * config/vax/vax.c (legitimate_constant_p): Likewise.
3276
3277 * config/xtensa/xtensa.h (LEGITIMATE_CONSTANT_P): Delete.
3278 * config/xtensa/xtensa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
3279 (xtensa_legitimate_constant_p): New function.
3280
fbbf66e7
RS
32812011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
3282
3283 * target.def (cannot_force_const_mem): Add a mode argument.
3284 * doc/tm.texi.in (TARGET_CANNOT_FORCE_CONST_MEM): Update accordingly.
3285 * doc/tm.texi: Regenerate.
3286 * hooks.h (hook_bool_mode_rtx_false): Declare.
3287 * hooks.c (hook_bool_mode_const_rtx_false): Fix commentary.
3288 (hook_bool_mode_const_rtx_true): Likewise.
3289 (hook_bool_mode_rtx_false): New function.
3290 * reload.c (CONST_POOL_OK_P): Take a mode argument and require it
3291 to be non-VOID. Update call to cannot_force_const_mem.
3292 (find_reloads): Update accordingly.
3293 * varasm.c (force_const_mem): Update call to cannot_force_const_mem.
3294 * config/alpha/alpha.c (alpha_cannot_force_const_mem): Add a mode
3295 argument.
3296 * config/arm/arm-protos.h (arm_cannot_force_const_mem): Likewise.
3297 * config/arm/arm.h (LEGITIMATE_CONSTANT_P): Update call.
3298 * config/arm/arm.c (arm_cannot_force_const_mem): Add a mode argument.
3299 * config/bfin/bfin.c (bfin_cannot_force_const_mem): Likewise.
3300 * config/frv/frv.c (frv_cannot_force_const_mem): Likewise.
3301 * config/i386/i386.c (ix86_cannot_force_const_mem): Likewise.
3302 * config/ia64/ia64.c (ia64_cannot_force_const_mem): Likewise.
3303 * config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
3304 (m68k_cannot_force_const_mem): ...this new function.
3305 * config/mips/mips.c (mips_cannot_force_const_mem): Add a mode
3306 argument.
3307 (mips_const_insns, mips_legitimize_const_move): Update calls.
3308 (mips_secondary_reload_class): Likewise.
3309 * config/pa/pa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
3310 (pa_cannot_force_const_mem): ...this new function.
2894086e 3311 * config/rs6000/rs6000.c (TARGET_CANNOT_FORCE_CONST_MEM): Reefine to...
fbbf66e7
RS
3312 (rs6000_cannot_force_const_mem): ...this new function.
3313 * config/s390/s390.c (s390_cannot_force_const_mem): Add a mode
3314 argument.
3315 * config/sparc/sparc.c (sparc_cannot_force_const_mem): Likewise.
3316 * config/xtensa/xtensa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine
3317 to...
3318 (xtensa_cannot_force_const_mem): ...this new function.
3319
b861891b
NF
33202011-04-20 Nathan Froyd <froydnj@codesourcery.com>
3321
3322 * config/mips/mips.c (mips16_build_function_stub): Call
3323 build_function_type_list instead of build_function_type.
3324 (mips16_build_call_stub): Likewise.
3325
34149ed5
NF
33262011-04-20 Nathan Froyd <froydnj@codesourcery.com>
3327
3328 * config/mep/mep.c (mep_init_builtins): Call build_function_type_list
3329 instead of build_function_type.
3330
12526412
NF
33312011-04-20 Nathan Froyd <froydnj@codesourcery.com>
3332
3333 * config/pa/pa.c (pa_init_builtins): Call build_function_type_list
3334 instead of build_function_type.
3335
3b84d61f
UB
33362011-04-20 Uros Bizjak <ubizjak@gmail.com>
3337
3338 PR target/48678
3339 * config/i386/i386.md (insv): Change operand 0 constraint to
3340 "register_operand". Change operand 1 and 2 constraint to
3341 "const_int_operand". Expand to pinsr{b,w,d,q} * when appropriate.
3342 * config/i386/sse.md (sse4_1_pinsrb): Export.
3343 (sse2_pinsrw): Ditto.
3344 (sse4_1_pinsrd): Ditto.
3345 (sse4_1_pinsrq): Ditto.
3346 * config/i386/i386-protos.h (ix86_expand_pinsr): Add prototype.
3347 * config/i386/i386.c (ix86_expand_pinsr): New.
3348
4a25752b
ER
33492011-04-20 Easwaran Raman <eraman@google.com>
3350
3351 * cfgexpand.c (add_alias_set_conflicts): Add conflicts with a variable
3352 containing union type only with -fstrict-aliasing.
3353
04695783
JM
33542011-04-20 Jim Meyering <meyering@redhat.com>
3355
3356 Remove useless if-before-free tests.
3357 * calls.c (expand_call, save_area): Likewise.
3358 * cfgcleanup.c (try_forward_edges): Likewise.
3359 * collect2.c (collect_execute): Likewise.
3360 * config/i386/i386.c (ix86_valid_target_attribute_tree): Likewise.
3361 * config/mcore/mcore.c (mcore_expand_prolog): Likewise.
3362 * coverage.c (coverage_checksum_string): Likewise.
3363 * cse.c (init_cse_reg_info, delete_trivially_dead_insns): Likewise.
3364 * cselib.c (cselib_init): Likewise.
3365 * df-core.c (rest_of_handle_df_finish, df_analyze): Likewise.
3366 (df_set_clean_cfg): Likewise.
3367 * function.c (free_after_compilation): Likewise.
3368 * gcc.c (do_spec_1, main): Likewise.
3369 * gcov.c (create_file_names): Likewise.
3370 * gensupport.c (identify_predicable_attribute): Likewise.
3371 * graphite-clast-to-gimple.c (save_clast_name_index): Likewise.
3372 * graphite-sese-to-poly.c (free_data_refs_aux): Likewise.
3373 * haifa-sched.c (haifa_finish_h_i_d): Likewise.
3374 * ipa-prop.c (ipa_free_node_params_substructures): Likewise.
3375 * ipa-pure-const.c (local_pure_const): Likewise.
3376 * ipa-reference.c (propagate): Likewise.
3377 * ira-costs.c (free_ira_costs): Likewise.
3378 * ira.c (free_register_move_costs, build_insn_chain): Likewise.
3379 * matrix-reorg.c (mat_free): Likewise.
3380 * prefix.c (get_key_value): Likewise.
3381 * profile.c (compute_value_histograms): Likewise.
3382 * reload1.c (free_reg_equiv): Likewise.
3383 * sched-deps.c (free_deps): Likewise.
3384 * sel-sched-ir.c (fence_clear): Likewise.
3385 * sese.c (set_rename, if_region_set_false_region): Likewise.
3386 * tree-data-ref.c (free_rdg): Likewise.
3387 * tree-eh.c (lower_try_finally): Likewise.
3388 * tree-ssa-coalesce.c (delete_coalesce_list): Likewise.
3389 * tree-ssa-live.c (delete_var_map): Likewise.
3390 * tree-ssa-loop-ivopts.c (free_loop_data): Likewise.
3391 * tree-ssa-pre.c (phi_trans_add): Likewise.
3392
6788475a
JJ
33932011-04-20 Jakub Jelinek <jakub@redhat.com>
3394
3395 PR tree-optimization/48611
3396 * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
3397 beyond ERT_MUST_NOT_THROW region.
3398
0eda4033
CM
33992011-04-20 Catherine Moore <clm@codesourcery.com>
3400
3401 * config/mips/mips.opt (mfix-24k): New.
3402 * config/mips/mips.h (ASM_SPEC): Handle -mfix-24k.
3403 * config/mips/mips.md (length): Increase by 4 for stores if
3404 fixing 24K errata.
3405 * config/mips/mips.c (mips_reorg_process_insns): Do not allow
3406 all noreorder if fixing 24K errata.
3407 * doc/invoke.texi: Document mfix-24k.
3408
01475747
CLT
34092011-04-20 Chung-Lin Tang <cltang@codesourcery.com>
3410
3411 * config/arm/arm.c (arm_legitimize_reload_address): For NEON
2894086e 3412 quad-word modes, reduce to 9-bit index range when above 1016 limit.
01475747 3413
bc2c1a60
AS
34142011-04-20 Andrew Stubbs <ams@codesourcery.com>
3415
3416 * config/arm/arm.c (arm_gen_constant): Move movw support ....
3417 (const_ok_for_op): ... to here.
3418
583722ee
KT
34192011-04-20 Kai Tietz <ktietz@redhat.com>
3420
2894086e
UB
3421 * fold-const.c (fold_binary_loc): Add handling for (X & ~Y) | (~X & Y)
3422 and (X && !Y) | (!X && Y) optimization to (X ^ Y).
583722ee 3423
422c0989
AS
34242011-04-20 Andrew Stubbs <ams@codesourcery.com>
3425
3426 * config/arm/arm.c (arm_gen_constant): Remove redundant can_invert.
3427
d7978bff
RG
34282011-04-20 Richard Guenther <rguenther@suse.de>
3429
3430 PR tree-optimization/47892
3431 * tree-if-conv.c (if_convertible_stmt_p): Const builtins
3432 are if-convertible.
3433
818412ba
EB
34342011-04-20 Eric Botcazou <ebotcazou@adacore.com>
3435
3436 * config/alpha/vms.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not redefine.
3437
b501ce4e
TG
34382011-04-20 Tristan Gingold <gingold@adacore.com>
3439
3440 * config/alpha/vms.h (LINK_SPEC): Do not use vms-dwarf2.o for gnu-ld.
3441
516edfdd
GJL
34422011-04-20 Georg-Johann Lay <avr@gjlay.de>
3443
3444 PR target/18145
3445
3446 * config/avr/avr.h (TARGET_ASM_INIT_SECTIONS): Delete.
3447 (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
3448 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
3449 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
3450 (TARGET_ASM_NAMED_SECTION): Change to avr_asm_named_section.
3451
3452 * config/avr/avr-protos.h (avr_asm_output_aligned_common):
3453 New prototype.
3454
3455 * config/avr/avr.c (TARGET_ASM_INIT_SECTIONS): Define.
3456 (avr_asm_named_section, avr_asm_output_aligned_common,
3457 avr_output_data_section_asm_op, avr_output_bss_section_asm_op):
3458 New functions to update...
3459 (avr_need_clear_bss_p, avr_need_copy_data_p): ...these new variables.
3460 (avr_asm_init_sections): Overwrite section callbacks for
3461 data_section, bss_section.
3462 (avr_file_start): Move output of __do_copy_data, __do_clear_bss
3463 from here to...
3464 (avr_file_end): ...here.
3465
dafc9511
RG
34662011-04-20 Richard Guenther <rguenther@suse.de>
3467
3468 PR middle-end/48695
3469 * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
2894086e 3470 objects and types here. Adjust for their offset before comparing.
dafc9511 3471
1da0876c
RS
34722011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
3473
3474 * tree-vect-stmts.c (vectorizable_store): Only chain one related
3475 statement per copy.
3476
25583c4f
RS
34772011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
3478
3479 * Makefile.in (INTERNAL_FN_DEF, INTERNAL_FN_H): Define.
3480 (GIMPLE_H): Include $(INTERNAL_FN_H).
3481 (OBJS-common): Add internal-fn.o.
3482 (internal-fn.o): New rule.
3483 * internal-fn.def: New file.
3484 * internal-fn.h: Likewise.
3485 * internal-fn.c: Likewise.
3486 * gimple.h: Include internal-fn.h.
3487 (GF_CALL_INTERNAL): New gf_mask.
3488 (gimple_statement_call): Put fntype into a union with a new
3489 internal_fn field.
3490 (gimple_build_call_internal): Declare.
3491 (gimple_build_call_internal_vec): Likewise.
3492 (gimple_call_same_target_p): Likewise.
3493 (gimple_call_internal_p): New function.
3494 (gimple_call_internal_fn): Likewise.
3495 (gimple_call_fntype): Return null for internal calls.
3496 (gimple_call_set_fntype): Assert that the function is not internal.
3497 (gimple_call_set_fn): Likewise.
3498 (gimple_call_set_fndecl): Likewise.
3499 (gimple_call_set_internal_fn): New function.
3500 (gimple_call_addr_fndecl): Handle null functions.
3501 (gimple_call_return_type): Likewise null types.
3502 * gimple.c (gimple_build_call_internal_1): New function.
3503 (gimple_build_call_internal): Likewise.
3504 (gimple_build_call_internal_vec): Likewise.
3505 (gimple_call_same_target_p): Likewise.
3506 (gimple_call_flags): Handle calls to internal functions.
3507 (gimple_call_fnspec): New function.
3508 (gimple_call_arg_flags, gimple_call_return_flags): Use it.
3509 (gimple_has_side_effects): Handle null functions.
3510 (gimple_rhs_has_side_effects): Likewise.
3511 (gimple_call_copy_skip_args): Handle calls to internal functions.
3512 * cfgexpand.c (expand_call_stmt): Likewise.
3513 * expr.c (expand_expr_real_1): Assert that the call isn't internal.
3514 * gimple-fold.c (gimple_fold_call): Handle null functions.
3515 (gimple_fold_stmt_to_constant_1): Don't fold
3516 calls to internal functions.
3517 * gimple-low.c (gimple_check_call_args): Handle calls to internal
3518 functions.
3519 * gimple-pretty-print.c (dump_gimple_call): Likewise.
3520 * ipa-prop.c (ipa_analyze_call_uses): Handle null functions.
3521 * tree-cfg.c (verify_gimple_call): Handle calls to internal functions.
3522 (do_warn_unused_result): Likewise.
3523 * tree-eh.c (same_handler_p): Use gimple_call_same_target_p.
3524 * tree-ssa-ccp.c (ccp_fold_stmt): Handle calls to internal functions.
3525 * tree-ssa-dom.c (hashable_expr): Use the gimple statement to record
3526 the target of a call.
3527 (initialize_hash_element): Update accordingly.
3528 (hashable_expr_equal_p): Use gimple_call_same_target_p.
3529 (iterative_hash_hashable_expr): Handle calls to internal functions.
3530 (print_expr_hash_elt): Likewise.
3531 * tree-ssa-pre.c (can_value_number_call): Likewise.
3532 (eliminate): Handle null functions.
3533 * tree-ssa-sccvn.c (visit_use): Handle calls to internal functions.
3534 * tree-ssa-structalias.c (get_fi_for_callee): Likewise.
3535 (find_func_aliases): Likewise.
3536 * value-prof.c (gimple_ic_transform): Likewise.
3537 (gimple_indirect_call_to_profile): Likewise.
3538 * lto-streamer-in.c (input_gimple_stmt): Likewise.
3539 * lto-streamer-out.c (output_gimple_stmt): Likewise.
3540
1a3118e9
JH
35412011-04-19 Jan Hubicka <jh@suse.cz>
3542
3543 * ipa-inline-transform.c (save_inline_function_body): Add comments.
9d12f71a
EB
3544 * ipa-inline.c (inline_small_functions): Compute summaries first,
3545 populate heap later.
1a3118e9 3546
fee8b6da
JH
35472011-04-19 Jan Hubicka <jh@suse.cz>
3548
3549 * cgraph.h (save_inline_function_body): Remove.
3550 * ipa-inline-transform.c: New file, broke out of...
3551 * ipa-inline.c: ... this one; Update toplevel comment.
3552 (ncalls_inlined, nfunctions_inlined): Move to ipa-inline-transform.c;
3553 make global.
3554 (update_noncloned_frequencies): Move to ipa-inline-transform.c
3555 (cgraph_mark_inline_edge): Rename to inline_call; move to
3556 ipa-inline-transform.c.
3557 (cgraph_clone_inlined_nodes): Rename to clone_inlined_nodes;
3558 move to ipa-inline-transform.c
3559 (recursive_inlining, inline_small_functions, flatten_function,
3560 ipa_inline, inline_always_inline_functions,
3561 early_inline_small_functions): Update.
3562 (inline_transform): Move to ipa-inline-transform.c.
3563 * ipa-inline.h (inline_call, inline_transform, clone_inlined_nodes):
3564 Declare.
3565 * Makefile.in (ipa-inline-transform.o): New file.
3566 * cgraphunit.c (save_inline_function_body): Move to
3567 ipa-inline-transform.c
3568
f0679612
DD
35692011-04-19 DJ Delorie <dj@redhat.com>
3570
3571 * config/m32c/m32c.c (m32c_emit_epilogue): Don't try to push
3572 registers if we already know there aren't any.
3573 (m32c_emit_epilogue): Don't emit a barrier here.
3574 (m32c_emit_eh_epilogue): Likewise.
3575 * config/m32c/blkmov.md (movstr): Don't fail on wrong-type
3576 operands at expand time.
3577 * config/m32c/m32c.h (WCHAR_TYPE_SIZE): Change to 4 to match "long
3578 int" wchar type.
3579 (REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): Remove
3580 duplicates. Provide aliases instead.
3581 * config/m32c/prologue.md (eh_return): Emit a barrier here.
3582 (eh_epilogue): Add a "(return)" here as a hint to other parts of
3583 the compiler.
3584
32257ddc
AS
35852011-04-19 Anatoly Sokolov <aesok@post.ru>
3586
3587 * config/sparc/sparc.h (GENERAL_OR_I64, REGISTER_MOVE_COST): Remove.
3588 * config/sparc/sparc.c (TARGET_REGISTER_MOVE_COST): Define.
3589 (general_or_i64_p, sparc_register_move_cost): New function.
3590
60bea929
RO
35912011-04-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3592
3593 * doc/install.texi (Configuration, --enable-threads): Remove mach.
3b84d61f 3594 Add lynx, mipssde. Sort table.
60bea929 3595
444b3995 35962011-04-19 Xinliang David Li <davidxl@google.com>
3b84d61f 3597
9d12f71a
EB
3598 * ipa-cp.c (ipcp_update_profiling): Assert that scale_completement is
3599 not negative.
444b3995 3600
d708ce50
JJ
36012011-04-19 Jakub Jelinek <jakub@redhat.com>
3602
3603 PR target/48678
3604 * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
3605 is a SUBREG with non-MODE_INT mode inside of it.
3606
49c471e3
MJ
36072011-04-19 Martin Jambor <mjambor@suse.cz>
3608
3609 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize
3610 also according to actual contants.
3611 * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): New function.
3612 (gimple_fold_call): Use it.
3613 * gimple.h (gimple_extract_devirt_binfo_from_cst): Declare.
3614
0004f992
MJ
36152011-04-19 Martin Jambor <mjambor@suse.cz>
3616
3617 * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar
3618 non-pointer assignments.
3619
40591473
MJ
36202011-04-19 Martin Jambor <mjambor@suse.cz>
3621
3622 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into
3623 account anc_offset and otr_type from the indirect edge info.
3624 * ipa-prop.c (get_ancestor_addr_info): New function.
3625 (compute_complex_ancestor_jump_func): Assignment analysis moved to
3626 get_ancestor_addr_info, call it.
3627 (ipa_note_param_call): Do not initialize information about polymorphic
3628 calls, return the indirect call graph edge. Remove the last
3629 parameter, adjust all callers.
3630 (ipa_analyze_virtual_call_uses): Process also calls to ancestors of
3631 parameters. Initialize polymorphic information in the indirect edge.
3632
abe36b81
EB
36332011-04-19 Eric Botcazou <ebotcazou@adacore.com>
3634
3635 PR lto/48148
3636 * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
3637 the types if they have different enumeration identifiers.
3638
e6416b30
JH
36392011-04-19 Jan Hubicka <jh@suse.cz>
3640
3641 * cgraph.h (cgraph_optimize_for_size_p): Declare.
3642 * ipa-cp.c (ipcp_insert_stage): Use cgraph_optimize_for_size_p.
3643 * predict.c (cgraph_optimize_for_size_p): Break out from ...
3644 (optimize_function_for_size_p) ... here.
3645
d39132ea
RG
36462011-04-19 Richard Guenther <rguenther@suse.de>
3647
3648 PR lto/48207
3649 * tree.c (free_lang_data): Do not reset the decl-assembler-name
3650 langhook.
3651
ff7037dc
EB
36522011-04-19 Eric Botcazou <ebotcazou@adacore.com>
3653
3654 * tree-inline.c (expand_call_inline): Do not issue a -Winline warning
3655 if DECL_NO_INLINE_WARNING_P is set on the function.
3656
c1ee2892
BS
36572011-04-19 Bernd Schmidt <bernds@codesourcery.com>
3658
3659 PR fortran/47976
3660 * reload1.c (inc_for_reload): Return void. All callers changed.
3661 (emit_input_reload_insns): Don't try to delete previous output
3662 reloads to a register, or record spill_reg_store for autoincs.
fbb20b29
BS
3663
36642011-04-19 Basile Starynkevitch <basile@starynkevitch.net>
3665
3666 * gengtype.h: Updated copyright year.
3667 (struct input_file_st): Add inpisplugin field.
3668 (type_fileloc): New function.
3669 * gengtype.c
3670 (write_typed_struct_alloc_def): Add gcc_assert.
3671 (write_typed_alloc_defns): Ditto. Don't output for plugin files.
3672 (write_typed_alloc_defns): Don't output for plugin files.
3673 (input_file_by_name): Clear inpisplugin field.
3674 (main): Set inpisplugin field for plugin files.
3675
897e0a89
NP
36762011-04-19 Nicola Pero <nicola.pero@meta-innovation.com>
3677
3678 * gengtype-state.c (string_eq): New.
3679 (read_state): Use string_eq instead of strcmp when creating the
3680 state_ident_tab.
3681
363ee90e
WG
36822011-04-19 Wei Guozhi <carrot@google.com>
3683
3684 PR target/47855
3685 * config/arm/arm-protos.h (thumb1_legitimate_address_p): New prototype.
3686 * config/arm/arm.c (thumb1_legitimate_address_p): Remove the static
3687 linkage.
3688 * config/arm/constraints.md (Uu): New constraint.
3689 * config/arm/arm.md (*arm_movqi_insn): Compute attr "length".
3690
18a24fed
TG
36912011-04-19 Tristan Gingold <gingold@adacore.com>
3692
3693 * config.gcc (-*-*-*vms): Added.
3694 (alpha64-dec-*vms*,alpha*-dec-*vms*, ia64-hp-*vms*): Common
3695 definitions moved.
3696 * config/vms/vms-ld.c: New file.
3697 * config/vms/vms-ar.c: New file.
3698 * config/vms/t-vmsnative: New file.
3699
1c13f168
XDL
37002011-04-18 Xinliang David Li <davidxl@google.com>
3701
3702 * final.c (dump_basic_block_info): Use ASM_COMMENT_START.
3703
84825707
JJ
37042011-04-18 Jakub Jelinek <jakub@redhat.com>
3705
3706 PR middle-end/48661
3707 * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
3708 if TREE_TYPE (v) is non-NULL.
3709
3710 * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
3711 gimple_get_virt_mehtod_for_binfo.
3712 * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
3713 * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
3714 callers.
3715 * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
3716
7d4f8d02 37172011-04-18 Michael Matz <matz@suse.de>
7254cb57
MM
3718 Steve Ellcey <sje@cup.hp.com>
3719
7d4f8d02
EB
3720 * expr.c (expand_expr_real_2) <CASE_CONVERT>: If OP0 is a constant,
3721 use its mode as source mode if it isn't VOIDmode.
7254cb57 3722
474e8e70
DCR
37232011-04-18 Dennis, CHENG Renquan <crquan@fedoraproject.org>
3724
3725 * doc/passes.texi: Fill crossref nodes.
3726
cff41484
JM
37272011-04-18 Jim Meyering <meyering@redhat.com>
3728
7d4f8d02 3729 Fix doubled-word typos in comments and strings
cff41484
JM
3730 * config/alpha/vms-unwind.h: s/for for/for/
3731 * config/arm/unwind-arm.h: Likewise.
3732 * config/microblaze/microblaze.c: Likewise.
3733 * config/sh/constraints.md: s/in in/in/
3734 * tree-cfg.c (verify_types_in_gimple_reference): Likewise.
3735
f60c2554
UB
37362011-04-18 Uros Bizjak <ubizjak@gmail.com>
3737
3738 * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): Remove.
3739 (AVX_FLOAT_MODE_P): Ditto.
3740 (AVX128_VEC_FLOAT_MODE_P): Ditto.
3741 (AVX256_VEC_FLOAT_MODE_P): Ditto.
3742 (AVX_VEC_FLOAT_MODE_P): Ditto.
3743 * config/i386/i386.md (UNSPEC_MASKLOAD): Remove.
3744 (UNSPEC_MASKSTORE): Ditto.
3745 * config/i386/sse.md (<sse>_movmsk<ssemodesuffix><avxmodesuffix>):
3746 Merge from <sse>_movmsk<ssemodesuffix> and
3747 avx_movmsk<ssemodesuffix>256. Use VF mode iterator.
3748 (*sse2_maskmovdqu): Merge with *sse2_maskmovdqu_rex64. Use P mode
3749 iterator.
3750 (avx_maskload<ssemodesuffix><avxmodesuffix>): New expander.
3751 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Ditto.
3752 (*avx_maskmov<ssemodesuffix><avxmodesuffix>): New insn.
3753
09a2806f
JH
37542011-04-18 Jan Hubicka <jh@suse.cz>
3755
8a8dccb2
JH
3756 * ipa-inline.c (inline_small_functions): Fix pasto in previous patch.
3757
09a2806f
JH
3758 * ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
3759 (want_inline_function_called_once_p): Break out the logic from
3760 ipa_inline.
3761 (edge_badness): Ensure that profile is not misupdated.
3762 (lookup_recursive_calls): Prioritize by call frequencies.
3763 (inline_small_functions): Move program size estimates here;
3764 actually process whole queue even when unit growth has been
3765 met. (to properly compute inline_failed reasons and for the
f60c2554 3766 case unit size decrease.) Revisit comments on recursive inlining.
09a2806f
JH
3767 (ipa_inline): Remove unit summary code; first inline hot calls
3768 of functions called once, cold calls next.
3769 (order, nnodes): Remove unused variables.
3770 * Makefile.in (ipa-inline.o): No longer depent on ggc files.
3771 (GTFILES): Remove ipa-inline.c
3772 * sel-sched.c (fill_insns): Silence uninitialized var warning.
3773
3eea52ef
EB
37742011-04-18 Eric Botcazou <ebotcazou@adacore.com>
3775
3776 * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
3777
229a1c59 37782011-04-18 Jie Zhang <jie@codesourcery.com>
3eea52ef 3779 Richard Earnshaw <rearnsha@arm.com>
229a1c59
JZ
3780
3781 * arm.c (neon_builtin_type_bits): Remove.
3782 (typedef enum neon_builtin_mode): New.
3783 (T_MAX): Don't define.
3784 (typedef enum neon_builtin_datum): Remove bits, codes[],
3785 num_vars and base_fcode. Add mode, code and fcode.
3786 (VAR1, VAR2, VAR3, VAR4, VAR5, VAR6, VAR7, VAR8, VAR9
3787 VAR10): Change accordingly.
3788 (neon_builtin_data[]): Change accordingly
3789 (arm_init_neon_builtins): Change accordingly.
3790 (neon_builtin_compare): Remove.
3791 (locate_neon_builtin_icode): Remove.
3792 (arm_expand_neon_builtin): Change accordingly.
3793
3794 * arm.h (enum arm_builtins): Move to ...
3795 * arm.c (enum arm_builtins): ... here; and rearrange builtin code.
3796
3797 * arm.c (arm_builtin_decl): Declare.
3798 (TARGET_BUILTIN_DECL): Define.
3799 (enum arm_builtins): Correct ARM_BUILTIN_MAX.
3800 (arm_builtin_decls[]): New.
3801 (arm_init_neon_builtins): Store builtin declarations in
3802 arm_builtin_decls[].
3803 (arm_init_tls_builtins): Likewise.
3804 (arm_init_iwmmxt_builtins): Likewise. Refactor initialization code.
3805 (arm_builtin_decl): New.
3806
75e802cc
RG
38072011-04-18 Richard Guenther <rguenther@suse.de>
3808
3809 * tree.c (upper_bound_in_type): Build properly canonicalized
3810 INTEGER_CSTs.
3811 (lower_bound_in_type): Likewise.
3812
3b45a007
RG
38132011-04-18 Richard Guenther <rguenther@suse.de>
3814
3815 * gimple.h (gimple_call_addr_fndecl): New function.
3816 (gimple_call_fndecl): Use it.
3817 * gimple-fold.c (gimple_fold_call): Fold away OBJ_TYPE_REFs
3818 for direct calls.
3819 * tree-ssa-ccp.c (ccp_fold_stmt): Remove OBJ_TYPE_REF folding.
3820 * tree-ssa-pre.c (eliminate): Also simplify indirect OBJ_TYPE_REFs.
3821
d25a79ea
RG
38222011-04-18 Richard Guenther <rguenther@suse.de>
3823
3824 PR middle-end/48650
3825 * tree.c (build_string): STRING_CST is now derived from tree_typed.
3826
7d5fc814
EB
38272011-04-18 Eric Botcazou <ebotcazou@adacore.com>
3828
3829 PR lto/48492
3830 * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
3831 DECL_IN_CONSTANT_POOL without RTL.
3832
7e7cfcf6
UW
38332011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org>
3834 Ira Rosen <ira.rosen@linaro.org>
3835
3836 PR target/48252
3837 * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
3838 to match neon_vzip/vuzp/vtrn_internal.
3839 * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
3840 outputs explicitly dependent on both inputs.
3841 (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
3842
49eab32e
JJ
38432011-04-18 Jakub Jelinek <jakub@redhat.com>
3844
3845 PR tree-optimization/48616
3846 * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
3847 whether the shift is by scalar or vector based on whether all SLP
3848 scalar stmts have the same rhs.
3849
e54170f4
CLT
38502011-04-17 Chung-Lin Tang <cltang@codesourcery.com>
3851
3852 * config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
3853 memory operands.
3854
b14ee6c9
RS
38552011-04-17 Richard Sandiford <rdsandiford@googlemail.com>
3856
3857 * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
3858 registers.
3859
10158cd3
JH
38602011-04-17 Jan Hubicka <jh@suse.cz>
3861
3862 * cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
7d5fc814
EB
3863 * cgrpahunit.c (cgraph_finalize_function): Do not set
3864 finalized_by_frontend.
10158cd3
JH
3865 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
3866 finalized_by_frontend.
3867
2e9bb6ba
JH
38682011-04-17 Jan Hubicka <jh@suse.cz>
3869
3870 * cgraph.c (cgraph_clone_node): Do not handle vtable_method
3871 * cgraph.h (struct cgraph_local_info): Drop vtable_method.
3872 * cgraphunit.c (cgraph_copy_node_for_versioning): Drop vtable_method.
7d5fc814
EB
3873 * lto-cgraph.c (lto_output_node, input_overwrite_node): Drop vtable
3874 method.
2e9bb6ba
JH
3875 * gimple-fold.c (can_refer_decl_in_current_unit_p): Mention PR20991 in
3876 gimple-fold.c
3877 * varasm.c (mark_decl_referenced): Drop vtable_method handling code.
3878
beb628e1
EB
38792011-04-17 Eric Botcazou <ebotcazou@adacore.com>
3880
3881 PR lto/48538
3882 * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
3883 is non-null before accessing it.
3884 (input_cgraph): Remove trailing spaces.
3885
3e2fdd24
RE
38862011-04-17 Revital Eres <revital.eres@linaro.org>
3887
3888 * params.def (sms-min-sc): New param flag.
3889 * modulo-sched.c (sms_schedule): Use it.
3890 * doc/invoke.texi (sms-min-sc): Document it.
3891
4c0f7679
JH
38922011-04-17 Jan Hubicka <jh@suse.cz>
3893
3894 * lto-symtab.c (lto_cgraph_replace_node): When call statement is
3895 present, also set gimple_call_set_cannot_inline.
3896 * ipa-inline.c: Update toplevel comment.
3897 (MAX_TIME): Remove.
3898 (cgraph_clone_inlined_nodes): Fix linebreaks.
3899 (cgraph_check_inline_limits): Restructure to ...
3900 (caller_growth_limits): ... this one; be more tolerant
3901 on growth in nested inline chains; add explanatory comment;
3902 fix stack accounting thinko introduced by previous patch.
3903 (cgraph_default_inline_p): Remove.
3904 (report_inline_failed_reason): New function.
3905 (can_inline_edge_p): New function.
3906 (can_early_inline_edge_p): New function.
3907 (leaf_node_p): Move upwards in file.
3908 (want_early_inline_function_p): New function.
3909 (want_inline_small_function_p): New function.
3910 (want_inline_self_recursive_call_p): New function.
3911 (cgraph_edge_badness): Rename to ...
3912 (edge_badness) ... this one; fix linebreaks.
3913 (update_edge_key): Update call of edge_baddness; add
3914 detailed dump about queue updates.
3915 (update_caller_keys): Use can_inline_edge_p and
3916 want_inline_small_function_p.
3917 (cgraph_decide_recursive_inlining): Rename to...
3918 (recursive_inlining): Use can_inline_edge_p and
f60c2554
UB
3919 want_inline_self_recursive_call_p; simplify and remove no longer
3920 valid FIXME.
4c0f7679
JH
3921 (cgraph_set_inline_failed): Remove.
3922 (add_new_edges_to_heap): Use can_inline_edge_p and
3923 want_inline_small_function_p.
3924 (cgraph_decide_inlining_of_small_functions): Rename to ...
3925 (inline_small_functions): ... this one; cleanup; use
f60c2554
UB
3926 can/want predicates; cleanup debug ouput; work edges till fibheap
3927 is exhausted and do not stop once unit growth is reached; remove
3928 later loop processing remaining edges.
4c0f7679
JH
3929 (cgraph_flatten): Rename to ...
3930 (flatten_function): ... this one; use can_inline_edge_p
3931 and can_early_inline_edge_p predicates.
3932 (cgraph_decide_inlining): Rename to ...
3933 (ipa_inline): ... this one; remove unreachable nodes before
3934 inlining functions called once; simplify the pass.
3935 (cgraph_perform_always_inlining): Rename to ...
3936 (inline_always_inline_functions): ... this one; use
f60c2554 3937 DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p predicate.
4c0f7679
JH
3938 (cgraph_decide_inlining_incrementally): Rename to ...
3939 (early_inline_small_functions): ... this one; simplify
3940 using new predicates; cleanup; make dumps prettier.
3941 (cgraph_early_inlining): Rename to ...
3942 (early_inliner): newer inline regular functions into always-inlines;
3943 fix updating of call stmt summaries.
3944 (pass_early_inline): Update for new names.
3945 (inline_transform): Fix formating.
3946 (gate_cgraph_decide_inlining): Rename to ...
3947 (pass_ipa_inline): ... this one.
3948 * ipa-inline.h (inline_summary): Remove disregard_inline_limits.
3949 * ipa-inline-analysis.c (dump_inline_summary): Update.
3950 (compute_inline_parameters): Do not compute disregard_inline_limits;
3951 look for mismatching arguments.
3952 (estimate_growth): Fix handlig of non-trivial self recursion.
3953 (inline_read_summary): Do not read info->disregard_inline_limits.
3954 (inline_write_summary): Do not write info->disregard_inline_limits.
beb628e1
EB
3955 * tree-inline.c (inline_forbidden_into_p, tree_can_inline_p): Remove
3956 and move all checks into can_inline_edge_p predicate; re-enable code
3957 comparing optimization levels.
4c0f7679
JH
3958 (expand_call_inline): Do not test inline_forbidden_into_p.
3959 * Makefile.in (ipa-inline.o): Update arguments.
3960
54333b7c
RE
39612011-04-17 Revital Eres <revital.eres@linaro.org>
3962
3963 * ddg.c (free_ddg_all_sccs): Free sccs field in struct ddg_all_sccs.
3964
42c2bf92
RE
39652011-04-17 Revital Eres <revital.eres@linaro.org>
3966
3967 * modulo-sched.c (sms_schedule): Avoid unfreed memory when SMS fails.
3968
b183e9e0
MM
39692011-04-17 Michael Matz <matz@suse.de>
3970
3971 PR tree-optimization/48622
3972 PR lto/48645
3973 * ipa-inline-analysis.c (inline_read_summary): Read size/time
3974 in same order as they're written.
3975
b8a17fa2
JDA
39762011-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3977
3978 * config/pa/predicates.md: Reorganize and simplify predicates.
3979 Eliminate duplicate code checks.
3980 (arith_operand): Rename to arith14_operand
3981 (reg_or_ior_operand): Rename to reg_or_cint_ior_operand.
3982 * config/pa/pa.md: Use renamed operands.
3983 * config/pa/pa-protos.h (symbolic_operand): Delete declaration.
3984 (tls_symbolic_operand, function_label_operand, lhs_lshift_cint_operand,
3985 arith11_operand, adddi3_operand, indexed_memory_operand,
3986 symbolic_memory_operand, int11_operand, reg_or_cint_move_operand,
3987 arith5_operand, uint5_operand, pic_label_operand, plus_xor_ior_operator,
3988 borx_reg_operand, shadd_operand, arith_operand, read_only_operand,
3989 move_dest_operand, move_src_operand, prefetch_cc_operand,
3990 prefetch_nocc_operand, and_operand, ior_operand, arith32_operand,
3991 uint32_operand, reg_before_reload_operand, reg_or_0_operand,
3992 reg_or_0_or_nonsymb_mem_operand, pre_cint_operand, post_cint_operand,
3993 div_operand, int5_operand, movb_comparison_operator,
3994 ireg_or_int5_operand, call_operand_address, ior_operand, fp_reg_operand,
3995 arith_double_operand, ireg_operand, lhs_lshift_operand,
3996 pc_or_label_operand, non_hard_reg_operand, eq_neq_comparison_operator,
3997 integer_store_memory_operand): Likewise.
3998 * config/pa/pa.c (adddi3_operand): Move to predicates.md.
3999 (integer_store_memory_operand, read_only_operand,
4000 function_label_operand, borx_reg_operand,
4001 non_hard_reg_operand): Likewise.
4002 (eq_neq_comparison_operator): Delete unused operator.
4003 (legitimize_pic_address): Use VOIDmode for mode argument in calls to
4004 function_label_operand.
4005 (emit_move_sequence): Likewise.
4006
8dfb9f16
UB
40072011-04-16 Uros Bizjak <ubizjak@gmail.com>
4008
4009 * config/i386/sse.md (sseunpackmode): New mode attribute.
4010 (ssepackmode): Ditto.
4011 (vec_pack_trunc_<mode>): Macroize expander from
4012 vec_pack_trunc_{v8hi,v4si,v2di} using VI248_128 mode iterator.
4013 (vec_unpacks_lo_<mode>): Macroize expander from
4014 vec_unpacks_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
4015 (vec_unpacks_hi_<mode>): Macroize expander from
4016 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
4017 (vec_unpacku_lo_<mode>): Macroize expander from
4018 vec_unpacku_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
4019 (vec_unpacku_hi_<mode>): Macroize expander from
4020 vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
4021 * config/i386/i386.c (ix86_expand_sse_unpack): Merge with
4022 ix86_expand_sse4_unpack.
4023 * config/i386/i386-protos.h (ix86_expand_sse4_unpack): Remove.
4024
e7f23018
JH
40252011-04-16 Jan Hubicka <jh@suse.cz>
4026
4027 * cgraphbuild.c: Include ipa-inline.h.
4028 (reset_inline_failed): Use initialize_inline_failed.
4029 * cgraph.c: Include ipa-inline.h.
4030 (cgraph_create_node_1): Do not initialize estimated_growth.
4031 (initialize_inline_failed): More to ipa-inline-analysis.c
4032 (dump_cgraph_node): Do not dump inline flags.
4033 * cgraph.h (cgraph_local_info): Remove inlineable, versionable
4034 and disregard_inline_limits flags.
4035 (cgrpah_global_info): Remove estimated_stack_size, stack_frame_offset,
4036 time, size, estimated_growth.
8dfb9f16
UB
4037 * ipa-cp.c (ipcp_versionable_function_p, ipcp_generate_summary):
4038 Update.
e7f23018
JH
4039 * cgraphunit.c (cgraph_decide_is_function_needed): Use
4040 DECL_DISREGARD_INLINE_LIMITS.
4041 (cgraph_analyze_function): Do not initialize
4042 node->local.disregard_inline_limits.
4043 * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
4044 inlinable, versionable and disregard_inline_limits.
4045 * ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
8dfb9f16
UB
4046 cgraph_check_inline_limits, cgraph_default_inline_p,
4047 cgraph_edge_badness, update_caller_keys, update_callee_keys,
4048 add_new_edges_to_heap): Update.
4049 (cgraph_decide_inlining_of_small_function): Update; set
4050 CIF_FUNCTION_NOT_INLINABLE for uninlinable functions.
e7f23018
JH
4051 (cgraph_decide_inlining, cgraph_edge_early_inlinable_p,
4052 cgraph_decide_inlining_incrementally): Update.
8dfb9f16
UB
4053 * ipa-inline.h (inline_summary): Add inlinable, versionable,
4054 disregard_inline_limits, estimated_stack_size, stack_frame_offset,
4055 time, size and estimated_growth parameters.
e7f23018
JH
4056 (estimate_edge_growth): Update.
4057 (initialize_inline_failed): Declare.
4058 * ipa-split.c: Include ipa-inline.h
4059 (execute_split_functions): Update.
4060 * ipa.c (cgraph_postorder): Use DECL_DISREGARD_INLINE_LIMITS.
4061 (cgraph_remove_unreachable_nodes): Do not clear inlinable flag.
4062 (record_cdtor_fn): Use DECL_DISREGARD_INLINE_LIMITS.
4063 * ipa-inline-analysis.c (inline_node_removal_hook): Update; set
4064 estimated_growth to INT_MIN.
4065 (inline_node_duplication_hook): Likewise.
4066 (dump_inline_summary): Dump new fields.
4067 (compute_inline_parameters): Update.
4068 (estimate_edge_time, estimate_time_after_inlining,
4069 estimate_size_after_inlining, estimate_growth, inline_read_summary,
4070 inline_write_summary):
4071 (initialize_inline_failed): Move here from cgraph.c.
4072 * tree-sra.c: Include ipa-inline.h.
4073 (ipa_sra_preliminary_function_checks): Update.
f60c2554
UB
4074 * Makefile.in (cgraph.o, cgraphbuild.o): Add dependency on
4075 ipa-inline.h.
e7f23018 4076
e81b8564
UB
40772011-04-16 Uros Bizjak <ubizjak@gmail.com>
4078
4079 * config/i386/sse.md (V16): New mode iterator.
4080 (VI1, VI8): Ditto.
4081 (AVXMODEQI, AVXMODEDI): Remove.
4082 (sse2, sse3): New mode attribute.
4083 (mov<mode>): Use V16 mode iterator.
4084 (*mov<mode>_internal): Merge with *avx_mov<mode>_internal.
4085 (push<mode>1): Use V16 mode iterator.
4086 (movmisalign<mode>): Ditto.
4087 (<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
4088 <sse>_movu<ssemodesuffix> and avx_movu<ssemodesuffix><avxmodesuffix>.
4089 (*<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
4090 *<sse>_movu<ssemodesuffix> and *avx_movu<ssemodesuffix><avxmodesuffix>.
4091 (<sse2>_movdqu<avxmodesuffix>): Merge from sse2_movdqu and
4092 avx_movdqu<avxmodesuffix>.
4093 (*<sse2>_movdqu<avxmodesuffix>): Merge from *sse2_movdqu and
4094 *avx_movdqu<avxmodesuffix>.
4095 (<sse3>_lddqu<avxmodesuffix>) Merge from sse3_lddqu and
4096 avx_lddqu<avxmodesuffix>.
4097 (<sse>_movnt<mode>): Merge with avx_movnt<AVXMODEF2P:mode>.
4098 (<sse2>_movnt<mode>): Merge from sse2_movntv2di and
4099 avx_movnt<AVXMODEDI:mode>.
4100 * config/i386/i386.c (ix86_expand_vector_move_misalign): Update for
4101 renamed sse_movups, sse2_movupd and sse2_movdqu patterns.
4102
4743d438
BS
41032011-04-16 Bernd Schmidt <bernds@codesourcery.com>
4104
4105 PR target/48629
4106 * haifa-sched.c (prune_ready_list, schedule_block): Use
4107 sched_pressure_p rather than flag_sched_pressure.
4108
748f7574 41092011-04-15 Pat Haugen <pthaugen@us.ibm.com>
eb229cf4
PH
4110
4111 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
4112 cgraph_get_node instead of cgraph_get_create_node.
4113
2ba172e0
JJ
41142011-04-15 Jakub Jelinek <jakub@redhat.com>
4115
4116 * cfgexpand.c (expand_debug_expr): Use
4117 simplify_gen_{unary,binary,ternary} instead of gen_rtx_*.
4118
63d2a353
MM
41192011-04-15 Michael Matz <matz@suse.de>
4120
4121 * tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
4122 * builtins.c (expand_builtin): Use CALL_ALLOCA_FOR_VAR_P.
4123 * function.c (gimplify_parameters): Ditto.
4124 * gimplify.c (gimplify_vla_decl): Ditto.
4125
4126 * gimple.h (enum gf_mask): Add GF_CALL_ALLOCA_FOR_VAR.
4127 (gimple_call_set_alloca_for_var): New inline function.
4128 (gimple_call_alloca_for_var_p): Ditto.
e81b8564
UB
4129 * gimple.c (gimple_build_call_from_tree): Remember
4130 CALL_ALLOCA_FOR_VAR_P state.
63d2a353
MM
4131 * cfgexpand.c (expand_call_stmt): Restore CALL_ALLOCA_FOR_VAR_P state.
4132
4133 * tree-inline.c (inline_forbidden_p_stmt): Don't reject alloca
4134 calls if they were for VLA objects.
4135
dee74c34
MJ
41362011-04-15 Martin Jambor <mjambor@suse.cz>
4137
4138 * ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling
4139 of ADR_EXPRs.
4140
8e5837bc
MJ
41412011-04-15 Martin Jambor <mjambor@suse.cz>
4142
4143 PR middle-end/48601
4144 * tree-emutls.c (lower_emutls_function_body): Call
4145 cgraph_get_create_node instead of cgraph_get_node. Do not assert the
4146 result is non-NULL.
4147
0dc33c3c
NP
41482011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
4149
4150 * c-decl.c (detect_field_duplicates): Call
4151 objc_detect_field_duplicates instead of objc_get_interface_ivars.
4152
edcdea5b
NF
41532011-04-15 Nathan Froyd <froydnj@codesourcery.com>
4154
4155 * gimple.h (gimple_asm_clobbers_memory_p): Declare.
4156 * gimple.c (gimple_asm_clobbers_memory_p): Define.
4157 * ipa-pure-const.c (check_stmt): Call it.
4158 * tree-ssa-operands.c (get_asm_expr_operands): Likewise.
4159
8456558d
RG
41602011-04-15 Richard Guenther <rguenther@suse.de>
4161
4162 PR tree-optimization/48290
4163 * tree-ssa-copy.c (copy_prop_visit_phi_node): Propagate constants.
4164 Properly decide inhibiting propagation based on the valueized
4165 operand. Do loop-closed SSA form preserving here ...
4166 (init_copy_prop): ... not here.
4167
266446be
L
41682011-04-15 H.J. Lu <hongjiu.lu@intel.com>
4169
4170 PR target/48612
4171 * config/i386/sse.md (*ieee_smin<mode>3): Switch mnemonics.
4172 (*ieee_smax<mode>3): Likewise.
4173
17465c6e
AK
41742011-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4175
4176 * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
4177 Replace match_operand with match_dup for the third operand in
4178 these expanders.
4179
bce204e5
MK
41802011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
4181
4182 * combine.c (subst, combine_simlify_rtx): Add new argument, use it
4183 to track processing of conditionals. Update all callers.
4184 (try_combine, simplify_if_then_else): Update.
4185
3162fdf4
MK
41862011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
4187
4188 * config/m68k/m68k.c (m68k_sched_variable_issue): Handle
4189 -fsched-pressure.
4190
79002a57 41912011-04-15 Georg-Johann Lay <avr@gjlay.de>
e81b8564 4192
79002a57
GJL
4193 * config/avr/avr.md ("rotl<mode>3",mode=HIDI): Use match_dup
4194 instead of match_operand for operand 3.
4195
4fd3a105
RS
41962011-04-15 Richard Sandiford <richard.sandiford@linaro.org>
4197
4198 * recog.h (insn_operand_data): Add an "allows_mem" field.
4199 * genoutput.c (output_operand_data): Initialize it.
4200 * optabs.c (maybe_legitimize_operand_same_code): New function.
4201 (maybe_legitimize_operand): Use it when matching the original
4202 op->value.
4203
ad19c4be
EB
42042011-04-15 Eric Botcazou <ebotcazou@adacore.com>
4205
4206 * gimplify.c: Fix issues in comments throughout.
4207 (voidify_wrapper_expr): Fix long line.
4208 (build_stack_save_restore): Likewise.
4209 (gimplify_loop_expr): Likewise.
4210 (gimplify_compound_lval): Likewise.
4211 (gimplify_init_ctor_eval): Likewise.
4212 (gimplify_modify_expr_rhs): Likewise.
4213 (omp_notice_threadprivate_variable): Likewise.
4214
b25aa0e8 42152011-04-15 Eric Botcazou <ebotcazou@adacore.com>
e7925582 4216
b25aa0e8
EB
4217 * cfgexpand.c (expand_call_stmt): Convert the function type to the
4218 original one if this is not a builtin function.
e7925582 4219
09db7afe
JJ
42202011-04-14 Jakub Jelinek <jakub@redhat.com>
4221
4222 PR target/48605
4223 * config/i386/sse.md (sse4_1_insertps): If operands[2] is a MEM,
4224 offset it as needed based on top 2 bits in operands[3], change
4225 MEM mode to SFmode and mask those 2 bits away from operands[3].
4226
c59633d9
NP
42272011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4228
4229 * c-parser.c (c_parser_objc_protocol_definition): Updated for
4230 change from objc_declare_protocols() to objc_declare_protocol().
4231
5e60198b
UB
42322011-04-14 Uros Bizjak <ubizjak@gmail.com>
4233
4234 * config/i386/sse.md (sse4_1): New mode attribute.
4235 (<sse4_1>_blend<ssemodesuffix><avxmodesuffix>): Macroize from
4236 avx_blend<ssemodesuffix><avxmodesuffix> and
4237 sse4_1_blend<ssemodesuffix> using VF mode iterator.
4238 (<sse4_1>_blendv<ssemodesuffix><avxmodesuffix>): Macroize from
4239 avx_blendv<ssemodesuffix><avxmodesuffix> and
4240 sse4_1_blendv<ssemodesuffix> using VF mode iterator.
4241 (<sse4_1>_dp<ssemodesuffix><avxmodesuffix>): Macroize from
4242 avx_dp<ssemodesuffix><avxmodesuffix> and
4243 sse4_1_dp<ssemodesuffix> using VF mode iterator.
4244 (sse4_1_mpsadbw): Merge with *avx_mpsadbw.
4245 (sse4_1_packusdw): Merge with *avx_packusdw.
4246 (sse4_1_pblendvb): Merge with *avx_pblendvb.
4247 (sse4_1_pblendw): Merge with *avx_pblendw.
4248 (avx_vtest<ssemodesuffix><avxmodesuffix>): Use VF mode iterator.
4249 (<sse4_1>_round<ssemodesuffix><avxmodesuffix>): Macroize from
4250 avx_round<ssemodesuffix>256 and sse4_1_round<ssemodesuffix> using
4251 VF mode iterator.
4252 (sse4_1_round<ssescalarmodesuffix>): Merge with
4253 *avx_round<ssescalarmodesuffix>.
4254 (aesenc): Merge with *avx_aesenc.
4255 (aesenclast): Merge with *avx_aesenclast.
4256 (aesdec): Merge with *avx_aesdec.
4257 (aesdeclast): Merge with *avx_aesdeclast.
4258 (pclmulqdq): Merge with *pclmulqdq.
4259 * config/i386/predicates.md (reg_not_xmm0_operand_maybe_avx):
4260 New predicate.
4261 (nonimm_not_xmm0_operand_maybe_avx): Ditto.
4262
6f197850
L
42632011-04-14 H.J. Lu <hongjiu.lu@intel.com>
4264
4265 PR middle-end/48608
4266 * cfgexpand.c (get_decl_align_unit): Renamed to ...
4267 (align_local_variable): This. Update DECL_ALIGN.
4268 (add_stack_var): Updated.
4269 (expand_one_stack_var): Likewise.
4270
4a5ba3ed
RG
42712011-04-14 Richard Guenther <rguenther@suse.de>
4272
4273 * tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
4274 Remove.
4275 (dse_initialize_block_local_data, dse_leave_block,
4276 record_voperand_set, get_stmt_uid): Likewise.
4277 (dse_possible_dead_store_p): Allow any kind of killing stmt.
4278 (dse_optimize_stmt): Remove voperand set handling code.
4279 Simplify and improve to handle any kind of killing stmt.
4280 (dse_record_phi): Remove.
4281 (dse_enter_block): Simplify.
4282 (tree_ssa_dse): Likewise.
4283 * tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.
4284
10a5dd5d
JH
42852011-04-14 Jan Hubicka <jh@suse.cz>
4286
4287 * cgraph.c (dump_cgraph_node): Do not dump inline summaries.
4288 * cgraph.h (struct inline_summary): Move to ipa-inline.h
4289 (cgraph_local_info): Remove inline_summary.
4290 * ipa-cp.c: Include ipa-inline.h.
4291 (ipcp_cloning_candidate_p, ipcp_estimate_growth,
4292 ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
4293 accesor.
4294 * lto-cgraph.c (lto_output_node): Do not stream inline summary.
4295 (input_overwrite_node): Do not set inline summary.
4296 (input_node): Do not stream inline summary.
4297 * ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
4298 (cgraph_decide_inlining_incrementally): Do not try to estimate overall
4299 growth; we do not have inline parameters computed for that anyway.
4300 (cgraph_early_inlining): After inlining compute call_stmt_sizes.
4301 * ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
4302 (inline_summary_t): New type and VECtor.
4303 (debug_inline_summary, dump_inline_summaries): Declare.
4304 (inline_summary): Use VOCtor.
4305 (estimate_edge_growth): Kill hack computing call stmt size directly.
4306 * lto-section-in.c (lto_section_name): Add inline section.
4307 * ipa-inline-analysis.c: Include lto-streamer.h
4308 (node_removal_hook_holder, node_duplication_hook_holder): New holders
4309 (inline_node_removal_hook, inline_node_duplication_hook): New functions.
4310 (inline_summary_vec): Define.
4311 (inline_summary_alloc, dump_inline_summary, debug_inline_summary,
4312 dump_inline_summaries): New functions.
5e60198b
UB
4313 (estimate_function_body_sizes): Properly compute size/time of outgoing
4314 calls.
4315 (compute_inline_parameters): Alloc inline_summary; do not compute
4316 size/time of incomming calls.
10a5dd5d
JH
4317 (estimate_edge_time): Avoid missing time summary hack.
4318 (inline_read_summary): Read inline summary info.
4319 (inline_write_summary): Write inline summary info.
4320 (inline_free_summary): Free all hooks and inline summary vector.
4321 * lto-streamer.h: Add LTO_section_inline_summary section.
4322 * Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
4323 * ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.
4324
b602d918
RS
43252011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
4326
4327 * tree-vectorizer.h (vect_strided_store_supported): Add a
4328 HOST_WIDE_INT argument.
4329 (vect_strided_load_supported): Likewise.
4330 (vect_permute_store_chain): Return void.
4331 (vect_transform_strided_load): Likewise.
4332 (vect_permute_load_chain): Delete.
4333 * tree-vect-data-refs.c (vect_strided_store_supported): Take a
4334 count argument. Check that the count is a power of two.
4335 (vect_strided_load_supported): Likewise.
4336 (vect_permute_store_chain): Return void. Update after above changes.
4337 Assert that the access is supported.
4338 (vect_permute_load_chain): Likewise.
4339 (vect_transform_strided_load): Return void.
4340 * tree-vect-stmts.c (vectorizable_store): Update calls after
4341 above interface changes.
4342 (vectorizable_load): Likewise.
4343 (vect_analyze_stmt): Don't check for strided powers of two here.
4344
ab4472fa
RG
43452011-04-14 Richard Guenther <rguenther@suse.de>
4346
4347 PR tree-optimization/48590
4348 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
4349 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
4350 (call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
4351 BUILT_IN_STACK_SAVE.
4352 * tree-ssa-dce.c (propagate_necessity): Handle
4353 BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
4354
32dabdaf
NP
43552011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4356
4357 * c-parser.c (c_parser_objc_class_declaration): Updated call to
4358 objc_declare_class.
4359
daade206
RG
43602011-04-14 Richard Guenther <rguenther@suse.de>
4361
4362 * tree.h (get_object_alignment_1): Declare.
4363 * builtins.c (get_object_alignment_1): Split out worker from ...
4364 (get_object_alignment): ... here.
4365 * fold-const.c (get_pointer_modulus_and_residue): Use
4366 get_object_alignment_1.
4367
920e8172
RS
43682011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
4369
4370 * tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
4371 type parameter.
4372 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
4373 parameter. Generalise code to handle arrays as well as vectors.
4374 (vect_setup_realignment): Update accordingly.
4375 * tree-vect-stmts.c (vectorizable_store): Likewise.
4376 (vectorizable_load): Likewise.
4377
5ce1ee7f
RS
43782011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
4379
4380 * tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain
4381 within the per-copy loop.
4382
6438fe33 43832011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
0ea25ecd
RS
4384
4385 * tree-vect-stmts.c (vectorizable_load): Print the number of copies
4386 in the dump file.
4387
6438fe33 43882011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
77b10485
RS
4389
4390 * doc/options.texi (Negative): Explicitly mention that the
4391 Negative chain must be circular.
4392
61e46a7d
NF
43932011-04-14 Nathan Froyd <froydnj@codesourcery.com>
4394
4395 * function.h (block_chainon): Declare.
4396 * function.c (block_chainon): Define.
4397
43ea6502 43982011-04-14 Anatoly Sokolov <aesok@post.ru>
5e60198b 4399 Eric Weddington <eric.weddington@atmel.com>
748f7574 4400 Georg-Johann Lay <avr@gjlay.de>
5e60198b 4401
f60c2554 4402 * config/avr/avr.c ("insn-codes.h", "optabs.h", "langhooks.h"):
43ea6502
AS
4403 New Includes
4404 (avr_init_builtins, avr_expand_builtin,
4405 avr_expand_delay_cycles, avr_expand_unop_builtin,
4406 avr_expand_binop_builtin ): New functions.
4407 (avr_builtin_id): New enum
4408 (struct avr_builtin_description): New struct
4409 (bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins.
4410 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
5e60198b 4411
43ea6502 4412 * config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU,
5e60198b 4413 UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR,
43ea6502
AS
4414 UNSPECV_DELAY_CYCLES): new enumeration values
4415 (UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values
4416 ("enable_interrupt"): Use UNSPECV_ENABLE_IRQS
4417 ("disable_interrupt"): Use UNSPECV_ENABLE_IRQS
4418 ("*rotlqi3_4"): rename insn to "rotlqi3_4"
4419 ("delay_cycles_1", "delay_cycles_2", "delay_cycles_3",
4420 "delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls",
4421 "fmulsu"): New insns
5e60198b 4422
43ea6502
AS
4423 * config/avr/avr-c.c: fix line endings
4424 (avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP,
4425 __BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR,
4426 __BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP,
4427 __BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL,
4428 __BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU.
5e60198b 4429
43ea6502
AS
4430 * doc/extend.texi (AVR Built-in Functions): New node
4431 (Target Builtins): Add documentation of AVR
4432 built-in functions.
4433
8a9b55f3
GJL
44342011-04-14 Georg-Johann Lay <avr@gjlay.de>
4435
4436 PR target/44643
4437 * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
4438 alone. Error if non-const data has attribute progmem.
4439
94bd1825
NF
44402011-04-13 Nathan Froyd <froydnj@codesourcery.com>
4441
4442 * tree.h (struct tree_constructor): Include tree_typed instead of
4443 tree_common.
4444 * tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as
4445 TS_TYPED instead of TS_COMMON.
4446
5e60198b 44472011-04-13 Uros Bizjak <ubizjak@gmail.com>
81b1e7eb
UB
4448
4449 * config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
4450 (*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3.
4451 (sse2_psadbw): Merge with *avx_psadbw.
4452 (ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3.
4453 (ssse3_phadddv4si3): Merge with *avx_phadddv4si3.
4454 (ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3.
4455 (ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3.
4456 (ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3.
4457 (ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3.
4458 (ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128.
4459 (*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3.
4460 (ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3.
4461 (ssse3_psign<mode>3): Merge with *avx_psign<mode>3.
4462 (ssse3_palignrti): Merge with *avx_palignrti.
4463
4b1a4694
NF
44642011-04-13 Nathan Froyd <froydnj@codesourcery.com>
4465
4466 * tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
4467 * tree-ssanames.c (fini_ssanames): VEC_free it.
4468 (make_ssa_name_fn): Update for VECness of free_ssanames.
4469 (release_ssa_name, release_dead_ssa_names): Likewise.
4470 * tree.h (struct tree_ssa_name): Include tree_typed instead of
4471 tree_common.
4472 * tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
4473 TS_TYPED instead of TS_COMMON.
4474
4da3b811
NF
44752011-04-13 Nathan Froyd <froydnj@codesourcery.com>
4476
4477 * postreload-gcse.c (gcse_after_reload_main): Add calls to
4478 statistics_counter_event.
4479 * tree-ssa-copyrename.c (stats): Define.
4480 (rename_ssa_copies): Count coalesced SSA_NAMEs. Add call to
4481 statistics_counter_event.
4482 * tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
4483 (bswap_stats, widen_mul_stats): Define.
4484 (insert_reciprocals): Increment rdivs_inserted.
4485 (execute_cse_reciprocals): Zeroize reciprocal_stats. Increment
4486 rfuncs_inserted. Add calls to statistics_counter_event.
4487 (execute_cse_sincos_1): Increment inserted.
4488 (execute_cse_sincos): Zeroize sincos_stats. Add call to
4489 statistics_counter_event.
4490 (execute_optimize_bswap): Zeroize bswap_stats. Increment fields
4491 of bswap_stats. Add calls to statistics_counter_event.
4492 (convert_mult_to_widen): Increment widen_mults_inserted.
4493 (convert_plusminus_to_widen): Increment maccs_inserted.
4494 (convert_mult_to_fma): Increment fmas_inserted.
4495 (execute_optimize_widening_mul): Zeroize widen_mul_stats. Add
4496 calls to statistics_counter_event.
4497
89fa552a
VM
44982011-04-13 Vladimir Makarov <vmakarov@redhat.com>
4499
4500 PR rtl-optimization/48455
4501 * ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
4502 `temp_costs->mem_cost'.
4503
03dfc36d
JH
45042011-04-13 Jan Hubicka <jh@suse.cz>
4505
4506 * ipa-inline.h: New file.
4507 * ipa-inline-analysis.c: New file. Broken out of ...
4508 * ipa-inline.c: ... this file; update toplevel comment;
4509 include ipa-inline.h
4510 (inline_summary): Move to ipa-inline.h
4511 (cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
4512 ipa-inline-analysis.c.
7d4f8d02
EB
4513 (cgraph_estimate_time_after_inlining): Rename to
4514 estiamte_time_after_inlining; move to ipa-inline-analysis.c
03dfc36d
JH
4515 (cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
4516 to estimate_edge_growth.
4517 (cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
4518 rename to estimate_size_after_inlining.
4519 (cgraph_mark_inline_edge): Update for new naming convention.
4520 (cgraph_check_inline_limits): Likewise.
4521 (cgraph_edge_badness): Likewise.
4522 (cgraph_decide_recursive_inlining): Likewise.
4523 (cgraph_decide_inlining_of_small_functions): Likewise.
4524 (cgraph_decide_inlining_incrementally): Likewise.
7d4f8d02
EB
4525 (cgraph_estimate_growth): Rename to estimate_growth; move to
4526 ipa-inline-analysis.c.
03dfc36d
JH
4527 (eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
4528 (estimate_function_body_sizes): Move to ipa-inline-analysis.c.
4529 (compute_inline_parameters): Likewise.
4530 (compute_inline_parameters_for_current): Likewise.
4531 (pass_inline_parameters): Likewise.
4532 (inline_indirect_intraprocedural_analysis): Likewise.
4533 (analyze_function): Rename to inline_analyze_function; likewise.
4534 (add_new_function): Move to ipa-inline-analysis.c.
4535 (inline_generate_summary): Likewise.
4536 (inline_read_summary): Likewise.
4537 (inline_write_summary): Likewise.
4538 * Makefile.in (ipa-inline-analysis.c): New file.
4539
7673c962
RO
45402011-04-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4541
4542 * configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
4543 * configure: Regenerate.
4544
9698252f
NF
45452011-04-13 Nathan Froyd <froydnj@codesourcery.com>
4546
4547 * tree.h (struct tree_int_cst, struct real_value): Include tree_typed
4548 instead of tree_common.
4549 (struct tree_fixed_cst, struct tree_string, struct tree_complex):
4550 Likewise.
4551 * tree.c (initialize_tree_contains_struct): Mark such nodes as being
4552 TS_TYPED rather than TS_COMMON.
4553 * print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.
4554
3a7bfdd5
GJL
45552011-04-01 Georg-Johann Lay <avr@gjlay.de>
4556
4557 PR target/45263
86d83530
GJL
4558 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Don't use
4559 r20 around calls of __tablejump_elpm__
3a7bfdd5 4560
20790697
JJ
45612011-04-13 Jakub Jelinek <jakub@redhat.com>
4562
4563 PR middle-end/48591
4564 * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
4565 NULL.
4566 (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
4567
094d7661
BS
45682011-04-13 Bernd Schmidt <bernds@codesourcery.com>
4569
4570 * dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
4571 (dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
4572 (cfi_vec): New typedef.
4573 (struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
4574 dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
4575 (cie_cfi_vec): New static variable.
4576 (cie_cfi_head): Delete.
4577 (add_cfi): Accept a cfi_vec * as first argument. All callers and
4578 declaration changed. Use vector rather than list operations.
4579 (new_cfi): Don't initialize the dw_cfi_next field.
4580 (add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
4581 rather than list operations.
4582 (lookup_cfa): Use vector rather than list operations.
4583 (output_cfis): New argument upto. Accept a cfi_vec rather than
4584 a dw_cfi_ref list head as argument. All callers changed.
4585 Iterate over the vector using upto as a maximum index.
4586 (output_all_cfis): New static function.
4587 (output_fde): Use vector rather than list operations. Use the
4588 new upto argument for output_cfis rather than manipulating a
4589 list.
4590 (dwarf2out_begin_prologue): Change initializations to match
4591 new struct members.
4592 (dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
4593 from the vector length rather than searching for the end of a list.
4594 Use output_all_cfis.
4595 (convert_cfa_to_fb_loc_list): Use vector rather than list operations.
4596
673a5740
NC
45972011-04-13 Nick Clifton <nickc@redhat.com>
4598
4599 * config/rx/rx.md (movmemsi): Do not use this pattern when
4600 volatile pointers are involved.
4601
1ee8b298
UB
46022011-04-13 Uros Bizjak <ubizjak@gmail.com>
4603
4604 * config/i386/sse.md (pinsrbits): Remove.
4605 (sse2_packsswb): Merge with *avx_packsswb.
4606 (sse2_packssdw): Merge with *avx_packssdw.
4607 (sse2_packuswb): Merge with *avx_packuswb.
4608 (vec_interleave_highv16qi): Merge with *avx_interleave_highv16qi.
4609 (vec_interleave_lowv16qi): Merge with *avx_interleave_lowv16qi.
4610 (vec_interleave_highv8hi): Merge with *avx_interleave_highv8hi.
4611 (vec_interleave_lowv8hi): Merge with *avx_interleave_lowv8hi.
4612 (vec_interleave_highv4si): Merge with *avx_interleave_highv4si.
4613 (vec_interleave_lowv4si): Merge with *avx_interleave_lowv4si.
4614 (*sse4_1_pinsrb): Merge with *avx_pinsr<ssevecsize>.
4615 (*sse2_pinsrw): Merge with *avx_pinsr<ssevecsize>.
4616 (*sse4_1_pinsrd): Merge with *avx_pinsr<ssevecsize>.
4617 (*sse4_1_pinsrq): Merge with *avx_pinsrq.
4618 (sse2_loadld): Merge with *avx_loadld.
4619 (*vec_extractv2di_1_rex64): Merge with *vec_extractv2di_1_rex64_avx.
4620 (*vec_extractv2di_1_sse2): Merge with *vec_extractv2di_1_avx.
4621 (*vec_concatv2si_sse4_1): Merge with *vec_concatv2si_avx.
4622 (*vec_concatv2di_rex64_sse4_1): Merge with *vec_concatv2di_rex64_avx.
4623 (vec_concatv2di): Merge with *vec_concatv2di_avx.
4624
81f653d6
NF
46252011-04-12 Nathan Froyd <froydnj@codesourcery.com>
4626
4627 * c-decl.c (union lang_tree_node): Check for TS_COMMON before
4628 calling TREE_CHAIN.
4629 * print-tree.c (print_node): Likewise.
4630 * tree-inline.c (copy_tree_r): Likewise.
4631 * c-lang.c (LANG_HOOKS_INIT_TS): Define.
4632 * lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
4633 instead of TS_COMMON.
4634 * lto-streamer-out.c (lto_output_tree_pointers): Likewise.
4635 * tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
4636 (copy_node_stat): Zero TREE_CHAIN only if necessary.
4637 (MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
4638 (MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
4639 ...and these...
4640 (MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
4641 * tree.h: ...here.
4642 (TREE_CHAIN): Check for a TS_COMMON structure.
4643 (TREE_TYPE): Check for a TS_TYPED structure.
4644
748f7574 46452011-04-12 Pat Haugen <pthaugen@us.ibm.com>
ed940a4a
PH
4646
4647 * config/rs6000/rs6000.c (call_ABI_of_interest): Call
4648 cgraph_get_create_node instead of cgraph_node.
4649
eb345401
NP
46502011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
4651
4652 * c-parser.c (c_parser_initelt): Updated call to
4653 objc_build_message_expr.
4654 (c_parser_postfix_expression): Likewise.
4655
a6c46762
KT
46562011-04-12 Kai Tietz <ktietz@redhat.com>
4657
4658 * config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add
4659 MASK_MS_BITFIELD_LAYOUT bit.
4660
b4ccfed9
JJ
46612011-04-12 Jakub Jelinek <jakub@redhat.com>
4662
4663 * combine.c (update_cfg_for_uncondjump): Instead of testing at_end
4664 assert it is always true.
4665 (try_combine): Don't call update_cfg_for_uncondjump for noop non-jump
4666 moves.
4667
0d8a2528
NP
46682011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
4669
4670 * c-parser.c (c_lex_one_token): Rewritten conditional used when
4671 compiling Objective-C to be more efficient.
4672
06bd234a
AF
46732011-04-12 Axel Freyn <axel-freyn@gmx.de>
4674
4675 * opts-common.c (decode_cmdline_options_to_array): Remove variable
4676 argv_copied.
4677
28569ac3
RS
46782011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
4679
4680 * recog.h, genoutput.c, optabs.c: Revert last patch.
4681
ae59e00d
RR
46822011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
4683
81b1e7eb
UB
4684 PR target/48090
4685 * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
ae59e00d 4686
cff1b7e0
RS
46872011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
4688
4689 * recog.h (insn_operand_data): Add an "allows_mem" field.
4690 * genoutput.c (output_operand_data): Initialize it.
4691 * optabs.c (maybe_legitimize_operand_same_code): New function.
4692 (maybe_legitimize_operand): Use it when matching the original
4693 op->value.
4694
77059241
RS
46952011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
4696
4697 * genpreds.c (process_define_predicate): Move most processing
4698 to gensupport.c. Continue to validate the expression.
4699 * genrecog.c (did_you_mean_codes, compute_predicate_codes)
4700 (process_define_predicate): Move processing to gensupport.c.
4701 (main): Remove DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE cases.
4702 * gensupport.c (did_you_mean_codes): Moved from genrecog.c.
4703 (compute_predicate_codes): Moved from genrecog.c. Add lineno
4704 argument.
4705 (valid_predicate_name_p): New function, split out from old
4706 genpreds.c:process_define_predicate.
4707 (process_define_predicate): New function, combining code from
4708 old genpreds.c and genrecog.c functions.
4709 (process_rtx): Call it for DEFINE_PREDICATE and
4710 DEFINE_SPECIAL_PREDICATE.
4711
6308e208
RS
47122011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
4713
4714 * config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
4715 size of a '%A' memory reference.
4716 (T_DREG, T_QREG): New neon_builtin_type_bits.
4717 (arm_init_neon_builtins): Assert that the load and store operands
4718 are neon_struct_operands.
4719 (locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
4720 (NEON_ARG_MEMORY): New builtin_arg.
4721 (neon_dereference_pointer): New function.
4722 (arm_expand_neon_args): Add a neon_builtin_type_bits argument.
4723 Handle NEON_ARG_MEMORY.
4724 (arm_expand_neon_builtin): Update after above interface changes.
4725 Use NEON_ARG_MEMORY for loads and stores.
4726 * config/arm/predicates.md (neon_struct_operand): New predicate.
4727 * config/arm/iterators.md (V_two_elem): Tweak formatting.
4728 (V_three_elem): Use BLKmode for accesses that have no associated mode.
4729 (V_four_elem): Tweak formatting.
4730 * config/arm/neon.md (neon_vld1<mode>, neon_vld1_dup<mode>)
4731 (neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
4732 (neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
4733 (neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
4734 (neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
4735 (neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
4736 (neon_vst4<mode>): Replace pointer operand with a memory operand.
4737 Use %A in the output template.
4738 (neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
4739 (neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
4740 (neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
4741 the width of the memory access. Remove post-increment.
4742 * config/arm/neon-testgen.ml: Allow addresses to have an alignment.
4743
e5db8f2f
NC
47442011-04-12 Nick Clifton <nickc@redhat.com>
4745
4746 * config/v850/v850.c (expand_prologue): Do not use the CALLT
4747 instruction for interrupt handlers if the target is the basic V850
4748 architecture.
4749 (expand_epilogue): Likewise.
4750
74f091d6
JJ
47512011-04-12 Jakub Jelinek <jakub@redhat.com>
4752
4753 PR rtl-optimization/48549
4754 * combine.c (propagate_for_debug): Also stop after BB_END of
4755 this_basic_block. Process LAST and just stop processing after it.
4756 (combine_instructions): If last_combined_insn has been deleted,
4757 set last_combined_insn to its PREV_INSN.
4758
f20ca725
RG
47592011-04-12 Richard Guenther <rguenther@suse.de>
4760
4761 PR tree-optimization/46076
4762 * gimple.h (struct gimple_statement_call): Add fntype field.
4763 (gimple_call_fntype): Adjust.
4764 (gimple_call_set_fntype): New function.
4765 * gimple.c (gimple_build_call_1): Set the call function type.
4766 * gimplify.c (gimplify_call_expr): Preserve the function
4767 type the frontend used for the call.
4768 (gimplify_modify_expr): Likewise.
4769 * lto-streamer-in.c (input_gimple_stmt): Input the call stmts
4770 function type.
4771 * lto-streamer-out.c (output_gimple_stmt): Output the call stmts
4772 function type.
4773 * tree-ssa.c (useless_type_conversion_p): Function pointer
4774 conversions are useless.
4775
a358e188
MJ
47762011-04-12 Martin Jambor <mjambor@suse.cz>
4777
4778 * cgraph.h (cgraph_node): Remove function declaration.
4779 (cgraph_create_node): Declare.
4780 (cgraph_get_create_node): Likewise.
4781 * cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1.
4782 Updated all callers.
4783 (cgraph_node): Renamed to cgraph_create_node, assert that a node for
4784 the decl does not already exist. Call cgraph_get_create_node instead
4785 of cgraph_node.
4786 (cgraph_get_create_node): New function.
4787 (cgraph_same_body_alias): Update comment.
4788 (cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node,
4789 assert it does not return NULL.
4790 (cgraph_update_edges_for_call_stmt): Likewise.
4791 (cgraph_clone_edge): Likewise.
4792 (cgraph_create_virtual_clone): Likewise.
4793 (cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node
4794 instead of cgraph_node.
4795 (cgraph_add_new_function): Call cgraph_create_node or
4796 cgraph_get_create_node instead of cgraph_node.
4797 * cgraphbuild.c (record_reference): Call cgraph_get_create_node
4798 instead of cgraph_node.
4799 (record_eh_tables): Likewise.
4800 (mark_address): Likewise.
4801 (mark_load): Likewise.
4802 (build_cgraph_edges): Call cgraph_get_create_node instead
4803 of cgraph_node.
4804 (rebuild_cgraph_edges): Likewise.
4805 * cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node
4806 instead of cgraph_node.
4807 (cgraph_copy_node_for_versioning): Call cgraph_create_node instead of
4808 cgraph_node.
4809 * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call
4810 cgraph_create_node instead of cgraph_node.
4811 * c-decl.c (finish_function): Call cgraph_get_create_node instead
4812 of cgraph_node.
4813 * lto-cgraph.c (input_node): Likewise.
4814 * lto-streamer-in.c (input_function): Likewise.
4815 * varasm.c (mark_decl_referenced): Likewise.
4816 (assemble_alias): Likewise.
4817
fe660d7b
MJ
48182011-04-12 Martin Jambor <mjambor@suse.cz>
4819
4820 * tree-inline.c (tree_function_versioning): Call cgraph_get_node
4821 instead of cgraph_node and assert it does not return NULL.
4822 * lto-streamer-in.c (lto_read_body): Likewise.
4823 * omp-low.c (new_omp_context): Likewise.
4824 (create_task_copyfn): Likewise.
4825 * tree-emutls.c (lower_emutls_function_body): Likewise.
4826 * matrix-reorg.c (transform_allocation_sites): Likewise.
4827
bae5cddf
JJ
48282011-04-12 Jakub Jelinek <jakub@redhat.com>
4829
4830 PR c/48552
4831 * c-typeck.c (build_asm_expr): Error out on attempts to use
4832 void type outputs or inputs for constraints that allow reg or
4833 don't allow memory.
4834
06eb52ca
CLT
48352011-04-11 Chung-Lin Tang <cltang@codesourcery.com>
4836 Richard Earnshaw <rearnsha@arm.com>
4837
4838 PR target/48250
4839 * config/arm/arm.c (arm_legitimize_reload_address): Update cases
4840 to use sign-magnitude offsets. Reject unsupported unaligned
4841 cases. Add detailed description in comments.
4842 * config/arm/arm.md (reload_outdf): Disable for ARM mode; change
4843 condition from TARGET_32BIT to TARGET_ARM.
4844
648a616b
NF
48452011-04-11 Nathan Froyd <froydnj@codesourcery.com>
4846
4847 * tree.h (struct typed_tree): New.
4848 (struct tree_common): Include it instead of tree_base.
4849 (TREE_TYPE): Update for new location of type field.
4850 (TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly.
4851 (DECL_USER_ALIGN, DECL_PACKED): Likewise.
4852 (union tree_node): Add typed field.
4853 * treestruct.def (TS_TYPED): New.
4854 * lto-streamer.c (check_handled_ts_structures): Handle it.
4855 * tree.c (MARK_TS_TYPED): New macro.
4856 (MARK_TS_COMMON): Call it instead of MARK_TS_BASE.
4857
1e6d1da0
EB
48582011-04-11 Eric Botcazou <ebotcazou@adacore.com>
4859
4860 * cfghooks.c (redirect_edge_and_branch_force): Localize variable.
4861 (force_nonfallthru): Do not alter the loop nest if no basic block
4862 was created.
4863
48642011-04-11 Uros Bizjak <ubizjak@gmail.com>
d8700b1c
UB
4865
4866 * config/i386/sse.md (VI): New mode iterator.
4867 (SSEMODEI): Remove.
4868 (AVX256MODEI): Ditto.
4869 (AVXMODEF4P): Ditto.
4870 (avxvecpsmode): Ditto.
4871 (one_cmpl<mode>2): Enable for TARGET_SSE. Use VI mode iterator.
4872 (sse2_andnot<mode>3): New expander.
4873 (*andnot<mode>3): Merge with *sse2_andnot<mode>3 and
4874 *avx_andnot<mode>3. Enable for TARGET_SSE. Use VI mode iterator.
4875 (<any_logic:code><mode>3): Use VI mode iterator.
4876 (*<any_logic:code><mode>3): Merge with *sse2_<any_logic:code><mode>3
4877 and *avx_<any_logic:code><mode>3. Use VI mode iterator.
4878 (*andnottf3): Handle AVX three-operand constraints.
4879 (*<any_logic:code>tf3): Handle AVX three-operand constraints.
4880
b1372d5d 48812011-04-11 Joseph Myers <joseph@codesourcery.com>
d8700b1c 4882 Robert Millan <rmh@gnu.org>
b1372d5d
JM
4883
4884 * config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
4885 * config/i386/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER32,
4886 GNU_USER_DYNAMIC_LINKER64): Define.
4887 (REG_NAME): Don't undefine.
4888 (MD_UNWIND_SUPPORT): Undefine.
4889 * config/i386/knetbsd-gnu.h (GNU_USER_LINK_EMULATION): Define.
4890 (REG_NAME): Don't undefine.
4891 (MD_UNWIND_SUPPORT): Undefine.
d8700b1c 4892 * config/i386/kopensolaris-gnu.h (GNU_USER_LINK_EMULATION): Define.
b1372d5d 4893
761c0c6e
JM
48942011-04-11 Joseph Myers <joseph@codesourcery.com>
4895
4896 * config/i386/gnu.h (GNU_USER_LINK_EMULATION): Define.
4897 (CPP_SPEC, CC1_SPEC, ENDFILE_SPEC): Remove.
4898
26e0228f
XDL
48992011-04-11 Xinliang David Li <davidxl@google.com>
4900
4901 * value-profile.c (check_ic_target): New function.
4902 (gimple_ic_transform): Sanity check indirect call target.
4903 * gimple-low.c (gimple_check_call_args): Interface change.
4904 (gimple_check_call_matching_types): New function.
4905 * tree-inline.c (tree_can_inline_p): Call new function.
6075765d
BS
4906
49072011-04-11 Basile Starynkevitch <basile@starynkevitch.net>
4908
4909 * Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h
4910 tree-pretty-print.h & realmpfr.h.
4911
a58dfa49
VM
49122011-04-11 Vladimir Makarov <vmakarov@redhat.com>
4913
4914 PR middle-end/48464
4915 * ira.c (setup_pressure_classes): Fix typo in loop condition.
4916 (setup_allocno_and_important_classes): Ditto.
4917
107fd1c1
JM
49182011-04-11 Joseph Myers <joseph@codesourcery.com>
4919
4920 * config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
4921 GNU_USER_DYNAMIC_LINKER.
4922 * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
4923 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4924 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
4925 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
4926 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
4927 GNU_USER_TARGET_OS_CPP_BUILTINS.
4928 * config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
4929 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4930 * config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
4931 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4932 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
4933 LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
4934 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
4935 GNU_USER_TARGET_OS_CPP_BUILTINS.
4936 * config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
4937 GNU_USER_DYNAMIC_LINKER.
4938 * config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
4939 GNU_USER_TARGET_OS_CPP_BUILTINS.
4940 * config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
4941 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4942 * config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
4943 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4944 * config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
4945 * config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
4946 GNU_USER_DYNAMIC_LINKER64): Remove.
4947 * config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
4948 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4949 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
4950 GNU_USER_DYNAMIC_LINKER.
4951 * config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
4952 GNU_USER_TARGET_OS_CPP_BUILTINS.
4953 * config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
4954 GNU_USER_TARGET_OS_CPP_BUILTINS.
4955 * config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
4956 to GNU_USER_TARGET_OS_CPP_BUILTINS.
4957 * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
4958 GNU_USER_TARGET_OS_CPP_BUILTINS.
4959 (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
4960 (LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
4961 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
4962 * config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
4963 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4964 * config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
4965 GNU_USER_DYNAMIC_LINKER.
4966 (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
4967 GNU_USER_TARGET_OS_CPP_BUILTINS.
4968 * config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
4969 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4970 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
4971 GNU_USER_DYNAMIC_LINKER.
4972 * config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
4973 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4974 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
4975 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4976 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
4977 GNU_USER_DYNAMIC_LINKER.
4978 * config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
4979 GNU_USER_DYNAMIC_LINKERN32.
4980 (LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
4981 GNU_USER_DYNAMIC_LINKERN32. Change LINUX_DYNAMIC_LINKER64 to
4982 GNU_USER_DYNAMIC_LINKER64. Change LINUX_DYNAMIC_LINKER32 to
4983 GNU_USER_DYNAMIC_LINKER32.
4984 * config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change
4985 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4986 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
4987 GNU_USER_DYNAMIC_LINKER.
4988 * config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
4989 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
4990 * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
4991 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 4992 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1
JM
4993 * config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
4994 GNU_USER_DYNAMIC_LINKER32.
4995 (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
4996 * config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
4997 GNU_USER_DYNAMIC_LINKER.
4998 * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
4999 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
5000 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
5001 GNU_USER_DYNAMIC_LINKER32. Change LINUX_DYNAMIC_LINKER64 to
5002 GNU_USER_DYNAMIC_LINKER64.
5003 * config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
5004 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
5005 (SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
5006 GNU_USER_DYNAMIC_LINKER.
5007 * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
5008 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
5009 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
5010 GNU_USER_DYNAMIC_LINKER.
5011 * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
5012 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
5013 (LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
5014 GNU_USER_DYNAMIC_LINKER32.
5015 (LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
5016 GNU_USER_DYNAMIC_LINKER64.
5017 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
5018 GNU_USER_DYNAMIC_LINKER64.
5019 * config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
5020 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
5021 * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
5022 LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
d8700b1c 5023 (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
107fd1c1 5024
e24609cf
JM
50252011-04-11 Joseph Myers <joseph@codesourcery.com>
5026
5027 * config/i386/gnu-user.h: Copy from linux.h. Update comments.
5028 (LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
5029 (SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
5030 GNU_USER_DYNAMIC_LINKER.
5031 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
5032 * config/i386/gnu-user64.h: Copy from linux64.h. Update comments.
5033 (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
5034 (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
5035 GNU_USER_DYNAMIC_LINKER64.
5036 (MD_UNWIND_SUPPORT, REG_NAME): Remove.
5037 * config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
5038 GNU_USER_LINK_EMULATION.
5039 * config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
5040 DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
5041 ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
5042 MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
5043 PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
5044 CPP_SPEC, CC1_SPEC): Remove.
5045 (LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
5046 (GNU_USER_DYNAMIC_LINKER): Define.
5047 (ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
5048 ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
5049 ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
5050 LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
5051 TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
5052 STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
5053 TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
5054 * config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
5055 CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
5056 TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
5057 LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
5058 LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
5059 (GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
5060 (STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
5061 TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
5062 TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
5063 * config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
5064 GNU_USER_DYNAMIC_LINKER.
5065 * config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
5066 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
5067 * config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
5068 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
5069 * config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
5070 GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
5071 * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
5072 i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
5073 i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
d8700b1c 5074 x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new headers.
e24609cf 5075
b8ce4e94
KT
50762011-04-11 Kai Tietz <ktietz@redhat.com>
5077
5078 PR target/9601
5079 PR target/11772
5080 * config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
5081 * config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
5082 comment.
5083 (ix86_is_msabi_thiscall): Removed.
5084 (ix86_is_type_thiscall): Likewise.
5085 (ix86_get_callcvt): New function.
5086 (ix86_comp_type_attributes): Simplify check.
5087 (ix86_function_regparm): Use ix86_get_callcvt for calling
5088 convention attribute checks.
5089 (ix86_return_pops_args): Likewise.
5090 (ix86_static_chain): Likewise.
5091 (x86_this_parameter): Likewise.
5092 (x86_output_mi_thunk): Likewise.
5093 (ix86_function_type_abi): Optimize check for types without attributes.
5094 * config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
5095 IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
5096 IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
5097 by flag-values.
5098 (IX86_BASE_CALLCVT): Helper macro.
5099 * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
5100 Use ix86_get_callcvt for calling convention attribute checks and avoid
5101 symbol-decoration for stdcall in TARGET_RTD case.
5102 * config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
5103 Likewise.
5104 (gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
5105 for declaration.
5106
798dd0ba
UB
51072011-04-11 Uros Bizjak <ubizjak@gmail.com>
5108
5109 * config/i386/sse.md (VI_128): New mode iterator.
5110 (VI12_128): Rename from SSEMODE12.
5111 (VI14_128): Rename from SSEMODE14.
5112 (VI124_128): New mode iterator.
5113 (VI24_128): Rename from SSEMODE248.
5114 (VI248_128): Rename from SSEMODE248.
5115 (SSEMODE124C8): Remove.
5116 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
5117 (*sse2_<plusminus_insn><mode>3): Merge with
5118 *avx_<plusminus_insn><mode>3.
5119 (*mulv8hi3): Merge with *avx_mulv8hi3.
5120 (*<s>mulv8hi3_highpart): Merge with *avx_<s>mulv8hi3_highpart.
5121 (*sse2_umulv2siv2di3): Merge with *avx_umulv2siv2di3.
5122 (*sse2_pmaddwd): Merge with *avx_pmaddwd.
5123 (*sse4_1_mulv4si3): Merge with *avx_mulv4si3.
5124 (ashr<mode>3): Merge with *avx_ashr<mode>3.
5125 (lshr<mode>3): Merge with *avx_lshr<mode>3.
5126 (ashl<mode>3): Merge with *avx_ashl<mode>3.
5127 (sse2_ashlv1ti3): Merge with *avx_ashlv1ti3.
5128 (sse2_lshrv1ti3): Merge with *avx_lshrv1ti3.
5129 (*sse4_1_<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
5130 (*<smaxmin:code>v8hi3): Ditto.
5131 (*sse4_1_<umaxmin:code><mode>3): Merge with *avx_<umaxmin:code><mode>3.
5132 (*<smaxmin:code>v16qi3): Ditto.
5133 (*sse4_1_eqv2di3): Merge with *avx_eq<mode>3.
5134 (*sse2_eq<mode>3): Ditto.
5135 (*sse4_2_eqv2di3): Merge with *avx_gt<mode>3.
5136 (*sse2_gt<mode>3): Ditto.
5137 (vcondv2di): Split out of vcond<mode>.
5138 (vconduv2di): Split out of vcondu<mode>.
5139
956011be
RG
51402011-04-11 Richard Guenther <rguenther@suse.de>
5141
5142 * gimplify.c (gimple_fold_indirect_ref): Check host_integerp
5143 before calling tree_low_cst.
5144
e6313a78
RG
51452011-04-11 Richard Guenther <rguenther@suse.de>
5146
5147 * stor-layout.c (layout_type): Compute all array index size operations
5148 in the original type.
5149 (initialize_sizetypes): Add comment.
5150 (set_sizetype): Do not set TREE_TYPE of a TREE_VEC.
5151
e69d7376
JM
51522011-04-11 Joseph Myers <joseph@codesourcery.com>
5153
5154 * common.opt (Tbss=, Tdata=, Ttext=): New options.
5155
9f9ebcdf
MJ
51562011-04-11 Martin Jambor <mjambor@suse.cz>
5157
5158 * cgraph.c (cgraph_local_info): Call cgraph_get_node instead
5159 of cgraph_node, handle NULL return value.
5160 (cgraph_global_info): Likewise.
5161 (cgraph_rtl_info): Likewise.
5162 * tree-inline.c (estimate_num_insns): Likewise.
5163 * gimplify.c (unshare_body): Likewise.
5164 (unvisit_body): Likewise.
5165 (gimplify_body): Likewise.
5166 * predict.c (optimize_function_for_size_p): Likewise.
5167 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
5168 (call_may_clobber_ref_p_1): Likewise.
5169 * varasm.c (function_section_1): Likewise.
5170 (assemble_start_function): Likewise.
5171
581985d7
MJ
51722011-04-11 Martin Jambor <mjambor@suse.cz>
5173
5174 * except.c (set_nothrow_function_flags): Call cgraph_get_node instead
5175 of cgraph_node.
5176 * final.c (rest_of_clean_state): Likewise.
5177 * gimple-iterator.c (update_call_edge_frequencies): Likewise.
5178 * passes.c (pass_init_dump_file): Likewise.
5179 (execute_all_ipa_transforms): Likewise.
5180 (function_called_by_processed_nodes_p): Likewise.
5181 * predict.c (maybe_hot_frequency_p): Likewise.
5182 (probably_never_executed_bb_p): Likewise.
5183 (compute_function_frequency): Likewise.
5184 * tree-nested.c (check_for_nested_with_variably_modified): Likewise.
5185 (unnest_nesting_tree_1): Likewise.
5186 (lower_nested_functions): Likewise.
5187 * tree-optimize.c (execute_fixup_cfg): Likewise.
5188 (tree_rest_of_compilation): Likewise.
5189 * tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
5190 * tree-sra.c (ipa_early_sra): Likewise.
5191 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
5192 * config/i386/i386.c (ix86_compute_frame_layout): Likewise.
5193 * ipa.c (record_cdtor_fn): Likewise.
5194 * ipa-inline.c (cgraph_early_inlining): Likewise.
5195 (compute_inline_parameters_for_current): Likewise.
5196 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
5197 * ipa-pure-const.c (local_pure_const): Likewise.
5198 * ipa-split.c (split_function): Likewise.
5199 (execute_split_functions): Likewise.
5200 * cgraphbuild.c (build_cgraph_edges): Likewise.
5201 (rebuild_cgraph_edges): Likewise.
5202 (cgraph_rebuild_references): Likewise.
5203 (remove_cgraph_callee_edges): Likewise.
5204 * cgraphunit.c (cgraph_mark_if_needed): Likewise.
5205 (verify_cgraph_node): Likewise.
5206 (cgraph_analyze_functions): Likewise.
5207 (cgraph_preserve_function_body_p): Likewise.
5208 (save_inline_function_body): Likewise.
5209 (save_inline_function_body): Likewise.
5210 * tree-inline.c (copy_bb): Likewise.
5211 (optimize_inline_calls): Likewise.
5212
57dbdc5a
MJ
52132011-04-11 Martin Jambor <mjambor@suse.cz>
5214
5215 PR tree-optimization/48195
5216 * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
5217 ipa_check_create_edge_args.
5218 (ipcp_generate_summary): Do not call ipa_check_create_node_params and
5219 ipa_check_create_edge_args.
5220 * ipa-inline.c (inline_generate_summary): Do not call
5221 ipa_check_create_node_params and ipa_check_create_edge_args.
5222 * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
5223 ipa_check_create_edge_args.
5224
d108e679
AS
52252011-04-09 Anatoly Sokolov <aesok@post.ru>
5226
5227 * expr.c (expand_expr_real_1): Use add_to_hard_reg_set function
5228 instead of loop.
5229 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
5230 * function.c (record_hard_reg_sets): Likewise.
5231 * ira.c (compute_regs_asm_clobbered): Likewise.
5232 * sched-deps.c (sched_analyze_1): Likewise.
5233 * reload1.c (mark_reload_reg_in_use, choose_reload_regs): Likewise.
5234
3411bc59
XDL
52352011-04-09 Xinliang David Li <davidxl@google.com>
5236
5237 PR tree-optimization/PR48484
5238 * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): Set
5239 has_valid_pred lazily
5240
b365495a
DS
52412011-04-09 Duncan Sands <baldrick@free.fr>
5242
5243 * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
5244
68bc509a
EB
52452011-04-08 Eric Botcazou <ebotcazou@adacore.com>
5246
5247 * combine.c (combine_validate_cost): Adjust comments. Set registered
5248 cost of I0 to zero at the end, if any.
5249
041e059f
XDL
52502011-04-08 Xinliang David Li <davidxl@google.com>
5251
68bc509a
EB
5252 * ipa-cp.c (ipcp_update_profiling): Correct negative scale factor due
5253 to insane profile data.
041e059f 5254
444b3995
XDL
52552011-04-08 Xinliang David Li <davidxl@google.com>
5256
5257 * ipa-cp.c (ipcp_update_profiling): Correct
5258 negative scale factor due to insane profile data.
5259
6a801cf2
XDL
52602011-04-08 Xinliang David Li <davidxl@google.com>
5261
5262 * final.c (dump_basic_block_info): New function.
5263 (final): Dump basic block.
5264 (final_scan_insn): Remove old dump.
5265
d5f3624e
SK
52662011-04-08 Steven G. Kargl <kargl@gcc.gnu.org>
5267
68bc509a
EB
5268 PR target/47829
5269 * config.gcc (i386-*-freebsd): Disable unwind table generation for
5270 crtbegin/crtend.
d5f3624e 5271
42821aff
MM
52722011-04-08 Michael Matz <matz@suse.de>
5273
5274 PR middle-end/48389
5275 * jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
5276 functions.
5277 (rebuild_jump_labels): Call rebuild_jump_labels_1.
5278 * rtl.h (rebuild_jump_labels_chain): Declare.
5279 * cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
5280 insns inserted on edges.
5281
ad7be009
JM
52822011-04-08 Joseph Myers <joseph@codesourcery.com>
5283
5284 * config.gcc (arm*-*-*): Add arm/arm-tables.opt to extra_options.
5285 * config/arm/arm-arches.def: New.
5286 * config/arm/arm-opts.h: New.
5287 * config/arm/genopt.sh: New.
5288 * config/arm/arm-tables.opt: New (generated).
5289 * config/arm/arm.c (arm_handle_option, arm_target_help,
5290 TARGET_HANDLE_OPTION, TARGET_HELP, arm_find_cpu): Remove.
5291 (all_architectures): Get most table contents from arm-arches.def.
5292 (arm_option_override): Set arm_selected_arch, arm_selected_cpu and
5293 arm_selected_tune here.
5294 * config/arm/arm.h (enum processor_type): Move to arm-opts.h.
5295 * config/arm/arm.opt (config/arm/arm-opts.h): New HeaderInclude.
5296 (march=, mcpu=, mtune=): Use Enum and Var.
5297 * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt): New.
5298 (arm.o): Update dependencies.
ecbb6fb7 5299
42821aff 53002011-04-08 Basile Starynkevitch <basile@starynkevitch.net>
ecbb6fb7
BS
5301
5302 * gengtype.c (write_typed_alloc_def): New argument f. Use it instead
5303 of header_file.
5304 (write_typed_struct_alloc_def, write_typed_typedef_alloc_def)
5305 (write_typed_alloc_defns): Likewise.
5306 (main): Calls write_typed_alloc_defns with output_header.
5307
8d189b3f
VM
53082011-04-08 Vladimir Makarov <vmakarov@redhat.com>
5309
68bc509a 5310 PR inline-asm/48435
8d189b3f
VM
5311 * ira-color.c (setup_profitable_hard_regs): Add comments.
5312 Don't take prohibited hard regs into account.
5313 (setup_conflict_profitable_regs): Rename to
5314 get_conflict_profitable_regs.
5315 (check_hard_reg_p): Check prohibited hard regs.
5316
44f370bf
NF
53172011-04-08 Nathan Froyd <froydnj@codesourcery.com>
5318
5319 * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
5320 * config/xtensa/xtensa.c (xtensa_call_tls_desc): Likewise.
5321 * config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise.
5322
483d7ad3
JDA
53232011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5324
5325 PR target/48366
5326 * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
b8a17fa2 5327 move from floating point to shift amount register.
483d7ad3
JDA
5328 (emit_move_sequence): Remove secondary reload support for floating
5329 point to shift amount amount register copies.
5330 (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
5331 amount register copies.
5332 * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
5333 register, return false if mode isn't a scalar integer mode.
5334 * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
5335
97e03fa1
RG
53362011-04-08 Richard Guenther <rguenther@suse.de>
5337
5338 * gimple.c (gimple_call_flags): Remove kludge.
5339
9d40778b
AM
53402011-04-08 Alexander Monakov <amonakov@ispras.ru>
5341
5342 * sel-sched.c (sel_region_init): Move call to
5343 sel_setup_region_sched_flags after setup_current_loop_nest.
5344
19ac7892
AB
53452011-04-08 Andrey Belevantsev <abel@ispras.ru>
5346
5347 PR rtl-optimization/48272
19ac7892
AB
5348 * sched-deps.c (setup_insn_reg_pressure_info): Export and rename to
5349 init_insn_reg_pressure_info. Adjust a caller.
5350 * sched-int.h (init_insn_reg_pressure_info): Declare.
5351 * haifa-sched.c (haifa_init_insn): Call init_insn_reg_pressure_info
5352 when sched-pressure is enabled.
5353
0f8c63cc
RG
53542011-04-08 Richard Guenther <rguenther@suse.de>
5355
5356 * gimple.c (gimple_set_modified): Do not queue calls to
5357 MODIFIED_NORETURN_CALLS here ...
5358 * tree-ssa-operands.c (update_stmt_operands): ... but here.
5359
5e5a425e
RG
53602011-04-08 Richard Guenther <rguenther@suse.de>
5361
5362 PR lto/48467
5363 * toplev.c (lang_dependent_init): Do not open asm_out_file
5364 in WPA mode, nor perform debug machinery initialization.
5365 (finalize): Do not unlink asm_out_file in WPA mode.
5366
9bfc434b
RG
53672011-04-08 Richard Guenther <rguenther@suse.de>
5368
5369 * gimple.h (gimple_call_fntype): New function.
5370 (gimple_call_return_type): Use it.
5371 * expr.c (expand_expr_real_1): Use gimple_call_fntype.
5372 * gimple-low.c (gimple_check_call_args): Likewise.
5373 * gimple.c (gimple_call_flags): Likewise.
5374 (gimple_call_arg_flags): Likewise.
5375 (gimple_call_return_flags): Likewise.
5376 * tree-cfg.c (verify_gimple_call): Likewise.
5377 (do_warn_unused_result): Likewise.
5378 * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
5379 * value-prof.c (gimple_ic_transform): Fix fndecl check.
5380
7c1f0b40
DM
53812011-04-08 Dmitry Melnik <dm@ispras.ru>
5382
5383 PR rtl-optimization/48235
5384 * sel-sched.c (code_motion_process_successors): Recompute the last
5385 insn in basic block if control flow changed.
5386 (code_motion_path_driver): Ditto. Recompute the first insn as well.
5387 Update condition for ilist_remove.
5388
ea4d630f
AM
53892011-04-08 Alexander Monakov <amonakov@ispras.ru>
5390
5391 PR rtl-optimization/48302
5392 * sel-sched-ir.h (sel_add_loop_preheaders): Update prototype.
5393 * sel-sched-ir.c (sel_add_loop_preheaders): Add 'bbs' argument. Use
5394 it to record added preheader blocks.
5395 * sel-sched.c (setup_current_loop_nest): Add 'bbs' argument. Pass it
5396 on to sel_add_loop_preheaders.
5397 (sel_region_init): Move call to setup_current_loop_nest after
5398 sel_init_bbs.
5399
07643d76
AM
54002011-04-08 Alexander Monakov <amonakov@ispras.ru>
5401
5402 PR target/48273
5403 * cfgloop.h (loop_has_exit_edges): New helper.
5404 * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
5405 non-clonable.
5406 * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
5407 that have no exit edges.
5408
1f3b2b4e
AM
54092011-04-08 Alexander Monakov <amonakov@ispras.ru>
5410
5411 PR rtl-optimization/48442
5412 * sel-sched.c (init_seqno): Remove number_of_insns argument. Update
5413 all callers. Adjust assert.
5414
554f1948
JJ
54152011-04-08 Jakub Jelinek <jakub@redhat.com>
5416
5417 PR tree-optimization/48377
5418 * tree-vect-data-refs.c (vector_alignment_reachable_p): Set
5419 is_packed to true even for types with smaller TYPE_ALIGN than
5420 TYPE_SIZE.
5421
ddf72388
RG
54222011-04-08 Richard Guenther <rguenther@suse.de>
5423
5424 PR bootstrap/48513
5425 * doc/tm.texi: Re-generate.
5426
0c27e2d8
WG
54272011-04-08 Wei Guozhi <carrot@google.com>
5428
5429 PR target/47855
5430 * config/arm/arm-protos.h (arm_attr_length_push_multi): New prototype.
5431 * config/arm/arm.c (arm_attr_length_push_multi): New function.
5432 * config/arm/arm.md (*push_multi): Change the length computation to
5433 call a C function.
5434
07c5f94e
AS
54352011-04-08 Anatoly Sokolov <aesok@post.ru>
5436
5437 * doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
5438 (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation.
5439 * doc/tm.texi: Regenerate.
5440 * system.h (ASM_OUTPUT_BSS): Poison.
5441 * varasm.c (asm_output_bss): Remove function.
5442 (emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro.
798dd0ba 5443
07c5f94e
AS
5444 * config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment.
5445 * config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise.
5446 * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise.
5447 * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
5448 Likewise.
5449 * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
5450 Likewise.
5451 * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
5452 Likewise.
5453 * config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
5454
5f2c36e1
JM
54552011-04-07 Joseph Myers <joseph@codesourcery.com>
5456
5457 * config/rx/rx.opt (rx610, rx200, rx600): Use Enum not Name on
5458 EnumValue lines.
5459
39e7722b
JM
54602011-04-07 Joseph Myers <joseph@codesourcery.com>
5461
5462 * config/m68k/m68k.c (m68k_handle_option): Don't handle
5463 OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
5464 OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
5465 OPT_mcpu32.
5466 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
5467 handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
5468 -m68030, -m68040, -m68060, -mcpu32 and -m68332.
5469 * config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
5470 m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
5471 * config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
5472 (MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
5473 (MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
5474 options. Don't map other m68k options manually. Don't handle
5475 old-style options as canonical.
5476 (MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
798dd0ba 5477 * doc/install.texi (m68k-*-*): Document binutils version requirement.
39e7722b 5478
cf103ca4
EB
54792011-04-07 Eric Botcazou <ebotcazou@adacore.com>
5480
5481 * basic-block.h (force_nonfallthru): Move to...
5482 * cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
5483 (force_nonfallthru): ...here.
5484 * cfghooks.c (force_nonfallthru): New function.
5485 * cfgrtl.c (force_nonfallthru): Rename into...
5486 (rtl_force_nonfallthru): ...this.
5487 (commit_one_edge_insertion): Do not set AUX field.
5488 (commit_edge_insertions): Do not discover new basic blocks.
5489 (rtl_cfg_hooks): Add rtl_force_nonfallthru.
5490 (cfg_layout_rtl_cfg_hooks): Likewise.
5491 * function.c (thread_prologue_and_epilogue_insns): Remove bogus
5492 ATTRIBUTE_UNUSED. Discover new basic blocks in the prologue insns.
5493 * tree-cfg.c (gimple_cfg_hooks): Add NULL for force_nonfallthru.
5494
14431f58
AS
54952011-04-07 Anatoly Sokolov <aesok@post.ru>
5496
5497 * config/mips/mips.h (REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
5498 Remove macros.
5499
3729983c
UB
55002011-04-07 Uros Bizjak <ubizjak@gmail.com>
5501
5502 * config/i386/sse.md: Update copyright year.
5503 (avxcvtvecmode): Remove.
5504 (sse_movhlps): Merge with *avx_movhlps.
5505 (sse_movlhps): Merge with *avx_movlhps.
5506 (vec_interleave_highv4sf): Merge with *avx_interleave_highv4sf.
5507 (vec_interleave_lowv4sf): Merge with *avx_interleave_lowv4sf.
5508 (sse_shufps_<mode>): Merge with *avx_shufps_<mode>.
5509 (sse_loadhps): Merge with *avx_loadhps.
5510 (sse_storelps): Merge with *avx_storelps.
5511 (sse_loadlps): Merge with *avx_loadlps.
5512 (sse_movss): Merge with *avx_movss.
5513 (*vec_concatv2sf_sse4_1): Merge with *vec_concatv2sf_avx.
5514 (*vec_concatv4sf_sse): Merge with *vec_concatv4sf_avx.
5515 (*vec_set<mode>_0_sse4_1): Merge with *vec_set<mode>_0_avx.
5516 (*vec_set<mode>_0_sse2): Split multi-unit alternative.
5517 (vec_set<mode>_0): Ditto.
5518 (*vec_setv4sf_sse4_1): Merge with *vec_setv4sf_avx.
5519 (sse4_1_insertps): Merge with *avx_insertps.
5520 (*sse3_interleave_highv2df): Merge with *avx_interleave_highv2df.
5521 (*sse3_interleave_lowv2df): Merge with *avx_interleave_lowv2df.
5522 (vec_interleave_highv2di): Merge with *avx_interleave_highv2di.
5523 (sse2_shufpd_<mode>): Merge with *avx_shufpd_<mode>.
5524 (sse2_storehpd): Merge with *avx_storehpd.
5525 (sse2_loadhpd): Merge with *avx_loadhpd.
5526 (sse2_loadlpd): Merge with *avx_loadlpd.
5527 (sse2_movsd): Merge with *avx_movsd.
5528 (*vec_concatv2df): Merge with *vec_concatv2df.
5529
4e626909
JJ
55302011-04-07 Jakub Jelinek <jakub@redhat.com>
5531
5532 PR debug/48343
5533 * combine.c (combine_instructions): Add last_combined_insn,
3729983c 5534 update it if insn is after it, pass it to all try_combine calls.
4e626909
JJ
5535 (try_combine): Add last_combined_insn parameter, pass it instead of
5536 i3 to propagate_for_debug.
5537
3729983c 55382011-04-07 Nick Clifton <nickc@redhat.com>
5a10b0a9
NC
5539
5540 * config/mn10300/mn10300.md (movqi_internal): Add alternatives
5541 to handle MDR <-> data register transfers.
5542 (movhi_internal): Likewise.
5543
20c03367
AM
55442011-04-07 Alan Modra <amodra@gmail.com>
5545
5546 * config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
5547 previous stack info.
5548
bf22920b
TV
55492011-04-07 Tom de Vries <tom@codesourcery.com>
5550
5551 PR target/43920
5552 * cfgcleanup.c (try_crossjump_to_edge): Add dir parameter. Pass dir to
5553 flow_find_cross_jump. Swap variables to implement backward replacement.
5554 (try_crossjump_bb): Add argument to try_crossjump_to_edge.
5555
823918ae
TV
55562011-04-07 Tom de Vries <tom@codesourcery.com>
5557
5558 PR target/43920
5559 * cfgcleanup.c (walk_to_nondebug_insn): New function.
3729983c
UB
5560 (flow_find_cross_jump): Use walk_to_nondebug_insn. Recalculate bb1
5561 and bb2.
5562 (try_crossjump_to_edge): Handle case that newpos1 or newpos2 is not
5563 src1 or src2. Redirect edges to the last basic block. Update
5564 frequency and count on multiple basic blocks in case of fallthru.
823918ae 5565
472c95f5
TV
55662011-04-07 Tom de Vries <tom@codesourcery.com>
5567
5568 PR target/43920
5569 * cfgcleanup.c (equal_different_set_p, can_replace_by, merge_dir): New
5570 function.
3729983c
UB
5571 (old_insns_match_p): Change return type. Replace return false/true
5572 with return dir_none/dir_both. Use can_replace_by.
5573 (flow_find_cross_jump): Add dir_p parameter. Init replacement
5574 direction from dir_p. Register replacement direction in dir, last_dir
5575 and afterlast_dir. Handle new return type of old_insns_match_p using
472c95f5
TV
5576 merge_dir. Return replacement direction in dir_p.
5577 (flow_find_head_matching_sequence, outgoing_edges_match): Handle new
5578 return type of old_insns_match_p.
5579 (try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
5580 * ifcvt.c ( cond_exec_process_if_block): Add argument to call to
5581 flow_find_cross_jump.
5582 * basic-block.h (enum replace_direction): New type.
5583 (flow_find_cross_jump): Add parameter to declaration.
5584
a95d4000
UB
55852011-04-06 Uros Bizjak <ubizjak@gmail.com>
5586
5587 * config/i386/sse.md (AVXMODEDCVTDQ2PS): Remove.
5588 (AVXMODEDCVTPS2DQ): Ditto.
5589 (VEC_FLOAT_MODE): Ditto.
5590 (<sse>_andnot<mode>3): Merge with avx_andnot<mode>3. Use VF mode
5591 iterator. Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
5592 (<any_logic:code><mode>3): Use VF mode iterator.
5593 (*<any_logic:code><mode>3): Merge with *avx_<any_logic:code><mode>3.
5594 Use VF mode iterator.
5595 (copysign<mode>3): Use VF mode iterator.
5596 (*andnot<MODEF:mode>3): Merge with *avx_andnot<MODEF:mode>3. Handle
5597 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
5598 (*<any_logic:code><MODEF:mode>3): Merge with
5599 *avx_<any_logic:code><MODEF:mode>3.
5600 (sse_cvtsi2ss): Merge with *avx_cvtsi2ss.
5601 (sse_cvtsi2ssq): Merge with *avx_cvtsi2ssq.
5602 (avx_cvtdq2ps256): Split from avx_cvtdq2ps<avxmodesuffix>.
5603 (avx_cvtdq2ps<avxmodesuffix>): Remove.
5604 (sse2_cvtdq2ps): Use %v modifier.
5605 (avx_cvtps2dq256): Split from avx_cvtps2dq<avxmodesuffix>.
5606 (avx_cvtps2dq<avxmodesuffix>): Remove.
5607 (sse2_cvtps2dq): Use %v modifier.
5608 (avx_cvttps2dq256): Split from avx_cvttps2dq<avxmodesuffix>.
5609 (avx_cvttps2dq<avxmodesuffix>): Remove.
5610 (sse2_cvttps2dq): Use %v modifier.
5611 (sse2_cvtsi2sd): Merge with *avx_cvtsi2sd.
5612 (sse2_cvtsi2sdq): Merge with *avx_cvtsi2sdq.
5613 (sse2_cvtsd2siq): Fix insn template.
5614 (sse2_cvtsd2siq_2): Ditto.
5615 (sse2_cvttsd2siq): Ditto.
5616 (sse2_cvtsd2ss): Merge with *avx_cvtsd2ss.
5617 (sse2_cvtss2sd): Merge with *avx_cvtss2sd.
5618
ad01c437
JM
56192011-04-06 Joseph Myers <joseph@codesourcery.com>
5620
5621 * gcov-io.c: Use GCC Runtime Library Exception.
5622
fe846284
JJ
56232011-04-06 Jakub Jelinek <jakub@redhat.com>
5624
5625 PR debug/48466
5626 * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
5627 as base_reg whatever register reg has been eliminated to, instead
5628 of hardcoding STACK_POINTER_REGNUM.
5629
acce4e77
JM
56302011-04-06 Joseph Myers <joseph@codesourcery.com>
5631
5632 * doc/tm.texi.in: Document C target hooks as separate from general
5633 target hooks.
5634 * doc/tm.texi: Regenerate.
5635 * genhooks.c (struct hook_desc): Add docname field.
5636 (HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize
5637 docname field.
5638 (hook_array): Include c-target.def.
5639 (emit_documentation): Use docname field in output.
5640 (emit_init_macros): Take docname argument. Only emit definitions
5641 for hooks matching docname.
5642 (main): Expect additional arguments in all cases. Pass argument
5643 to emit_init_macros.
5644 * target.def: Move initial macro definitions and comments to
5645 target-hooks-macros.h.
5646 (gcc_targetcm): Move to c-family/c-target.def.
5647 * target.h (targetcm): Move declaration to c-family/c-target.h.
5648 * targhooks.c (default_handle_c_option): Move to
5649 c-family/c-opts.c.
5650 * targhooks.h (default_handle_c_option): Move declaration to
5651 c-family/c-common.h.
5652 * target-hooks-macros.h: New file.
5653 * config.gcc (target_has_targetcm): Define and use to add to
5654 c_target_objs and cxx_target_objs.
5655 * config/default-c.c: New file.
5656 * config/darwin-c.c: Include c-target.h and c-target-def.h instead
5657 of target.h and target-def.h.
5658 (TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
5659 (darwin_objc_construct_string, darwin_cfstring_ref_p,
5660 darwin_check_cfstring_format_arg): Make static.
5661 (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
5662 TARGET_STRING_OBJECT_REF_TYPE_P,
5663 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
5664 * config/darwin-protos.h (darwin_objc_construct_string,
5665 darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
5666 declare.
5667 * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
5668 TARGET_STRING_OBJECT_REF_TYPE_P,
a95d4000 5669 TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM): Remove.
acce4e77
JM
5670 * config/t-darwin (darwin-c.o): Update dependencies.
5671 * system.h (TARGET_HAS_TARGETCM): Poison.
5672 * Makefile.in (TARGET_H): Update.
5673 (TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
5674 (c-family/c-format.o, c-family/c-opts.o): Update dependencies.
5675 (default-c.o): New target.
5676 (s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
a95d4000 5677 (c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New targets.
acce4e77
JM
5678 (s-tm-texi): Pass -d option to genhooks. Also test timestamp on
5679 c-target.def.
5680 (build/genhooks.o): Update dependencies.
5681
275b4baa 56822011-04-06 Richard Guenther <rguenther@suse.de>
a95d4000 5683
275b4baa
RG
5684 * ipa-inline.c (enum inlining_mode): Remove.
5685 (cgraph_flatten): Use some other token.
5686 (cgraph_edge_early_inlinable_p): New function, split out from ...
5687 (cgraph_perform_always_inlining): New function, split out from ...
5688 (cgraph_decide_inlining_incrementally): ... here.
5689 (cgraph_mark_inline_edge): Adjust.
5690 (cgraph_early_inlining): Re-structure.
5691 (pass_early_inline): Require SSA form.
5692
f15b8bdf 56932011-04-06 Andrew Stubbs <ams@codesourcery.com>
9adc580c
AS
5694 Julian Brown <julian@codesourcery.com>
5695 Mark Shinwell <shinwell@codesourcery.com>
5696
5697 * config/arm/arm.h (arm_class_likely_spilled_p): Check against
5698 LO_REGS only for Thumb-1.
5699 (MODE_BASE_REG_CLASS): Restrict base registers to those which can
5700 be used in short instructions when optimising for size on Thumb-2.
5701
516426da
EB
57022011-04-06 Eric Botcazou <ebotcazou@adacore.com>
5703
5704 * gimple-low.c (lower_gimple_return): When not optimizing, force labels
5705 associated with user returns to be preserved.
5706
96621ebf
TG
57072011-04-06 Tristan Gingold <gingold@adacore.com>
5708
f15b8bdf
EB
5709 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index,
5710 symbol_queue_size, DBXOUT_DECR_NESTING,
96621ebf
TG
5711 (DBXOUT_DECR_NESTING_AND_RETURN): Also define
5712 if XCOFF_DEBUGGING_INFO.
5713
07c0852e
UB
57142011-04-06 Uros Bizjak <ubizjak@gmail.com>
5715
5716 * config/i386/i386.md (attribute isa): New.
5717 (attribute enabled): New.
5718 (setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
5719 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
5720 (*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
5721 (*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
5722 (*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
5723 (<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
5724 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
5725 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.
5726
5727 * config/i386/sse.md (VF): New mode iterator.
5728 (VF1): Ditto.
5729 (VF2): Ditto.
5730 (VF_128): Ditto.
5731 (SSEMODEF4): Remove.
5732 (attribute sse): Handle V8SF and V4DF modes.
5733 (<absneg:code><mode>2): Use VF mode iterator.
5734 (*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2. Use VF
5735 mode iterator.
5736 (<plusminus_insn><mode>3): Use VF mode iterator.
5737 (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
5738 Use VF mode iterator.
5739 (<sse>_vm<plusminus_insn><mode>3): Merge with
5740 *avx_vm<plusminus_insn><mode>3. Use VF_128 mode iterator.
5741 (mul<mode>3): Use VF mode iterator.
5742 (*mul<mode>3): Merge with *avx_mul<mode>3. Use VF mode iterator.
5743 (<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3. Use VF_128
5744 mode iterator.
5745 (div<VF2:mode>3): Merge from divv2df3 and divv4df3.
5746 (div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
5747 (<sse>_div<mode>3): Merge with *avx_div<mode>3. Use VF mode iterator.
5748 (<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3. Use VF_128
5749 mode iterator.
5750 (<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
5751 Use VF1 mode iterator.
5752 (sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
5753 (sqrt<VF2:mode>2): New expander.
5754 (sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
5755 (<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
5756 and sqrtv2df2. Use VF mode iterator.
5757 (<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2. Use VF_128
5758 mode iterator.
5759 (rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
5760 (<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
5761 Use VF1 mode iterator.
5762 (sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
5763 (<smaxmin:code><mode>3): Use VF mode iterator.
5764 (*<smaxmin:code><mode>3_finite): Merge with
5765 *avx_<smaxmin:code><mode>3_finite. Use VF mode iterator.
5766 (*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
5767 (<sse>_vm<smaxmin:code><mode>2): Merge with
5768 *avx_vm<smaxmin:code><mode>2. Use VF_128 mode iterator.
5769 (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3. Use VF
5770 mode iterator.
5771 (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3. Use VF
5772 mode iterator.
5773 (sse3_addsubv2df3): Merge with *avx_addsubv2df3.
5774 (sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
5775 (sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
5776 (sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
5777 (avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3. Use
5778 VF mode iterator.
5779 (avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
5780 Use VF_128 mode iterator.
5781 (<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3. Use VF
5782 mode iterator.
5783 (<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3. Use
5784 VF_128 mode iterator.
5785 (vcond<mode>): Use VF mode iterator.
5786 * config/i386/predicates.md (sse_comparison_operator): Merge with
5787 avx_comparison_float_operator. Do not declare as special_predicate.
5788 * config/i386/i386.c (struct builtin_description): Update for renamed
5789 compare patterns.
5790 (ix86_expand_args_builtin): Ditto.
5791 (ix86_expand_sse_compare_mask): Ditto.
5792
ff5d142c
RG
57932011-04-06 Richard Guenther <rguenther@suse.de>
5794
5795 * tree-inline.c (estimate_num_insns): For calls simply account
5796 for all passed arguments and a used return value.
5797
d7d1d041 57982011-04-06 Richard Guenther <rguenther@suse.de>
07c0852e 5799
d7d1d041
RG
5800 PR tree-optimization/47663
5801 * cgraph.h (struct cgraph_edge): Add call_stmt_size and
5802 call_stmt_time fields.
5803 (cgraph_edge_inlinable_p): Declare.
5804 (cgraph_edge_recursive_p): New inline function.
5805 * cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
5806 (cgraph_clone_edge): Copy it.
5807 * ipa-inline.c (cgraph_estimate_edge_time): New function.
5808 Account for call stmt time.
5809 (cgraph_estimate_time_after_inlining): Take edge argument.
5810 (cgraph_estimate_edge_growth): Account call stmt size.
5811 (cgraph_estimate_size_after_inlining): Take edge argument.
5812 (cgraph_mark_inline_edge): Adjust.
5813 (cgraph_check_inline_limits): Likewise.
5814 (cgraph_recursive_inlining_p): Remove.
5815 (cgraph_edge_badness): Use cgraph_edge_recursive_p.
5816 (cgraph_decide_recursive_inlining): Take edge argument and
5817 adjust.
5818 (cgraph_decide_inlining_of_small_functions): Do not avoid
5819 diags for recursive inlining here.
5820 (cgraph_flatten): Adjust.
5821 (cgraph_decide_inlining_incrementally): Likewise.
5822 (estimate_function_body_sizes): Remove call cost handling.
5823 (compute_inline_parameters): Initialize caller edge call costs.
5824 (cgraph_estimate_edge_growth): New function.
5825 (cgraph_estimate_growth): Use it.
5826 (cgraph_edge_badness): Likewise.
5827 (cgraph_check_inline_limits): Take an edge argument.
5828 (cgraph_decide_inlining_of_small_functions): Adjust.
5829 (cgraph_decide_inlining): Likewise.
5830 * tree-inline.c (estimate_num_insns): Only account for call
5831 return value if it is used.
5832 (expand_call_inline): Avoid diagnostics on recursive inline
5833 functions here.
5834 * lto-cgraph.c (lto_output_edge): Output edge call costs.
5835 (input_edge): Input edge call costs.
5836
2feb95f7
RO
58372011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5838
5839 * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
5840
26fbd9c2
JW
58412011-04-06 Jonathan Wakely <jwakely.gcc@gmail.com>
5842
5843 * doc/invoke.texi (Spec Files): Fix typo.
5844
694dc0ca
EB
58452011-04-06 Eric Botcazou <ebotcazou@adacore.com>
5846
5847 * profile.c (branch_prob): Move declaration of local variable. Remove
5848 obsolete ??? comment. Expand the location explicitly instead of using
5849 the LOCATION_FILE and LOCATION_LINE macros.
5850
4925d0d5
WG
58512011-04-06 Wei Guozhi <carrot@google.com>
5852
5853 PR target/47855
5854 * config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
5855 (arm_cond_branch): Likewise.
5856 (arm_cond_branch_reversed): Likewise.
5857 (arm_jump): Likewise.
5858 (push_multi): Likewise.
5859 * config/arm/constraints.md (Py): New constraint.
5860
f55dfa2f
NF
58612011-04-05 Nathan Froyd <froydnj@codesourcery.com>
5862
5863 PR bootstrap/48471
5864 * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
5865 Move these...
5866 (symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
5867 (DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
5868 #ifdef DBX_DEBUGGING_INFO.
5869
fca96842
BS
58702011-04-05 Bernd Schmidt <bernds@codesourcery.com>
5871
5872 PR bootstrap/48403
5873 * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
5874 if old and new states differ.
5875
30b83e38
JM
58762011-04-05 Joseph Myers <joseph@codesourcery.com>
5877
5878 * config/m68k/m68k.c (m68k_handle_option): Don't handle OPT_m5200,
5879 OPT_m5206e, OPT_m528x, OPT_m5307, OPT_m5407 and OPT_mcfv4e.
5880 * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
5881 handle -m5200, -m5206e, -m528x, -m5307, -m5407 and -mcfv4e.
5882 * config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407,
5883 mcfv4e): Use Alias.
5884 * config/m68k/t-mlibs (MULTILIB_MATCHES): Don't map legacy
5885 ColdFire options to -mcpu= options.
5886
277a9aa5
JL
58872011-04-05 Jeff Law <law@redhat.com>
5888
5889 * tree-ssa-threadupdate.c (determine_bb_domination_status): Always
5890 check if BB is a successor of LOOP->header and return
5891 NONDOMINATING if it is not, regardless of ENABLE_CHECKING.
5892
c1e2610e
SB
58932011-04-05 Steven Bosscher <steven@gcc.gnu.org>
5894
5895 * cprop.c (struct reg_use): Remove.
5896 (reg_use_table): Make an array of RTX.
5897 (find_used_regs, constprop_register, local_cprop_pass,
5898 bypass_block): Simplify users of reg_use_table.
5899 (cprop_insn): Likewise. Iterate if copy propagation succeeded
5900 on one of the uses found by find_used_regs.
5901
e532f586
NF
59022011-04-05 Nathan Froyd <froydnj@codesourcery.com>
5903
5904 PR bootstrap/48469
5905 * combine.c (combine_instructions): #ifdef AUTO_INC_DEC links
5906 declaration.
5907
3fb7c055
NF
59082011-04-05 Nathan Froyd <froydnj@codesourcery.com>
5909
5910 * combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
5911 as an rtx.
5912 (try_combine) [AUTO_INC_DEC]: Declare a local link rtx.
5913
b71b43d9
SB
59142011-04-05 Steven Bosscher <steven@gcc.gnu.org>
5915
5916 PR middle-end/48441
5917 * cprop.c (one_cprop_pass): Do not mark_oprs_set of deleted insns.
5918
b405b274
NF
59192011-04-05 Nathan Froyd <froydnj@codesourcery.com>
5920
5921 * combine.c: Include obstack.h.
5922 (struct insn_link): Define.
5923 (uid_log_links): Adjust type.
5924 (FOR_EACH_LOG_LINK): New macro.
5925 (insn_link_obstack): Declare.
5926 (alloc_insn_link): Define.
5927 (create_log_links): Call it. Use FOR_EACH_LOG_LINK and adjust
5928 type of link variables.
5929 (find_single_use, insn_a_feeds_b, combine_instructions): Likewise.
5930 (try_combine, record_promoted_values, distribute_notes): Likewise.
5931 (distribute_links): Likewise. Tweak prototype.
5932 (clear_log_links): Delete.
5933 (adjust_for_new_dest): Call alloc_insn_link.
5934 * Makefile.in (combine.o): Depend on $(OBSTACK_H).
5935
6409abe3
NF
59362011-04-05 Nathan Froyd <froydnj@codesourcery.com>
5937
5938 * gcse.c (modify_mem_list): Convert to an array of VECs.
5939 (canon_modify_mem_list, compute_transp): Tweak formatting.
5940 (alloc_gcse_mem): Likewise. Adjust for modify_mem_list change.
5941 (load_killed_in_block_p): Likewise.
5942 (record_last_mem_set_info): Likewise.
5943 (clear_modify_mem_tables): Likewise.
5944
170d8157
TV
59452011-04-05 Tom de Vries <tom@codesourcery.com>
5946
5947 PR middle-end/48461
5948 * function.c (emit_use_return_register_into_block): Only define if
5949 HAVE_return.
5950
c5911a55
EB
59512011-04-05 Eric Botcazou <ebotcazou@adacore.com>
5952
5953 * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
5954
abd016e6
JM
59552011-04-05 Joseph Myers <joseph@codesourcery.com>
5956
5957 * config/rx/rx-opts.h: New.
5958 * config/rx/rx.c (rx_cpu_type): Remove.
5959 (rx_handle_option): Don't assert that global structures are in
5960 use. Access variables via opts pointer. Defer most handling of
5961 OPT_mint_register_. Use error_at.
5962 (rx_option_override): Handle deferred OPT_mint_register_ here.
5963 * config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
5964 * config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
5965 (mcpu=): Use Enum and specifiy rx_cpu_type with Var.
5966 (rx_cpu_types): New Enum and EnumValue entries.
5967 (mint-register=): Use Defer and use Var accordingly.
5968
1ed13f83
NF
59692011-04-05 Nathan Froyd <froydnj@codesourcery.com>
5970
5971 * debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
5972 (debug_free_queue, debug_nesting, symbol_queue_index): Delete.
5973 * final.c (debug_flush_symbol_queue, debug_queue_symbol):
5974 Move these...
5975 (debug_free_queue, debug_nesting, symbol_queue_index):
5976 ...and these...
5977 * dbxout.c: ...to here. Make static.
5978
6ce1edcf
NF
59792011-04-05 Nathan Froyd <froydnj@codesourcery.com>
5980
5981 * gcse.c (modify_pair): Define. Define a VEC of it.
5982 (canon_modify_mem_list): Convert to an array of VECs.
5983 (free_insn_expr_list_list): Delete.
5984 (clear_modify_mem_tables): Call VEC_free instead.
5985 (record_last_mem_set_info): Don't modify canon_modify_mem_list.
5986 (alloc_gcse_mem): Adjust for canon_modify_mem_list change.
5987 (canon_list_insert, compute_transp): Likewise.
5988
c201ac94
TV
59892011-04-05 Tom de Vries <tom@codesourcery.com>
5990
5991 PR target/43920
5992 * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
5993 for size.
5994
4c029f40
TV
59952011-04-05 Tom de Vries <tom@codesourcery.com>
5996
5997 PR target/43920
5998 * function.c (emit_use_return_register_into_block): New function.
5999 (thread_prologue_and_epilogue_insns): Use
6000 emit_use_return_register_into_block.
6001
2a562b0a
TV
60022011-04-05 Tom de Vries <tom@codesourcery.com>
6003
6004 PR target/43920
6005 * cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
6006 insn.
6007
0248bceb
TV
60082011-04-05 Tom de Vries <tom@codesourcery.com>
6009
6010 * cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.
6011
ffa94123
YZ
60122011-04-05 Yufeng Zhang <yufeng.zhang@arm.com>
6013
798dd0ba
UB
6014 * config/arm/arm.md (define_constants for unspec): Replace with
6015 define_c_enum.
6016 (define_constants for unspecv): Replace with define_c_enum.
6017 * config/arm/neon.md (define_constants for unspec): Replace with
6018 define_c_enum.
ffa94123 6019
3b8f9b46
RH
60202011-04-04 Richard Henderson <rth@redhat.com>
6021
720cf80f 6022 PR bootstrap/48400
3b8f9b46
RH
6023 * dwarf2out.c (output_line_info): Always emit line info from
6024 at least one section.
6025 (dwarf2out_init): Create text_section_line_info here ...
6026 (set_cur_line_info_table): ... not here.
6027
720cf80f 60282011-04-04 Vladimir Makarov <vmakarov@redhat.com>
e5b0e1ca
VM
6029
6030 PR target/48380
6031 * ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
720cf80f 6032 not called.
e5b0e1ca 6033
720cf80f 6034 * ira-emit.c (emit_move_list): Update reg_equiv_init insn list.
e5b0e1ca 6035
196565d4
SB
60362011-04-04 Steven Bosscher <steven@gcc.gnu.org>
6037
b77f9eab
SB
6038 * cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
6039 (expr_equiv_p): Remove.
6040 (insert_set_in_table): Look at <dest, src> pair instead of expr.
6041 (hash_scan_set): Update call to insert_set_in_table.
6042 (dump_hash_table): Dump <dest, src> pair.
6043 (lookup_set): Simplify. Lookup <dest, src> pair.
6044 (compute_transp): Remove, fold heavily simplified code into...
6045 (compute_local_properties): ...here. Expect COMP and TRANSP
6046 unconditionally.
6047 (find_avail_set): Take set directly from struct expr.
6048 (find_bypass-set): Likewise.
6049 (bypass_block): Likewise.
6050 (cprop_insn): Likewise. Remove redundant INSN_P test.
6051
384d7a55
SB
6052 * cprop.c (implicit_set_cond_p): Assume nothing about COND, move
6053 checks on form of COND from find_implicit_sets to here.
6054 (find_implicit_sets): Cleanup control flow. Split critical edges
6055 if it exposes implicit sets. Allocate/resize implicit_sets as
6056 necessary.
6057 (one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
6058 changed something. Run df_analyze after find_implicit_sets if any
6059 edges were split. Do not allocate implicit_sets here.
6060
3084ce69
SB
6061 * cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
6062 (gcse_obstack): Renamed to cprop_obstack.
6063 (GNEW, GNEWVEC, GNEWVAR): Remove.
6064 (gmalloc): Remove.
6065 (alloc_hash_table): Use XNEWVAR instead of GNEWVAR.
6066 (GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming.
6067 (gcse_alloc): Likewise, and rename to cprop_alloc.
6068 (alloc_gcse_men, free_gcse_mem): Remove.
6069 (gcse_constant_p): Rename to cprop_constant_p, and adjust all callers.
6070 (compute_hash_table_work): Allocate and free reg_set_bitmap here.
6071 (one_cprop_pass): Likewise. Adjust for gcse_obstack renaming.
6072
196565d4
SB
6073 * cprop.c (oprs_not_set_p): Remove.
6074 (mark_set, mark_clobber): Remove.
6075 (mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache.
6076 (reg_not_set_p): New function.
6077 (find_avail_set): Use reg_not_set_p instead of oprs_not_set_p.
6078 (cprop_insn): Likewise.
6079 (cprop_jump): Use FOR_EACH_EDGE.
6080
9b69cf83
BS
60812011-04-04 Bernd Schmidt <bernds@codesourcery.com>
6082
6083 PR bootstrap/48403
6084 * haifa-sched.c (nonscheduled_insns_begin): New static variable.
6085 (rank_for_schedule): Use scheduled_insns vector instead of
6086 last_scheduled_insn.
6087 (ok_for_early_queue_removal): Likewise.
6088 (queue_to_ready): Search forward in nonscheduled_insns_begin if
6089 we have a dbg_cnt.
6090 (choose_ready): Likewise.
6091 (commit_schedule): Use VEC_iterate.
6092 (schedule_block): Initialize nonscheduled_insns_begin. If we have
6093 a dbg_cnt, use it and ensure the first insn is in the ready list.
6094 (haifa_sched_init): Allocate scheduled_insns.
6095 (sched_extend_ready_list): Don't allocate it; reserve space.
6096 (haifa_sched_finish): Free it.
6097
24f48c2f
JM
60982011-04-04 Joseph Myers <joseph@codesourcery.com>
6099
6100 * optc-gen.awk: Always remove type from Variable entry before
6101 recording in var_seen.
6102
8effe856
EB
61032011-04-04 Eric Botcazou <ebotcazou@adacore.com>
6104
6105 * cfghooks.c (tidy_fallthru_edges): Add ??? comment.
6106 * tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove
6107 call to tidy_fallthru_edges.
6108
413519ae
JM
61092011-04-04 Joseph Myers <joseph@codesourcery.com>
6110
6111 * doc/options.texi (ToLower): Document.
3729983c 6112 * opt-functions.awk (switch_bit_fields): Initialize cl_tolower field.
413519ae
JM
6113 * opts-common.c (decode_cmdline_option): Handle cl_tolower.
6114 * opts.h (cl_option): Add cl_tolower field.
6115 * config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu=
6116 arguments with lowercase strings.
6117 * config/rx/rx.opt (mcpu=): Add ToLower.
6118 * config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu=
6119 argument.
6120
7d34a1b0
RS
61212011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
6122
6123 * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.
6124
c30e7434
RS
61252011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
6126
6127 * config/vax/vax.c: Include reload.h.
6128
112a861d
AS
61292011-04-04 Anatoly Sokolov <aesok@post.ru>
6130
6131 * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove.
6132 * config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
6133 (sparc_preferred_reload_class): New function.
6134
e8c6bb74
JJ
61352011-04-04 Jakub Jelinek <jakub@redhat.com>
6136
2aeaa366 6137 PR debug/48401
e8c6bb74
JJ
6138 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
6139 Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.
6140
2c081caf
NF
61412011-04-03 Nathan Froyd <froydnj@codesourcery.com>
6142
6143 * tree.h (struct tree_const_decl): Inherit from tree_decl_common.
6144 * tree.c (initialize_tree_contains_struct): Adjust accordingly.
6145
53802f27
AS
61462011-04-03 Anatoly Sokolov <aesok@post.ru>
6147
6148 * config/avr/avr.h (ASM_OUTPUT_BSS): Remove.
6149 (ASM_OUTPUT_ALIGNED_BSS): Define.
6150
e89964e3
MM
61512011-04-03 Michael Matz <matz@suse.de>
6152
6153 * lto-streamer.h (struct lto_streamer_cache_d): Remove offsets
6154 and next_slot members.
6155 (lto_streamer_cache_insert, lto_streamer_cache_insert_at,
6156 lto_streamer_cache_lookup, lto_streamer_cache_get): Adjust prototypes.
6157 (lto_streamer_cache_append): Declare.
6158 * lto-streamer.c (lto_streamer_cache_add_to_node_array): Use
6159 unsigned index, remove offset parameter, ensure that we append
6160 or update existing entries.
6161 (lto_streamer_cache_insert_1): Use unsigned index, remove offset_p
6162 parameter, update next_slot for append.
6163 (lto_streamer_cache_insert): Use unsigned index, remove offset_p
6164 parameter.
6165 (lto_streamer_cache_insert_at): Likewise.
6166 (lto_streamer_cache_append): New function.
6167 (lto_streamer_cache_lookup): Use unsigned index.
6168 (lto_streamer_cache_get): Likewise.
6169 (lto_record_common_node): Don't test tree_node_can_be_shared.
6170 (preload_common_node): Adjust call to lto_streamer_cache_insert.
6171 (lto_streamer_cache_delete): Don't free offsets member.
6172 * lto-streamer-out.c (eq_string_slot_node): Use memcmp.
6173 (lto_output_string_with_length): Use lto_output_data_stream.
6174 (lto_output_tree_header): Remove ix parameter, don't write it.
6175 (lto_output_builtin_tree): Likewise.
6176 (lto_write_tree): Adjust callers to above, don't track and write
6177 offset, write unsigned index.
6178 (output_unreferenced_globals): Don't emit all global vars.
6179 (write_global_references): Use unsigned indices.
6180 (lto_output_decl_state_refs): Likewise.
6181 (write_symbol): Likewise.
6182 * lto-streamer-in.c (lto_input_chain): Move earlier.
6183 (input_function): Use unsigned index.
6184 (input_alias_pairs): Don't read and then ignore all global vars.
6185 (lto_materialize_tree): Remove ix_p parameter, don't read index,
6186 don't pass it back, use lto_streamer_cache_append.
6187 (lto_register_var_decl_in_symtab): Use unsigned index.
6188 (lto_register_function_decl_in_symtab): Likewise.
6189 (lto_get_pickled_tree): Don't read in or handle offset, read unsigned
6190 index.
6191 (lto_get_builtin_tree): Don't read index, use
6192 lto_streamer_cache_append.
6193 (lto_read_tree): Adjust call to lto_materialize_tree.
6194
6195 * ipa-inline.c (cgraph_edge_badness): Move growth calculaton,
6196 don't use function calls in arguments to MIN.
6197
6198 * varasm.c (decl_binds_to_current_def_p): Don't check TREE_PUBLIC
6199 twice.
6200
6201 * gimple.c (gimple_type_leader_entry): Mark deletable.
6202
b9a5b5b2
AM
62032011-04-03 Alan Modra <amodra@gmail.com>
6204
6205 * dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
6206
ac6a641b
MM
62072011-04-03 Michael Matz <matz@suse.de>
6208
6209 * tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not
6210 an integer.
6211 * tree.h (tree_decl_non_common.vindex): Adjust comment.
6212
0038d4e0
MM
62132011-04-03 Michael Matz <matz@suse.de>
6214
e9c18386 6215 * cgraphbuild.c (record_reference): Canonicalize constructor values.
0038d4e0
MM
6216 * gimple-fold.c (canonicalize_constructor_val): Accept being called
6217 without function context.
6218 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
6219 current_function_decl and cfun.
6220
91f2fae8
MM
62212011-04-03 Michael Matz <matz@suse.de>
6222
6223 * tree.c (decl_init_priority_insert): Don't create entry for
6224 default priority.
6225 (decl_fini_priority_insert): Ditto.
6226 (fields_compatible_p, find_compatible_field): Remove.
6227 * tree.h (fields_compatible_p, find_compatible_field): Remove.
6228 * gimple.c (gimple_compare_field_offset): Adjust block comment.
6229
da29e070
EB
62302011-04-03 Eric Botcazou <ebotcazou@adacore.com>
6231
6232 * combine.c (try_combine): Remove useless local variable.
6233
4979c28b 62342011-04-03 Richard Guenther <rguenther@suse.de>
91f2fae8 6235 Ira Rosen <ira.rosen@linaro.org>
4979c28b
RG
6236
6237 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
6238 non-variable offsets and compare the remaining bases of the two
6239 accesses instead of looking for exact same data-ref.
6240
b4ddcaee
KT
62412011-04-02 Kai Tietz <ktietz@redhat.com>
6242
f90298e1
KT
6243 PR target/48416
6244 * i386.c (ix86_function_arg_boundary): Fix printf formatter.
6245
b4ddcaee
KT
6246 * i386.c (ix86_is_msabi_thiscall): New helper function.
6247 (ix86_is_type_thiscall): New helper function.
6248 (ix86_comp_type_attributes): Handle thiscall for method-functions
6249 special.
6250 (init_cumulative_args): Likewise.
6251 (find_drap_reg): Likewise.
6252 (ix86_static_chain): Likewise.
6253 (x86_this_parameter): Likewise.
6254 (x86_output_mi_thunk): Likewise.
6255
2a9d769a 62562011-04-01 Olivier Hainque <hainque@adacore.com>
91f2fae8
MM
6257 Nicolas Setton <setton@adacore.com>
6258 Eric Botcazou <ebotcazou@adacore.com>
2a9d769a
OH
6259
6260 * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
6261 (add_gnat_descriptive_type_attribute): New function.
6262 (gen_array_type_die): Call it.
6263 (gen_enumeration_type_die): Likewise.
6264 (gen_struct_or_union_type_die): Likewise.
6265 (modified_type_die): Likewise.
6266 * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
6267 * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
6268 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
6269
15a03a11
JJ
62702011-04-01 Jakub Jelinek <jakub@redhat.com>
6271
6272 PR bootstrap/48148
6273 * dwarf2out.c (resolve_addr): Don't call force_decl_die
6274 if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
6275
6276 Revert:
6277 2011-03-17 Richard Guenther <rguenther@suse.de>
6278
6279 PR bootstrap/48148
6280 * lto-cgraph.c (input_overwrite_node): Clear the abstract
6281 origin for decls in other ltrans units.
6282 (input_varpool_node): Likewise.
6283
19228b93
JJ
62842011-04-01 Jakub Jelinek <jakub@redhat.com>
6285
6286 PR middle-end/48335
6287 * expr.c (expand_assignment): Handle all possibilities
6288 if TO_RTX is CONCAT.
e9c18386 6289 * expmed.c (store_bit_field_1): Avoid trying to create invalid SUBREGs.
19228b93
JJ
6290 (store_split_bit_field): If SUBREG_REG (op0) or
6291 op0 itself has smaller mode than word, return it
6292 for offset 0 and const0_rtx for out-of-bounds stores.
6293 If word is const0_rtx, skip it.
6294
88cb339e
N
62952011-04-01 Naveen H.S <naveen.S@kpitcummins.com>
6296
6297 * config/h8300/h8300.c (print_operand_address): Rename to...
6298 (h8300_print_operand_address): ...this. Make static. Adjust comments.
6299 Call h8300_print_operand and h8300_print_operand_address instead of
6300 print_operand and print_operand_address. Declare.
6301 (print_operand): Renake to...
6302 (h8300_print_operand): ...this. Make static. Adjust comments.
6303 Call h8300_print_operand instead of print_operand. Declare.
6304 (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
6305 (h8300_register_move_cost): Likewise.
6306 (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
6307 TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
6308 * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
6309 PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
6310 * config/h8300/h8300-protos.h (print_operand): Delete.
6311 (print_operand_address): Delete.
6312
756d6ee9
RH
63132011-04-01 Richard Henderson <rth@redhat.com>
6314
6315 PR 48400
6316 * dwarf2out.c (dwarf2out_source_line): Disable discriminators
6317 in strict mode before dwarf4. Re-order tests to early out
6318 before switching sections.
6319
ceaaaeab
NF
63202011-04-01 Nathan Froyd <froydnj@codesourcery.com>
6321
6322 * config/h8300/constraints.md: New file.
6323 * config/h8300/h8300.md: Include it. Use satisfies_constraint_J,
6324 satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
6325 (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
6326 * config/h8300/predicates.md (bit_operand): Likewise.
6327 (incdec_operand): Use satisfies_constraint_M and
6328 satisfies_constraint_O. Don't use C code block.
6329 * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
6330 * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
6331 (compute_mov_length): Use satisfies_constraint_G.
6332 (fix_bit_operand): Use satisfies_constraint_U.
6333 * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
6334 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
6335 (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
6336 (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
6337 (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
6338 (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
6339 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
6340 (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
6341 (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
6342 (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
6343 (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
6344 (EXTRA_MEMORY_CONSTRAINT): Delete.
6345
08ae38e0
AP
63462011-04-01 Andrew Pinski <pinskia@gmail.com>
6347 Michael Meissner <meissner@linux.vnet.ibm.com>
6348
6349 PR target/48262
6350 * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
6351 operands, as per the specifications.
6352
6353 * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
6354 (vec_extract_evenv4sf): Ditto.
6355 (vec_extract_evenv8hi): Ditto.
6356 (vec_extract_evenv16qi): Ditto.
6357 (vec_extract_oddv4si): Ditto.
6358
bdb0b0f6
MW
63592011-03-31 Mark Wielaard <mjw@redhat.com>
6360
6361 * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
6362 high_pc attribute if the CU has no associated code. Only output
6363 DW_AT_entry_pc for CU if not generating strict dwarf and
6364 dwarf_version < 4.
6365
722279e4
BS
63662011-04-01 Bernd Schmidt <bernds@codesourcery.com>
6367
6368 * dwarf2out.h (dwarf2out_frame_debug_init): Declare.
6369 * dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
6370 out of ...
6371 (dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
6372 * final.c (final_start_function): Call the new function rather
6373 than using a NULL argument for dwarf2out_frame_debug.
6374
c5dd277d
BS
6375 * ifcvt.c (cond_exec_process_insns): Disallow converting a block
6376 that contains the prologue.
6377
ec4efea9
BS
6378 * haifa-sched.c (queue_insn): New arg REASON. All callers
6379 changed. Print it in debugging output.
6380
2a6a0d80
BS
6381 * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
6382
86014d07
BS
6383 * sched-ebb.c (begin_schedule_ready): Remove second argument.
6384 Split most of the code into...
6385 (begin_move_insn): ... here. New function.
6386 (ebb_sched_info): Add a pointer to it.
6387 * haifa-sched.c (scheduled_insns): New static variable.
6388 (sched_extend_ready_list): Allocate it.
6389 (schedule_block): Use it to record the order of scheduled insns.
6390 Perform RTL changes to move insns only after all scheduling
6391 decisions have been made.
6392 * modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
6393 begin_move_insn field.
6394 * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
6395 * sched-int.h (struct haifa_sched_info): Remove second argument
6396 from begin_schedule_ready hook. Add new member begin_move_insn.
6397 * sched-rgn.c (begin_schedule_ready): Remove second argument.
6398 (rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
6399
9d701248
BS
6400 * haifa-sched.c (prune_ready_list): New function, broken out of
6401 schedule_block.
6402 (schedule_block): Use it.
6403
1ca1dad5
UW
64042011-04-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6405
6406 * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
6407
49568e45
KT
64082011-04-01 Kai Tietz <ktietz@redhat.com>
6409
6410 * config.gcc (*-*-mingw*): Allow as option the
6411 posix threading model.
07c0852e 6412 * config/i386/mingw32.h (SPEC_PTHREAD1, SPEC_PTHREAD2):
49568e45
KT
6413 New macros defined dependent to TARGET_USE_PTHREAD_BY_DEFAULT
6414 definition.
6415 (CPP_SPEC): Add pthread/no-pthread handling.
6416 (LIB_SPEC): Likewise.
6417 * config/i386/mingw-w64.h (CPP_SPEC):Likewise.
6418 (LIB_SPEC): Likewise.
6419 * config/i386/t-cygming (SHLIB_PTHREAD_CFLAG): New
6420 flag to pass -pthread option for shared libgcc build.
6421 (SHLIB_PTHREAD_LDFLAG): New option to pass -lpthread
6422 for shared libgcc build.
6423 * config/i386/t-mingw-pthread: New file.
6424 * config/i386/mingw-pthread.h (TARGET_USE_PTHREAD_BY_DEFAULT):
6425 New define to enable use of library pthread by default.
6426 * config/i386/mingw.opt (pthread): New driver option.
6427 (no-pthread): New driver option.
e9c18386 6428 * config/i386/cygming.opt: Make sure trailing empty line is retained.
49568e45
KT
6429 * config/i386/mingw-w64.opt: Likewise.
6430
748f7574 64312011-04-01 Gary Funck <gary@intrepid.com>
636b4106
GF
6432
6433 * c-decl.c (grokdeclarator): Fix formatting.
6434
f04713ee
RS
64352011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
6436
6437 * expr.c (emit_block_move_via_movmem): Use n_generator_args
6438 instead of n_operands.
6439 (set_storage_via_setmem): Likewise.
6440 * optabs.c (maybe_gen_insn): Likewise.
6441 * config/arm/arm.c (arm_init_neon_builtins): Likewise.
6442 * config/mips/mips.c (mips_expand_builtin_compare_1): Likewise.
6443 (mips_expand_builtin_direct): Likewise.
6444 * config/spu/spu.c (expand_builtin_args): Likewise.
6445
b29387ee
RS
64462011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
6447
6448 * recog.h (insn_data_d): Add n_generator_args.
6449 * genoutput.c (data): Likewise.
6450 (output_insn_data): Print it.
6451 (max_opno, num_dups): Delete.
6452 (scan_operands): Just fill in "d->operand[...]".
6453 (gen_insn, gen_peephole, gen_expand, gen_split): Use get_pattern_stats.
6454
e792559a
RS
64552011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
6456
6457 * gensupport.h (pattern_stats): New structure.
6458 * gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
6459 * genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
6460 (max_operand_1, max_operand_vec): Delete.
6461 (gen_insn, gen_expand, gen_split): Use get_pattern_stats.
6462
e8110d6f
NF
64632011-03-31 Nathan Froyd <froydnj@codesourcery.com>
6464
6465 * emit-rtl.c (emit_pattern_after_setloc): New function.
6466 (emit_insn_after_setloc, emit_jump_insn_after_setloc): Call it.
6467 (emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise.
6468 (emit_pattern_after): New function.
6469 (emit_insn_after, emit_jump_insn_after): Call it.
6470 (emit_call_insn_after, emit_debug_insn_after): Likewise.
6471 (emit_pattern_before_setloc): New function.
6472 (emit_insn_before_setloc, emit_jump_insn_before_setloc): Call it.
6473 (emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
6474 Likewise.
6475 (emit_pattern_before): New function.
6476 (emit_insn_before, emit_jump_insn_before): Call it.
6477 (emit_call_insn_before, emit_debug_insn_before): Likewise.
6478
576f85f1
RH
64792011-03-31 Richard Henderson <rth@redhat.com>
6480
6481 * dwarf2out.c (dw_separate_line_info_ref): Remove.
6482 (dw_separate_line_info_entry): Remove.
6483 (enum dw_line_info_opcode): New.
6484 (dw_line_info_entry): Use it.
6485 (dw_line_info_table, dw_line_info_table_p): New.
6486 (DWARF_LINE_OPCODE_BASE): Include dwarf3 opcodes.
6487 (line_info_table, line_info_label_num): Remove.
6488 (line_info_table_in_use): Remove.
6489 (separate_line_info_table): Remove.
6490 (separate_line_info_table_allocated): Remove.
6491 (separate_line_info_table_in_use): Remove.
6492 (LINE_INFO_TABLE_INCREMENT): Remove.
6493 (line_info_label_num): New.
6494 (cur_line_info_table): New.
6495 (text_section_line_info, cold_text_section_line_info): New.
6496 (separate_line_info): New.
6497 (SEPARATE_LINE_CODE_LABEL): Remove.
6498 (print_dwarf_line_table): Remove.
6499 (debug_dwarf): Don't dump it.
6500 (output_one_line_info_table): New.
6501 (output_line_info): Use it.
6502 (new_line_info_table): New.
6503 (set_cur_line_info_table): New.
6504 (dwarf2out_switch_text_section): Use it.
6505 (dwarf2out_begin_function): Likewise.
6506 (push_dw_line_info_entry): New.
6507 (dwarf2out_source_line): Rewrite for new line info tables.
6508 (dwarf2out_init): Remove dead initailizations.
6509
300d83d9
JM
65102011-03-31 Joseph Myers <joseph@codesourcery.com>
6511
6512 * opts.h (cl_option): Add comments to fields. Add bit-fields for
6513 various flags.
6514 (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK,
6515 CL_SEPARATE_ALIAS, CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE,
6516 CL_DISABLED, CL_REPOR, CL_REJECT_NEGATIVE, CL_MISSING_OK,
6517 CL_UINTEGER, CL_NEGATIVE_ALIAS): Remove.
6518 (CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED): Update bit positions.
6519 * opt-functions.awk (flag_init, switch_bit_fields): New.
6520 (switch_flags): Don't handle flags moved to bit-fields. Don't
6521 generate CL_MISSING_OK or CL_SAVE.
6522 * optc-gen.awk: Update to generate bit-field output as well as
6523 flags field.
6524 * gcc.c (driver_wrong_lang_callback): Use cl_reject_driver
6525 bit-field instead of CL_REJECT_DRIVER flag.
6526 * opts-common.c (generate_canonical_option,
6527 decode_cmdline_option): Use bit-fields instead of CL_* flags.
6528 * opts.c (maybe_default_option): Use cl_reject_negative bit-field
6529 instead of CL_REJECT_NEGATIVE flag.
6530 * toplev.c (print_switch_values): Use cl_report bit-field instead
6531 of CL_REPORT flag.
6532
d4d73ce2
EB
65332011-03-31 Eric Botcazou <ebotcazou@adacore.com>
6534
6535 * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
6536 a zero minimum index only if it is redundant.
6537
b8faca75
VM
65382011-03-31 Vladimir Makarov <vmakarov@redhat.com>
6539
6540 PR rtl-optimization/48381
6541 * ira-color.c (assign_hard_reg): Use hard reg set intersection
6542 instead of ira_class_hard_reg_index for calculating conflicting
6543 hard registers.
6544
7d11cebe
SB
65452011-03-31 Steven Bosscher <steven@gcc.gnu.org>
6546
6547 * cprop.c: Clean up hash table building.
6548 (reg_avail_info): Remove.
6549 (oprs_available_p): Remove.
6550 (record_last_reg_set_info): Remove.
6551 (record_last_set_info): Remove.
6552 (reg_available_p): New function.
6553 (gcse_constant_p): Do not treat unfolded conditions as constants.
6554 (make_set_regs_unavailable): New function.
6555 (hash_scan_set): Simplify with new reg_available_p.
6556 (compute_hash_table_work): Traverse insns stream only once.
6557 Do not compute reg_avail_info. Traverse insns in reverse order.
6558 Record implicit sets after recording explicit sets from the block.
6559
98faf84f
MM
65602011-03-31 Michael Matz <matz@suse.de>
6561
e9c18386 6562 * builtins.c (build_va_arg_indirect_ref): Use build_simple_mem_ref_loc.
98faf84f 6563
f52d97da
AS
65642011-03-31 Anatoly Sokolov <aesok@post.ru>
6565
6566 * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove macro.
6567 * config/h8300/h8300-protos.h (h8300_get_index): Remove.
6568 * config/h8300/h8300.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
6569 (h8300_mode_dependent_address_p): New function.
6570 (h8300_get_index): Make static.
6571
e16b6fd0
JL
65722011-03-31 Jeff Law <law@redhat.com>
6573
10c51983
JL
6574 * reload1.c (elimination_effects): Fix typo in recent change.
6575
e9c18386 6576 * tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid
e16b6fd0
JL
6577 typo potentially leading to null pointer dereference.
6578
6579 * caller-save.c (new_saved_hard_reg): Eliminate return value.
6580 (setup_save_areas): Corresponding changes to avoid useless
6581 assignments.
6582
6583 * jump.c (reversed_comparison_code_parts): Avoid successive return
6584 statements when REVERSE_CONDITION is defined.
6585
6586 * expr.c (expand_assignment): Avoid useless assignments.
6587 (expand_expr_real_1): Likewise.
6588 (expand_expr_real_2): Avoid useless statements.
6589
6590 * tree-ssa-phiopt.c (minmax_replacement): Avoid useless statement.
6591
6592 * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
6593
6594 * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Avoid useless
6595 statements.
6596
6597 * stmt.c (expand_expr_stmt): Avoid useless assignment.
6598
eb1eb914
JM
65992011-03-31 Joseph Myers <joseph@codesourcery.com>
6600
6601 PR target/47109
6602 * doc/tm.texi.in (TARGET_VERSION): Remove.
6603 * doc/tm.texi: Regenerate.
6604 * system.h (TARGET_VERSION, MACHINE_TYPE): Poison.
6605 * collect2.c (main): Don't use TARGET_VERSION.
6606 * mips-tdump.c (main): Don't use TARGET_VERSION.
6607 * mips-tfile.c (main): Don't use TARGET_VERSION.
e9c18386 6608 * config.gcc (powerpc-wrs-vxworksae): Don't use rs6000/vxworksae.h.
eb1eb914
JM
6609 * config/rs6000/vxworksae.h: Remove.
6610 * config/alpha/alpha.h (TARGET_VERSION): Remove.
6611 * config/alpha/freebsd.h (TARGET_VERSION): Remove.
6612 * config/alpha/linux-elf.h (TARGET_VERSION): Remove.
6613 * config/alpha/netbsd.h (TARGET_VERSION): Remove.
6614 * config/alpha/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
6615 * config/arm/arm.h (TARGET_VERSION): Remove.
6616 * config/arm/coff.h (TARGET_VERSION): Remove.
6617 * config/arm/ecos-elf.h (TARGET_VERSION): Remove.
6618 * config/arm/elf.h (TARGET_VERSION): Remove.
6619 * config/arm/freebsd.h (TARGET_VERSION): Remove.
6620 * config/arm/linux-elf.h (TARGET_VERSION): Remove.
6621 * config/arm/netbsd-elf.h (TARGET_VERSION): Remove.
6622 * config/arm/pe.h (TARGET_VERSION): Remove.
6623 * config/arm/rtems-elf.h (TARGET_VERSION): Remove.
6624 * config/arm/semi.h (TARGET_VERSION): Remove.
6625 * config/arm/uclinux-elf.h (TARGET_VERSION): Remove.
6626 * config/arm/unknown-elf.h (TARGET_VERSION): Remove.
6627 * config/arm/vxworks.h (TARGET_VERSION): Remove.
6628 * config/avr/avr.h (TARGET_VERSION): Remove.
6629 * config/bfin/bfin.h (TARGET_VERSION): Remove.
6630 * config/fr30/fr30.h (TARGET_VERSION): Remove.
6631 * config/frv/frv.h (TARGET_VERSION): Remove.
6632 * config/h8300/h8300.h (TARGET_VERSION): Remove.
6633 * config/i386/cygwin.h (TARGET_VERSION): Remove.
6634 * config/i386/darwin.h (TARGET_VERSION): Remove.
6635 * config/i386/darwin64.h (TARGET_VERSION): Remove.
6636 * config/i386/djgpp.h (TARGET_VERSION): Remove.
6637 * config/i386/freebsd.h (TARGET_VERSION): Remove.
6638 * config/i386/freebsd64.h (TARGET_VERSION): Remove.
6639 * config/i386/gnu.h (TARGET_VERSION): Remove.
6640 * config/i386/i386-interix.h (TARGET_VERSION): Remove.
6641 * config/i386/i386elf.h (TARGET_VERSION): Remove.
6642 * config/i386/linux.h (TARGET_VERSION): Remove.
6643 * config/i386/linux64.h (TARGET_VERSION): Remove.
6644 * config/i386/lynx.h (TARGET_VERSION): Remove.
6645 * config/i386/mingw32.h (TARGET_VERSION): Remove.
6646 * config/i386/netbsd-elf.h (TARGET_VERSION): Remove.
6647 * config/i386/netbsd64.h (TARGET_VERSION): Remove.
6648 * config/i386/netware.h (TARGET_VERSION): Remove.
6649 * config/i386/nto.h (TARGET_VERSION): Remove.
6650 * config/i386/openbsd.h (TARGET_VERSION): Remove.
6651 * config/i386/vxworks.h (TARGET_VERSION): Remove.
6652 * config/ia64/elf.h (TARGET_VERSION): Remove.
6653 * config/ia64/freebsd.h (TARGET_VERSION): Remove.
6654 * config/ia64/hpux.h (TARGET_VERSION): Remove.
6655 * config/ia64/linux.h (TARGET_VERSION): Remove.
6656 * config/ia64/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
6657 * config/iq2000/iq2000.h (IQ2000_VERSION, MACHINE_TYPE,
6658 TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
6659 * config/lm32/lm32.h (TARGET_VERSION): Remove.
6660 * config/lm32/uclinux-elf.h (TARGET_VERSION): Remove.
6661 * config/m32c/m32c.h (TARGET_VERSION): Remove.
6662 * config/m32r/linux.h (LINUX_DEFAULT_ELF, TARGET_VERSION): Remove.
6663 * config/m32r/m32r.h (TARGET_VERSION): Remove.
6664 * config/m68k/linux.h (TARGET_VERSION): Remove.
6665 * config/m68k/m68k.h (TARGET_VERSION): Remove.
6666 * config/m68k/netbsd-elf.h (TARGET_VERSION): Remove.
6667 * config/m68k/uclinux.h (TARGET_VERSION): Remove.
6668 * config/mcore/mcore-elf.h (TARGET_VERSION): Remove.
6669 * config/mep/mep.h (TARGET_VERSION): Remove.
6670 * config/microblaze/microblaze.h (MICROBLAZE_VERSION,
6671 MACHINE_TYPE, TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
6672 * config/mips/iris6.h (MACHINE_TYPE): Remove.
6673 * config/mips/linux.h (TARGET_VERSION): Remove.
6674 * config/mips/netbsd.h (MACHINE_TYPE): Remove.
6675 * config/mips/vxworks.h (TARGET_VERSION): Remove.
6676 * config/mmix/mmix.h (TARGET_VERSION): Remove.
6677 * config/mn10300/linux.h (TARGET_VERSION): Remove.
6678 * config/mn10300/mn10300.h (TARGET_VERSION): Remove.
6679 * config/pa/pa.h (TARGET_VERSION): Remove.
6680 * config/pdp11/pdp11.h (TARGET_VERSION): Remove.
6681 * config/picochip/picochip.h (TARGET_VERSION): Remove.
6682 * config/rs6000/aix.h (TARGET_VERSION): Remove.
6683 * config/rs6000/darwin.h (TARGET_VERSION): Remove.
6684 * config/rs6000/darwin64.h (TARGET_VERSION): Remove.
6685 * config/rs6000/eabi.h (TARGET_VERSION): Remove.
6686 * config/rs6000/eabialtivec.h (TARGET_VERSION): Remove.
6687 * config/rs6000/eabisim.h (TARGET_VERSION): Remove.
6688 * config/rs6000/eabispe.h (TARGET_VERSION): Remove.
6689 * config/rs6000/freebsd.h (TARGET_VERSION): Remove.
6690 * config/rs6000/linux.h (TARGET_VERSION): Remove.
6691 * config/rs6000/linux64.h (TARGET_VERSION): Remove.
6692 * config/rs6000/linuxaltivec.h (TARGET_VERSION): Remove.
6693 * config/rs6000/linuxspe.h (TARGET_VERSION): Remove.
6694 * config/rs6000/lynx.h (TARGET_VERSION): Remove.
6695 * config/rs6000/netbsd.h (TARGET_VERSION): Remove.
6696 * config/rs6000/sysv4.h (TARGET_VERSION): Remove.
6697 * config/rs6000/vxworks.h (TARGET_VERSION): Remove.
6698 * config/s390/linux.h (TARGET_VERSION): Remove.
6699 * config/s390/s390.h (TARGET_VERSION): Remove.
6700 * config/s390/tpf.h (TARGET_VERSION): Remove.
6701 * config/score/score.h (TARGET_VERSION): Remove.
6702 * config/sh/linux.h (TARGET_VERSION): Remove.
6703 * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN,
6704 TARGET_VERSION_CPU, TARGET_VERSION): Remove.
6705 * config/sh/sh.h (TARGET_VERSION): Remove.
6706 * config/sh/sh64.h (TARGET_VERSION): Remove.
6707 * config/sh/superh.h (TARGET_VERSION): Remove.
6708 * config/sh/vxworks.h (TARGET_VERSION): Remove.
6709 * config/sparc/freebsd.h (TARGET_VERSION): Remove.
6710 * config/sparc/linux.h (TARGET_VERSION): Remove.
6711 * config/sparc/linux64.h (TARGET_VERSION): Remove.
6712 * config/sparc/netbsd-elf.h (TARGET_VERSION, TARGET_NAME64,
6713 TARGET_NAME32, TARGET_NAME): Remove.
6714 * config/sparc/openbsd64.h (TARGET_VERSION): Remove.
6715 * config/sparc/sp-elf.h (TARGET_VERSION): Remove.
6716 * config/sparc/sp64-elf.h (TARGET_VERSION): Remove.
6717 * config/sparc/sysv4.h (TARGET_VERSION): Remove.
6718 * config/sparc/vxworks.h (TARGET_VERSION): Remove.
6719 * config/spu/spu.h (TARGET_VERSION): Remove.
6720 * config/stormy16/stormy16.h (TARGET_VERSION): Remove.
6721 * config/v850/v850.h (TARGET_VERSION): Remove.
6722 * config/vax/linux.h (TARGET_VERSION): Remove.
6723 * config/vax/vax.h (TARGET_NAME, TARGET_VERSION): Remove.
6724 * config/xtensa/elf.h (TARGET_VERSION): Remove.
6725 * config/xtensa/linux.h (TARGET_VERSION): Remove.
6726
ace31bca
EB
67272011-03-31 Eric Botcazou <ebotcazou@adacore.com>
6728
6729 PR target/48142
6730 * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
6731 frame-related from frame-unrelated adjustments to the stack pointer.
6732
76f9db36
JJ
67332011-03-31 Jakub Jelinek <jakub@redhat.com>
6734
6735 * common.opt (fdebug-types-section): Move earlier.
6736 * doc/invoke.texi: Fix up -fno-debug-types-section documentation.
6737
b7826465
AT
67382011-03-31 Andreas Tobler <andreast@fgznet.ch>
6739
6740 * config/rs6000/rs6000.c (rs6000_handle_option): Remove unused isel
6741 var.
6742
1290e54c
NF
67432011-03-30 Nathan Froyd <froydnj@codesourcery.com>
6744
6745 * tree.h (CASE_CHAIN): Define.
6746 * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
6747 (gimple_redirect_edge_and_branch): Likewise.
6748
bddc98e1
VM
67492011-03-30 Vladimir Makarov <vmakarov@redhat.com>
6750
6751 PR middle-end/48367
6752 * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
6753 calculation.
6754
c865e437
JL
67552011-03-30 Jeff Law <law@redhat.com>
6756
b3750213 6757 * PR bootstrap/48371
c865e437
JL
6758 * reload1.c (reload): Fix botch in last change.
6759
6760 * reload.h (struct reload): Fix typo introduced in last change.
6761
2cdf9574
JM
67622011-03-30 Joseph Myers <joseph@codesourcery.com>
6763
6764 * config/arm/arm.opt (mhard-float, msoft-float): Mark
6765 Undocumented. Remove help text.
6766 * doc/invoke.texi (ARM Options): Don't document -msoft-float and
6767 -mhard-float.
6768
666a21a2
JM
67692011-03-30 Joseph Myers <joseph@codesourcery.com>
6770
6771 * doc/options.texi (NegativeAlias): Document.
6772 (Alias): Mention NegativeAlias.
6773 * opt-functions.awk: Handle NegativeAlias.
e9c18386 6774 * optc-gen.awk: Disallow NegativeAlias with multiple Alias arguments.
666a21a2
JM
6775 * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
6776 * opts.h (CL_NEGATIVE_ALIAS): Define.
6777 * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
6778 (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
6779 OPT_mspe_.
6780 * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
6781 Alias entries.
6782 * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
6783 mno-spe and mno-isel instead of mspe=no and -misel=no.
6784
0fa4e351
MW
67852011-03-29 Mark Wielaard <mjw@redhat.com>
6786
6787 * common.opt (fdebug-types-section): New flag.
6788 * doc/invoke.texi: Document new -fno-debug-types-section flag.
6789 * dwarf2out.c (use_debug_types): New define.
6790 (struct die_struct): Mark die_id with GTY desc use_debug_types.
6791 (print_die): Guard output of type unit signatures using
6792 use_debug_types.
6793 (build_abbrev_table): Replace assert of dwarf_version >= 4
6794 with assert on use_debug_types.
6795 (size_of_die): Likewise.
6796 (unmark_dies): Likewise.
6797 (value_format): Decide AT_ref_external form on use_debug_types.
6798 (output_die): Replace dwarf_version version check guard with
6799 use_debug_types where appropriate.
6800 (modified_type_die): Likewise.
6801 (gen_reference_type_die): Likewise.
6802 (dwarf2out_start_source_file): Likewise.
6803 (dwarf2out_end_source_file): Likewise.
6804 (prune_unused_types_walk_attribs): Likewise.
6805 (dwarf2out_finish): Likewise.
6806
4648deb4
VM
68072011-03-30 Vladimir Makarov <vmakarov@redhat.com>
6808
6809 * ira-color.c (ira_assign_hard_reg): Use only one variable 'mode'.
6810
4f431835
RS
68112011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
6812
6813 PR rtl-optimization/48332
6814 * optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
6815 mode of input operand N and modeN to its actual mode.
6816
f2034d06
JL
68172011-03-30 Jeff Law <law@redhat.com>
6818
6819 * reload.h (reg_equiv_constant): Move into new structure reg_equivs,
6820 define accessor macro.
6821 (reg_equiv_invariant, reg_equiv_memory_loc): Likewise.
6822 (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise.
6823 (reg_equiv_init): Likewise.
6824 (reg_equivs_size): New variable.
6825 (reg_equiv_init_size): Remove.
6826 (allocate_initial_values): Move prototype to here from....
6827 * integrate.h (allocate_initial_values): Remove prototype.
6828 * integrate.c: Include reload.h.
6829 (allocate_initial_values): Corresponding changes.
6830 * ira.c (find_reg_equiv_invariant_cost): Corresponding changes.
6831 (fix_reg_equiv_init, no_equiv): Corresponding changes.
6832 (update_equiv_regs): Corresponding changes.
6833 (ira): Corresponding changes.
6834 * reload.c (push_reg_equiv_alt_mem): Corresponding changes.
6835 (push_secondary_reload): Corresponding changes.
6836 (push_reload, find_reloads, find_reloads_toplev): Corresponding changes.
6837 (make_memloc, find_reloads_address): Corresponding changes.
6838 (subst_reg_equivs, subst_indexed_address): Corresponding changes.
6839 (find_reloads_address_1): Corresponding changes.
6840 (find_reloads_subreg_address, subst_reloads): Corresponding changes.
6841 (refers_to_regno_for_reload_p): Corresponding changes.
6842 (reg_overlap_mentioned_for_reload_p): Corresponding changes.
6843 (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes.
6844 * reload1.c: Include ggc.h.
6845 (grow_reg_equivs): New function.
6846 (replace_pseudos_in, reload): Corresponding changes.
6847 (calculate_needs_all_insns, alter_regs): Corresponding changes.
6848 (eliminate_regs_1, elimination_effects): Corresponding changes.
6849 (emit_input_reload_insns, emit_output_reload_insns): Likewise.
6850 (delete_output_reload): Likewise.
6851 * caller-save.c (mark_referenced_regs): Corresponding changes.
6852 * alpha/alpha.c (resolve_reload_operand): Corresponding changes.
6853 * frv/predicates.md (frv_load_operand): Corresponding changes.
6854 * microblaze/microblaze.c (double_memory_operand): Corresponding
6855 changes.
6856 * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes.
6857 * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes.
e9c18386 6858 * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding changes.
f2034d06
JL
6859 * m68k/m68k.c (emit_move_sequence): Corresponding changes.
6860 * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding
6861 changes.
6862 * pa/pa.c (emit_move_sequence): Corresponding changes.
6863 * vax/vax.c (nonindexed_address_p): Corresponding changes.
6864
159b81b0
RS
68652011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
6866
6867 PR target/47551
6868 * config/arm/arm.c (coproc_secondary_reload_class): Handle
6869 structure modes. Don't check neon_vector_mem_operand for
6870 vector or structure modes.
6871
a6217191
RS
68722011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
6873 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
6874
6875 PR target/43590
6876 * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
6877 operand 1 and reshuffle the operands to match.
6878 (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.
6879
bd837408
CS
68802011-03-30 Christian Schüler <cschueler@gmx.de>
6881
6955d771 6882 PR driver/48208
bd837408 6883 * config/c.opt (F): Added 'Driver' to -F option.
e9c18386 6884
6955d771 6885 PR driver/48260
bd837408
CS
6886 * config/darwin-driver.c (darwin_driver_init): Add '-arch' to
6887 handler function.
6888 * config/darwin.opt: Added '-arch' option.
6889
e9c0470a
NC
68902011-03-30 Nick Clifton <nickc@redhat.com>
6891
6892 * config/rx/rx.md: Add peepholes and patterns to combine
6893 extending loads and simple arithmetic instructions.
6894 * config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
e9c18386
UB
6895 * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
6896 * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
e9c0470a 6897 modes to use pre-decrement and post-increment addressing.
e9c18386 6898 (rx_is_restricted_memory_address): Add range checking of REG+INT
e9c0470a 6899 addresses.
e9c18386
UB
6900 (rx_print_operand): Add support for %Q. Fix handling of %Q.
6901 (rx_memory_move_cost): Adjust cost of stores.
6902 (rx_adjust_insn_length): New function.
e9c0470a 6903
8a87e7ab
JJ
69042011-03-30 Jakub Jelinek <jakub@redhat.com>
6905
6906 PR c/48305
6907 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
6908 arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
6909 matching arg00/arg01 types.
6910
12486e03
EB
69112011-03-30 Eric Botcazou <ebotcazou@adacore.com>
6912
6913 * cfglayout.c (insn_locators_alloc): Initialize curr_location and
6914 last_location to UNKNOWN_LOCATION.
6915
0b99eef6
L
69162011-03-30 H.J. Lu <hongjiu.lu@intel.com>
6917
6918 PR target/48349
6919 * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
6920 FLOAT_SSE_REGS.
6921
023592aa
JM
69222011-03-30 Joseph Myers <joseph@codesourcery.com>
6923 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6924
6925 PR bootstrap/48337
6926 * config/sparc/sparc.opt (sparc_cpu_and_features): Add
6927 Init(PROCESSOR_V7).
6928 (sparc_cpu): Likewise.
6929 * config/sparc/sparc.c (sparc_option_override): Replace 0 by
6930 PROCESSOR_V7.
6931
ad3b266b
VM
69322011-03-29 Vladimir Makarov <vmakarov@redhat.com>
6933
6934 PR target/48336
6935 PR middle-end/48342
6936 PR rtl-optimization/48345
6937 * ira-color.c (setup_conflict_profitable_regs): Exclude prohibited
6938 hard regs for given mode from profitable regs when doing secondary
6939 allocation.
6940
633c9126
JL
69412011-03-29 Jeff Law <law@redhat.com>
6942
6943 PR bootstrap/48327
6944 * tree-ssa-threadupdate.c (struct redirection_data): Remove
6945 do_not_duplicate field.
6946 (lookup_redirection_data): Corresponding changes.
6947 (create_duplicates): Always create a template block.
6948 (redirect_edges): Remove code which reused the original block
6949 when it was going to become unreachable code.
6950 (thread_block): Don't set do_not_duplicate field.
6951
eb50f63a
JM
69522011-03-29 Joseph Myers <joseph@codesourcery.com>
6953
6954 * lto-opts.c (register_user_option_p, lto_register_user_option):
6955 Make type argument unsigned.
6956 * lto-streamer.h (lto_register_user_option): Make type argument
6957 unsigned.
6958 * opth-gen.awk: Make CL_* macros unsigned.
6959 * opts-common.c (find_opt): Make lang_mask argument unsigned.
6960 * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
6961 CL_TARGET, CL_COMMON, CL_SEPARATE_NARGS_MASK, CL_SEPARATE_ALIAS,
6962 CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE, CL_DISABLED,
6963 CL_REPORT, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE,
6964 CL_MISSING_OK, CL_UINTEGER, CL_UNDOCUMENTED): Make unsigned.
6965 (find_opt): Make lang_mask argument unsigned.
6966
76763a6d
VM
69672011-03-29 Vladimir Makarov <vmakarov@redhat.com>
6968
6969 PR rtl-optimization/48331
6970 PR rtl-optimization/48334
6971 * ira-color.c (color_allocnos): Call setup_profitable_hard_regs
6972 for any used algorithm.
6973
5c82436e
VM
69742011-03-29 Vladimir Makarov <vmakarov@redhat.com>
6975
6976 * ira-conflicts.c (build_object_conflicts): Add unused attribute
6977 to parent_max.
6978
7a81008b
UB
69792011-03-29 Uros Bizjak <ubizjak@gmail.com>
6980
6981 * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
6982 (alpha_option_override): Don't set alpha_sr_alias_set.
6983 (emit_frame_store_1): Use gen_frame_mem rather than calling
6984 set_mem_alias_set.
6985 (alpha_expand_epilogue): Ditto.
6986
86c8d1f6
IR
69872011-03-29 Ira Rosen <ira.rosen@linaro.org>
6988
6989 PR tree-optimization/48290
6990 * tree-vect-loop.c (vect_analyze_loop_operations): In outer loop
6991 vectorization, check that relevant phis in the basic block after
6992 the inner loop are really inner loop's exit phis.
6993
0d12220f
RS
69942011-03-29 Richard Sandiford <richard.sandiford@linaro.org>
6995
e8cf17e7 6996 PR debug/48190
0d12220f
RS
6997 * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
6998 (cached_dw_loc_list_def): New structure.
6999 (cached_dw_loc_list): New typedef.
7000 (cached_dw_loc_list_table): New variable.
7001 (cached_dw_loc_list_table_hash): New function.
7002 (cached_dw_loc_list_table_eq): Likewise.
7003 (add_location_or_const_value_attribute): Take a bool cache_p.
7004 Cache the list when the parameter is true.
7005 (gen_formal_parameter_die): Update caller.
7006 (gen_variable_die): Likewise.
7007 (dwarf2out_finish): Likewise.
7008 (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
7009 while generating debug info for the decl.
7010 (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
7011 (dwarf2out_init): Initialize cached_dw_loc_list_table.
7012 (resolve_addr): Cache the result of resolving a chain of
7013 location lists.
7014
1756cb66
VM
70152011-03-28 Vladimir Makarov <vmakarov@redhat.com>
7016
7017 * ira-color.c (update_left_conflict_sizes_p): Don't assume that
7018 conflict object hard regset nodes have intersecting hard reg sets.
7a81008b 7019
1756cb66
VM
7020 * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
7021 after regstat_init_n_sets_and_refs.
7022
7023 * ira.c: Add more comments at the top.
7024 (setup_stack_reg_pressure_class, setup_pressure_classes):
7025 Add comments how we compute the register pressure classes.
7026 (setup_allocno_and_important_classes): Add more comments.
7027 (setup_class_translate_array, reorder_important_classes)
7028 (setup_reg_class_relations): Add comments.
7029
7030 * ira-emit.c: Add 2011 to the Copyright line. Add comments at the
7031 start of the file.
7032
7033 * ira-color.c: Add 2011 to the Copyright line.
7034 (assign_hard_reg): Add more comments.
7035 (improve_allocation): Ditto.
7036
7037 * ira-costs.c: Add 2011 to the Copyright line.
7038 (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
7039 comments.
7040 (setup_regno_cost_classes_by_mode): Ditto.
7041
7042 Initial patches from ira-improv branch:
7043
7044 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
7045
f60c2554 7046 * ira-build.c (ira_create_object): Remove initialization of
1756cb66
VM
7047 OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA.
7048 (ira_create_allocno): Remove initialization of
7049 ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
7050 ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
7051 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
7052 ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
7053 ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
7054 Initialize ALLOCNO_ADD_DATA.
7055 (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
7056 and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
7057 ALLOCNO_REG.
7058 (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of
7059 ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
7060
7061 * ira.c (ira_reallocate): Remove.
7062 (setup_pressure_classes): Call
7063 ira_init_register_move_cost_if_necessary. Use
7064 ira_register_move_cost instead of ira_get_register_move_cost.
7065 (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
7066 (ira): Call ira_initiate_emit_data and ira_finish_emit_data.
7067
7068 * ira-color.c: Use ALLOCNO_COLOR_DATA instead of
7069 ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
7070 ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
7071 ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
7072 instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
7073 OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
7074 Fix formatting.
7a81008b 7075 (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h.
1756cb66
VM
7076 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
7077 (struct allocno_color_data): New.
7078 (allocno_color_data_t): New typedef.
7079 (allocno_color_data): New definition.
7080 (ALLOCNO_COLOR_DATA): New macro.
7081 (struct object_color_data): New.
7082 (object_color_data_t): New typedef.
7083 (object_color_data): New definition.
7084 (OBJECT_COLOR_DATA): New macro.
7085 (update_copy_costs, calculate_allocno_spill_cost): Call
7086 ira_init_register_move_cost_if_necessary. Use
7087 ira_register_move_cost instead of ira_get_register_move_cost.
7088 (move_spill_restore, update_curr_costs): Ditto.
7089 (allocno_spill_priority): Make it inline.
7a81008b 7090 (color_pass): Allocate and free allocno_color_dat and object_color_data.
1756cb66
VM
7091 (struct coalesce_data, coalesce_data_t): New.
7092 (allocno_coalesce_data): New definition.
7093 (ALLOCNO_COALESCE_DATA): New macro.
7094 (merge_allocnos, coalesced_allocno_conflict_p): Use
7095 ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
7096 ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
7097 (coalesce_allocnos): Ditto.
7098 (setup_coalesced_allocno_costs_and_nums): Ditto.
7099 (collect_spilled_coalesced_allocnos): Ditto.
7100 (slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
7101 (setup_slot_coalesced_allocno_live_ranges): Ditto.
7102 (coalesce_spill_slots): Ditto.
7103 (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and
7104 free allocno_coalesce_data.
7105
7106 * ira-conflicts.c: Fix formatting.
7107 (process_regs_for_copy): Call
7108 ira_init_register_move_cost_if_necessary. Use
7109 ira_register_move_cost instead of ira_get_register_move_cost.
7110 (build_object_conflicts): Optimize.
7111
7112 * ira-costs.c (record_reg_classes): Optimize. Call
7113 ira_init_register_move_cost_if_necessary. Use
7114 ira_register_move_cost, ira_may_move_in_cost, and
7115 ira_may_move_out_cost instead of ira_get_register_move_cost and
7116 ira_get_may_move_cost.
7117 (record_address_regs): Ditto.
7118 (scan_one_insn): Optimize.
7119 (find_costs_and_classes): Optimize.
7120 (process_bb_node_for_hard_reg_moves): Call
7121 ira_init_register_move_cost_if_necessary. Use
7122 ira_register_move_cost instead of ira_get_register_move_cost.
7123
7124 * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
7125 ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
7126 ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
7127 (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
7128 definitions.
7129 (ira_initiate_emit_data, ira_finish_emit_data)
7130 (create_new_allocno): New functions.
7a81008b 7131 (modify_move_list): Call create_new_alloc instead of ira_create_allocno.
1756cb66
VM
7132 (emit_move_list): Call ira_init_register_move_cost_if_necessary.
7133 Use ira_register_move_cost instead of ira_get_register_move_cost.
7134
7135 * ira-int.h: Fix some comments.
7a81008b
UB
7136 (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c.
7137 (struct object_hard_regs, struct object_hard_regs_node): Ditto.
1756cb66
VM
7138 (struct ira_object): Remove profitable_hard_regs, hard_regs_node,
7139 hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member
7140 add_data.
7141 (struct ira_allocno): Make mode and aclass a bitfield. Move other
7142 bitfield after mode. Make hard_regno a short int. Make
7143 hard_regno short. Remove first_coalesced_allocno and
7144 next_coalesced_allocno. Move mem_optimized_dest_p,
7145 somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
7146 into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p,
7147 available_regs_num, next_bucket_allocno, prev_bucket_allocno,
7148 temp, colorable_p. Add new member add_data.
7149 (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
7150 (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
7151 (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
7152 (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
7153 (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
7154 (ALLOCNO_ADD_DATA): New macro.
7155 (ira_emit_data_t): New typedef.
7156 (struct ira_emit_data): New. Move mem_optimized_dest_p,
7157 somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
7158 from struct ira_allocno.
7159 (ALLOCNO_EMIT_DATA): New macro.
7160 (ira_allocno_emit_data, allocno_emit_reg): New.
7161 (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
7a81008b 7162 (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove.
1756cb66
VM
7163 (OBJECT_ADD_DATA): New macro.
7164 (ira_reallocate): Remove.
7165 (ira_initiate_emit_data, ira_finish_emit_data): New.
7166 (ira_get_register_move_cost, ira_get_may_move_cost): Remove.
7167 (ira_init_register_move_cost_if_necessary): New.
7168 (ira_object_conflict_iter_next): Merge into
7169 ira_object_conflict_iter_cond.
7a81008b 7170 (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
1756cb66 7171
f60c2554 7172 * ira-live.c (process_single_reg_class_operands): Call
1756cb66
VM
7173 ira_init_register_move_cost_if_necessary. Use
7174 ira_register_move_cost instead of ira_get_register_move_cost.
7175
7176 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
7177
7178 * ira-int.h (struct target_ira_int): Remove x_cost_classes.
7179
7180 * ira-costs.c: Fix formatting.
7181 (cost_classes, cost_classes_num): Remove.
7182 (struct cost_classes, cost_classes_t, const_cost_classes_t): New.
7183 (regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
7184 (cost_classes_del, cost_classes_htab): New.
7185 (cost_classes_aclass_cache, cost_classes_mode_cache): New.
7186 (initiate_regno_cost_classes, setup_cost_classes): New.
7187 (setup_regno_cost_classes_by_aclass): New.
7a81008b 7188 (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New.
1756cb66
VM
7189 (record_reg_classes): Use regno_cost_classes instead of
7190 cost_classes. Move checking opposite operand up.
7191 (record_address_regs): Use regno_cost_classes
7192 instead of cost_classes.
7193 (scan_one_insn): Ditto. Use always general register.
7194 (print_allocno_costs): Use regno_cost_classes instead of
7195 cost_classes.
7196 (print_pseudo_costs): Ditto. Use Reg_N_REFS.
7197 (find_costs_and_classes): Set up cost classes for each registers.
7198 Use also their mode for this. Use regno_cost_classes instead of
7199 cost_classes.
7200 (setup_allocno_class_and_costs): Use regno_cost_classes instead of
7201 cost_classes.
7202 (free_ira_costs, ira_init_costs): Don't use cost_classes.
7203 (ira_costs, ira_set_pseudo_classes): Call
7204 initiate_regno_cost_classes and finish_regno_cost_classes.
7205
7206 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
7207
7208 * target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
7209
7210 * target.def (ira_cover_classes): Remove.
7211
7a81008b 7212 * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES.
1756cb66
VM
7213
7214 * doc/tm.texi.in: Ditto.
7215
7216 * ira-conflicts.c: Remove mentioning cover classes from the file.
7217 Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use
7a81008b 7218 ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting.
1756cb66
VM
7219
7220 * targhooks.c (default_ira_cover_classes): Remove.
7221
7222 * targhooks.h (default_ira_cover_classes): Ditto.
7223
7224 * haifa-sched.c: Remove mentioning cover classes from the file.
7225 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
7226 ira_pressure_classes and ira_pressure_classes_num instead of
7227 ira_reg_class_cover_size and ira_reg_class_cover. Use
7228 sched_regno_pressure_class instead of sched_regno_cover_class.
7229 (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
7230 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
7231
7232 * ira-int.h: Add 2010 to Copyright. Remove mentioning cover
7233 classes from the file.
7234 (object_hard_regs_t, object_hard_regs_node_t): New typedefs.
7235 (struct object_hard_regs, struct object_hard_regs_node): New.
7236 (struct ira_object): New members profitable_hard_regs,
7237 hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
7238 (struct ira_allocno): Rename cover_class to aclass. Rename
7239 cover_class_cost and updated_cover_class_cost to class_cost and
7240 updated_class_cost. Remove splay_removed_p and
7241 left_conflict_size. Add new members colorable_p.
7242 (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
7243 (ALLOCNO_COLORABLE_P): New macro.
7244 (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
7245 (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
7246 Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
7247 (OBJECT_...): Rename parameter C to O.
7248 (OBJECT_PROFITABLE_HARD_REGS): New macro.
7249 (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
7250 (OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
7251 (struct target_ira_int): New members x_ira_max_memory_move_cost,
7252 x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
7253 x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
7254 x_ira_reg_pressure_class_p, x_ira_important_class_nums,
7255 x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to
7256 x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to
7257 x_ira_reg_class_subunion.
7258 (ira_max_memory_move_cost, ira_max_register_move_cost)
7259 (ira_max_may_move_in_cost, ira_max_may_move_out_cost)
7260 (ira_reg_allocno_class_p, ira_reg_pressure_class_p)
7261 (ira_important_class_nums, ira_reg_class_superunion): New macros.
7a81008b 7262 (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs.
1756cb66
VM
7263 (ira_reg_class_union): Rename to ira_reg_class_subunion.
7264 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
7265 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
7266 (ira_tune_allocno_costs_and_cover_classes): Rename to
7267 ira_tune_allocno_costs.
7268 (ira_debug_hard_regs_forest): New.
7269 (ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
7270 (ira_object_conflict_iter_next): Fix comments.
7a81008b 7271 (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions.
1756cb66
VM
7272 (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
7273 cover_class to aclass.
7274 (ira_allocate_and_accumulate_costs): Ditto.
7275 (ira_allocate_and_set_or_copy_costs): Ditto.
7276
7277 * opts.c (decode_options): Remove ira_cover_class check.
7278
7279 * ira-color.c: Remove mentioning cover classes from the file. Use
7280 ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
7281 instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
7282 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
7283 (splay-tree.h): Remove include.
7284 (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
7285 before copy_freq_compare_func.
7286 (allocnos_for_spilling, removed_splay_allocno_vec): Remove.
7287 (object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
7288 New definitions.
7289 (hard_regs_roots, hard_regs_node_vec): Ditto.
7290 (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
7291 (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
7292 (finish_object_hard_regs, object_hard_regs_compare): Ditto.
7293 (create_new_object_hard_regs_node): Ditto.
7294 (add_new_object_hard_regs_node_to_forest): Ditto.
7a81008b 7295 (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto.
1756cb66
VM
7296 (setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
7297 Ditto.
7298 (print_hard_reg_set, print_hard_regs_subforest): Ditto.
7299 (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
7300 (remove_unused_object_hard_regs_nodes): Ditto.
7301 (enumerate_object_hard_regs_nodes): Ditto.
7302 (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
7303 (object_hard_regs_subnode_t): Ditto.
7304 (struct object_hard_regs_subnode): Ditto.
7305 (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
7306 (setup_object_hard_regs_subnode_index): Ditto.
7307 (get_object_hard_regs_subnodes_num): Ditto.
7308 (form_object_hard_regs_nodes_forest): Ditto.
7309 (finish_object_hard_regs_nodes_tree): Ditto.
7310 (finish_object_hard_regs_nodes_forest): Ditto.
7311 (allocnos_have_intersected_live_ranges_p): Rename to
7a81008b 7312 allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func.
1756cb66
VM
7313 (pseudos_have_intersected_live_ranges_p): Rename to
7314 conflict_by_live_ranges_p. Move before copy_freq_compare_func.
7315 (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
7316 (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
7317 (update_copy_costs): Remove assert. Skip cost update if the hard
7318 reg does not belong the class.
7319 (assign_hard_reg): Process only profitable hard regs.
7320 (uncolorable_allocnos_num): Make it scalar.
7321 (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
7322 and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
7323 and ira_reg_class_max_nregs.
7324 (bucket_allocno_compare_func): Check frequency first.
7325 (sort_bucket): Add compare function as a parameter.
7326 (add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
7327 (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
7328 (push_allocno_to_stack): Rewrite for checking new allocno
7329 colorability.
7a81008b 7330 (remove_allocno_from_bucket_and_push): Print cost too. Remove assert.
1756cb66
VM
7331 (push_only_colorable): Pass new parameter to sort_bucket.
7332 (push_allocno_to_spill): Remove.
7333 (allocno_spill_priority_compare): Make it inline and rewrite.
7334 (splay_tree_allocate, splay_tree_free): Remove.
7335 (allocno_spill_sort_compare): New function.
7336 (push_allocnos_to_stack): Sort allocnos for spilling once. Don't
7337 build and use splay tree. Choose first allocno in uncolorable
7338 allocno bucket to spill. Remove setting spill cost.
7339 (all_conflicting_hard_regs): Remove.
7340 (setup_allocno_available_regs_num): Check only profitable hard
7341 regs. Print info about hard regs nodes.
7342 (setup_allocno_left_conflicts_size): Remove.
7343 (put_allocno_into_bucket): Don't call
7a81008b 7344 setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p.
1756cb66
VM
7345 (improve_allocation): New.
7346 (color_allocnos): Call setup_profitable_hard_regs,
7347 form_object_hard_regs_nodes_forest, improve_allocation,
7348 finish_object_hard_regs_nodes_forest. Setup spill cost.
7349 (print_loop_title): Use pressure classes.
7350 (color_allocnso): Ditto.
7351 (do_coloring): Remove allocation and freeing splay_tree_node_pool
7352 and allocnos_for_spilling.
7353 (ira_sort_regnos_for_alter_reg): Don't setup members
7354 {first,next}_coalesced_allocno.
7355 (color): Remove allocating and freeing removed_splay_allocno_vec.
7356 (fast_allocation): Use ira_prohibited_class_mode_regs instead of
7357 prohibited_class_mode_regs.
7358
7359 * ira-lives.c: Remove mentioning cover classes from the file. Fix
7360 formatting.
7361 (update_allocno_pressure_excess_length): Use pressure classes.
7362 (inc_register_pressure, dec_register_pressure): Check for pressure
7363 class.
7364 (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
7365 pressure class. Use ira_reg_class_nregs instead of
7366 ira_reg_class_max_nregs.
7367 (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
7368 (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
7369 (single_reg_class): Use ira_reg_class_nregs instead of
7370 ira_reg_class_max_nregs.
7371 (process_bb_node_lives): Use pressure classes.
7372
7373 * ira-emit.c: Remove mentioning cover classes from the file. Use
7374 ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting.
7375 (change_loop): Use pressure classes.
7376 (modify_move_list): Call ira_set_allocno_class instead of
7377 ira_set_allocno_cover_class.
7378
7379 * ira-build.c: Remove mentioning cover classes from the file. Use
7380 ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
7381 ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use
7382 ALLOCNO_UPDATED_CLASS_COST instead of
7383 ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
7384 (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
7385 (ira_create_allocno): Remove initialization of
7386 ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize
7387 ALLOCNO_COLORABLE_P.
7388 (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
7389 Update conflict regs for the objects.
7390 (create_cap_allocno): Remove assert. Don't propagate
7391 ALLOCNO_AVAILABLE_REGS_NUM.
7392 (ira_free_allocno_costs): New function.
7393 (finish_allocno): Change a part of code into call of
7394 ira_free_allocno_costs.
7395 (low_pressure_loop_node_p): Use pressure classes.
7396 (object_range_compare_func): Don't compare classes.
7397 (setup_min_max_conflict_allocno_ids): Ditto.
7398
7399 * loop-invariant.c: Remove mentioning cover classes from the file.
7400 Use ira_pressure_classes and ira_pressure_classes_num instead of
7401 ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting.
7a81008b
UB
7402 (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs.
7403 Use ira_reg_class_max_nregs instead of ira_reg_class_nregs.
7404 Use reg_allocno_class instead of reg_cover_class.
1756cb66
VM
7405 (get_inv_cost): Use instead ira_stack_reg_pressure_class of
7406 STACK_REG_COVER_CLASS.
7407 (get_regno_cover_class): Rename to get_regno_pressure_class.
7408 (move_loop_invariants): Initialize and finalize regstat.
7409
7410 * ira.c: Remove mentioning cover classes from the file. Add
7411 comments about coloring without cover classes. Use ALLOCNO_CLASS
7412 instead of ALLOCNO_COVER_CLASS. Fix formatting.
7413 (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
7414 setup_class_subset_and_memory_move_costs.
7415 (setup_stack_reg_pressure_class, setup_pressure_classes): New.
7416 (setup_cover_and_important_classes): Rename to
7417 setup_allocno_and_important_classes.
7418 (setup_class_translate_array): New.
7419 (setup_class_translate): Call it for allocno and pressure classes.
7420 (cover_class_order): Rename to allocno_class_order.
7421 (comp_reg_classes_func): Use ira_allocno_class_translate instead
7422 of ira_class_translate.
7423 (reorder_important_classes): Set up ira_important_class_nums.
7424 (setup_reg_class_relations): Set up ira_reg_class_superunion.
7425 (print_class_cover): Rename to print_classes. Add parameter.
7426 (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
7427 Print pressure classes too.
7428 (find_reg_class_closure): Rename to find_reg_classes. Don't call
7429 setup_reg_subclasses.
7a81008b 7430 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
7431 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
7432 (setup_prohibited_class_mode_regs): Use
7a81008b 7433 ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs.
1756cb66
VM
7434 (clarify_prohibited_class_mode_regs): New function.
7435 (ira_init_register_move_cost): Set up ira_max_register_move_cost,
7436 ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
7437 (ira_init_once): Initialize them.
7438 (free_register_move_costs): Process them.
7439 (ira_init): Move calls of find_reg_classes and
7440 setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
7441 Call clarify_prohibited_class_mode_regs.
7442 (ira_no_alloc_reg): Remove.
7443 (too_high_register_pressure_p): Use pressure classes.
7444
7445 * sched-deps.c: Remove mentioning cover classes from the file.
7446 Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
7447 ira_pressure_classes and ira_pressure_classes_num instead of
7448 ira_reg_class_cover_size and ira_reg_class_cover.
7449 (mark_insn_hard_regno_birth, mark_hard_regno_death): Use
7450 sched_regno_pressure_class instead of sched_regno_cover_class.
7451 (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use
7452 ira_reg_class_max_nregs instead of ira_reg_class_nregs.
7453
7454 * ira.h: Add 2010 to Copyright.
7455 (ira_no_alloc_reg): Remove external.
7456 (struct target_ira): Rename x_ira_hard_regno_cover_class,
7457 x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
7458 x_ira_class_translate to x_ira_hard_regno_allocno_class,
7459 x_ira_allocno_classes_num, x_ira_allocno_classes, and
7460 x_ira_allocno_class_translate. Add x_ira_pressure_classes_num,
7461 x_ira_pressure_classes, x_ira_pressure_class_translate, and
7462 x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to
7463 x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and
7464 x_ira_no_alloc_regs.
7a81008b 7465 (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
1756cb66
VM
7466 (ira_reg_class_cover_size, ira_reg_class_cover): Rename to
7467 ira_allocno_classes_num and ira_allocno_classes.
7468 (ira_class_translate): Rename to ira_allocno_class_translate.
7469 (ira_pressure_classes_num, ira_pressure_classes): New definitions.
7470 (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
7471 (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
7472 (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
7473 (ira_no_alloc_regs): New.
7474
7475 * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover
7476 classes from the file. Use ALLOCNO_CLASS instead of
7477 ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of
7478 ALLOCNO_COVER_CLASS_COST.
7479 (regno_cover_class): Rename to regno_aclass.
7480 (record_reg_classes): Use ira_reg_class_subunion instead of
7481 ira_reg_class_union.
7482 (record_address_regs): Check overflow.
7483 (scan_one_insn): Ditto.
7a81008b 7484 (print_allocno_costs): Print total mem cost fore regional allocation.
1756cb66
VM
7485 (print_pseudo_costs): Use REG_N_REFS.
7486 (find_costs_and_classes): Use classes intersected with them on the
7487 1st pass. Check overflow. Use ira_reg_class_subunion instead of
7488 ira_reg_class_union. Use ira_allocno_class_translate and
7489 regno_aclass instead of ira_class_translate and regno_cover_class.
7490 Modify code for finding regno_aclass. Setup preferred classes for
7491 the next pass.
7492 (setup_allocno_cover_class_and_costs): Rename to
7493 setup_allocno_class_and_costs. Use regno_aclass instead of
7494 regno_cover_class. Use ira_set_allocno_class instead of
7495 ira_set_allocno_cover_class.
7496 (init_costs, finish_costs): Use regno_aclass instead of
7497 regno_cover_class.
7498 (ira_costs): Use setup_allocno_class_and_costs instead of
7499 setup_allocno_cover_class_and_costs.
7500 (ira_tune_allocno_costs_and_cover_classes): Rename to
7501 ira_tune_allocno_costs. Check overflow. Skip conflict hard regs
7502 by processing objects. Use ira_reg_class_max_nregs instead of
7503 ira_reg_class_nregs.
7504
7505 * rtl.h (reg_cover_class): Rename to reg_allocno_class.
7506
7507 * sched-int.h: Remove mentioning cover classes from the file.
7508 (sched_regno_cover_class): Rename to sched_regno_pressure_class.
7509
7510 * reginfo.c: Add 2010 to Copyright. Remove mentioning cover
7511 classes from the file.
7512 (struct reg_pref): Rename coverclass into allocnoclass.
7513 (reg_cover_class): Rename to reg_allocno_class.
7514
7a81008b 7515 * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies.
1756cb66
VM
7516
7517 * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
7518
7519 * config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
7520
7521 * config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
7522
7523 * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
7524
7525 * config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
7526
7527 * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
7528
7529 * config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
7530
7531 * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
7532
7533 * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
7534
7535 * config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
7536 (i386_ira_cover_classes): Ditto.
7537
7538 * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
7539
7540 * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
7541
7542 * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
7543
7544 * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
7545
7546 * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
7547
7548 * config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
7549
7550 * config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
7551 (mips_ira_cover_classes): Ditto.
7552
7553 * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
7554
7555 * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
7556
7557 * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
7558
7559 * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
7560
7561 * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
7562
7563 * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
7564 (IRA_COVER_CLASSES_VSX): Ditto.
7565
7566 * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
7567 (rs6000_ira_cover_classes): Ditto.
7568
7569 * config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
7570
7571 * config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
7572
7573 * config/score/score.h (IRA_COVER_CLASSES): Ditto.
7574
7575 * config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
7576
7577 * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
7578
7579 * config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
7580
7581 * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
7582
7583 * config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
7584
7585 * config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
7586
7587 * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
7588
2b80199f
JJ
75892011-03-29 Jakub Jelinek <jakub@redhat.com>
7590
71dae1fe
JJ
7591 PR debug/48253
7592 * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
7593 dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
7594 dw_fde_unlikely_section_end_label, cold_in_std_section,
7595 dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
7596 Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
7597 fields.
7598 (output_fde): Use dw_fde_second_{begin,end} if second is
7599 true, otherwise dw_fde_{begin,end}.
7600 (output_call_frame_info): Test dw_fde_second_begin != NULL
7601 instead of dw_fde_switched_sections.
7602 (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
7603 fields, initialize new fields. Initialize in_std_section
7604 unconditionally from the first partition.
7605 (dwarf2out_end_epilogue): Don't override dw_fde_end when
7606 dw_fde_second_begin is non-NULL.
7607 (dwarf2out_switch_text_section): Stop initializing removed
7608 dw_fde_struct fields, initialize new fields, initialize
7609 also dw_fde_end here. Set dw_fde_switch_cfi even when
7610 dwarf2out_do_cfi_asm (). Call var_location_switch_text_section.
7611 (struct var_loc_list_def): Add last_before_switch field.
7612 (arange_table, arange_table_allocated, arange_table_in_use,
7613 ARANGE_TABLE_INCREMENT, add_arange): Removed.
7614 (size_of_aranges): Count !in_std_section and !second_in_std_section
7615 hunks in fdes, instead of looking at arange_table_in_use.
7616 (output_aranges): Add aranges_length argument, don't call
7617 size_of_aranges here. Instead of using aranges_table*
7618 emit ranges for fdes when !in_std_section resp.
7619 !second_in_std_section.
7620 (dw_loc_list): Break ranges crossing section switch.
7621 (convert_cfa_to_fb_loc_list): Likewise. If switched sections,
7a81008b 7622 use dw_fde_second_end instead of dw_fde_end as end of last range.
71dae1fe
JJ
7623 (gen_subprogram_die): Don't call add_arange. Use
7624 dw_fde_{begin,end} for first partition and if switched
7625 section dw_fde_second_{begin,end} for the second.
7626 (var_location_switch_text_section_1,
7627 var_location_switch_text_section): New functions.
7628 (dwarf2out_begin_function): Initialize cold_text_section even
7629 when function_section () isn't text_section.
7630 (prune_unused_types): Don't walk arange_table.
7631 (dwarf2out_finish): Don't needlessly test
7632 flag_reorder_blocks_and_partition when testing cold_text_section_used.
7633 If info_section_emitted, call size_of_aranges and if it indicates
7634 non-empty .debug_aranges, call output_aranges with the computed
7635 size. Stop using removed dw_fde_struct fields, use
7636 dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
7637 for second.
7638
2b80199f
JJ
7639 PR debug/48203
7640 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Only
7641 create ENTRY_VALUE if incoming or address of incoming's MEM
7642 is a hard REG.
7643 * dwarf2out.c (mem_loc_descriptor): Don't emit
7644 DW_OP_GNU_entry_value of DW_OP_fbreg.
7645 * var-tracking.c (vt_add_function_parameter): Ensure cselib_lookup
7646 on ENTRY_VALUE is able to find the canonical parameter VALUE.
7647 * cselib.c (rtx_equal_for_cselib_1) <case ENTRY_VALUE>: Use
7648 rtx_equal_p instead of rtx_equal_for_cselib_1 to compare
7649 ENTRY_VALUE_EXPs.
7650 (cselib_hash_rtx) <case ENTRY_VALUE>: If ENTRY_VALUE_EXP
7651 is a REG_P or MEM_P with REG_P address, compute hash directly
7652 instead of calling cselib_hash_rtx on ENTRY_VALUE_EXP.
7653 (preserve_only_constants): Don't clear VALUES forwaring
7654 ENTRY_VALUE to some other VALUE.
7655
8a445129
RS
76562011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
7657
7658 * builtins.c (expand_builtin_memset_args): Use gen_int_mode
7659 instead of GEN_INT.
7660
c82fee88
EB
76612011-03-28 Eric Botcazou <ebotcazou@adacore.com>
7662
7663 * cfgexpand.c (expand_gimple_cond): Always set the source location and
7664 block before expanding the statement.
7665 (expand_gimple_stmt_1): Likewise. Set them here...
7666 (expand_gimple_stmt): ...and not here. Tidy.
7667 * cfglayout.c (curr_insn_locator): Return 0 if the current location is
7668 unknown.
7669
e45425ec
SB
76702011-03-28 Steven Bosscher <steven@gcc.gnu.org>
7671
7672 * Makefile.in: New rule for cprop.o.
7673 * gcse.c: Move constant/copy propagation to cprop.c.
7674 (compute_local_properties): Only handle expression tables.
7675 (hash_scan_set, compute_hash_table_work, alloc_hash_table,): Likewise.
7676 (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
7677 (hash_set, insert_set_in_table, gcse_constant_p, lookup_set,
7678 next_set, reset_opr_set_tables, oprs_not_set_p, mark_call, mark_set,
7a81008b 7679 mark_clobber, mark_oprs_set, alloc_cprop_mem, free_cprop_mem,
e45425ec
SB
7680 compute_cprop_data, find_used_regs, try_replace_reg,
7681 find_avail_set, cprop_jump, constprop_register, cprop_insn,
7682 local_cprop_find_used_regs, do_local_cprop, local_cprop_pass,
7683 fis_get_condition, implicit_set_cond_p, find_implicit_sets,
7684 find_bypass_set, reg_killed_on_edge, bypass_block,
7685 bypass_conditional_jumps, one_cprop_pass, gate_rtl_cprop,
7686 execute_rtl_cprop, pass_rtl_cprop): Move to...
7687 * cprop.c: ...here. New file, constant/copy propagation for RTL
7688 moved from gcse.c to here with minor cleanups in duplicated code.
7689
c09d5426
L
76902011-03-28 H.J. Lu <hongjiu.lu@intel.com>
7691
7692 * config/i386/i386.c (flag_opts): Fix a typo in
7693 -mavx256-split-unaligned-store.
7694
9eaa7740
AS
76952011-03-28 Anatoly Sokolov <aesok@post.ru>
7696
7697 * config/h8300/h8300.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
7698 LIBCALL_VALUE): Remove macros.
7699 * config/h8300/h8300.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
7700 TARGET_FUNCTION_VALUE_REGNO_P): Define.
7701 (h8300_function_value, h8300_libcall_value,
7702 h8300_function_value_regno_p): New functions.
7703
dcec2be2
AS
77042011-03-28 Anatoly Sokolov <aesok@post.ru>
7705
7706 * config/h8300/h8300.h (ASM_OUTPUT_BSS): Remove macro.
7707
520af9ec
JL
77082011-03-28 Jeff Law <law@redhat.com>
7709
7710 * tree-ssa-threadupdate.c (redirect_edges): Call
7711 create_edge_and_update_destination_phis as needed.
7712 (create_edge_and_update_destination_phis): Accept new BB argument.
7713 All callers updated.
7714 (thread_block): Do not update the profile when threading around
7715 intermediate blocks.
7716 (thread_single_edge): Likewise.
7717 (determine_bb_domination_status): If BB is not a successor of the
7718 loop header, return NONDOMINATING.
7719 (register_jump_thread): Note when we register a jump thread around
7720 an intermediate block.
7721 * tree-ssa-threadedge.c (thread_around_empty_block): New function.
7722 (thread_across_edge): Use it.
7723
7450b54f
TG
77242011-03-28 Tristan Gingold <gingold@adacore.com>
7725
7726 * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
7727 when for_return is 2.
7728
649beb33
JL
77292011-03-28 Jeff Law <law@redhat.com>
7730
7731 * var-tracking.c (canonicalize_values_mark): Delete unused
7732 lhs assignment.
7733 (canonicalize_values_star, set_variable_part): Likewise.
7734 (clobber_variable_part, delete_variable_part): Likewise.
7735
d5b8da97
SB
77362011-03-28 Steven Bosscher <steven@gcc.gnu.org>
7737
7738 * gcse.c (free_gcse_mem): Free reg_set_bitmap.
7739
322dd859
MJ
77402011-03-28 Martin Jambor <mjambor@suse.cz>
7741
7742 * tree-inline.c (expand_call_inline): Do not check that destination
7743 node is analyzed.
7744 (optimize_inline_calls): Assert that destination node is analyzed.
7745 * cgraph.c (cgraph_add_new_function): Call cgraph_analyze_function, do
7746 not call tree_lowering_passes.
7747 * cgraph.h (cgraph_analyze_function): Declare.
7748 * cgraphunit.c (cgraph_analyze_function): Make public.
7749
aa53e58b
JM
77502011-03-28 Joseph Myers <joseph@codesourcery.com>
7751
7752 * config/sparc/sparc-opts.h: New.
7753 * config/sparc/sparc.c (sparc_handle_option, sparc_select,
7754 sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
7755 (sparc_option_override): Store processor_type enumeration rather
7756 than string in cpu_default. Remove name and enumeration from
7757 cpu_table. Directly default -mcpu then default -mtune from -mcpu
7758 without using sparc_select. Use target_flags_explicit instead of
7759 fpu_option_set.
7760 * config/sparc/sparc.h (enum processor_type): Move to
7761 sparc-opts.h.
7762 (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
7763 * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
7764 HeaderInclude entry.
7765 (mcpu=, mtune=): Use Var and Enum.
7766 (sparc_processor_type): New Enum and EnumValue entries.
7767
dd350eba
RO
77682011-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7769 Iain Sandoe <iains@gcc.gnu.org>
7770
7771 PR target/48245
7772 * config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.
7773
1b29f05e
EB
77742011-03-28 Eric Botcazou <ebotcazou@adacore.com>
7775
7776 * tree-vectorizer.h (vect_create_data_ref_ptr): Adjust prototype.
7777 * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add GSI parameter.
7778 Insert new statements at it in lieu of STMT.
7779 (vect_setup_realignment): Adjust call to vect_create_data_ref_ptr.
7780 * tree-vect-stmts.c (vectorizable_store): Likewise.
7781 (vectorizable_load): Likewise.
7782
506e6808
UB
77832011-03-28 Uros Bizjak <ubizjak@gmail.com>
7784
7785 * config/alpha/alpha.md (addtf3): Change mode of operands to TFmode.
7786 (divtf3): Ditto.
7787 (multf3): Ditto.
7788 (subtf3): Ditto.
7789
2e939ee9
L
77902011-03-27 H.J. Lu <hongjiu.lu@intel.com>
7791
7792 * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
7793 unaligned 256bit load/store.
7794 (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
7795 (*avx_movdqu<avxmodesuffix>): Likewise.
7796
5e85ab88
JDA
77972011-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7798
7799 PR target/48288
7800 * config/pa/predicates.md (reg_or_ior_operand): New predicate.
7801 * config/pa/pa.md (iordi3): Use new predicate in expander.
7802 (iorsi3): Likewise.
7803
47be3d6d
AS
78042011-03-27 Anatoly Sokolov <aesok@post.ru>
7805
506e6808 7806 * config/mips/mips.h (LIBCALL_VALUE, FUNCTION_VALUE,
47be3d6d 7807 FUNCTION_VALUE_REGNO_P): Remove macros.
506e6808
UB
7808 * config/mips/mips-protos.h (mips_function_value): Remove.
7809 * config/mips/mips.c (mips_function_value): Rename to...
47be3d6d
AS
7810 (mips_function_value_1): ... this. Make static. Handle receiving
7811 the function type in 'fn_decl_or_type' argument.
7812 (mips_function_value, mips_libcall_value,
7813 mips_function_value_regno_p): New function.
7814 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
7815 TARGET_FUNCTION_VALUE_REGNO_P): Define.
7816
d253656a
L
78172011-03-27 H.J. Lu <hongjiu.lu@intel.com>
7818
7819 * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
7820 and -mavx256-split-unaligned-store.
7821 (ix86_option_override_internal): Split 32-byte AVX unaligned
7822 load/store by default.
7823 (ix86_avx256_split_vector_move_misalign): New.
7824 (ix86_expand_vector_move_misalign): Use it.
7825
7826 * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
7827 -mavx256-split-unaligned-store.
7828
7829 * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
7830 256bit load/store. Generate unaligned store on misaligned memory
7831 operand.
7832 (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
7833 256bit load/store.
7834 (*avx_movdqu<avxmodesuffix>): Likewise.
7835
7836 * doc/invoke.texi: Document -mavx256-split-unaligned-load and
7837 -mavx256-split-unaligned-store.
7838
1ea9206a
RS
78392011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
7840
7841 PR target/38598
7842 * config/mips/mips.md (extendsidi2): Add an "l" alternative.
7843 Update commentary.
7844
b99ce2a8
RS
78452011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
7846
7847 * config/mips/mips.c (mips_prepare_builtin_arg): Replace icode and
7848 opno arguments with an expand_operand. Use create_input_operand.
7849 (mips_prepare_builtin_target): Delete.
7850 (mips_expand_builtin_insn, mips_expand_builtin_compare_1): New
7851 functions.
7852 (mips_expand_builtin_direct): Use create_output_operand and
7853 mips_expand_builtin_insn. Update call to mips_prepare_builtin_arg.
7854 (mips_expand_builtin_movtf): Likewise. Use mips_expand_fp_comparison.
7855 (mips_expand_builtin_compare): Use mips_expand_fp_comparison.
7856
69d52339
IR
78572011-03-27 Ira Rosen <ira.rosen@linaro.org>
7858
7859 * config/arm/arm.c (arm_autovectorize_vector_sizes): New
7860 function.
7861 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
7862
ba5e9aca
EB
78632011-03-26 Eric Botcazou <ebotcazou@adacore.com>
7864
7865 * basic-block.h (fixup_abnormal_edges): Adjust prototype.
7866 * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover
7867 basic blocks and call commit_edge_insertions directly.
7868 (fixup_abnormal_edges): Move from here to...
7869 * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions
7870 on the edges and return whether some have actually been inserted.
7871 * reg-stack.c (convert_regs): Fix up abnormal edges before inserting
7872 compensation code.
7873
5d369d58
AB
78742011-03-26 Andrey Belevantsev <abel@ispras.ru>
7875
7876 PR rtl-optimization/48144
7877 * sel-sched-ir.c (merge_history_vect): Factor out from ...
7878 (merge_expr_data): ... here.
7879 (av_set_intersect): Rename to av_set_code_motion_filter.
7880 Update all callers. Call merge_history_vect when an expression
7881 is found in both sets.
7882 * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
7883
f082c000
AM
78842011-03-26 Alan Modra <amodra@gmail.com>
7885
7886 * config/rs6000/predicates.md (word_offset_memref_op): Handle
7887 cmodel medium addresses.
7888 * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
7889 64-bit gpr loads and stores.
7890 (rs6000_secondary_reload_ppc64): New function.
7891 * config/rs6000/rs6000-protos.h: Declare it.
7892 * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
7893
8ac5e12e
AM
78942011-03-26 Alan Modra <amodra@gmail.com>
7895
7896 PR target/47487
7897 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
7898 GNU Go in traceback table.
7899
c2654ded
RH
79002011-03-25 Richard Henderson <rth@redhat.com>
7901
7902 * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
7903 if there are exactly 6 operands.
7904 (set_storage_via_setmem): Similarly.
7905
ba78087b
KT
79062011-03-25 Kai Tietz <ktietz@redhat.com>
7907
7908 * collect2.c (write_c_file_stat): Handle backslash
7909 as right-hand directory separator.
7910 (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
7911 checking just for slash.
7912 * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
7913 instead of checking for trailing slash.
7914 * gcc.c (record_temp_file): Use filename_cmp instead
7915 of strcmp.
7916 (do_spec_1): Likewise.
7917 (replace_outfile_spec_function): Likewise.
7918 (is_directory): Use filename_ncmp instead of strncmp.
7919 (print_multilib_info): Likewise.
7920 * gcov.c (find_source): Use filename_cmp instead
7921 instead of strcmp.
7922 (make_gcov_file_name): Fix order of slash/backslash
7923 checks.
7924 * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
7925 (add_standard_paths): Likewise.
7926 * mips-tfile.c (saber_stop): Handle backslash.
7927 * prefix.c (update_path): Use filename_ncmp instead of
7928 strncmp.
7929 * profile.c (output_location): Use filename_cmp instead
7930 of strcmp.
7931 * read-md.c (handle_toplevel_file): Handle backslash.
7932 * tlink.c (frob_extension): Likewise.
7933 * tree-cfg.c (same_line_p): Use filename_cmp instead of
7934 strcmp.
7935 * tree-dump.c (dequeue_and_dump): Handle backslash.
7936 * tree.c (get_file_function_name): Likewise.
7937 * gengtype.c (read_input_list): Likewise.
7938 (get_file_realbasename): Likewise.
7939 (get_output_file_with_visibility): Use filename_cmp
7940 instead of strcmp.
7941
75f6ec9a
RS
79422011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
7943
7944 * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
7945 case to VFPv1.
7946
6c4e2997
NF
79472011-03-25 Nathan Froyd <froydnj@codesourcery.com>
7948
7949 * fold-const.c (expr_location_or): New function.
7950 (fold_truth_not_expr): Call it.
7951
0edf1bb2
JL
79522011-03-25 Jeff Law <law@redhat.com>
7953
7954 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
7955 va_end.
7956 * c-family/c-common.c (def_fn_type): Likewise.
7957 * ada/gcc-interface/utils.c (def_fn_type): Likewise.
7958 * emit-rtl.c (gen_rtvec): Likewise.
7959 * lto/lto-lang.c (def_fn_type): Likewise.
7960
fdc2de95
RG
79612011-03-25 Richard Guenther <rguenther@suse.de>
7962
7963 * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
7964 also generate copies.
7965 (fini_copy_prop): Handle constant values properly.
7966
21385db0
JJ
79672011-03-25 Jakub Jelinek <jakub@redhat.com>
7968
7969 * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
7970 mode size instead of bitsize with DWARF2_ADDR_SIZE.
7971 (hash_loc_operands, compare_loc_operands): Handle
7972 DW_OP_GNU_entry_value.
7973
6510e8bb
KT
79742011-03-25 Kai Tietz <ktietz@redhat.com>
7975
7976 * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
7977 (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
7978 * config/i386/i386.c (ix86_conditional_register_usage): Adjust
7979 comment and use macro TARGET_64BIT_MS_ABI instead.
7980 (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
7981 and change default behavior for 32-bit MS_ABI.
7982 (ix86_reg_parm_stack_space): Check additionally for bit-ness.
7983 (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
7984 32-bit, too.
7985 (ix86_cfun_abi): Likewise.
7986 (ix86_maybe_switch_abi): Adjust comment.
7987 (init_cumulative_args): Check for bit-ness in MS_ABI case.
7988 (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
7989 instead of checking for SYSV_ABI.
7990 (ix86_nsaved_sseregs): Likewise.
7991 (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
7992 to 16 bytes.
7993 (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
7994 * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
7995 (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
7996 (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
7997 * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
7998
34019e28
RG
79992011-03-25 Richard Guenther <rguenther@suse.de>
8000
8001 * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
8002 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
8003 (verify_gimple): Remove.
8004 * tree-cfg.c (verify_gimple_call): Merge verification
8005 from verify_stmts.
8006 (verify_gimple_phi): Merge verification from verify_stmts.
8007 (verify_gimple_label): New function.
8008 (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
8009 (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
8010 (verify_stmt): Merge into verify_gimple_in_cfg and callees.
8011 (verify_stmts): Rename to verify_gimple_in_cfg.
8012 (verify_gimple_in_cfg): New function.
8013 * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
8014 * tree-ssa.c (verify_ssa): Likewise.
8015 * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
8016
605896f5
RG
80172011-03-25 Richard Guenther <rguenther@suse.de>
8018
8019 * passes.c (init_optimization_passes): Add FRE pass after
8020 early SRA.
8021
7baa7c13
BS
80222011-03-25 Bernd Schmidt <bernds@codesourcery.com>
8023 Andrew Stubbs <ams@codesourcery.com>
8024
8025 * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
8026 for Cortex-A8.
8027 (arm_movdi_vfp_cortexa8): New pattern.
8028 * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
8029 iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
8030 instructions when tuning for Cortex-A8. Set attribute "arch".
8031 * config/arm/arm.md: Move include arm-tune.md up a bit.
8032 (define_attr "arch"): Add "onlya8" and "nota8" values.
8033 (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
8034
45dbce1b
NF
80352011-03-25 Nathan Froyd <froydnj@codesourcery.com>
8036
4ff08abf 8037 PR bootstrap/48282
45dbce1b
NF
8038 Revert:
8039 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
8040
8041 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
8042 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
8043 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
8044 * passes.c (init_optimization_passes): Move
8045 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
8046
ac9a30ae
KT
80472011-03-25 Kai Tietz <ktietz@redhat.com>
8048
8049 * c-typeck.c (comptypes_internal): Replace target
8050 hook call of comp_type_attributes by version in tree.c file.
8051 * gimple.c (gimple_types_compatible_p_1): Likewise.
8052 * tree-ssa.c (useless_type_conversion_p): Likewise.
8053 * tree.c (build_type_attribute_qual_variant): Likewise.
8054 (attribute_value_equal): New static helper function.
8055 (comp_type_attributes): New function.
8056 (merge_attributes): Use attribute_value_equal for comparison.
8057 (attribute_list_contained): Likewise.
8058 * tree.h (comp_type_attributes): New prototype.
8059
afdac116
RG
80602011-03-25 Richard Guenther <rguenther@suse.de>
8061
8062 * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
8063 of complex types at -O0.
8064 (verify_gimple_assign_binary): Likewise.
8065 (verify_gimple_assign_ternary): Likewise.
8066
ec6165f8
MW
80672011-03-24 Mark Wielaard <mjw@redhat.com>
8068
8069 * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
8070 (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
8071
2a5ac39a
MW
80722011-03-24 Mark Wielaard <mjw@redhat.com>
8073
8074 PR debug/48041
8075 * dwarf2out.c (output_abbrev_section): Only write table when
8076 abbrev_die_table_in_use > 1.
8077
e533b2a4
RH
80782011-02-24 Richard Henderson <rth@redhat.com>
8079
8080 * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
8081 (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
8082 (alpha_expand_unaligned_load_words): Use extql.
8083 (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
8084 (emit_insxl): Handle all modes for consistency.
8085
0b2a7367
RH
80862011-02-24 Richard Henderson <rth@redhat.com>
8087
8088 * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
8089 (alpha_expand_unaligned_load): Likewise.
8090 (alpha_expand_unaligned_store): Likewise.
8091 (alpha_expand_unaligned_load_words): Likewise.
8092 (alpha_expand_unaligned_store_words): Likewise.
8093 (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
8094 (alpha_split_lock_test_and_set_12): Likewise.
8095 (print_operand, alpha_fold_builtin_extxx): Likewise.
8096 (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
8097 * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
8098 (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
8099 (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
8100 (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
8101 (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
8102 (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
8103 (unaligned_storeqi_be, unaligned_storehi_be): Remove.
8104 (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
8105 (extwl, extll, extql): Similarly.
8106 (inswh, inslh, insqh): Similarly.
8107 (mskbl, mskwl, mskll, mskql): Similarly.
8108 (mskwh, msklh, mskqh): Similarly.
8109
315b2bef
RH
81102011-02-24 Richard Henderson <rth@redhat.com>
8111
8112 * config/alpha/alpha.md (attribute isa): Add er, ner.
8113 (attribute enabled): Handle them.
8114 (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
8115
67102517
RH
81162011-02-24 Richard Henderson <rth@redhat.com>
8117
8118 * config/alpha/alpha.md (attribute isa): Add vms.
8119 (attribute enabled): Handle it.
8120 (*movsf): Merge *movsf_{nofix,fix,nofp}.
8121 (*movdf): Merge *movdf_{nofix,fix,nofp}.
8122 (*movtf): Rename from *movtf_internal for consistency.
8123 (*movsi): Merge with *movsi_nt_vms.
8124 (*movhi): Merge *movhi_nobwx, *movhi_bwx.
8125 (*movqi): Merge *movqi_nobwx, *movqi_bwx.
8126 (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
8127 * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
8128
6aba5cb4
RH
81292011-02-24 Richard Henderson <rth@redhat.com>
8130
8131 * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
8132 (extendqisi2, extendhisi2): Likewise.
8133 (extendqidi2): Simplify BWX/non-BWX expansions.
8134 (extendhidi2): Similarly.
8135
bdfb351b
RH
81362011-02-24 Richard Henderson <rth@redhat.com>
8137
8138 * config/alpha/alpha.md (attribute isa): New.
8139 (attribute enabled): New.
8140 (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
8141 (zero_extendqisi2, zero_extendqidi2): Similarly.
8142 (zero_extendhisi2, zero_extendhidi2): Similarly.
8143 * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
8144
6abe71eb
RH
81452011-02-24 Richard Henderson <rth@redhat.com>
8146
8147 * config/alpha/predicates.md (input_operand): Revert last change;
8148 update comment to mention 32-bit VMS rather than Windows.
8149
7114321e
NF
81502011-03-24 Nathan Froyd <froydnj@codesourcery.com>
8151
8152 * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
8153 FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
8154 (pass_instantiate_virtual_regs): Require PROP_cfglayout.
8155 * passes.c (init_optimization_passes): Move
8156 pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
8157
c8679567
EB
81582011-03-24 Eric Botcazou <ebotcazou@adacore.com>
8159
8160 * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
8161
27173058
UB
81622011-03-24 Uros Bizjak <ubizjak@gmail.com>
8163
8164 * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
8165 correctly.
8166
6f0c9f06
JJ
81672011-03-24 Jakub Jelinek <jakub@redhat.com>
8168
8169 PR debug/48204
8170 * simplify-rtx.c (simplify_const_unary_operation): Call
8171 real_convert when changing mode class with FLOAT_EXTEND.
8172
662666e5
NC
81732011-03-24 Nick Clifton <nickc@redhat.com>
8174
8175 * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
8176 (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
8177 * config/rx/rx.c (rx_option_override): Set align_jumps,
8178 align_loops and align_labels if not set by the user.
8179 (rx_align_for_label): New function.
8180 (rx_max_skip_for_label): New function.
8181 (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
8182 (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
8183 (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
8184 (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
8185 * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
8186
2b99b2b8
RS
81872011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
8188
8189 PR rtl-optimization/48263
8190 * optabs.c (expand_binop_directly): Reinstate convert_modes code
8191 and original commutative_p handling. Use maybe_gen_insn.
8192
ccecd6ea
AK
81932011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8194
8195 * reload.c (find_reloads_subreg_address): Add address_reloaded
8196 parameter and return true there if the full address has been
8197 reloaded.
8198 (find_reloads_toplev): Pass address_reloaded flag.
8199 (find_reloads_address_1): Don't use address_reloaded parameter.
8200
67295642
JL
82012011-03-24 Jeff Law <law@redhat.com>
8202
8203 * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
8204 unused variable "ann".
8205 (remove_unused_locals): Likewise.
8206
8207 * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
8208 statement.
8209
8210 * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
8211 after it is freed.
8212
212aa74f
AK
82132011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8214
8215 * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
8216 for invalid symbolic addresses.
8217 (s390_secondary_reload): Don't use s390_check_symref_alignment for
8218 larl operands.
8219
fe784e0d
EB
82202011-03-24 Eric Botcazou <ebotcazou@adacore.com>
8221
8222 * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
8223 the argument in calls to fold_truth_not_expr.
8224
63ee8641
NF
82252011-03-24 Nathan Froyd <froydnj@codesourcery.com>
8226
8227 * tree.c (record_node_allocation_statistics): New function.
8228 (make_node_stat, copy_node_stat, build_string): Call it.
8229 (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
8230 (build1_stat, build_omp_clause): Likewise.
8231
61be2a1c
RS
82322011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
8233
8234 * builtins.c (expand_movstr): Fix endp == 1 adjustment after
8235 last commit.
8236
a881aaa7
RG
82372011-03-24 Richard Guenther <rguenther@suse.de>
8238
8239 PR tree-optimization/48271
8240 * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
8241 blocks that still exist.
8242
dbaa912c
RG
82432011-03-24 Richard Guenther <rguenther@suse.de>
8244
8245 PR tree-optimization/48270
8246 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
8247 not free datarefs before ddrs.
8248
1d60cc55
EB
82492011-03-24 Eric Botcazou <ebotcazou@adacore.com>
8250
8251 * tree-sra.c (build_ref_for_offset): Strip useless type conversions
8252 from the address built for a reference with variable offset.
8253
c78dd519
UB
82542011-03-24 Uros Bizjak <ubizjak@gmail.com>
8255
8256 PR target/48237
8257 * config/i386/i386.md (*movdf_internal_rex64): Do not split
8258 alternatives that can be handled with movq or movabsq insn.
8259 (*movdf_internal): Disable for !TARGET_64BIT.
8260 (*movdf_internal_nointeger): Ditto.
8261 * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
8262
b25b9e8f
NF
82632011-03-24 Nathan Froyd <froydnj@codesourcery.com>
8264
8265 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
8266 (FUNCTION_ARG_ADVANCE): Likewise.
8267 * tm.texi.in: Change references to them to hook references.
8268 * tm.texi: Regenerate.
c78dd519 8269 * targhooks.c (default_function_arg): Eliminate check for target macro.
b25b9e8f
NF
8270 (default_function_incoming_arg): Likewise.
8271 (default_function_arg_advance): Likewise.
c78dd519 8272 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
b25b9e8f
NF
8273 (function_arg_advance): Likewise.
8274 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
8275
190b2187
RG
82762011-03-24 Richard Guenther <rguenther@suse.de>
8277
8278 PR middle-end/48269
8279 * tree-object-size.c (addr_object_size): Do not double-account
8280 for MEM_REF offsets.
8281
a183b5c7
DN
82822011-03-24 Diego Novillo <dnovillo@google.com>
8283
8284 * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
c78dd519 8285 * lto-streamer-in.c (input_string_internal): Add clarifying comments.
a183b5c7
DN
8286 (lto_input_data_block): Move from lto-opts.c. Make extern.
8287 Update all users.
8288 (lto_input_string): Rename from input_string. Make extern.
8289 Update all users.
8290 * lto-streamer-out.c (lto_output_string_with_length): Rename from
8291 output_string_with_length.
8292 Output 0 to indicate a non-NULL string. Update all callers to
8293 not emit 0.
8294 (lto_output_string): Rename from output_string. Make extern.
8295 Update all users.
8296 (lto_output_decl_state_streams): Make extern.
8297 (lto_output_decl_state_refs): Make extern.
8298 * lto-streamer.h (lto_input_string): Declare.
8299 (lto_input_data_block): Declare.
8300 (lto_output_string): Declare.
8301 (lto_output_string_with_length): Declare.
8302 (lto_output_decl_state_streams): Declare.
8303 (lto_output_decl_state_refs): Declare.
8304
cfef45c8
RG
83052011-03-24 Richard Guenther <rguenther@suse.de>
8306
8307 PR tree-optimization/46562
8308 * tree.c (build_invariant_address): New function.
8309 * tree.h (build_invariant_address): Declare.
8310 * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
8311 a renamed function moved ...
8312 * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
8313 Take valueization callback parameter.
8314 * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
8315 * gimple-fold.h: New file.
8316 * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
8317 (ccp_fold, fold_const_aggregate_ref,
8318 fold_ctor_reference, fold_nonarray_ctor_reference,
8319 fold_array_ctor_reference, fold_string_cst_ctor_reference,
8320 get_base_constructor): Move ...
8321 * gimple-fold.c: ... here.
8322 (gimple_fold_stmt_to_constant_1): New function
8323 split out from ccp_fold. Take a valueization callback parameter.
8324 Valueize all operands.
8325 (gimple_fold_stmt_to_constant): New wrapper function.
8326 (fold_const_aggregate_ref_1): New function split out from
8327 fold_const_aggregate_ref. Take a valueization callback parameter.
8328 (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
8329 * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
8330 invariant POINTER_PLUS_EXPRs to invariant form.
8331 (vn_valueize): New function.
8332 (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
8333 * tree-vrp.c (vrp_valueize): New function.
8334 (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
8335 to fold statements to constants.
8336 * tree-ssa-pre.c (eliminate): Properly guard propagation of
8337 function declarations.
8338 * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
8339 tree-ssa-ccp.o): Add gimple-fold.h dependencies.
8340
5e0a7e40
RS
83412011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
8342
8343 * config/h8300/predicates.md (jump_address_operand): Fix register
8344 mode check.
8345
bfe068c3
IR
83462011-03-24 Ira Rosen <ira.rosen@linaro.org>
8347
8348 * doc/invoke.texi (max-stores-to-sink): Document.
8349 * params.h (MAX_STORES_TO_SINK): Define.
8350 * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
8351 if either vectorization or if-conversion is disabled.
8352 * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
8353 tree-vect-data-refs.c vect_equal_offsets.
8354 (dr_equal_offsets_p): New function.
8355 (find_data_references_in_bb): Remove static.
8356 * tree-data-ref.h (find_data_references_in_bb): Declare.
8357 (dr_equal_offsets_p): Likewise.
8358 * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
8359 (vect_drs_dependent_in_basic_block): Update calls to
8360 vect_equal_offsets.
8361 (vect_check_interleaving): Likewise.
8362 * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
8363 (cond_if_else_store_replacement): Rename to...
8364 (cond_if_else_store_replacement_1): ... this. Change arguments and
8365 documentation.
8366 (cond_if_else_store_replacement): New function.
8367 * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
8368 * params.def (PARAM_MAX_STORES_TO_SINK): Define.
8369
4908b0bf
CLT
83702011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
8371
8372 PR target/46934
8373 * config/arm/arm.md (casesi): Use the gen_int_mode() function
8374 to subtract lower bound instead of GEN_INT().
8375
2be478a2
JW
83762011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
8377
8378 PR other/48179
8379 PR other/48221
8380 PR other/48234
8381 * doc/extend.texi (Alignment): Move section to match order in TOC.
8382 * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
8383 (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
8384
0c617be4
JL
83852011-03-23 Jeff Law <law@redhat.com>
8386
8387 * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
8388 before removing the edge.
8389
8390 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
8391 it may have been freed by redirect_branch_edge or
8392 redirect_edge_succ_nodup.
8393
58da96fe
RG
83942011-03-23 Richard Guenther <rguenther@suse.de>
8395
c78dd519 8396 * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
58da96fe
RG
8397 (check_va_list_escapes): Likewise.
8398 (check_all_va_list_escapes): Likewise.
8399
b8beb4d1
RG
84002011-03-23 Richard Guenther <rguenther@suse.de>
8401
8402 * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
8403 (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
8404 (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
8405 (alias.o): Likewise.
8406 (ipa-type-escape.o): Remove.
8407 (ipa-struct-reorg.o): Likewise.
8408 (GTFILES): Remove ipa-struct-reorg.c.
8409 * alias.c: Do not include ipa-type-escape.h.
8410 * tree-ssa-alias.c: Likewise.
8411 * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
8412 * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
8413 * passes.c (init_optimization_passes): Remove ipa-struct-reorg
8414 and ipa-type-escape passes.
8415 * tree-pass.h (pass_ipa_type_escape): Remove.
8416 (pass_ipa_struct_reorg): Likewise.
8417 * ipa-struct-reorg.h: Remove.
8418 * ipa-struct-reorg.c: Likewise.
8419 * ipa-type-escape.h: Likewise.
8420 * ipa-type-escape.c: Likewise.
8421 * doc/invoke.texi (-fipa-struct-reorg): Remove.
8422 (--param struct-reorg-cold-struct-ratio): Likewise.
8423 * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
8424 * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
8425 * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
8426
f137aa63
AK
84272011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8428
8429 * config/s390/2084.md: Enable all insn reservations also for z9_ec
8430 cpu attribute value.
8431 * config/s390/s390-opts.h (enum s390_arch_option): Remove.
8432 (enum processor_type): Add PROCESSOR_2094_Z9_EC.
8433 * config/s390/s390.c (processor_flags_table): New constant array.
8434 (s390_handle_arch_option): Remove.
8435 (s390_handle_option): Remove s390_handle_arch_option invocations
8436 and OPT_mwarn_framesize_ handling.
8437 (s390_option_override): Remove s390_handle_arch_option invocation.
8438 (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
8439 warnings.
8440 * config/s390/s390.md (cpu attribute): Add z9_ec value.
8441 * config/s390/s390.opt (s390_tune, s390_arch)
8442 (march=): Replace s390_arch_option enum and values with
8443 processor_type. Set variable name to s390_arch. Set
8444 initialization value.
8445 (mtune=): Replace s390_arch_option with processor_type. Set
8446 variable name to s390_tune. Set initialization value.
8447
bf90208f
JB
84482011-03-23 Julian Brown <julian@codesourcery.com>
8449
8450 * expr.c (expand_expr_real_1): Only use BLKmode for volatile
8451 accesses which are not naturally aligned.
8452
3460fdf3
RS
84532011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
8454
8455 PR target/47553
8456 * config/arm/predicates.md (neon_lane_number): Accept 0..15.
8457
a5c7d693
RS
84582011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
8459
8460 * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
8461 parameter from "int" to "enum insn_code".
8462 (expand_operand_type): New enum.
8463 (expand_operand): New structure.
8464 (create_expand_operand): New function.
8465 (create_fixed_operand, create_output_operand): Likewise
8466 (create_input_operand, create_convert_operand_to): Likewise.
8467 (create_convert_operand_from, create_address_operand): Likewise.
8468 (create_integer_operand): Likewise.
8469 (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
8470 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
8471 (expand_insn, expand_jump_insn): Likewise.
8472 * builtins.c (expand_builtin_prefetch): Use the new interfaces.
8473 (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
8474 (expand_movstr, expand_builtin___clear_cache): Likewise.
8475 (expand_builtin_lock_release): Likewise.
8476 * explow.c (allocate_dynamic_stack_space): Likewise.
8477 (probe_stack_range): Likewise. Allow check_stack to FAIL,
8478 and use the default handling in that case.
8479 * expmed.c (check_predicate_volatile_ok): Delete.
8480 (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
8481 (emit_cstore): Likewise.
8482 * expr.c (emit_block_move_via_movmem): Likewise.
8483 (set_storage_via_setmem, expand_assignment): Likewise.
8484 (emit_storent_insn, try_casesi): Likewise.
8485 (emit_single_push_insn): Likewise. Allow the expansion to fail.
8486 * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
8487 (expand_vec_shift_expr, expand_binop_directly): Likewise.
8488 (expand_twoval_unop, expand_twoval_binop): Likewise.
8489 (expand_unop_direct, emit_indirect_jump): Likewise.
8490 (emit_conditional_move, vector_compare_rtx): Likewise.
8491 (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
8492 (expand_sync_operation, expand_sync_fetch_operation): Likewise.
8493 (expand_sync_lock_test_and_set): Likewise.
8494 (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
8495 (emit_unop_insn): Likewise.
8496 (expand_copysign_absneg): Change icode to an insn_code.
8497 (create_convert_operand_from_type): New function.
8498 (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
8499 (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
8500 (expand_insn, expand_jump_insn): Likewise.
8501 * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
8502 than const_int_operand for operand 2.
8503
78fadbab
AK
85042011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
8505
8506 * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
8507 if possible.
8508
5f02387d
NF
85092011-03-22 Nathan Froyd <froydnj@codesourcery.com>
8510
8511 * emit-rtl.c (emit_pattern_before_noloc): New function.
8512 (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
8513 (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
8514 (emit_pattern_after_noloc): New function.
8515 (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
8516 (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
8517
fdf3e18a
NF
85182011-03-22 Nathan Froyd <froydnj@codesourcery.com>
8519
8520 * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
8521 (__ffsDI2): Likewise.
8522
42d085c1
RH
85232011-03-22 Richard Henderson <rth@redhat.com>
8524
8525 * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
8526 of !TARGET_ABI_OPEN_VMS.
8527 (alpha_trampoline_init, alpha_start_function): Likewise.
8528 (alpha_expand_epilogue, alpha_file_start): Likewise.
8529 * config/alpha/alpha.md (divsi3, modsi3): Likewise.
8530 (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
8531 (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
8532 (*divmodsi_internal, *divmoddi_internal_er): Likewise.
8533 (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
8534
cabbe12a
JM
85352011-03-22 Joseph Myers <joseph@codesourcery.com>
8536
8537 * config/s390/s390-opts.h: New.
8538 * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
8539 s390_arch_flags, s390_warn_framesize, s390_stack_size,
8540 s390_stack_guard): Remove.
8541 (s390_handle_arch_option): Return void. Take enum
8542 s390_arch_option value instead of string and searching array.
8543 (s390_handle_option): Don't assert that global structures are in
8544 use. Access variables via opts pointer. Use error_at. Don't use
8545 sscanf for -mstack-guard= or -mstack-size=. Update call to
8546 s390_handle_arch_option.
8547 (s390_option_override): Update call to s390_handle_arch_option.
8548 (s390_emit_prologue): Use %d format for s390_stack_size in
8549 diagnostic. Use %wd for HOST_WIDE_INT.
8550 * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
8551 (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
8552 * config/s390/s390.opt (config/s390/s390-opts.h): New
8553 HeaderInclude entry.
8554 (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
8555 s390_arch_flags, s390_warn_framesize): New Variable entries.
8556 (s390_arch_option): New Enum and EnumValue entries.
8557 (march=): Use Enum instead of Var.
8558 (mstack-guard=, mstack-size=): Use UInteger and Var.
8559 (mtune=): Use Enum.
8560
05b12036
JM
85612011-03-22 Joseph Myers <joseph@codesourcery.com>
8562
8563 * config/score/score.c (score_handle_option): Don't assert that
8564 global structures are in use. Access target_flags via opts
8565 pointer. Use value of -march= option to determine target_flags
8566 settings.
8567 * config/score/score.opt (march=): Use Enum.
8568 (score_arch): New Enum and EnumValue entries.
8569
dd51e35a
JM
85702011-03-22 Joseph Myers <joseph@codesourcery.com>
8571
8572 * config/mep/mep.c (option_mtiny_specified): Remove.
8573 (mep_option_override): Move register handling for -mivc2 from
8574 mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
8575 instead of option_mtiny_specified.
8576 (mep_handle_option): Access target_flags via opts pointer. Don't
8577 assert that global structures are in use. Defer part of -mivc2
8578 handling and move it to mep_option_override.
8579 * config/mep/mep.opt (IVC2): New Mask entry.
8580 (mivc2): Use Var and Defer instead of Mask.
8581
4a8d3d91
JM
85822011-03-22 Joseph Myers <joseph@codesourcery.com>
8583
8584 * config/v850/v850-opts.h: New.
8585 * config/v850/v850.c (small_memory): Replace with
8586 small_memory_physical_max array. Make that array static const.
8587 (v850_handle_memory_option): Take integer value of argument. Take
8588 gcc_options pointer, option text and location. Return void.
8589 Update for changes to small memory structures.
8590 (v850_handle_option): Access target_flags via opts pointer. Don't
8591 assert that global structures are in use. Update calls to
8592 v850_handle_memory_option.
c78dd519
UB
8593 (v850_encode_data_area): Update references to small memory settings.
8594 * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
4a8d3d91
JM
8595 (enum small_memory_type): Move to v850-opts.h.
8596 * config/v850/v850.opt (config/v850/v850-opts.h): New
8597 HeaderInclude entry.
8598 (small_memory_max): New Variable entry.
8599 (msda): Replace by pair of options msda= and msda-. Use UInteger.
8600 (mtda, mzda): Likewise.
8601
117fdbfa
JM
86022011-03-22 Joseph Myers <joseph@codesourcery.com>
8603
8604 * config/sh/sh.c (sh_handle_option): Access target_flags via opts
8605 pointer. Don't assert that global structures are in use.
8606
d715091c
JM
86072011-03-22 Joseph Myers <joseph@codesourcery.com>
8608
8609 * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
8610 via opts pointer. Don't assert that global structures are in use.
8611
1bb721dc
JM
86122011-03-22 Joseph Myers <joseph@codesourcery.com>
8613
8614 * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
8615 (munix=93): Use Var.
8616 * config/pa/pa-hpux1010.opt (munix=95): Use Var.
8617 * config/pa/pa-hpux1111.opt (munix=98): Use Var.
8618 * config/pa/pa-opts.h: New.
8619 * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
8620 (pa_handle_option): Don't assert that global structures are in
8621 use. Access target_flags via opts pointer. Don't handle
8622 OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
8623 OPT_munix_98 here.
8624 (pa_option_override): Handle deferred OPT_mfixed_range_.
8625
cd8d8754
JM
86262011-03-22 Joseph Myers <joseph@codesourcery.com>
8627
8628 * config/mn10300/mn10300-opts.h: New.
8629 * config/mn10300/mn10300.c (mn10300_processor,
8630 mn10300_tune_string): Remove.
8631 (mn10300_handle_option): Don't assert that global structures are
8632 in use. Access mn10300_processor via opts pointer. Don't handle
8633 OPT_mtune_ here.
8634 * config/mn10300/mn10300.h (enum processor_type): Move to
8635 mn10300-opts.h.
8636 (mn10300_processor): Remove.
8637 * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
8638 HeaderInclude entry.
8639 (mn10300_processor): New Variable entry.
8640 (mtune=): Use Var.
8641
24e6e6b1
JM
86422011-03-22 Joseph Myers <joseph@codesourcery.com>
8643
8644 * config/microblaze/microblaze.c: Don't include opts.h.
8645 (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
8646 * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
8647 (mno-clearbss): Use Var and Warn.
8648
8a784afb
JM
86492011-03-22 Joseph Myers <joseph@codesourcery.com>
8650
8651 * config/m32r/m32r-opts.h: New.
8652 * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
8653 (m32r_handle_option): Don't assert that global structures are in
8654 use. Access target_flags and m32r_cache_flush_func via opts
8655 pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
8656 OPT_mno_flush_trap here.
8657 * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
8658 include of m32r-opts.h.
8659 * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
8660 HeaderInclude entry.
8661 (m32r_model_selected, m32r_sdata_selected): New Variable entries.
8662 (mmodel=): Use Enum and Var.
8663 (m32r_model): New Enum and EnumValue entries.
8664 (mno-flush-trap): Use Var.
8665 (msdata=): Use Enum and Var.
8666 (m32r_sdata): New Enum and EnumValue entries.
8667
bbfc9a8c
JM
86682011-03-22 Joseph Myers <joseph@codesourcery.com>
8669
8670 * config/m32c/m32c.c: Don't include opts.h.
8671 (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
8672 m32c_handle_option): Remove.
8673 (m32c_option_override): Check global_options_set.x_target_memregs
8674 instead of target_memregs_set.
8675 * config/m32c/m32c.h (target_memregs): Remove.
8676 * config/m32c/m32c.opt (memregs=): Use UInteger with integer
8677 variable.
8678
e24b8335
JM
86792011-03-22 Joseph Myers <joseph@codesourcery.com>
8680
8681 * config/iq2000/iq2000-opts.h: New.
8682 * config/iq2000/iq2000.c: Don't include opts.h.
8683 (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 8684 * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
e24b8335
JM
8685 * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
8686 HeaderInclude entry.
8687 (iq2000_tune): New Variable entry.
8688 (march=): Add comment. Use Enum.
8689 (iq2000_arch): New Enum and EnumValue entries.
8690 (mcpu=): Use Enum and Var.
8691 (iq2000_tune): New Enum and EnumValue entries.
8692
e6cc0c98
JM
86932011-03-22 Joseph Myers <joseph@codesourcery.com>
8694
8695 * config/ia64/ia64-opts.h: New.
8696 * config/ia64/ia64.c (ia64_tune): Remove.
8697 (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
8698 here. Use error_at.
8699 (ia64_option_override): Handle deferred OPT_mfixed_range_.
8700 * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
8701 * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
8702 HeaderInclude entry.
8703 (ia64_tune): New Variable entry.
8704 (mfixed-range=): Use Defer and Var.
8705 (mtune=): Use Enum and Var.
8706 (ia64_tune): New Enum and EnumValue entries.
8707
db25893c
JM
87082011-03-22 Joseph Myers <joseph@codesourcery.com>
8709
8710 * config/frv/frv-opts.h: New.
8711 * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
8712 frv-opts.h.
8713 (frv_cpu_type): Remove.
8714 * config/frv/frv.c: Don't include opts.h.
8715 (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
c78dd519 8716 * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
db25893c
JM
8717 (frv_cpu_type): New Variable entry.
8718 (frv_cpu): New Enum and EnumValue entries.
8719
6c223f5d
JM
87202011-03-22 Joseph Myers <joseph@codesourcery.com>
8721
8722 * config/cris/cris.c (cris_handle_option): Access target_flags via
8723 opts pointer. Don't assert that global structures are in use.
8724 Don't call CRIS_SUBTARGET_HANDLE_OPTION.
8725 * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
8726
bbd399cf
JM
87272011-03-22 Joseph Myers <joseph@codesourcery.com>
8728
8729 * config/bfin/bfin-opts.h: New.
8730 * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
8731 bfin_si_revision, bfin_workarounds): Remove.
8732 (bfin_cpus): Make static const.
8733 (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
8734 not bfin_lib_id_given.
8735 (bfin_handle_option): Don't set bfin_lib_id_given. Access
8736 bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
c78dd519 8737 pointer. Use error_at. Don't assert that global structures are in use.
bbd399cf
JM
8738 * config/bfin/bfin.h: Include bfin-opts.h.
8739 (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
8740 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
8741 * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
8742 (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
8743 entries.
8744
5e1b4d5a
JM
87452011-03-22 Joseph Myers <joseph@codesourcery.com>
8746
8747 * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
8748 * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
8749 or -msoft-float here.
8750 * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
8751 -msoft-float and -mhard-float.
c78dd519 8752 (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
5e1b4d5a
JM
8753 * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
8754 msoft-float.
8755 * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
8756 -msoft-float.
8757 (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
8758 * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
8759 not mhard-float.
8760 (LIBGCC_SPEC): Don't handle -msoft-float.
8761 * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
8762 -mhard-float.
8763 * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
8764 msoft-float.
8765 * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
8766 -mfloat-abi=*, not -msoft-float and -mhard-float.
8767 * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
8768 -msoft-float.
8769 * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
8770 Use mfloat-abi=hard and mfloat-abi=soft in comments, not
8771 mhard-float and msoft-float.
8772 * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
8773 mfloat-abi=soft in comments, not mhard-float and msoft-float.
8774 * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
8775 mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
8776 mhard-float.
8777 * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
8778 mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
8779 msoft-float.
8780 * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
8781 not mhard-float.
8782 * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
8783 not msoft-float.
8784
800d1de1
RH
87852011-03-22 Richard Henderson <rth@redhat.com>
8786
8787 * config/alpha/alpha.c (alpha_expand_prologue): Don't test
8788 TARGET_ABI_WINDOWS_NT.
8789 (alpha_output_function_end_prologue): Likewise.
8790 * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
8791 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
8792 * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
8793 (trap, *movsi_nt_vms): Likewise.
8794 (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
8795 (*tablejump_osf_nt_internal): Remove.
8796 * config/alpha/predicates.md (input_operand): Only test Pmode.
8797
c59ddd2b
JM
87982011-03-22 Joseph Myers <joseph@codesourcery.com>
8799
8800 * config/alpha/alpha.c (alpha_handle_option): Access target_flags
8801 via opts pointer. Use error_at. Don't assert that global
8802 structures are in use.
8803
1333f97f
JM
88042011-03-22 Joseph Myers <joseph@codesourcery.com>
8805
8806 * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
8807 (ix86_handle_option): Access ix86_isa_flags and
8808 ix86_isa_flags_explicit via opts pointer. Don't assert that
8809 global structures are in use.
8810 (ix86_function_specific_save, ix86_function_specific_restore):
8811 Update ix86_isa_flags_explicit field name.
c78dd519 8812 * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
1333f97f
JM
8813 (ix86_isa_flags_explicit): Rename TargetSave entry to
8814 x_ix86_isa_flags_explicit.
8815
75db85d8
RH
88162011-03-22 Richard Henderson <rth@redhat.com>
8817
8818 * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
8819 (alpha_option_override, direct_return): Likewise.
8820 (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
8821 (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
8822 (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
8823 (alpha_start_function, alpha_output_function_end_prologue): Likewise.
8824 (alpha_expand_epilogue, alpha_end_function): Likewise.
8825 (alpha_init_libfuncs): Likewise.
8826 (struct machine_function): Remove unicosmk members.
8827 (print_operand) ['t']: Remove.
8828 (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
8829 unicosmk_output_module_name, unicosmk_output_common,
8830 current_section_align, unicosmk_output_text_section_asm_op,
8831 unicosmk_output_data_section_asm_op, unicosmk_init_sections,
8832 unicosmk_section_type_flags, unicosmk_unique_section,
8833 unicosmk_asm_named_section, unicosmk_insert_attributes,
8834 unicosmk_output_align, unicosmk_defer_case_vector,
8835 unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
8836 SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
8837 unicosmk_output_ssib, unicosmk_add_call_info_word,
8838 unicosmk_extern_head, unicosmk_output_default_externs,
8839 unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
8840 unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
8841 unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
8842 * config/alpha/alpha-protos.h: Update.
8843 * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
8844 * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
8845 (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
8846 (mulsi3): Don't test TARGET_ABI_UNICOSMK.
8847 (*mulsi_se, mulvsi3): Likewise.
8848 (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
8849 (*divmodsi_internal, call, call_value, realign): Likewise.
8850 (moddi3, umoddi3): Likewise; remove duplicate expander.
8851 (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
8852 (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
8853 (*movdi_nofix): Remove r/U alternative.
8854 (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
8855 * config/alpha/constraints.md ("U"): Remove.
8856 * config/alpha/predicates.md (call_operand"): Don't test
8857 TARGET_ABI_UNICOSMK.
8858
96e45421
JM
88592011-03-22 Joseph Myers <joseph@codesourcery.com>
8860
8861 * target.def (handle_option): Take gcc_options and
8862 cl_decoded_option pointers and location_t.
8863 * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
8864 * doc/tm.texi: Regenerate.
8865 * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
8866 * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
8867 * lto-opts.c (lto_reissue_options): Generate option structure for
8868 targetm.handle_option call.
8869 * opts.c (target_handle_option): Update call to
8870 targetm.handle_option. Remove assertions about values now passed
8871 down to hook.
8872 * targhooks.c (default_target_handle_option): New.
8873 * targhooks.h (default_target_handle_option): Declare.
8874 * config/alpha/alpha.c: Include opts.h.
8875 (alpha_handle_option): Update to new hook interface.
8876 * config/arm/arm.c: Include opts.h.
8877 (arm_handle_option): Update to new hook interface.
8878 * config/arm/t-arm (arm.o): Update dependencies.
8879 * config/bfin/bfin.c: Include opts.h.
8880 (bfin_handle_option): Update to new hook interface.
8881 * config/cris/cris.c: Include opts.h.
8882 (cris_handle_option): Update to new hook interface.
8883 * config/frv/frv.c: Include opts.h.
8884 (frv_handle_option): Update to new hook interface.
8885 * config/i386/i386.c: Include opts.h.
8886 (ix86_handle_option): Update to new hook interface.
8887 (ix86_valid_target_attribute_inner_p): Generate option structure
8888 for call to ix86_handle_option.
8889 * config/i386/t-i386 (i386.o): Update dependencies.
8890 * config/ia64/ia64.c: Include opts.h.
8891 (ia64_handle_option): Update to new hook interface.
8892 * config/ia64/t-ia64 (ia64.o): Update dependencies.
8893 * config/iq2000/iq2000.c: Include opts.h.
8894 (iq2000_handle_option): Update to new hook interface.
8895 * config/m32c/m32c.c: Include opts.h.
8896 (m32c_handle_option): Update to new hook interface.
8897 * config/m32r/m32r.c: Include opts.h.
8898 (m32r_handle_option): Update to new hook interface.
8899 * config/m68k/m68k.c: Include opts.h.
8900 (m68k_handle_option): Update to new hook interface.
8901 * config/mep/mep.c: Include opts.h.
8902 (mep_handle_option): Update to new hook interface.
8903 * config/microblaze/microblaze.c: Include opts.h.
8904 (microblaze_handle_option): Update to new hook interface.
8905 * config/mips/mips.c: Include opts.h.
8906 (mips_handle_option): Update to new hook interface.
8907 * config/mn10300/mn10300.c: Include opts.h.
8908 (mn10300_handle_option): Update to new hook interface.
8909 * config/pa/pa.c: Include opts.h.
8910 (pa_handle_option): Update to new hook interface.
8911 * config/pdp11/pdp11.c: Include opts.h.
8912 (pdp11_handle_option): Update to new hook interface.
8913 * config/rs6000/rs6000.c: Include opts.h.
8914 (rs6000_handle_option): Update to new hook interface.
8915 * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
8916 * config/rx/rx.c: Include opts.h.
8917 (rx_handle_option): Update to new hook interface.
8918 * config/s390/s390.c: Include opts.h.
8919 (s390_handle_option): Update to new hook interface.
8920 * config/score/score.c: Include opts.h.
8921 (score_handle_option): Update to new hook interface.
8922 * config/sh/sh.c: Include opts.h.
8923 (sh_handle_option): Update to new hook interface.
8924 * config/sparc/sparc.c: Include opts.h.
8925 (sparc_handle_option): Update to new hook interface.
8926 * config/v850/v850.c: Include opts.h.
8927 (v850_handle_option): Update to new hook interface.
8928
66017846
JM
89292011-03-22 Joseph Myers <joseph@codesourcery.com>
8930
8931 * gcc.c (driver_unknown_option_callback): Only permit and save
8932 unknown -Wno- options.
8933 (driver_wrong_lang_callback): Save options directly instead of via
8934 driver_unknown_option_callback.
8935
e8b97ccd
EB
89362011-03-22 Eric Botcazou <ebotcazou@adacore.com>
8937
8938 * combine.c (simplify_set): Try harder to find the best CC mode when
8939 simplifying a nested COMPARE on the RHS.
8940
ebb9f8b0
JM
89412011-03-22 Joseph Myers <joseph@codesourcery.com>
8942
8943 * config/alpha/gnu.h: Remove.
8944 * config/arc: Remove directory.
8945 * config/arm/netbsd.h: Remove.
8946 * config/arm/t-pe: Remove.
8947 * config/crx: Remove directory.
8948 * config/i386/netbsd.h: Remove.
8949 * config/m68hc11: Remove directory.
8950 * config/m68k/uclinux-oldabi.h: Remove.
8951 * config/mcore/mcore-pe.h: Remove.
8952 * config/mcore/t-mcore-pe: Remove.
8953 * config/netbsd-aout.h: Remove.
8954 * config/rs6000/gnu.h: Remove.
8955 * config/sh/sh-symbian.h: Remove.
8956 * config/sh/symbian-base.c: Remove.
8957 * config/sh/symbian-c.c: Remove.
8958 * config/sh/symbian-cxx.c: Remove.
8959 * config/sh/symbian-post.h: Remove.
8960 * config/sh/symbian-pre.h: Remove.
8961 * config/sh/t-symbian: Remove.
8962 * config/svr3.h: Remove.
8963 * config/vax/netbsd.h: Remove.
8964 * config.build: Don't handle i[34567]86-*-pe.
8965 * config.gcc: Remove handling of deprecations for most deprecated
8966 targets.
8967 (m68k-*-uclinuxoldabi*): Add to second deprecated list.
8968 (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
8969 i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
8970 m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
8971 powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
8972 sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
8973 Remove cases.
8974 * config.host: Don't handle i[34567]86-*-pe.
8975 * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
8976 (ASM_SPEC32): Don't handle -mcall-gnu.
8977 * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
8978 -mcall-gnu.
8979 (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
8980 STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
8981 (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
8982 LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
8983 (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
8984 * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
8985 conditional on SYMBIAN.
8986 * configure.ac: Don't handle powerpc*-*-gnu*.
8987 * configure: Regenerate.
8988 * doc/extend.texi (interrupt attribute): Don't mention CRX.
8989 * doc/install-old.texi (m6811, m6812): Don't mention.
8990 * doc/install.texi (arc-*-elf*): Don't document multilib option.
8991 (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
8992 (m68k-uclinuxoldabi): Don't mention.
8993 * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
8994 Remove.
8995 (-mcall-gnu): Remove.
8996 * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
8997 families): Remove constraint documentation.
8998
999a7d80
MS
89992011-03-22 Marius Strobl <marius@FreeBSD.org>
9000
9001 * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
9002 (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
9003 (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
9004
45540bcf
MM
90052011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
9006
9007 PR target/48226
9008 * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If we see a
9009 vector when peeking at the next token for vector, don't expand the
9010 keywords.
9011
980a0ff4
GJL
90122011-03-21 Georg-Johann Lay <avr@gjlay.de>
9013
9014 * config/avr/avr-protos.h (expand_epilogue): Change prototype
9015 * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
9016 * config/avr/avr.c (init_cumulative_args)
9017 (avr_function_arg_advance): Use it.
9018 * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
9019 sibcall epilogues.
9020 (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
9021 (avr_function_ok_for_sibcall): ...this new function.
9022 (avr_lookup_function_attribute1): New static Function.
9023 (avr_naked_function_p, interrupt_function_p)
9024 (signal_function_p, avr_OS_task_function_p)
9025 (avr_OS_main_function_p): Use it.
9026 * config/avr/avr.md ("sibcall", "sibcall_value")
9027 ("sibcall_epilogue"): New expander.
9028 ("*call_insn", "*call_value_insn"): New insn.
9029 ("call_insn", "call_value_insn"): Remove
9030 ("call", "call_value", "epilogue"): Change expander to handle
9031 sibling calls.
9032
49168734
NC
90332011-03-21 Nick Clifton <nickc@redhat.com>
9034
9035 * doc/invoke.texi (Overall Options): Move closing brace to end of
9036 options list.
9037 (Optimization Options): Add missing @gol.
9038 (Directory Options): Likewise.
9039 (i386 and x86-64 Options): Likewise.
9040 (RS6000 and PowerPC Options): Likewise.
9041 (i386 and x86-64 Windows Options): Likewise.
9042 (V850 Options): Add text missing from descriptions.
9043
bdfe906f
RH
90442011-03-22 Richard Henderson <rth@redhat.com>
9045
9046 * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
9047 (avr_incoming_return_addr_rtx): New.
9048 (emit_push_byte): New.
9049 (expand_prologue): Use it. Remove incorrect dwarf annotation for
9050 SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
9051 annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
9052 (emit_pop_byte): New.
9053 (expand_epilogue): Use it. Pop frame pointer by bytes.
9054 * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
9055 (INCOMING_RETURN_ADDR_RTX): New.
9056 (INCOMING_FRAME_SP_OFFSET): New.
9057 (ARG_POINTER_CFA_OFFSET): New.
9058 * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
9059 (*pushhi, *pushsi, *pushsf, popqi): Likewise.
9060 (pophi): Remove.
9061
d090a5aa
RH
9062 * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
9063
fdf3e18a
NF
90642011-03-22 Nathan Froyd <froydnj@codesourcery.com>
9065
9066 * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
9067 (FUNCTION_ARG_ADVANCE): Likewise.
9068 * tm.texi.in: Change references to them to hook references.
9069 * tm.texi: Regenerate.
9070 * targhooks.c (default_function_arg): Eliminate check for target
9071 macro.
9072 (default_function_incoming_arg): Likewise.
9073 (default_function_arg_advance): Likewise.
c78dd519 9074 * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
fdf3e18a
NF
9075 (function_arg_advance): Likewise.
9076 * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
9077
009d3fcf
NF
90782011-03-22 Nathan Froyd <froydnj@codesourcery.com>
9079
9080 * tree.c (build_call_1): New function.
9081 (build_call_valist, build_call_array_loc, build_call_vec): Call it.
9082
7bec30e1
RG
90832011-03-22 Richard Guenther <rguenther@suse.de>
9084
9085 PR tree-optimization/48228
9086 * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
9087 for single-arg PHIs.
9088
0b7e851b
AB
90892011-03-22 Andrey Belevantsev <abel@ispras.ru>
9090
9091 PR rtl-optimization/48143
9092 * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
9093 (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
9094 sse2_cvtps2pd): Likewise.
9095
d89afca5
AK
90962011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9097
9098 * recog.c (canonicalize_change_group): Use validate_unshare_change.
9099
f471fe72
RG
91002011-03-22 Richard Guenther <rguenther@suse.de>
9101
9102 * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
9103 a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
9104 * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
9105 and REALIGN_LOAD_EXPR.
9106 (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
9107 DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
9108 * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
9109 DOT_PROD_EXPR case ...
9110 (expand_expr_real_2): ... here.
9111 * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
9112 and REALIGN_LOAD_EXPR.
9113 * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
9114 * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
9115 (vect_create_epilog_for_reduction): Likewise.
9116 (vectorizable_reduction): Likewise.
9117 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
9118 * tree-vect-stmts.c (vectorizable_load): Likewise.
9119
f2f81d57
EB
91202011-03-22 Eric Botcazou <ebotcazou@adacore.com>
9121
9122 * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
9123
ab081dd6
AK
91242011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9125
9126 * config/s390/s390.c (s390_delegitimize_address): Fix offset
9127 handling for PLTOFF/GOTOFF.
9128
6fd5332b
NC
91292011-03-22 Nick Clifton <nickc@redhat.com>
9130
9131 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
9132 trailing backslash from the end of the macro definition.
9133
01841ac0
AK
91342011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9135
9136 * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
9137 and PLT unspecs.
9138
2ef6ce06
RS
91392011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
9140
9141 * expr.h (prepare_operand): Move to...
9142 * optabs.h (prepare_operand): ...here and change the insn code
9143 parameter from "int" to "enum insn_code".
9144 (insn_operand_matches): Declare.
9145 * expr.c (init_expr_target): Use insn_operand_matches.
9146 (compress_float_constant): Likewise.
9147 * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
9148 * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
9149 (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
c78dd519
UB
9150 (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
9151 Likewise.
2ef6ce06
RS
9152 (gen_cond_trap): Likewise.
9153 (prepare_operand): Likewise. Change icode to an insn_code.
9154 (insn_operand_matches): New function.
9155 * reload.c (find_reloads_address_1): Use insn_operand_matches.
9156 * reload1.c (gen_reload): Likewise.
9157 * targhooks.c (default_secondary_reload): Likewise.
9158
9e43ad68
UB
91592011-03-21 Uros Bizjak <ubizjak@gmail.com>
9160
9a96da32
UB
9161 * config/alpha/alpha.md (unspec): New define_c_enum.
9162 (unspecv): Ditto.
9163
91642011-03-21 Uros Bizjak <ubizjak@gmail.com>
9165
9166 PR debug/48214
9e43ad68
UB
9167 * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
9168 between a call and its CALL_ARG_LOCATION note.
9169
31408f60
EB
91702011-03-21 Eric Botcazou <ebotcazou@adacore.com>
9171
9172 * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
9173
91742011-03-21 Jakub Jelinek <jakub@redhat.com>
126e6609
JJ
9175
9176 PR c/42544
9177 PR c/48197
9178 * c-common.c (shorten_compare): If primopN is first sign-extended
9179 to opN and then zero-extended to result type, set primopN to opN.
9180
9dfd55f5
DJ
91812011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
9182
9183 * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
9184 for barrier handlers.
9185
f3c33d9d
MM
91862011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
9187
9188 * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
9189 UNSPEC constants to be in the unspec enumeration, and redefine
9190 all UNSPECV constants to be in the unspecv enumeration, so that
9191 dumps print which unspec/unspec_volatile this is.
9192 * config/rs6000/vector.md (UNSPEC_*): Ditto.
9193 * config/rs6000/paired.md (UNSPEC_*): Ditto.
9194 * config/rs6000/vsx.md (UNSPEC_*): Ditto.
9195 * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
9196 * config/rs6000/dfp.md (UNSPEC_*): Ditto.
9197
9198 * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
9199 UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
9200 UNSPECV_LWSYNC, since these are used as unspec_volatile.
9201 * config/rs6000/sync.md (isync, lwsync): Ditto.
9202
ac43f774
RG
92032011-03-21 Richard Guenther <rguenther@suse.de>
9204
9205 * params.def (lto-min-partition): Fix typo.
9206
411cdbd8
RG
92072011-03-21 Richard Guenther <rguenther@suse.de>
9208
9209 PR c/47939
9210 * c-decl.c (grokdeclarator): Drop to the main variant only
9211 for array types. Drop flag_gen_aux_info check.
9212
1cd9e416
RG
92132011-03-21 Richard Guenther <rguenther@suse.de>
9214
9215 PR translation/47911
9216 * params.def (lto-partitions): Fix typo.
9217 (lto-min-partition): Fix wording.
9218
ada5ad67
AT
92192011-03-21 Andreas Tobler <andreast@fgznet.ch>
9220
9221 * config/rs6000/t-freebsd: Remove duplication from file.
9222
f9613c9a
RG
92232011-03-21 Richard Guenther <rguenther@suse.de>
9224
9225 PR middle-end/47661
9226 * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
9227
9bfbc1eb
RG
92282011-03-21 Richard Guenther <rguenther@suse.de>
9229
9230 PR lto/48210
9231 * params.def (lto-partitions): Require at least 1 partition.
9232
a2268084
RO
92332011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9234
9235 * gthr-solaris.h: Remove.
9236 * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
9237 * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
9238 (LIB_SPEC): Likewise.
9239 * config/sol2.opt (threads): Remove.
9e43ad68 9240 * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
a2268084
RO
9241 (sparc*-*-solaris2*): Likewise.
9242 * configure.ac (enable_threads): Enable solaris support.
9243 * configure: Regenerate.
9e43ad68 9244 * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
a2268084
RO
9245 * doc/install.texi (Configuration, --enable-threads=lib): Remove
9246 solaris.
9247
c43d9a1b
RO
92482011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9249
9250 * config.gcc: Obsolete *-*-solaris2.8*.
9251 * doc/install.texi (Specific, *-*-solaris2*): Document it.
9252
084239f4
RO
92532011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9254
9255 PR bootstrap/48135
9256 * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
9257 reference. Solaris 8 perl works.
9258
64cadbe7
RO
92592011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9260
9261 PR bootstrap/48135
9262 * doc/install.texi (Prerequisites): Move jar etc. up.
9263 Explain support library version requirements.
9264
eb975109
RO
92652011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9266
9267 PR bootstrap/48135
9268 * doc/install.texi (Prerequisites): Move Perl to build
9269 requirements. Always necessary on Solaris 2 with Sun ld.
9270
8a509ffd
RO
92712011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9272
9273 * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
9274 binutils 2.21.
9275 (Specific, i?86-*-solaris2.[89]): Likewise.
9276 (Specific, i?86-*-solaris2.10): Likewise.
9277 (Specific, mips-sgi-irix6): Likewise.
9278 (Specific, *-*-solaris2*): Remove Sun Studio download URL.
9279 Update for binutils 2.21.
9280
8fbc58a1
RO
92812011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9282
9283 * configure.ac (gcc_cv_lto_plugin): Fix typo.
9284 Allow -fuse-linker-plugin for non-default plugin linker.
9285 * configure: Regenerate.
9286
7e84ad0b
NP
92872011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
9288
9289 PR bootstrap/48167
9290 * gengtype.c (files_rules): Added rule for cp/parser.h.
9291
2f36e14b
JJ
92922011-03-21 Jakub Jelinek <jakub@redhat.com>
9293
9294 PR target/48213
9295 * config/s390/s390.c (s390_delegitimize_address): Don't call
9296 lowpart_subreg if orig_x has BLKmode.
9297
62d784f7
KT
92982011-03-21 Kai Tietz <ktietz@redhat.com>
9299
9300 PR target/12171
9e43ad68
UB
9301 * doc/plugins.texi: Adjust documentation for plugin register_callback.
9302 * tree.h (attribute_spec): Add new member affects_type_identity.
9303 * attribs.c (empty_attribute_table): Adjust attribute_spec
9304 initializers.
62d784f7
KT
9305 * config/alpha/alpha.c: Likewise.
9306 * config/arc/arc.c: Likewise.
9307 * config/arm/arm.c: Likewise.
9308 * config/avr/avr.c: Likewise.
9309 * config/bfin/bfin.c: Likewise.
9310 * config/crx/crx.c: Likewise.
9311 * config/darwin.h: Likewise.
9312 * config/h8300/h8300.c: Likewise.
9313 * config/i386/cygming.h: Likewise.
9314 * config/i386/i386.c: Likewise.
9315 * config/ia64/ia64.c: Likewise.
9316 * config/m32c/m32c.c: Likewise.
9317 * config/m32r/m32r.c: Likewise.
9318 * config/m68hc11/m68hc11.c: Likewise.
9319 * config/m68k/m68k.c: Likewise.
9320 * config/mcore/mcore.c: Likewise.
9321 * config/mep/mep.c: Likewise.
9322 * config/microblaze/microblaze.c: Likewise.
9323 * config/mips/mips.c: Likewise.
9324 * config/rs6000/rs6000.c: Likewise.
9325 * config/rx/rx.c: Likewise.
9326 * config/sh/sh.c: Likewise.
9327 * config/sol2.h: Likewise.
9328 * config/sparc/sparc.c: Likewise.
9329 * config/spu/spu.c: Likewise.
9330 * config/stormy16/stormy16.c: Likewise.
9331 * config/v850/v850.c: Likewise.
9332
54833ec0
CLT
93332011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
9334
9335 * simplify-rtx.c (simplify_binary_operation_1): Handle
9336 (xor (and A B) C) case when B and C are both constants.
9337
14a41392
MX
93382011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
9339
9340 * tree-dfa.c (add_referenced_var): Fix typo in comment.
9341
806c3492
EB
93422011-03-20 Eric Botcazou <ebotcazou@adacore.com>
9343
9344 PR bootstrap/48168
9345 * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
9346
65e0a0f3
JJ
93472011-03-20 Jakub Jelinek <jakub@redhat.com>
9348
9349 PR rtl-optimization/48156
9350 * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
9351 assume df and df_lr are not NULL.
9352
b6a75dda
RR
93532011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
9354
9355 PR debug/48023
9356 * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
9357 between a call and its CALL_ARG_LOCATION note.
9358
5969b52d
KK
93592011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
9360
9361 PR debug/48178
9362 * config/sh/sh.c (find_barrier): Don't emit a constant pool
9363 between a call and its corresponding CALL_ARG_LOCATION note.
9364
f773c2bd
AS
93652011-03-19 Anatoly Sokolov <aesok@post.ru>
9366
9367 * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
9368 instead of loop. Use HARD_REGISTER_NUM_P predicate.
9369 * haifa-sched.c (setup_ref_regs): Ditto.
9370 * caller-save.c (add_used_regs_1): Ditto.
9371 * dse.c (look_for_hardregs): Ditto.
9372 * df-problems.c (df_simulate_one_insn_forwards): Ditto.
9373 * sched-rgn.c (check_live_1): Ditto.
9374
8bf872f9
JM
93752011-03-18 Joseph Myers <joseph@codesourcery.com>
9376
9377 * c-decl.c (diagnose_mismatched_decls): Give an error for
9378 redefining a typedef with variably modified type.
9379
ff8e2159
JM
93802011-03-18 Joseph Myers <joseph@codesourcery.com>
9381
9382 * c-decl.c (grokfield): Don't allow typedefs for structures or
9383 unions with no tag by default.
9384 * doc/extend.texi (Unnamed Fields): Update.
9385
16cc4440
UB
93862011-03-18 Uros Bizjak <ubizjak@gmail.com>
9387
9388 * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
9389 Rewrite using indirect functions.
9390 (lwp_slwpcb): Ditto.
9391 * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
9392 (avx_vinsertf128<mode>): Ditto.
9393
e101e12e
AK
93942011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9395
9396 * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
9397 unspecs.
9398
4627c7fb
AK
93992011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9400
9401 * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
9e43ad68 9402 splitting between a call and its corresponding CALL_ARG_LOCATION note.
4627c7fb 9403
2d36b47f
MK
94042011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
9405
9406 PR rtl-optimization/48170
9407 * gcse.c (hoist_code): Remove bogus asserts.
9408
2a3d7659
JL
94092011-03-18 Georg-Johann Lay <avr@gjlay.de>
9410
9411 * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
9412 computation for prologue/epilogue.
9413
34c3ef05
RO
94142011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9415
9416 * Makefile.in (check-consistency): Remove.
9417
81f2b976
JJ
94182011-03-18 Jakub Jelinek <jakub@redhat.com>
9419
9420 PR debug/48176
9421 * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
9422 arange_table_in_use is 0, but either text_section_used or
9423 cold_text_section_used is true. Don't call it if
9424 !info_section_emitted.
9425
68fd7765
AS
94262011-03-18 Anatoly Sokolov <aesok@post.ru>
9427
9428 * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
9429 FUNCTION_VALUE_REGNO_P): Remove.
9430 * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
9431 Remove.
9432 * config/avr/avr.c (avr_ret_register): Make static inline.
9433 (avr_function_value_regno_p): New function.
9434 (avr_libcall_value): Make static. Add 'func' argument.
9435 (avr_function_value): Make static. Rename 'func' argument to
9436 'fn_decl_or_type', forward it to avr_libcall_value. Call
9437 avr_ret_register function instead of RET_REGISTER macro.
9438 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
9439
b4ef8aac
JM
94402011-03-18 Jason Merrill <jason@redhat.com>
9441
9442 PR c++/23372
9443 * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
9444
09a52fc3
RG
94452011-03-18 Richard Guenther <rguenther@suse.de>
9446
9447 * doc/install.texi (--enable-gold): Remove.
9448 (--with-plugin-ld): Document.
9449 * doc/invoke.texi (-fuse-linker-plugin): Clarify.
9450
2a3d7659 94512011-03-18 Andrew Pinski <pinskia@gmail.com>
3bf162a0
AP
9452
9453 PR middle-end/47790
9454 * expr.c (optimize_bitfield_assignment_op): Revamp to work
9455 again after expansion changes.
9456
2abbb0fe
CLT
94572011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
9458
9459 * combine.c (try_combine): Do simplification only call of
9460 subst() on i2 even when i1 is present. Update comments.
9461
2efd0aa6
KK
94622011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
9463
9464 * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
9465 and UNSPEC_PCREL_SYMOFF.
9466
30a49b23
AK
94672011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
9468
9469 * config/s390/s390.md: Use define_c_enum for the unspec constant
9470 definitions.
9471
419e1853
JJ
94722011-03-18 Richard Henderson <rth@redhat.com>
9473 Jakub Jelinek <jakub@redhat.com>
9474
9475 PR bootstrap/48161
9476 * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
9477 instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
9478
37875856
L
94792011-03-17 H.J. Lu <hongjiu.lu@intel.com>
9480
9481 PR middle-end/47725
9482 * combine.c (cant_combine_insn_p): Don't check zero/sign
9483 extended hard registers.
9484
76069764
L
94852011-03-17 H.J. Lu <hongjiu.lu@intel.com>
9486
9487 PR middle-end/47725
9488 * combine.c (cant_combine_insn_p): Check zero/sign extended
9489 hard registers.
9490
24da2019
AS
94912011-03-17 Anatoly Sokolov <aesok@post.ru>
9492
9493 * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
9494 * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
9495 * config/v850/v850.c (v850_output_addr_const_extra): Make static.
9496 Change return type to bool.
9497 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
9498
a82ff31f
JJ
94992011-03-17 Jakub Jelinek <jakub@redhat.com>
9500
8b29c87a
JJ
9501 PR debug/48163
9502 * var-tracking.c (prepare_call_arguments): If CALL target
9503 is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
9504 pc instead of looking it up using cselib_lookup and use
9505 Pmode for it if x has VOIDmode.
9506 * dwarf2out.c (gen_subprogram_die): If also both first and
9507 second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
9508
a82ff31f
JJ
9509 PR debug/48163
9510 * function.c (assign_parms): For data.passed_pointer parms
9511 use MEM of data.entry_parm instead of data.entry_parm itself
9512 as DECL_INCOMING_RTL.
9513 * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
9514 also when passed and declared mode is the same, DECL_RTL
9515 is a MEM with pseudo as address and DECL_INCOMING_RTL is
9516 a MEM too.
9517
82ce305c
JL
95182011-03-16 Jeff Law <law@redhat.com>
9519
9520 PR rtl-optimization/37273
9521 * ira-costs.c (scan_one_insn): Detect constants living in memory and
9522 handle them like argument loads from stack slots. Do not double
9523 count memory for memory constants and argument loads from stack slots.
9524
fe58e02b
L
95252011-03-17 H.J. Lu <hongjiu.lu@intel.com>
9526
9527 PR debug/48160
9528 * var-tracking.c (prepare_call_arguments): Check SUBREG.
9529
6fc4dbc7
L
95302011-03-17 H.J. Lu <hongjiu.lu@intel.com>
9531
9532 PR target/48171
9533 * config/i386/i386.opt: Add Save to -mavx and -mfma.
9534
db3ed0b3
JJ
95352011-03-17 Jakub Jelinek <jakub@redhat.com>
9536
8054a389
JJ
9537 PR bootstrap/48153
9538 * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
9539 if dwarf_strict.
9540 (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
9541 Clear call_arg_locations and call_arg_loc_last always.
9542
db3ed0b3
JJ
9543 PR middle-end/48152
9544 * var-tracking.c (prepare_call_arguments): If argument needs to be
9545 passed by reference, adjust argtype and mode.
9546
1bce4ff3
RG
95472011-03-17 Richard Guenther <rguenther@suse.de>
9548
9549 PR middle-end/48134
9550 * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
9551 a value make sure to fold the statement.
9552
7c71147d
CLT
95532011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
9554
9555 PR target/43872
9556 * config/arm/arm.c (arm_get_frame_offsets): Adjust early
9557 return condition with !cfun->calls_alloca.
9558
0e1ee172
RG
95592011-03-17 Richard Guenther <rguenther@suse.de>
9560
9561 PR bootstrap/48148
9562 * lto-cgraph.c (input_overwrite_node): Clear the abstract
9563 origin for decls in other ltrans units.
9564 (input_varpool_node): Likewise.
9565
f8bce518
RG
95662011-03-17 Richard Guenther <rguenther@suse.de>
9567
9568 PR middle-end/48165
9569 * tree-object-size.c (compute_object_offset): Properly return
9570 the offset operand of MEM_REFs as sizetype.
9571
1b6fa860
JJ
95722011-03-17 Jakub Jelinek <jakub@redhat.com>
9573
dabd47e7
JJ
9574 PR rtl-optimization/48141
9575 * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
9576 * dse.c: Include params.h.
9577 (active_local_stores_len): New variable.
9578 (add_wild_read, dse_step1): Clear it when setting active_local_stores
9579 to NULL.
9580 (record_store, check_mem_read_rtx): Decrease it when removing
9581 from the chain.
9582 (scan_insn): Likewise. Increase it when adding to chain, if it
9583 reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
9584 set active_local_stores to NULL before the addition.
9585 * Makefile.in (dse.o): Depend on $(PARAMS_H).
9586
1b6fa860
JJ
9587 PR rtl-optimization/48141
9588 * dse.c (record_store): If no positions are needed in an insn
9589 that cannot be deleted, at least unchain it from active_local_stores.
9590
7b5cb7d6
DS
95912011-03-16 Dodji Seketeli <dodji@redhat.com>
9592
9593 PR debug/47510
9594 * dwarf2out.c (strip_naming_typedef): Factorize out of ...
9595 (lookup_type_die_strip_naming_typedef): ... here.
9596 (get_context_die): Use it.
9597 (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
9598 the anonymous struct named by the naming typedef.
9599
585e9d9d
L
96002011-03-16 H.J. Lu <hongjiu.lu@intel.com>
9601
9602 PR target/48154
9603 * config/i386/i386.c (ix86_builtin_vectorized_function): Check
9604 TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
9605
6261ab0e
JL
96062011-03-16 Jeff Law <law@redhat.com>
9607
9608 * tree-vrp.c (identify_jump_threads): Slightly simplify type
16cc4440 9609 check for operands of conditional. Allow type to be a pointer.
6261ab0e 9610
0b0081ec
RG
96112011-03-16 Richard Guenther <rguenther@suse.de>
9612
9613 PR tree-optimization/48149
9614 * fold-const.c (fold_binary_loc): Fold
9615 COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
9616
64a3d647
RG
96172011-03-16 Richard Guenther <rguenther@suse.de>
9618
9619 PR tree-optimization/26134
9620 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
9621 complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
9622 (non_rewritable_mem_ref_base): Handle complex type component
9623 accesses, constrain offsets for vector and complex extracts
9624 more properly.
9625
ef13324e
RG
96262011-03-16 Richard Guenther <rguenther@suse.de>
9627
9628 PR tree-optimization/48146
9629 * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
9630 operands avoiding the need for renaming.
9631
f0eddb90
RG
96322011-03-16 Richard Guenther <rguenther@suse.de>
9633
9634 * gimple-fold.c (maybe_fold_reference): Open-code relevant
9635 constant folding. Move MEM_REF canonicalization first.
9636 Rely on fold_const_aggregate_ref for initializer folding.
9637 * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
9638
e42348b8
JJ
96392011-03-16 Jakub Jelinek <jakub@redhat.com>
9640
29f10e71
JJ
9641 PR middle-end/48136
9642 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
9643 arg0/arg1 or their arguments are always fold converted to matching
9644 types.
9645
e42348b8
JJ
9646 * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
9647 to nargs.
9648
55b46574
RO
96492011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9650
9651 PR lto/46944
9652 * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
9653 Handle in-tree gold.
9654 (ld_vers): Extract binutils version for gold.
9655 (gcc_cv_ld_hidden): Handle gold here.
9656 (gcc_cv_lto_plugin): Determine level of linker plugin support.
9657 * configure: Regenerate.
9658 * config.in: Regenerate.
9659 * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
9660 -fuse-linker-plugin otherwise.
9661 (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
9662 (LINK_COMMAND_SPEC): Use it.
9663 (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
9664
2b1c5433
JJ
96652011-03-16 Jakub Jelinek <jakub@redhat.com>
9666
c2969d8e
JJ
9667 * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
9668 * calls.c: Remove debug.h include.
9669 (emit_call_1): Don't call virtual_call_token debug hook.
9670 * dwarf2out.c (debug_dcall_section, debug_vcall_section,
9671 dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
9672 vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
9673 size_of_dcall_table, output_dcall_table, size_of_vcall_table,
9674 output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
9675 vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
9676 dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
9677 dwarf2out_virtual_call): Remove.
9678 (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
9679 copy_call_info and virtual_call hooks.
9680 (dwarf2out_init): Don't initialize vcall_insn_table,
9681 debug_dcall_section and debug_vcall_section.
9682 (prune_unused_types): Don't mark nodes from dcall_table.
9683 (dwarf2out_finish): Don't output dcall or vcall tables.
9684 * final.c (final_scan_insn): Don't call direct_call or
9685 virtual_call debug hooks.
9686 * debug.h (struct gcc_debug_hooks): Remove direct_call,
9687 virtual_call_token, copy_call_info and virtual_call hooks.
9688 (debug_nothing_uid): Remove prototype.
9689 * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
9690 copy_call_info and virtual_call hooks.
9691 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
9692 * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
9693 * debug.c (do_nothing_debug_hooks): Likewise.
9694 (debug_nothing_uid): Remove.
9695 * doc/invoke.texi (-fenable-icf-debug): Remove.
9696 * common.opt (-fenable-icf-debug): Likewise.
9697
325f5379
JJ
9698 * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
9699 * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
9700 call's MEM. Handle functions returning aggregate through a hidden
9701 first pointer. For virtual calls add clobbered pc to call arguments
9702 chain.
9703 * dwarf2out.c (gen_subprogram_die): Emit
9704 DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
9705 can't be emitted.
9706
a58a8e4b
JJ
9707 PR debug/45882
9708 * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
9709 * rtl.h (ENTRY_VALUE_EXP): Define.
9710 * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
9711 * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
9712 * print-rtl.c (print_rtx): Likewise.
9713 * gengtype.c (adjust_field_rtx_def): Likewise.
9714 * var-tracking.c (vt_add_function_parameter): Adjust
9715 gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
9716 * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
9717 * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
9718 partition is a default definition of a PARM_DECL, use ENTRY_VALUE
9719 of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
9720
2b1c5433
JJ
9721 * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
9722 Call var_location debug hook even on CALL_INSNs.
9723 (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
9724 * rtl.def (ENTRY_VALUE): New.
9725 * dwarf2out.c: Include cfglayout.h.
9726 (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
9727 output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
9728 (struct call_arg_loc_node): New type.
9729 (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
9730 tail_call_site_count): New variables.
9731 (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
9732 DW_TAG_GNU_call_site_parameter.
9733 (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
9734 DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
9735 DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
9736 DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
9737 and DW_AT_GNU_all_source_call_sites.
9738 (mem_loc_descriptor): Handle ENTRY_VALUE.
9739 (add_src_coords_attributes): Don't add enything if
9740 DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
9741 (dwarf2out_abstract_function): Save and clear call_arg_location,
9742 call_site_count and tail_call_site_count around dwarf2out_decl call.
9743 (gen_call_site_die): New function.
9744 (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
9745 (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
9746 (dwarf2out_function_decl): Clear call_arg_locations,
9747 call_arg_loc_last, set call_site_count and tail_call_site_count
9748 to -1 and free block_map.
9749 (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
9750 CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
9751 followed by any real instructions.
9752 (dwarf2out_begin_function): Set call_site_count and
9753 tail_call_site_count to 0.
9754 (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
9755 is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
9756 attempt to force a DIE for it and worst case remove the attribute.
9757 (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
9758 check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
9759 the decl itself.
9760 * var-tracking.c: Include tm_p.h.
9761 (vt_stack_adjustments): For calls call note_register_arguments.
9762 (argument_reg_set): New variable.
9763 (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
9764 ensure the VALUE is resolved.
9765 (call_arguments): New variable.
9766 (prepare_call_arguments): New function.
9767 (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
9768 (struct expand_loc_callback_data): Add ignore_cur_loc field.
9769 (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
9770 always use the best expression.
9771 (vt_expand_loc): Add ignore_cur_loc argument.
9772 (vt_expand_loc_dummy): Clear ignore_cur_loc field.
9773 (emit_note_insn_var_location): Adjust vt_expand_loc callers.
9774 (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
9775 note for all calls.
9776 (vt_add_function_parameter): Use cselib_lookup_from_insn.
9777 If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
9778 argument. Don't call cselib_preserve_only_values and
9779 cselib_reset_table.
9780 (note_register_arguments): New function.
9781 (vt_initialize): Compute argument_reg_set. Call
9782 vt_add_function_parameters before processing basic blocks instead of
9783 afterwards. For calls call prepare_call_arguments before calling
9784 cselib_process_insn.
9785 * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
9786 * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
9787 (var-tracking.o): Depend on $(TM_P_H).
9788 * cfglayout.h (insn_scope): New prototype.
9789 * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
9790 * cfglayout.c (insn_scope): No longer static.
9791 * insn-notes.def (CALL_ARG_LOCATION): New.
9792 * calls.c (expand_call, emit_library_call_value_1): Put USEs for
9793 MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
9794 * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
9795 nothing for DECL_EXTERNAL BLOCK_VARS.
9796
9ef13bd0
AM
97972011-03-16 Alan Modra <amodra@gmail.com>
9798
9799 PR target/45844
9800 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
9801 create invalid offset address for vsx splat insn.
9802 * config/rs6000/predicates.md (splat_input_operand): New.
9803 * config/rs6000/vsx.md (vsx_splat_*): Use it.
9804
56b67510
XDL
98052011-03-15 Xinliang David Li <davidxl@google.com>
9806
9807 PR c/47837
9808 * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
9809 (normalize_preds): New function.
9810 (is_use_properly_guarded): Normalize def predicates.
9811
80fffdef
RR
98122011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
9813
732f37c6 9814 PR target/46788
80fffdef
RR
9815 * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
9816 in the output template.
9817
930672ad
RG
98182011-03-15 Richard Guenther <rguenther@suse.de>
9819
9820 PR middle-end/47650
9821 * tree-pretty-print.c (dump_function_declaration): Properly
9822 dump unprototyped and varargs function types.
9823
c7ee7b45
RG
98242011-03-15 Richard Guenther <rguenther@suse.de>
9825
9826 PR tree-optimization/13954
9827 * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
9828 and friends.
9829
b2ad5e37
RG
98302011-03-15 Richard Guenther <rguenther@suse.de>
9831
9832 PR tree-optimization/48037
9833 * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
9834 selects into BIT_FIELD_REFs.
9835 (non_rewritable_mem_ref_base): Check if a MEM_REF is a
9836 vector select.
9837
7ee93d4e
JJ
98382011-03-15 Jakub Jelinek <jakub@redhat.com>
9839
9840 PR tree-optimization/48129
9841 * builtins.c (fold_builtin_snprintf): Convert to type of
9842 built_in_decls[BUILT_IN_SNPRINTF] retval instead of
9843 implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
9844
e106efc7
RG
98452011-03-15 Richard Guenther <rguenther@suse.de>
9846
9847 PR tree-optimization/41490
9848 * tree-ssa-dce.c (propagate_necessity): Handle returns without
9849 value but with VUSE.
9850 * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
9851 return statements.
9852 * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
9853 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
9854 * tree-tailcall.c (find_tail_calls): Ignore returns.
9855
17dea42f
RG
98562011-03-15 Richard Guenther <rguenther@suse.de>
9857
9858 PR middle-end/48031
9859 * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
9860 or variable-indexed array accesses when in gimple form.
9861
01c77a60
RG
98622011-03-15 Richard Guenther <rguenther@suse.de>
9863
16cc4440 9864 * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
01c77a60 9865
77b0791e
AM
98662011-03-15 Alan Modra <amodra@gmail.com>
9867
9868 PR target/48032
9869 * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
9870 presume symbol_refs without a symbol_ref_decl are suitably
9871 aligned, nor other trees we may see here. Handle anchor symbols.
9872 (legitimate_constant_pool_address_p): Comment. Add mode param.
9873 Check cmodel=medium addresses. Adjust all calls.
9874 (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
9875 creating cmodel=medium optimized access to locals.
9876 * config/rs6000/constraints.md (R): Pass QImode to
9877 legitimate_constant_pool_address_p.
9878 * config/rs6000/predicates.md (input_operand): Pass mode to
9879 legitimate_constant_pool_address_p.
9880 * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
9881 Update prototype.
9882
35f61ba4
MM
98832011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
9884
9885 PR target/48053
9886 * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
9887 64-bit constants being loaded into registers other than GPRs such
9888 as loading 0 into a VSX register.
9889
07332e6d
RO
98902011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9891
16cc4440 9892 * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
07332e6d 9893
de888d90
JJ
98942011-03-14 Jakub Jelinek <jakub@redhat.com>
9895
ba3ceb2d
JJ
9896 PR middle-end/47917
9897 * builtins.c (fold_builtin_snprintf): New function.
9898 (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
9899 (fold_builtin_4): Likewise.
9900
2e64f8b8
JJ
9901 PR middle-end/38878
9902 * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
9903 STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
9904 and C - X == X also strip nops from +/-/p+ operand.
9905 When optimizing -X == C, fold C to arg0's type.
9906
de888d90
JJ
9907 PR debug/47946
9908 * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
9909 emit it as add_AT_int instead of add_AT_unsigned.
9910
99112011-03-14 Tom Tromey <tromey@redhat.com>
f4e749b4
TT
9912
9913 * unwind-dw2.c: Include sys/sdt.h if it exists.
9914 (_Unwind_DebugHook): Use STAP_PROBE2.
9915 * config.in, configure: Rebuild.
9916 * configure.ac: Check for sys/sdt.h.
9917
d34abfd2
UB
99182011-03-14 Uros Bizjak <ubizjak@gmail.com>
9919
9920 * config/i386/i386.md (ROUND_FLOOR): New constant.
9921 (ROUND_CEIL): Ditto.
9922 (ROUND_TRUNC): Ditto.
9923 (ROUND_MXCSR): Ditto.
9924 (ROUND_NO_EXC): Ditto.
9925 (rint<mode>2): Use new defines instead of numerical constants.
9926 (floor<mode>2): Ditto.
9927 (ceil<mode>2): Ditto.
9928 (btrunc<mode>2): Ditto.
9929 * config/i386/i386-builtin-types.def: Define ROUND function type
9930 aliases.
9931 * config/i386/i386.c (enum ix86_builtins): Add
9932 IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
9933 (struct builtin_description): Add
9934 __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
9935 (ix86_expand_sse_round): New static function.
9936 (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
9937 function types.
9938 (ix86_builtin_vectorized_function): Handle
9939 BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
9940
87f9e23d
TT
99412011-03-14 Tom Tromey <tromey@redhat.com>
9942
9943 * c-parser.c (c_parser_asm_string_literal): Clear
9944 warn_overlength_strings.
9945
b3ab9ea2
TT
99462011-03-14 Tom Tromey <tromey@redhat.com>
9947
9948 * c-parser.c (disable_extension_diagnostics): Save
9949 warn_overlength_strings.
9950 (restore_extension_diagnostics): Restore warn_overlength_strings.
9951
6bd73dd8
JJ
99522011-03-14 Jakub Jelinek <jakub@redhat.com>
9953
9954 * BASE-VER: Change to 4.7.0.
9955
7f4d6e1b
RG
99562011-03-14 Richard Guenther <rguenther@suse.de>
9957
9958 PR middle-end/48098
9959 * tree.c (build_vector_from_val): Adjust assert to requirements
9960 and reality.
9961
c6104ef1
JJ
99622011-03-14 Jakub Jelinek <jakub@redhat.com>
9963
9964 PR bootstrap/48102
d34abfd2 9965 * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
c6104ef1 9966
dfa95e19
AT
99672011-03-14 Andreas Tobler <andreast@fgznet.ch>
9968
f60c2554 9969 * config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP): Define in
dfa95e19
AT
9970 terms of target_flags_explicit. Adjust copyright year.
9971
9972 * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
9973 * config/rs6000/t-freebsd: New file. Add override for
9974 LIB2FUNCS_EXTRA.
9975
bb322018
CD
99762011-03-13 Chris Demetriou <cgd@google.com>
9977
9978 * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
9979 (-fno-diagnostics-show-option): this, to reflect current default.
9980 (-Werror=): Update text about -fno-diagnostics-show-option.
9981
12b1c80b
PB
99822011-03-12 Peter Bergner <bergner@vnet.ibm.com>
9983
9984 PR target/48053
9985 * config/rs6000/predicates.md (easy_vector_constant_add_self,
9986 easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
9987 * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
9988 mode is not V2DImode or V2DFmode.
9989 (vspltis_constant): Do not handle V2DImode and V2DFmode.
9990 (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
9991 * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
9992 registers to 0.
9993 (movdi_internal64): Likewise.
9994
57d598f7
SP
99952011-03-12 Sebastian Pop <sebastian.pop@amd.com>
9996
9997 PR tree-optimization/47127
9998 * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
9999 parameter.
10000 (set_cloog_options): Same.
10001 (scop_to_clast): Same.
10002 (print_clast_stmt): Do not call cloog_state_malloc and
10003 cloog_state_free.
10004 (print_generated_program): Same.
10005 (gloog): Same.
10006 * graphite-clast-to-gimple.h (cloog_state): Declared.
10007 (scop_to_clast): Adjust declaration.
10008 * graphite.c (cloog_state): Defined here.
10009 (graphite_initialize): Call cloog_state_malloc.
10010 (graphite_finalize): Call cloog_state_free.
10011
f231b5ff
JM
100122011-03-11 Jason Merrill <jason@redhat.com>
10013
10014 * attribs.c (lookup_attribute_spec): Take const_tree.
10015 * tree.h: Adjust.
10016
6a4e2bd5
JM
100172011-03-11 Joseph Myers <joseph@codesourcery.com>
10018
10019 * config/sparc/sparc.c (sparc_option_override): Use
10020 PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
10021
a758fd67
RG
100222011-03-11 Richard Guenther <rguenther@suse.de>
10023
10024 PR tree-optimization/48067
10025 * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
10026 multiplication result will be only used once on the target
10027 stmt.
10028
03dfda54
RG
100292011-03-11 Richard Guenther <rguenther@suse.de>
10030
10031 * doc/invoke.texi (max-inline-insns-single): Adjust default value.
10032
5f11a50a
RG
100332011-03-11 Richard Guenther <rguenther@suse.de>
10034
10035 PR lto/48073
10036 * tree.c (find_decls_types_r): Do not walk types only reachable
10037 from IDENTIFIER_NODEs.
10038
4074f163
JJ
100392011-03-11 Jakub Jelinek <jakub@redhat.com>
10040
10041 PR middle-end/48044
10042 * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
10043 all vnode->force_output nodes as needed.
10044
30f7cdcd
JM
100452011-03-11 Jason Merrill <jason@redhat.com>
10046
10047 PR c++/48069
10048 * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
10049 COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
10050
62ecfeb8
MJ
100512011-03-11 Martin Jambor <mjambor@suse.cz>
10052
10053 * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
10054 cgraph_node.
10055
e89e03ab
JJ
100562011-03-11 Jakub Jelinek <jakub@redhat.com>
10057
10058 PR tree-optimization/48063
10059 * ipa-inline.c (cgraph_decide_inlining): Don't try to
10060 inline functions called once if !tree_can_inline_p (node->callers).
10061
efbe978b 100622011-03-11 Chen Liqin <liqin.gcc@gmail.com>
9d6193a7 10063
efbe978b
EB
10064 * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
10065 extra_objs.
9d6193a7
CL
10066 * config/score/score3.c: Delete.
10067 * config/score/score3.h: Delete.
10068 * config/score/mul-div.S: Delete.
10069 * config/score/sfp-machine.h: Add new file.
10070 * config/score/constraints.md: Add new file.
10071 * config/score/t-score-softfp: Add new file.
efbe978b 10072 * config/score/t-score-elf: Remove score3.o, do not generate multilib.
9d6193a7
CL
10073 * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
10074 (score7_extra_constraint): Delete.
efbe978b 10075 (score7_option_override): Remove unused code.
9d6193a7
CL
10076 * config/score/score.c: Remove score3 and score5 define and code.
10077 * config/score/score.h: Remove score3 and score5 define and code.
efbe978b 10078 * config/score/score.md: Remove score3 template and unusual insn.
9d6193a7
CL
10079 * config/score/score.opt: Remove score3 and score5 options.
10080
5de27cca
JDA
100812011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10082
10083 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
10084 when _HPUX_SOURCE is defined.
10085 (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
10086
18d92053
JM
100872011-03-10 Jason Merrill <jason@redhat.com>
10088
10089 PR c++/48029
10090 * stor-layout.c (layout_type): Don't set structural equality
10091 on arrays of incomplete type.
10092 * tree.c (type_hash_eq): Handle comparing them properly.
10093
67a2f76d
JJ
100942011-03-10 Jakub Jelinek <jakub@redhat.com>
10095
10096 PR debug/48043
18d92053 10097 * config/s390/s390.c (s390_delegitimize_address): Make sure the
67a2f76d
JJ
10098 result mode matches original rtl mode.
10099
d845b2f9
NC
101002011-03-10 Nick Clifton <nickc@redhat.com>
10101
10102 * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
39242686 10103 (andsi3, andsi3_flags): Fix timings for three operand alternative.
d845b2f9 10104
db7ec035
JJ
101052011-03-09 Jakub Jelinek <jakub@redhat.com>
10106
10107 PR rtl-optimization/47866
10108 * expr.c (store_field): If MEM_SCALAR_P (target), don't use
10109 MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
10110 if target wasn't scalar.
10111 * function.c (assign_stack_temp_for_type): Assert that neither
10112 MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
10113 MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
10114 macro.
10115 * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
10116
5d304e47
AK
101172011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10118
10119 * config/s390/s390-protos.h (s390_label_align): New prototype.
10120 * config/s390/s390.c (s390_label_align): New function.
10121 * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
10122
93b826f0
MM
101232011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
10124
10125 PR target/47755
10126 * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
10127 V2DI/V2DF constants. Only all 0's or all 1's are easy.
10128 (output_vec_const_move): Ditto.
10129
ef78aed6
AS
101302011-03-08 Anatoly Sokolov <aesok@post.ru>
10131
10132 * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
10133 * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
10134 * config/mips/mips.c (mips_preferred_reload_class): Make static.
10135 Change 'rclass' argument and result type to reg_class_t.
10136 (TARGET_PREFERRED_RELOAD_CLASS): Define.
10137
5f892aa0
GJL
101382011-03-08 Georg-Johann Lay <avr@gjlay.de>
10139
9e43ad68
UB
10140 * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
10141 * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
10142 (TARGET_MEMORY_MOVE_COST): Define.
10143 (avr_register_move_cost, avr_memory_move_cost): New Functions.
5f892aa0 10144
32bd2409
JJ
101452011-03-08 Jakub Jelinek <jakub@redhat.com>
10146
530a4800
JJ
10147 PR debug/47881
10148 * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
10149 removed anything.
10150
32bd2409
JJ
10151 PR tree-optimization/48022
10152 * fold-const.c (fold_comparison): Don't call fold_overflow_warning
10153 for EQ/NE_EXPR.
10154
c7148991
JJ
101552011-03-07 Jakub Jelinek <jakub@redhat.com>
10156
10157 PR debug/47991
10158 * var-tracking.c (find_use_val): Return NULL for
10159 cui->sets && cui->store_p BLKmode MEMs.
10160
43070a6e
AS
101612011-03-07 Anatoly Sokolov <aesok@post.ru>
10162
10163 * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
10164 Remove.
10165 * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
10166 xstormy16_print_operand_address): Remove.
10167 * config/stormy16/stormy16.c (xstormy16_print_operand,
10168 xstormy16_print_operand_address): Make static.
10169 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
10170
efbe978b 101712011-03-07 Pat Haugen <pthaugen@us.ibm.com>
79eefb0d
PH
10172
10173 PR target/47862
10174 * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
10175 * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
10176 before definition.
10177
cec8ac0b
ZD
101782011-03-07 Zdenek Dvorak <ook@ucw.cz>
10179
10180 PR bootstrap/48000
10181 * cfgloopmanip.c (fix_bb_placements): Return immediately
10182 if FROM is BASE_LOOP's header.
10183
59527282
PW
101842011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
10185
10186 * gimplify.c (gimplify_function_tree): Fix building calls
10187 to __builtin_return_address.
10188
617718f7
AM
101892011-03-07 Alan Modra <amodra@gmail.com>
10190
10191 * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
10192 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
10193 * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
10194 * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
10195 return_mode args.
10196 * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
10197 (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
10198 (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
10199 (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
10200 * config/rs6000/rs6000.c
10201 (rs6000_elf_end_indicate_exec_stack): Rename to..
10202 (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
10203 for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
10204 (rs6000_file_start): ..here.
10205 (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
10206 file scope variables.
10207 (call_ABI_of_interest): New function.
10208 (init_cumulative_args): Set above vars when function return value
10209 is a float, vector, or small struct.
10210 (rs6000_function_arg_advance_1): Likewise for function args.
10211 (rs6000_va_start): Set rs6000_passes_float if variable arg function
10212 references float args.
10213
38528d50
MX
102142011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
10215
10216 * doc/cfg.texi: Remove "See" before @ref.
10217 * doc/invoke.texi: Likewise.
10218
f42cf4f4
JM
102192011-03-05 Jason Merrill <jason@redhat.com>
10220
10221 * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
10222
804a304d
AG
102232011-03-05 Anthony Green <green@moxielogic.com>
10224
10225 * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
10226
634ee309
ZD
102272011-03-05 Zdenek Dvorak <ook@ucw.cz>
10228
10229 PR rtl-optimization/47899
10230 * cfgloopmanip.c (fix_bb_placements): Fix first argument
10231 to flow_loop_nested_p when moving the loop upward.
10232
6fe471c8
RE
102332011-03-05 Richard Earnshaw <rearnsha@arm.com>
10234
10235 PR target/47719
10236 * arm.md (movhi_insn_arch4): Accept any immediate constant.
10237
cc58ceee
JJ
102382011-03-05 Jakub Jelinek <jakub@redhat.com>
10239
10240 PR tree-optimization/47967
10241 * ipa-cp.c (build_const_val): Return NULL instead of creating
10242 VIEW_CONVERT_EXPR for mismatching sizes.
10243 (ipcp_create_replace_map): Return NULL if build_const_val failed.
10244 (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
10245 give up on versioning.
10246
ea868305
AM
102472011-03-05 Alan Modra <amodra@gmail.com>
10248
10249 PR target/47986
10250 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
10251 full cmodel medium/large lo_sum + high addresses.
10252
bc6ce334
AK
102532011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10254
10255 * config/s390/s390.c (s390_decompose_address): Reject non-literal
10256 pool references in UNSPEC_LTREL_OFFSET.
10257
87e7b310
JH
102582011-03-04 Jan Hubicka <jh@suse.cz>
10259
10260 PR lto/47497
10261 * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
10262 (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
d34abfd2
UB
10263 * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
10264 Add node pointers.
87e7b310
JH
10265 * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
10266 cgraph_add_thunk): Add node pointers.
10267 * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
10268 associated to right node.
10269 (input_node): Update use of cgraph_same_body_alias
10270 and cgraph_add_thunk.
10271
d9c64246
CF
102722011-03-04 Changpeng Fang <changpeng.fang@amd.com>
10273
10274 * config/i386/i386.opt (mprefer-avx128): New flag.
d34abfd2
UB
10275 * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
10276 modes when the flag -mprefer-avx128 is on.
d9c64246 10277
08707076
RS
102782011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
10279
10280 * dwarf2out.c (compare_loc_operands): Fix address handling.
10281
52517c81
AM
102822011-03-04 Alan Modra <amodra@gmail.com>
10283
10284 * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
10285
b147c5b9
RG
102862011-03-04 Richard Guenther <rguenther@suse.de>
10287
10288 PR middle-end/47968
10289 * expmed.c (extract_bit_field_1): Prefer vector modes that
10290 vec_extract patterns can handle.
10291
8750672f
RG
102922011-03-04 Richard Guenther <rguenther@suse.de>
10293
10294 PR middle-end/47975
10295 * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
10296
9eac0f2a
RH
102972011-03-04 Richard Henderson <rth@redhat.com>
10298
10299 * explow.c (emit_stack_save): Remove 'after' parameter.
10300 (emit_stack_restore): Likewise.
10301 * expr.h: Update to match.
10302 * builtins.c, calls.c, stmt.c: Likewise.
10303 * config/alpha/alpha.md, config/avr/avr.md: Likewise.
10304 * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
10305 * function.c (expand_function_end): Insert the emit_stack_save
10306 sequence before parm_birth_insn instead of after.
10307
dfee1406
UB
103082011-03-03 Uros Bizjak <ubizjak@gmail.com>
10309
10310 * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
10311 (ssse3_pmaddubsw128): Ditto.
10312 (ssse3_pmaddubsw): Ditto.
10313
f1d4c3de
SE
103142011-03-03 Steve Ellcey <sje@cup.hp.com>
10315
10316 * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
10317
71f3a3f5
JJ
103182011-03-03 Jakub Jelinek <jakub@redhat.com>
10319
423ed416
JJ
10320 PR c/47963
10321 * gimplify.c (omp_add_variable): Only call omp_notice_variable
10322 on TYPE_SIZE_UNIT if it is a DECL.
10323
71f3a3f5
JJ
10324 PR debug/47283
10325 * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
10326 first operand is not is_gimple_mem_ref_addr, try to fold it.
10327 If the operand still isn't is_gimple_mem_ref_addr, clear
10328 MEM_EXPR on op0.
10329
4b1a5c0d
RG
103302011-03-03 Richard Guenther <rguenther@suse.de>
10331
10332 PR middle-end/47283
10333 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
10334 match comment.
10335 (refs_may_alias_p_1): For release branches return true if
10336 we are confused by our input.
10337
b46616fd
AK
103382011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
10339
10340 * config/s390/s390.c (s390_function_value): Rename to ...
10341 (s390_function_and_libcall_value): ... this.
10342 (s390_function_value): New function.
10343 (s390_libcall_value): New function.
dfee1406 10344 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
b46616fd
AK
10345 * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
10346 target macro definitions.
10347 * config/s390/s390-protos.h (s390_function_value): Remove prototype.
10348
46d8fabb
JM
103492011-03-02 Joseph Myers <joseph@codesourcery.com>
10350
10351 * config/i386/freebsd64.h (CC1_SPEC): Define.
10352 * config/i386/linux64.h (CC1_SPEC): Define.
10353 * config/i386/x86-64.h (CC1_SPEC): Don't define.
10354
6b1ce545
AS
103552011-03-02 Anatoly Sokolov <aesok@post.ru>
10356
10357 * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
10358 Remove.
10359 * config/stormy16/stormy16.c: Include reload.h.
10360 (xstormy16_memory_move_cost): New function.
10361 (TARGET_MEMORY_MOVE_COST): Define.
10362
34161e98
RS
103632011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
10364
10365 PR rtl-optimization/47925
10366 * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
10367 with side effects. Remove the more-specific check for volatile asms.
10368
f60a97cf
AM
103692011-03-02 Alan Modra <amodra@gmail.com>
10370
10371 PR target/47935
10372 * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
10373 toc relative addresses for valid offsets.
10374
f2ca11ca
RG
103752011-03-01 Richard Guenther <rguenther@suse.de>
10376
10377 PR tree-optimization/47890
10378 * tree-vect-loop.c (get_initial_def_for_induction): Set
10379 related stmt properly.
10380
7a00d9ea
RG
103812011-03-01 Richard Guenther <rguenther@suse.de>
10382
10383 PR lto/47924
10384 * lto-streamer.c (lto_record_common_node): Also register
10385 the canonical type.
10386
06c7edcc
RG
103872011-03-01 Richard Guenther <rguenther@suse.de>
10388
10389 PR lto/46911
10390 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
10391 Do not stream DECL_ABSTRACT_ORIGIN.
10392 (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
10393 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
10394 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
10395 Do not stream DECL_ABSTRACT_ORIGIN.
10396 (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
10397 BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
10398
998871e9
AS
103992011-02-28 Anatoly Sokolov <aesok@post.ru>
10400
10401 * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
10402 FUNCTION_VALUE_REGNO_P): Remove.
b2e2ea67 10403 * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
998871e9
AS
10404 * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
10405 Add 'outgoing' argument.
10406 (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
10407 function.
10408 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
10409 TARGET_FUNCTION_VALUE_REGNO_P): Define.
10410
94369251
KT
104112011-02-28 Kai Tietz <kai.tietz@onevision.com>
10412
10413 PR debug/28047
10414 * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
10415 (lookup_filename): Likewise.
b2e2ea67 10416 * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
94369251 10417
80a832cd
JJ
104182011-02-28 Bernd Schmidt <bernds@codesourcery.com>
10419 Jakub Jelinek <jakub@redhat.com>
10420
10421 PR middle-end/47893
10422 * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
10423 (assign_stack_local_1): Change last argument type to int.
10424 * function.c (assign_stack_local_1): Replace reduce_alignment_ok
10425 argument with kind. If bit ASLK_RECORD_PAD is not set in it,
b2e2ea67 10426 don't record padding space into frame_space_list nor use those areas.
80a832cd
JJ
10427 (assign_stack_local): Adjust caller.
10428 (assign_stack_temp_for_type): Call assign_stack_local_1 instead
10429 of assign_stack_local, pass 0 as last argument.
10430 * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
10431 callers.
10432
1b500976
JJ
104332011-02-28 Jakub Jelinek <jakub@redhat.com>
10434
f61c6f34
JJ
10435 PR debug/47283
10436 * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
10437 Use target address_mode and pointer_mode hooks instead of hardcoded
10438 Pmode and ptr_mode. Handle some simple cases of extending if
10439 POINTERS_EXTEND_UNSIGNED < 0.
10440 (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
10441 Call convert_debug_memory_address.
10442 (expand_debug_expr) <case ADDR_EXPR>: Pass as to
10443 convert_debug_memory_address.
10444
1b500976
JJ
10445 PR middle-end/46790
10446 * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
10447 * configure: Regenerated.
10448 * config.in: Regenerated.
10449 * varasm.c (default_function_section): Return NULL
b2e2ea67 10450 if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
1b500976 10451
2f2935b6
MJ
104522011-02-28 Martin Jambor <mjambor@suse.cz>
10453
10454 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
10455 the description to match the printed values.
10456
474086eb
RG
104572011-02-28 Richard Guenther <rguenther@suse.de>
10458
10459 * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
10460 of the copied scope tree.
10461
15bf6f3a
RW
104622011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10463
10464 * doc/extend.texi (Function Attributes): Avoid deeply (and
10465 wrongly) nested tables.
10466
f6b439c9
JJ
104672011-02-27 Jakub Jelinek <jakub@redhat.com>
10468
10469 PR middle-end/47903
10470 * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
10471 MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
10472 r isn't op0 nor op1.
10473
1d8ca2c7
GJL
104742011-02-23 Georg-Johann Lay <avr@gjlay.de>
10475
10476 * config/avr/avr.md: Remove magic comment for emacs.
10477
593fca4b
GJL
104782011-02-23 Georg-Johann Lay <avr@gjlay.de>
10479
10480 PR target/45261
10481 * config/avr/avr.c (avr_option_override): Use error on bad options.
10482 (avr_help): New function.
10483 (TARGET_HELP): Define.
10484
6609216e
GJL
104852011-02-22 Georg-Johann Lay <avr@gjlay.de>
10486
10487 PR target/42240
10488 * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
10489 (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
10490
03d458af
GP
104912011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
10492
10493 * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
10494 (ARM Options): Ditto.
10495 (i386 and x86-64 Options): Ditto.
10496 (RX Options): Ditto.
10497 (SPARC Options): Ditto.
10498
1c379b78
TC
104992011-02-26 Tijl Coosemans <tijl@coosemans.org>
10500
10501 * config.gcc (i386-*-freebsd*): Make i486 the default arch on
10502 FreeBSD 6 and later. Generally use cpu generic.
10503
d5ed058c 105042011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
b2e2ea67 10505
d5ed058c
GP
10506 * doc/cpp.texi: Update copyright years.
10507
509d65dd 105082011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
308d39cd 10509
509d65dd 10510 PR target/46898
308d39cd
SB
10511 * config/lm32/lm32.md (ashrsi3): Added needed variable.
10512
509d65dd 105132011-02-25 Jon Beniston <jon@beniston.com>
308d39cd 10514
509d65dd 10515 PR target/46898
308d39cd
SB
10516 * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
10517 * config/lm32/lm32.md (ashlsi3): Remove unused variable.
10518 * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
10519 (lm32_block_move_inline): Add type cast to remove warning.
b2e2ea67 10520 (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
308d39cd
SB
10521 (gen_int_relational): Move declarations to start of function.
10522
822ba6d7
EB
105232011-02-25 Eric Botcazou <ebotcazou@adacore.com>
10524
10525 PR tree-optimization/45470
10526 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
10527 can throw internally only.
10528 * tree-vect-stmts.c (vectorizable_call): Likewise.
10529
ef795fc2
AS
105302011-02-24 Anatoly Sokolov <aesok@post.ru>
10531
10532 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
10533 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
10534 * config/stormy16/stormy16-protos.h
10535 (xstormy16_preferred_reload_class): Remove.
10536 * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
10537 static. Change 'rclass' argument and return type to reg_class_t.
10538 (TARGET_PREFERRED_RELOAD_CLASS,
10539 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
10540
1c3277ee
RG
105412011-02-24 Richard Guenther <rguenther@suse.de>
10542
10543 * lto-streamer-in.c (input_bb): Do not find referenced vars
10544 in debug statements.
10545
67e18edb
JM
105462011-02-23 Jason Merrill <jason@redhat.com>
10547
10548 * common.opt (fabi-version): Document v5 and v6.
10549
b14fad9d
RG
105502011-02-23 Richard Guenther <rguenther@suse.de>
10551
10552 PR tree-optimization/47849
10553 * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
10554
7fcf46f5
JZ
105552011-02-23 Jie Zhang <jie@codesourcery.com>
10556
10557 * opts-common.c (decode_cmdline_option): Print empty string
10558 argument as "" in decoded->orig_option_with_args_text.
10559 * gcc.c (execute): Print empty string argument as ""
10560 in the verbose output.
10561 (do_spec_1): Keep empty string argument.
10562
f85b70fd
NF
105632011-02-23 Nathan Froyd <froydnj@codesourcery.com>
10564
10565 * config.gcc: Declare score-* and crx-* obsolete.
10566
b152a615
JZ
105672011-02-23 Jie Zhang <jie@codesourcery.com>
10568
10569 PR rtl-optimization/47763
10570 * web.c (web_main): Ignore naked clobber when replacing register.
10571
bb6e77bc
AS
105722011-02-22 Anatoly Sokolov <aesok@post.ru>
10573
10574 * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
10575 Remove.
10576
68bf6491
SP
105772011-02-22 Sebastian Pop <sebastian.pop@amd.com>
10578
10579 PR doc/47848
10580 * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
10581
88ee1fc7
MS
105822011-02-22 Mike Stump <mikestump@comcast.net>
10583
10584 * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
10585 assembler.
10586 * configure: Regenerate.
10587
6042d1dd
CLT
105882011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
10589
10590 PR rtl-optimization/46002
10591 * ira-color.c (update_copy_costs): Change class intersection
10592 test to reg_class_contents[] test of 'hard_regno'.
10593
7de97f9e
JM
105942011-02-21 Joseph Myers <joseph@codesourcery.com>
10595
10596 * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
10597 than Driver option.
10598 * config/hpux11.opt (mt): Likewise.
10599 * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
10600 * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
10601 * config/vax/elf.opt (mno-asm-pic): Likewise.
10602 * config/vms/vms.opt (map, mvms-return-codes): Likewise.
10603
d1d46f9f
MS
106042011-02-21 Mike Stump <mikestump@comcast.net>
10605
10606 PR target/47822
10607 * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
10608 tree so we can get save the type.
10609 * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
10610 for CFString instead of trying to use past the end of the builtins.
10611 * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
10612 * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
10613 * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
10614 * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
10615 Rename to darwin_builtin_cfstring.
10616 (darwin_init_cfstring_builtins): Return the built type.
10617
23e0d930
UB
106182011-02-21 Uros Bizjak <ubizjak@gmail.com>
10619
10620 PR target/47840
10621 * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
10622 (_mm256_insert_epi64): Use _mm_insert_epi64.
10623
192997cf
AS
106242011-02-21 Anatoly Sokolov <aesok@post.ru>
10625
10626 * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
10627 * config/stormy16/stormy16-protos.h
10628 (xstormy16_mode_dependent_address_p): Remove.
10629 * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
10630 Make static. Change return type to bool. Change argument type to
10631 const_rtx. Remove dead code.
10632 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
10633
e292d003
RG
106342011-02-21 Richard Guenther <rguenther@suse.de>
10635
10636 PR lto/47820
10637 * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
10638 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
10639 (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
10640 TUs context.
23e0d930 10641 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
e292d003
RG
10642 Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
10643
77f846e9
RG
106442011-02-20 Richard Guenther <rguenther@suse.de>
10645
10646 PR lto/47822
10647 * tree.c (free_lang_data_in_decl): Clean builtins from
10648 the TU decl BLOCK_VARS.
23e0d930 10649
b2cddfc8
AO
106502011-02-19 Alexandre Oliva <aoliva@redhat.com>
10651
10652 PR debug/47620
10653 PR debug/47630
10654 * haifa-sched.c (fix_tick_ready): Skip tick computation
10655 for debug insns.
10656
becf4c11
RG
106572011-02-19 Richard Guenther <rguenther@suse.de>
10658
10659 PR lto/47647
10660 * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
10661 Remove lazy BLOCK_VARS streaming.
10662 (lto_input_ts_block_tree_pointers): Likewise.
10663 * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
10664
27f98305
JM
106652011-02-19 Joseph Myers <joseph@codesourcery.com>
10666
10667 * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
10668
064bf3f4
JM
106692011-02-19 Joseph Myers <joseph@codesourcery.com>
10670
10671 * config/i386/biarch32.h, config/i386/mach.h,
10672 config/rs6000/aix.opt, config/sh/superh64.h: Remove.
10673
9215ddc3
JJ
106742011-02-19 Jakub Jelinek <jakub@redhat.com>
10675
10676 PR target/47800
10677 * config/i386/i386.md (peephole2 for shift and plus): Use
10678 operands[1] original mode in the first insn.
10679
8b021004
MS
106802011-02-18 Mike Stump <mikestump@comcast.net>
10681
65ded153 10682 * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
8b021004 10683
f84ae14c
JH
106842011-02-18 Jan Hubicka <jh@suse.cz>
10685
10686 PR middle-end/47788
65ded153
EB
10687 * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
10688 to zero when the function is not inlinable at all.
f84ae14c 10689
eddabc80
JDA
106902011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10691
10692 * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
10693 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
10694 pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
10695 * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
10696 * config/pa/t-pa64: Likewise.
10697 * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
10698
ca3da783
JJ
106992011-02-18 Jakub Jelinek <jakub@redhat.com>
10700
10701 PR driver/47787
10702 * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
10703
430aa868
JDA
107042011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10705
10706 PR target/47792
10707 * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
10708
4bf7ff7e
AS
107092011-02-18 Anatoly Sokolov <aesok@post.ru>
10710
10711 * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
10712 RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
10713 LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
10714 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
10715 * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
10716 (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
10717 m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
10718 m32r_load_postinc_p, m32r_store_preinc_predec_p,
10719 m32r_legitimate_address_p): New functions.
10720 * config/m32r/constraints.md (constraint "S"): Don't use
10721 STORE_PREINC_PREDEC_P.
10722 (constraint "U"): Don't use LOAD_POSTINC_P.
10723
7efcf910
CLT
107242011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
10725
10726 PR rtl-optimization/46178
10727 * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
10728 compute ira_hard_regno_cover_class[].
10729
237d6259
RG
107302011-02-18 Richard Guenther <rguenther@suse.de>
10731
10732 PR lto/47798
10733 * lto-streamer.h (lto_global_var_decls): Declare.
10734 * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
10735 statics for global var processing.
10736
12d80acc
RG
107372011-02-18 Richard Guenther <rguenther@suse.de>
10738
10739 PR tree-optimization/47737
10740 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
10741 edge dominance check.
10742
abfea58d
JJ
107432011-02-18 Jakub Jelinek <jakub@redhat.com>
10744
10745 PR debug/47780
10746 * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
10747 avoid invalid rtx sharing.
10748
f73c8882
GP
107492011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
10750
10751 * doc/cpp.texi (Obsolete Features): Add background on the
10752 origin of assertions.
10753
d764a8e6
IS
107542011-02-17 Iain Sandoe <iains@gcc.gnu.org>
10755
10756 * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
23e0d930 10757 objc_abi == 2.
d764a8e6
IS
10758 * config/darwin.c (output_objc_section_asm_op): Added support for
10759 ABI v1 and v2.
10760 (is_objc_metadata): New.
10761 (darwin_objc2_section): New.
10762 (darwin_objc1_section): New.
10763 (machopic_select_section): Added support for ABI v1 and v2.
10764 (darwin_emit_objc_zeroed): New.
10765 (darwin_output_aligned_bss): Detect objc metadata and treat it
10766 appropriately.
10767 (darwin_asm_output_aligned_decl_common): Same.
10768 (darwin_asm_output_aligned_decl_local): Same.
10769 * config/darwin-sections.def: Updated for ABI v1 and v2.
10770 * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
10771 compiling Objective-C code for the NeXT runtime, default to using
10772 ABI version 0 for 32-bit, and version 2 for 64-bit.
10773
0a8134ca
JM
107742011-02-17 Joseph Myers <joseph@codesourcery.com>
10775
10776 * common.opt (optimize_fast): New Variable.
10777 * opts.c (default_options_optimization): Use opts->x_optimize_fast
10778 instead of local variable ofast.
10779
0a256240
NP
107802011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
10781
10782 * doc/invoke.texi (fobjc-abi-version): Documented.
10783 (fobjc-nilcheck): Documented.
10784 (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
10785 version.
10786
fa381cb2
JM
107872011-02-17 Joseph Myers <joseph@codesourcery.com>
10788
10789 PR driver/47390
10790 * common.opt (export-dynamic): New Driver option.
10791 * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
10792
5437eaa6
JM
107932011-02-17 Joseph Myers <joseph@codesourcery.com>
10794
10795 * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
10796
bb7e6d55
AO
107972011-02-17 Alexandre Oliva <aoliva@redhat.com>
10798 Jan Hubicka <jh@suse.cz>
10799
10800 PR debug/47106
10801 PR debug/47402
10802 * cfgexpand.c (account_used_vars_for_block): Remove.
10803 (estimated_stack_frame_size): Use referenced vars.
10804 * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
10805 that were referenced in the original function. Test src_fn
10806 rather than cfun. Drop redundant get_var_ann.
10807 (setup_one_parameter): Drop redundant get_var_ann.
10808 (declare_return_variable): Likewise.
10809 (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
10810 (copy_arguments_for_versioning): Drop redundant get_var_ann.
10811 * ipa-inline.c (compute_inline_parameters): Do not compute
10812 disregard_inline_limits here.
bb7e6d55
AO
10813 (compute_inlinable_for_current, pass_inlinable): New.
10814 (pass_inline_parameters): Require PROP_referenced_vars.
10815 * cgraphunit.c (cgraph_process_new_functions): Don't run
23e0d930 10816 compute_inline_parameters explicitly unless function is in SSA form.
bb7e6d55
AO
10817 (cgraph_analyze_function): Set .disregard_inline_limits.
10818 * tree-sra.c (convert_callers): Compute inliner parameters
10819 only for functions already in SSA form.
10820
f181a8a7
JM
108212011-02-17 Joseph Myers <joseph@codesourcery.com>
10822
10823 * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
10824 -mlittle-endian-data.
10825
c6869789
JM
108262011-02-17 Joseph Myers <joseph@codesourcery.com>
10827
10828 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
10829 -mno-fpu, not -fpu and -no-fpu.
10830 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
10831 * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
10832
fbf4bfd3
UB
108332011-02-17 Uros Bizjak <ubizjak@gmail.com>
10834
10835 PR target/43653
10836 * config/i386/i386.c (ix86_secondary_reload): Handle SSE
10837 input reload with PLUS RTX.
10838
70be5dc7
JM
108392011-02-16 Joseph Myers <joseph@codesourcery.com>
10840
10841 * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
10842 of InverseVar(MDMX).
10843
30b1646e
JM
108442011-02-16 Joseph Myers <joseph@codesourcery.com>
10845
10846 * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
10847 --m4-340.
10848
ab7b71e9
JM
108492011-02-16 Joseph Myers <joseph@codesourcery.com>
10850
10851 * config/mn10300/mn10300.opt (mno-crt0): New.
10852
466f3f08
JM
108532011-02-16 Joseph Myers <joseph@codesourcery.com>
10854
10855 * config/m68k/uclinux.opt (static-libc): New Driver option.
10856
8226cd7b
JM
108572011-02-16 Joseph Myers <joseph@codesourcery.com>
10858
10859 * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
10860
45cab1d7
JM
108612011-02-16 Joseph Myers <joseph@codesourcery.com>
10862
10863 * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
10864 %{muser-extend-enabled}.
10865
65aab64f
RG
108662011-02-16 Richard Guenther <rguenther@suse.de>
10867
10868 PR tree-optimization/47738
10869 * tree-ssa-loop.c (run_tree_predictive_commoning): Return
10870 the TODO from tree_predictive_commoning.
10871
fc2fa4fb
JL
108722011-02-15 Jeff Law <law@redhat.com>
10873
10874 Revert
10875 2011-01-25 Jeff Law <law@redhat.com>
10876
10877 PR rtl-optimization/37273
10878 * ira-costs.c (scan_one_insn): Detect constants living in memory and
10879 handle them like argument loads from stack slots. Do not double
10880 count memory for memory constants and argument loads from stack slots.
10881
4e380b8e
L
108822011-02-15 H.J. Lu <hongjiu.lu@intel.com>
10883
10884 PR middle-end/47725
10885 * combine.c (cant_combine_insn_p): Revert the last change.
10886
e3a69bb4
MM
108872011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
10888
10889 PR target/47755
10890 * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
10891 mode for vector constants. Remove code that checks for TImode.
10892
de650422
AO
108932011-02-15 Alexandre Oliva <aoliva@redhat.com>
10894
10895 PR debug/47106
10896 PR debug/47402
10897 * cgraph.h (compute_inline_parameters): Return void.
10898 * ipa-inline.c (compute_inline_parameters): Adjust.
10899
30925d94
AO
109002011-02-15 Alexandre Oliva <aoliva@redhat.com>
10901
10902 PR debug/47106
10903 PR debug/47402
10904 * tree-inline.h (estimated_stack_frame_size): Take cgraph node
10905 rather than decl.
10906 * cfgexpand.c (estimated_stack_frame_size): Likewise.
10907 * ipa-inline.c (compute_inline_parameters): Adjust.
10908
1b9a784a
AO
109092011-02-15 Alexandre Oliva <aoliva@redhat.com>
10910
10911 PR debug/47106
10912 PR debug/47402
10913 * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
10914 Adjust all users. Pass FN to...
10915 * tree-flow-inline.h (first_referenced_var): ... this. Add
10916 fn argument.
10917 * ipa-struct-reorg.c: Adjust.
10918 * tree-dfa.c: Adjust.
10919 * tree-into-ssa.c: Adjust.
10920 * tree-sra.c: Adjust.
10921 * tree-ssa-alias.c: Adjust.
10922 * tree-ssa-live.c: Adjust.
10923 * tree-ssa.c: Adjust.
10924 * tree-ssanames.c: Adjust.
10925 * tree-tailcall.c: Adjust.
10926
27c6b086
AO
109272011-02-15 Alexandre Oliva <aoliva@redhat.com>
10928
10929 PR debug/47106
10930 PR debug/47402
10931 * tree-flow.h (referenced_var_lookup): Add fn parameter.
10932 Adjust all callers.
10933 * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
10934 * tree-flow-inline.h: Adjust.
10935 * gimple-pretty-print.c: Adjust.
10936 * tree-into-ssa.c: Adjust.
10937 * tree-ssa.c: Adjust.
10938 * cfgexpand.c: Adjust.
10939
679e8183
NF
109402011-02-15 Nathan Froyd <froydnj@codesourcery.com>
10941
fbf4bfd3
UB
10942 * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
10943 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
10944 (EXTRA_CONSTRAINT): Delete.
10945 * config/iq2000/constraints.md: New file.
10946 * config/iq2000/iq2000.md: Include it.
679e8183
NF
10947 (define_insn ""): Delete.
10948 (movsi_internal2, movhi_internal2, movqi_internal2): Delete
10949 unsupported constraint letters from patterns.
10950 (call_value, call_value_internal1): Likewise.
10951 (call_value_multiple_internal1): Likewise.
10952
a45d420a
NC
109532011-02-15 Nick Clifton <nickc@redhat.com>
10954
10955 * config/mn10300/mn10300.c: Include tm-constrs.h.
10956 (struct liw_data): New data structure describing an LIW candidate
10957 instruction.
10958 (extract_bundle): Use struct liw_data. Allow small integer
10959 operands for some instructions.
10960 (check_liw_constraints): Use struct liw_data. Remove swapped
10961 parameter. Add comments describing the checks. Fix bug when
10962 assigning the source of liw1 to the source of liw2.
10963 (liw_candidate): Delete. Code moved into extract_bundle.
10964 (mn10300_bundle_liw): Use struct liw_data. Check constraints
10965 before swapping.
10966 * config/mn10300/predicates.md (liw_operand): New predicate.
10967 Allows registers and small integer constants.
10968 * config/mn10300/constraints.md (O): New constraint. Accetps
10969 integers in the range -8 to +7 inclusive.
10970 * config/mn10300/mn10300.md (movesi_internal): Add an alternative
10971 for moving a small integer into a register. Give this alternative
10972 LIW attributes.
10973 (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
10974 (ashlsi3): Likewise, plus give LIW attributes to the alternatives
10975 using the J,K,L and M constraints,
10976 (liw): Remove SI mode on second operands to allow for HI and QI
10977 mode values.
10978 (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
10979 instruction.
10980
8a73faf1
L
109812011-02-15 H.J. Lu <hongjiu.lu@intel.com>
10982
10983 PR middle-end/47725
10984 * combine.c (cant_combine_insn_p): Check zero/sign extended
10985 hard registers.
10986
48feba28
RG
109872011-02-15 Richard Guenther <rguenther@suse.de>
10988
10989 PR tree-optimization/47743
10990 * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
10991 for a non-type-compatible VN lookup bail out.
10992
ad1c1eeb
NF
109932011-02-15 Nathan Froyd <froydnj@codesourcery.com>
10994
10995 * config/fr30/constraints.md: New file.
10996 * config/fr30/fr30.md: Include it.
10997 * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
10998 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
10999 (EXTRA_CONSTRAINT): Delete.
11000
49ac143d
NF
110012011-02-15 Nathan Froyd <froydnj@codesourcery.com>
11002
11003 * config/frv/constraints.md: New file.
11004 * config/frv/predicates.md: Include it.
11005 * config/frv/frv.c (reg_class_from_letter): Delete.
11006 (frv_option_override): Don't initialize it.
11007 * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
11008 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
11009 (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
11010 (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
11011 (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
11012 (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
11013 (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
11014 (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
11015 (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
11016 (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
11017 (REG_CLASS_FROM_CONSTRAINT): Delete.
11018
c95f9494
JJ
110192011-02-15 Jakub Jelinek <jakub@redhat.com>
11020
11021 PR middle-end/47581
11022 * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
11023 if frame size is 0 in a leaf function.
11024
13aed611
RO
110252011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11026
11027 PR pch/14940
11028 * config/alpha/host-osf.c: New file.
11029 * config/alpha/x-osf: New file.
11030 * config.host (alpha*-dec-osf*): Use it.
11031
b09c3081
AS
110322011-02-14 Anatoly Sokolov <aesok@post.ru>
11033
11034 * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
11035 * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
11036 * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
11037 (rx_mode_dependent_address_p): ...this. Make static. Change argument
11038 type to const_rtx.
11039 (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
11040
d634083b
NF
110412011-02-14 Nathan Froyd <froydnj@codesourcery.com>
11042
11043 * config/stormy16/constraints.md: New file.
11044 * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
11045 Use satisfies_constraint_Q and satisfies_constraint_R.
11046 * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
11047 Delete.
11048 (xstormy16_legitiamte_address_p): Declare.
11049 * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
11050 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
11051 (EXTRA_CONSTRAINT): Delete.
fbf4bfd3 11052 * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
d634083b
NF
11053 Un-staticize.
11054 (xstormy16_extra_constraint_p): Delete.
11055
c7dd803e
EB
110562011-02-14 Eric Botcazou <ebotcazou@adacore.com>
11057
11058 PR tree-optimization/46494
11059 * loop-unroll.c (split_edge_and_insert): Adjust comment.
11060 * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
11061 (pass_rtl_loop_done): Add TODO_verify_flow.
11062 * fwprop.c (pass_rtl_fwprop): Likewise.
11063 * modulo-sched.c (pass_sms): Likewise.
11064 * tree-ssa-dom.c (pass_dominator): Likewise.
11065 * tree-ssa-loop-ch.c (pass_ch): Likewise.
11066 * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
11067 (pass_tree_loop_done): Likewise.
11068 * tree-ssa-pre.c (execute_pre): Likewise.
11069 * tree-ssa-reassoc.c (pass_reassoc): Likewise.
11070 * tree-ssa-sink.c (pass_sink_code): Likewise.
11071 * tree-vrp.c (pass_vrp): Likewise.
11072
c6150df6
NF
110732011-02-14 Nathan Froyd <froydnj@codesourcery.com>
11074
c7dd803e
EB
11075 * config/v850/constraints.md: New file.
11076 * config/v850/v850.md: Include it.
11077 * config/v850/predicates.md (reg_or_0_operand): Use
11078 satisfies_constraint_G.
11079 (special_symbolref_operand): Use satisfies_constraint_K.
11080 * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
11081 (GO_IF_LEGITIMATE_ADDRESS): Likewise.
11082 (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
11083 (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
11084 (EXTRA_CONSTRAINT): Delete.
11085 (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
11086 (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
11087 (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
c6150df6 11088
30dd1ea3
AS
110892011-02-14 Anatoly Sokolov <aesok@post.ru>
11090
11091 PR target/47696
11092 * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
11093 description.
11094
944f4bb3
NF
110952011-02-14 Nathan Froyd <froydnj@codesourcery.com>
11096
11097 * config/mcore/constraints.md: New file.
11098 * config/mcore/mcore.md: Include it.
11099 * config/mcore/mcore.c (reg_class_from_letter): Delete.
11100 * config/mcore/mcore.h (reg_class_from_letter): Delete.
11101 (REG_CLASS_FROM_LETTER): Delete.
11102 (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
11103 insn_const_int_ok_for_constraint.
11104 (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
11105 (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
11106 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
11107 (EXTRA_CONSTRAINT): Delete.
11108
ad56a54c
RO
111092011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11110
11111 PR ada/41929
11112 * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
11113 (IS_SIGHANDLER): Define.
11114 (sparc64_is_sighandler): New function, split off from
11115 sparc64_fallback_frame_state.
11116 (sparc_is_sighandler): New function, split off from
11117 sparc_fallback_frame_state.
11118 (sparc64_fallback_frame_state): Merge with ...
11119 (sparc_fallback_frame_state): ... this into ...
11120 (MD_FALLBACK_FRAME_STATE_FOR): ... this.
fbf4bfd3
UB
11121 Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
11122 Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
11123 stack instead of hardcoded offsets.
ad56a54c 11124
fbf4bfd3 111252011-02-14 Andriy Gapon <avg@freebsd.org>
67932abf
AG
11126
11127 PR target/45808
11128 * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
11129
029c8f3e
RW
111302011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11131
11132 * configure: Regenerate.
11133
a016dc83
JM
111342011-02-12 Joseph Myers <joseph@codesourcery.com>
11135
11136 PR driver/45731
11137 * gcc.c (asm_options): Correct spec matching --target-help.
11138
8957a0ec
MJ
111392011-02-12 Martin Jambor <mjambor@suse.cz>
11140
11141 * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
11142 to gimple call error.
11143
6ef828bc
MS
111442011-02-12 Mike Stump <mikestump@comcast.net>
11145
11146 * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
11147 comments in backslash regions.
11148
a4015be5
MS
111492011-02-12 Mike Stump <mikestump@comcast.net>
11150 Jakub Jelinek <jakub@redhat.com>
11151 Iain Sandoe <iains@gcc.gnu.org>
11152
11153 PR target/47324
11154 * dwarf2out.c (output_cfa_loc): When required, apply the
11155 DWARF2_FRAME_REG_OUT macro to adjust register numbers.
11156 (output_loc_sequence): Likewise.
11157 (output_loc_operands_raw): Likewise.
11158 (output_loc_sequence_raw): Likewise.
11159 (output_cfa_loc): Likewise.
11160 (output_loc_list): Suppress register number adjustment when
11161 calling output_loc_sequence()
11162 (output_die): Likewise.
11163
5378dda2
AS
111642011-02-12 Anatoly Sokolov <aesok@post.ru>
11165
11166 * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
11167 Remove macros.
11168 * config/xtensa/xtensa.c (xtensa_register_move_cost,
11169 xtensa_memory_move_cost): New functions.
11170 (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
11171
f3d533d3
AO
111722011-02-12 Alexandre Oliva <aoliva@redhat.com>
11173
11174 PR lto/47225
11175 * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
11176 in the current directory.
11177 * configure: Rebuilt.
11178
9d53403c
IS
111792011-02-12 Iain Sandoe <iains@gcc.gnu.org>
11180
11181 * config/darwin.c (darwin_override_options): Add a hunk missed
fbf4bfd3 11182 from the commit of r168571. Trim comment line lengths and
9d53403c
IS
11183 correct indents of the preceding block.
11184
a350a6c8
IS
111852011-02-12 Iain Sandoe <iains@gcc.gnu.org>
11186
11187 * gcc.c (driver_handle_option): Concatenate the argument to -F with
11188 the switch.
11189
bab79a40
JM
111902011-02-11 Joseph Myers <joseph@codesourcery.com>
11191
11192 * common.opt (nostartfiles): New Driver option.
11193
1bbc6693
XDL
111942011-02-11 Xinliang David Li <davidxl@google.com>
11195
11196 PR tree-optimization/47707
11197 * tree-chrec.c (convert_affine_scev): Keep type precision.
11198
1da7d8c0
EB
111992011-02-11 Eric Botcazou <ebotcazou@adacore.com>
11200
11201 PR tree-optimization/47420
11202 * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
11203
112042011-02-11 Pat Haugen <pthaugen@us.ibm.com>
3f82421f
PH
11205
11206 PR rtl-optimization/47614
11207 * rtl.h (check_for_inc_dec): Declare.
11208 * dse.c (check_for_inc_dec): Externalize...
11209 * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
11210 (reload_cse_simplify_operands): Don't simplify opnds with side effects.
11211
4df47bca
JM
112122011-02-11 Joseph Myers <joseph@codesourcery.com>
11213
11214 PR driver/47678
11215 * gcc.c (main): Do not compile inputs if there were errors in
11216 option handling.
11217 * opts-common.c (read_cmdline_option): Check for wrong language
11218 after other error checks.
11219
61502ca8
NF
112202011-02-11 Nathan Froyd <froydnj@codesourcery.com>
11221
11222 * cgraph.c: Fix comment typos.
11223 * cgraph.h: Likewise.
11224 * cgraphunit.c: Likewise.
11225 * ipa-cp.c: Likewise.
11226 * ipa-inline.c: Likewise.
11227 * ipa-prop.c: Likewise.
11228 * ipa-pure-const.c: Likewise.
11229 * ipa-ref.c: Likewise.
11230 * ipa-reference.c: Likewise.
11231
b63f974e
JJ
112322011-02-11 Jakub Jelinek <jakub@redhat.com>
11233
d50c5e0c
JJ
11234 PR debug/47684
11235 * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
b63f974e 11236
6dd2a13c
RO
112372011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11238
11239 PR testsuite/47400
11240 * doc/sourcebuild.texi (Require Support): Document
11241 dg-require-ascii-locale.
11242
4a087ccf
MX
112432011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
11244
11245 * doc/lto.texi (Write summary): Fix missing parentheses.
11246
a4403164
DD
112472011-02-10 DJ Delorie <dj@redhat.com>
11248
11249 * config/m32c/m32c.c (m32c_option_override): Disable
11250 -fcombine-stack-adjustments until flag value tracking and compare
11251 optimization can be rewritten.
11252
4fac45bd
PB
112532011-02-10 Peter Bergner <bergner@vnet.ibm.com>
11254
11255 * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
11256 PROCESSOR_POWER7.
11257 (PROCESSOR_DEFAULT64): Likewise.
11258
72602cd1
RH
112592011-02-10 Richard Henderson <rth@redhat.com>
11260
11261 * config/rx/predicates.md (rx_zs_comparison_operator): Revert
11262 change from 2011-02-03.
11263 * config/rx/rx.c (flags_from_code): Likewise.
11264 (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
11265 is valid, n/pz otherwise.
11266 (rx_select_cc_mode): Return CCmode if Y is not zero.
11267
ea57f573
RG
112682011-02-10 Richard Guenther <rguenther@suse.de>
11269
ea4c3e65 11270 * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
ea57f573 11271
92b1d23b
RG
112722011-02-10 Richard Guenther <rguenther@suse.de>
11273
11274 PR tree-optimization/47677
11275 * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
11276
525a2d06
JJ
112772011-02-10 Jakub Jelinek <jakub@redhat.com>
11278
11279 PR target/47665
11280 * combine.c (make_compound_operation): Only change shifts into
11281 multiplication for SCALAR_INT_MODE_P.
11282
06c969bd
JZ
112832011-02-10 Jie Zhang <jie@codesourcery.com>
11284
11285 PR testsuite/47622
11286 Revert
11287 2011-02-05 Jie Zhang <jie@codesourcery.com>
11288 PR debug/42631
11289 * web.c (entry_register): Don't clobber the number of the
11290 first uninitialized reference in used[].
11291
282ec48e
RG
112922011-02-09 Richard Guenther <rguenther@suse.de>
11293
11294 PR tree-optimization/47664
11295 * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
11296 all edges again.
11297
df98c3e8
DE
112982011-02-09 David Edelsohn <dje.gcc@gmail.com>
11299
d0f21cd6
DE
11300 PR target/46481
11301 PR target/47032
df98c3e8
DE
11302 * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
11303 PROCESSOR_POWER7.
11304 (PROCESSOR_DEFAULT64): Same.
11305 (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
11306
67b6839f
RO
113072011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11308
11309 * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
11310
4fd73214
MJ
113112011-02-09 Martin Jambor <mjambor@suse.cz>
11312
11313 PR middle-end/45505
11314 * tree-sra.c (struct access): New flags grp_scalar_read and
11315 grp_scalar_write. Changed description of assignment read and write
11316 flags.
11317 (dump_access): Dump new flags, reorder all of them.
11318 (sort_and_splice_var_accesses): Set the new flag accordingly, use them
11319 to detect multiple scalar reads.
11320 (analyze_access_subtree): Use the new scalar read write flags instead
11321 of the old flags. Adjusted comments.
11322
91140cd3
DD
113232011-02-08 DJ Delorie <dj@redhat.com>
11324
11325 PR target/47548
11326 * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
11327 patterns.
11328
4254bbfe
JM
113292011-02-08 Joseph Myers <joseph@codesourcery.com>
11330
11331 * config/m68k/uclinux.opt: New.
11332 * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
11333
f1fda84e
JM
113342011-02-08 Joseph Myers <joseph@codesourcery.com>
11335
11336 * config/cris/elf.opt (sim): New Driver option.
11337
4933ae74
JM
113382011-02-08 Joseph Myers <joseph@codesourcery.com>
11339
11340 * config/xtensa/elf.opt: New.
11341 * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
11342
4ad70280
JM
113432011-02-08 Joseph Myers <joseph@codesourcery.com>
11344
11345 * config/vax/elf.opt: New.
11346 * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
11347
20893707
JM
113482011-02-08 Joseph Myers <joseph@codesourcery.com>
11349
11350 * config/rs6000/aix64.opt (posix, pthread): New Driver options.
11351
b8e7038e
JM
113522011-02-08 Joseph Myers <joseph@codesourcery.com>
11353
11354 * config/gnu-user.opt: New.
11355 * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
11356 *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
11357 *-*-uclinux*): Use gnu-user.opt.
11358
e1c5225a
TS
113592011-02-08 Thomas Schwinge <thomas@schwinge.name>
11360
11361 * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
11362 * config/i386/gnu.h (CPP_SPEC): Likewise.
11363
5e46b0c6
ILT
113642011-02-08 Ian Lance Taylor <iant@google.com>
11365
11366 * common.opt (fcx-limited-range): Add SetByCombined flag.
11367 (ffinite-math-only, fmath-errno, frounding-math): Likewise.
11368 (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
11369 (fassociative-math, freciprocal-math): Likewise.
11370 (funsafe-math-optimizations): Likewise.
11371 * opth-gen.awk: Handle SetByCombined.
11372 * optc-gen.awk: Likewise.
ea4c3e65 11373 * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
5e46b0c6
ILT
11374 (set_unsafe_math_optimizations_flags): Likewise.
11375 * doc/options.texi (Option properties): Document SetByCombined.
11376
32243d46
JM
113772011-02-08 Joseph Myers <joseph@codesourcery.com>
11378
11379 * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
11380 i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
11381 m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
11382 m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
11383 sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
11384
479c1fb3
SP
113852011-02-08 Sebastian Pop <sebastian.pop@amd.com>
11386
11387 PR tree-optimization/46834
11388 PR tree-optimization/46994
11389 PR tree-optimization/46995
11390 * graphite-sese-to-poly.c (used_outside_reduction): New.
11391 (detect_commutative_reduction): Call used_outside_reduction.
11392 (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
11393 translate_scalar_reduction_to_array only when at least one
11394 loop-phi/close-phi tuple has been detected.
11395
3865a06f
RG
113962011-02-08 Richard Guenther <rguenther@suse.de>
11397
11398 PR middle-end/47639
11399 * tree-vect-generic.c (expand_vector_operations_1): Update
11400 stmts here ...
11401 (expand_vector_operations): ... not here. Cleanup EH info
11402 and the CFG if required.
11403
62902f3f
RG
114042011-02-08 Richard Guenther <rguenther@suse.de>
11405
11406 PR tree-optimization/47641
11407 * tree-ssa.c (execute_update_addresses_taken): For asm outputs
11408 require type compatibility.
11409
0efb9d64
AK
114102011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
11411
11412 * gimple-low.c (lower_function_body): Don't remove the location of
11413 the return statement here.
11414 (lower_gimple_return): Do it here instead but only if the return
11415 statement is actually used twice.
11416
034b8ae4
RG
114172011-02-08 Richard Guenther <rguenther@suse.de>
11418
11419 PR tree-optimization/47632
11420 * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
11421 unused up_to_stmt parameter, return whether cfg-cleanup is
11422 necessary, remove EH info properly.
11423 (forward_propagate_into_gimple_cond): Adjust caller.
11424 (forward_propagate_into_cond): Likewise.
11425 (forward_propagate_comparison): Likewise.
11426 (tree_ssa_forward_propagate_single_use_vars): Make
11427 forward_propagate_comparison case similar to the two others.
11428
298362c8
NC
114292011-02-08 Nick Clifton <nickc@redhat.com>
11430
11431 * config/mn10300/mn10300.opt (mliw): New command line option.
11432 * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
11433 (liw_bundling): New automaton.
11434 (liw): New attribute.
11435 (liw_op): New attribute.
11436 (liw_op1, liw_op2, liw_both, liw_either): New reservations.
11437 (movsi_internal): Add LIW attributes.
11438 (andsi3): Likewise.
11439 (iorsi3): Likewise.
11440 (xorsi3): Likewise.
11441 (addsi3): Separate register and immediate alternatives.
11442 Add LIW attributes.
11443 (subsi3): Likewise.
11444 (cmpsi): Likewise.
11445 (aslsi3): Likewise.
11446 (lshrsi3): Likewise.
11447 (ashrsi3): Likewise.
11448 (liw): New pattern.
11449 * config/mn10300/mn10300.c (liw_op_names): New
11450 (mn10300_print_operand): Handle 'W' operand descriptor.
11451 (extract_bundle): New function.
11452 (check_liw_constraints): New function.
11453 (liw_candidate): New function.
11454 (mn10300_bundle_liw): New function.
11455 (mn10300_reorg): New function.
11456 (TARGET_MACHINE_DEPENDENT_REORG): Define.
11457 (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
11458 * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
11459 __LIW__ or __NO_LIW__.
11460 * doc/invoke.texi: Describe the -mliw command line option.
11461
90488014
JDA
114622011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11463
11464 * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
11465 * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
11466 pthread_mutex_unlock): Remove.
11467 * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
11468 * config/pa/t-pa64: Likewise.
11469 * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
11470 shared libc if not linking against libpthread.
11471 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
11472
689ff841
IS
114732011-02-07 Iain Sandoe <iains@gcc.gnu.org>
11474
11475 PR target/47558
11476 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
11477 on 10.6 and later to ensure that we always use the unwinder from
11478 the system. Only add -no_compact_unwind when tarteting darwin
11479 10.6 or later.
11480
821014aa
SE
114812011-02-07 Steve Ellcey <sje@cup.hp.com>
11482
11483 PR target/46997
11484 * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
11485 (vec_interleave_lowv2sf): Ditto.
11486 (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
11487 (vec_extract_oddv2sf): Ditto.
11488
41cf94fb
MS
114892011-02-07 Mike Stump <mikestump@comcast.net>
11490
62dea57d 11491 PR target/42333
41cf94fb
MS
11492 Add __ieee_divdc3 entry point.
11493 * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
11494 entry point.
11495 (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
11496 * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
11497 * config/darwin.c (darwin_rename_builtins): Add.
11498 * config/darwin-protos.h (darwin_rename_builtins): Add.
11499
ee09a3dd
MM
115002011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
11501
11502 PR target/47636
11503 * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
11504 for the condition.
11505
83296cd0
MS
115062011-02-07 Mike Stump <mikestump@comcast.net>
11507
ea4c3e65 11508 * config/darwin.opt (mmacosx-version-min): Update default OS version.
83296cd0 11509
0f4e946f
DC
115102011-02-07 Denis Chertykov <chertykov@gmail.com>
11511
11512 PR target/47534
11513 * config/avr/libgcc.S (exit): Move .endfunc
11514
1ec87690
RG
115152011-02-07 Richard Guenther <rguenther@suse.de>
11516
11517 PR tree-optimization/47615
11518 * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
11519 * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
11520 (run_scc_vn): Initialize it.
11521 (visit_reference_op_load): Use it.
11522 * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
11523
b46ae6da
UW
115242011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
11525
11526 * config/spu/spu.c (spu_init_libfuncs): Install SImode and
11527 DImode trapping arithmetic libfuncs.
11528
c0aae19c
RG
115292011-02-07 Richard Guenther <rguenther@suse.de>
11530
11531 PR tree-optimization/47621
11532 * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
11533 two duplicates ...
11534 (execute_update_addresses_taken): ... here. Make it more
11535 conservative in what we accept.
11536
295d926b
JM
115372011-02-06 Joseph Myers <joseph@codesourcery.com>
11538
11539 * config/sparc/freebsd.h (ASM_SPEC): Define.
11540 * config/sparc/vxworks.h (ASM_SPEC): Define.
11541
bdeb2471
JM
115422011-02-06 Joseph Myers <joseph@codesourcery.com>
11543
11544 * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
11545
d5d3781a
SB
115462011-02-06 Steven Bosscher <steven@gcc.gnu.org>
11547
11548 * doc/invoke.texi: Remove reference to compiler internals from
11549 user documentation.
11550
11551 * reg-notes.def: Remove REG_VALUE_PROFILE.
11552 * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
11553
c42c09fc
JJ
115542011-02-05 Jakub Jelinek <jakub@redhat.com>
11555
11556 PR middle-end/47610
11557 * varasm.c (default_section_type_flags): If decl is NULL,
38be4072 11558 and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
c42c09fc 11559
beea2755
JZ
115602011-02-05 Jie Zhang <jie@codesourcery.com>
11561
11562 PR debug/42631
11563 * web.c (entry_register): Don't clobber the number of the
11564 first uninitialized reference in used[].
11565
a130584a
SP
115662011-02-04 Sebastian Pop <sebastian.pop@amd.com>
11567
11568 PR tree-optimization/46194
11569 * tree-data-ref.c (analyze_miv_subscript): Remove comment.
11570 (build_classic_dist_vector_1): Do not represent classic distance
11571 vectors when the access functions are variating in different loops.
11572
962101ac
JM
115732011-02-04 Joseph Myers <joseph@codesourcery.com>
11574
11575 * config/mips/iris6.opt: New.
11576 * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
11577
55eaaa5b
RH
115782011-02-04 Richard Henderson <rth@redhat.com>
11579 Steve Ellcey <sje@cup.hp.com>
11580
11581 PR target/46997
11582 * config/ia64/predicates.md (mux1_brcst_element): New.
11583 * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
11584 * config/ia64/ia64.c (ia64_unpack_assemble): New.
11585 (ia64_unpack_sign): New.
11586 (ia64_expand_unpack): Rewrite using new routines.
11587 (ia64_expand_widen_sum): Ditto.
11588 (ia64_expand_dot_prod_v8qi): Ditto.
11589 * config/ia64/vect.md (mulv8qi3): Rewrite to use new
11590 routines, add endian check.
11591 (pmpy2_even): Rename from pmpy2_r, add endian check.
11592 (pmpy2_odd): Rename from pmpy2_l, add endian check.
11593 (vec_widen_smult_lo_v4hi): Rewrite using new routines.
11594 (vec_widen_smult_hi_v4hi): Ditto.
11595 (vec_widen_umult_lo_v4hi): Ditto.
11596 (vec_widen_umult_hi_v4hi): Ditto.
11597 (mulv2si3): Change endian checks.
11598 (sdot_prodv4hi): Rewrite with new calls.
11599 (udot_prodv4hi): New.
11600 (vec_pack_ssat_v4hi): Add endian check.
11601 (vec_pack_usat_v4hi): Ditto.
11602 (vec_pack_ssat_v2si): Ditto.
11603 (max1_even): Rename from max1_r, add endian check.
11604 (max1_odd): Rename from max1_l, add endian check.
11605 (*mux1_rev): Format change.
11606 (*mux1_mix): Ditto.
11607 (*mux1_shuf): Ditto.
11608 (*mux1_alt): Ditto.
11609 (*mux1_brcst_v8qi): Use new predicate.
11610 (vec_extract_evenv8qi): Remove endian check.
11611 (vec_extract_oddv8qi): Ditto.
11612 (vec_interleave_lowv4hi): Format change.
11613 (vec_interleave_highv4hi): Ditto.
11614 (mix2_even): Rename from mix2_r, add endian check.
11615 (mix2_odd): Rename from mux2_l, add endian check.
11616 (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
11617 (vec_extract_evenodd_helper): Format change.
11618 (vec_extract_evenv4hi): Remove endian check.
11619 (vec_extract_oddv4hi): Remove endian check.
11620 (vec_interleave_lowv2si): Format change.
11621 (vec_interleave_highv2si): Format change.
11622 (vec_initv2si): Remove endian check.
11623 (vecinit_v2si): Add endian check.
11624 (reduc_splus_v2sf): Add endian check.
11625 (reduc_smax_v2sf): Ditto.
11626 (reduc_smin_v2sf): Ditto.
11627 (vec_initv2sf): Remove endian check.
11628 (fpack): Add endian check.
11629 (fswap): Add endian check.
11630 (vec_interleave_highv2sf): Add endian check.
11631 (vec_interleave_lowv2sf): Add endian check.
11632 (fmix_lr): Add endian check.
11633 (vec_setv2sf): Format change.
11634 (*vec_extractv2sf_0_be): Use shift to extract operand.
11635 (*vec_extractv2sf_1_be): New.
11636 (vec_pack_trunc_v4hi): Add endian check.
11637 (vec_pack_trunc_v2si): Format change.
11638
dcde5957
JJ
116392011-02-04 Jakub Jelinek <jakub@redhat.com>
11640
11641 PR inline-asm/23200
11642 * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
38be4072 11643 do bb, locus and block comparison and disallow loads if it is not set.
dcde5957
JJ
11644 (stmt_is_replaceable_p): New function.
11645 (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
11646 callers.
11647 * expr.c (expand_expr_real_1) <case SSA_NAME>: If
11648 get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
11649 SSA_NAME_DEF_STMT.
11650 * tree-flow.h (stmt_is_replaceable_p): New prototype.
11651
a64a8e5a
JM
116522011-02-04 Joseph Myers <joseph@codesourcery.com>
11653
11654 * config/rs6000/xilinx.opt: New.
11655 * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
11656
4da2ed2f
JM
116572011-02-04 Joseph Myers <joseph@codesourcery.com>
11658
11659 * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
11660
a6e508f9
AS
116612011-02-03 Anatoly Sokolov <aesok@post.ru>
11662
11663 * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
11664 PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
11665 * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
11666 secondary_reload_info, xtensa_secondary_reload): Remove.
11667 * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
11668 TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
11669 (xtensa_preferred_reload_class): Make static. Change return and
11670 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
11671 Use CONST_DOUBLE_P predicate.
11672 (xtensa_preferred_output_reload_class): New function.
11673 (xtensa_secondary_reload): Make static.
11674
82dc0de3
JM
116752011-02-03 Joseph Myers <joseph@codesourcery.com>
11676
11677 * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
11678 Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
11679 Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
11680
7fece979
JJ
116812011-02-03 Jakub Jelinek <jakub@redhat.com>
11682
11683 PR middle-end/31490
11684 * output.h (SECTION_RELRO): Define.
11685 (SECTION_MACH_DEP): Adjust.
11686 (get_variable_section): New prototype.
11687 * varpool.c (varpool_finalize_named_section_flags): New function.
11688 (varpool_assemble_pending_decls): Call it.
11689 * cgraph.h (varpool_finalize_named_section_flags): New prototype.
11690 * cgraphunit.c (cgraph_output_in_order): Call
11691 varpool_finalize_named_section_flags.
11692 * varasm.c (get_section): Allow section flags conflicts between
11693 relro and read-only sections if the section hasn't been declared yet.
11694 Set SECTION_OVERRIDE after diagnosing section type conflict.
11695 (get_variable_section): No longer static.
11696 (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
11697 readonly sections that need relocations.
11698 (decl_readonly_section_1): New function.
11699 (decl_readonly_section): Use it.
11700
11701 Revert:
509d65dd 11702 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
7fece979
JJ
11703 Steve Ellcey <sje@cup.hp.com>
11704
11705 PR middle-end/31490
11706 * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
11707 if section attribute used.
11708
d18d5478
JJ
117092011-02-03 Jakub Jelinek <jakub@redhat.com>
11710
11711 * config/darwin.h (SECTION_NO_ANCHOR): Remove.
11712 * config/darwin.c (SECTION_NO_ANCHOR): Define.
11713 (darwin_init_sections): Remove assertion.
11714
6479ed4b
NC
117152011-02-03 Nick Clifton <nickc@redhat.com>
11716
11717 * config/rx/predicates.md (rx_zs_comparison_operator): Remove
11718 lt and ge.
38be4072 11719 * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
6479ed4b
NC
11720 * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
11721 instead of "n" and "pz".
11722 (flags_from_code): LT and GE tests need CC_FLAG_O as well as
11723 CC_FLAG_S.
11724
89843f5d
JJ
117252011-02-03 Jakub Jelinek <jakub@redhat.com>
11726
65450d64
JJ
11727 PR target/47312
11728 * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
11729 fma, expand FMA_EXPR as fma{,f,l} call.
11730
7d58701c
JJ
11731 PR lto/47274
11732 * lto-streamer-out.c (write_symbol): When writing kind and visibility,
11733 copy them into a unsigned char variable and pass address of it to
11734 lto_output_data_stream.
11735
89843f5d
JJ
11736 PR target/47564
11737 * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
11738 around backend_init_target and lang_dependent_init_target calls.
11739 * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
11740 (verify_cgraph_node): Don't call set_cfun here. Use
11741 cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
11742 Set error_found for incorrectly represented calls to thunks.
11743
4deef538
AO
117442011-02-03 Alexandre Oliva <aoliva@redhat.com>
11745
11746 PR debug/43092
11747 PR rtl-optimization/43494
11748 * rtl.h (for_each_inc_dec_fn): New type.
11749 (for_each_inc_dec): Declare.
11750 * rtlanal.c (struct for_each_inc_dec_ops): New type.
11751 (for_each_inc_dec_find_inc_dec): New fn.
11752 (for_each_inc_dec_find_mem): New fn.
11753 (for_each_inc_dec): New fn.
11754 * dse.c (struct insn_size): Remove.
11755 (replace_inc_dec, replace_inc_dec_mem): Remove.
11756 (emit_inc_dec_insn_before): New fn.
11757 (check_for_inc_dec): Use it, along with for_each_inc_dec.
11758 (canon_address): Pass mem modes to cselib_lookup.
11759 * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
11760 (cselib_lookup_from_insn): Likewise.
11761 (cselib_subst_to_values): Likewise.
11762 * cselib.c (find_slot_memmode): New var.
11763 (cselib_find_slot): New fn. Use it instead of
11764 htab_find_slot_with_hash everywhere.
11765 (entry_and_rtx_equal_p): Use find_slot_memmode.
11766 (autoinc_split): New fn.
11767 (rtx_equal_for_cselib_p): Rename and implement in terms of...
11768 (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
11769 Deal with autoinc. Special-case recursion into MEMs.
11770 (cselib_hash_rtx): Likewise.
11771 (cselib_lookup_mem): Infer pmode from address mode. Distinguish
11772 address and MEM modes.
11773 (cselib_subst_to_values): Add memmode, pass it on.
11774 Deal with autoinc.
11775 (cselib_lookup): Add memmode argument, pass it on.
11776 (cselib_lookup_from_insn): Add memmode.
11777 (cselib_invalidate_rtx): Discard obsolete push_operand handling.
11778 (struct cselib_record_autoinc_data): New.
11779 (cselib_record_autoinc_cb): New fn.
11780 (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
11781 mode to cselib_lookup. Reset autoinced REGs here instead of...
11782 (cselib_process_insn): ... here.
11783 * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
11784 to cselib_lookup.
11785 (add_uses): Likewise, also to cselib_subst_to_values.
11786 (add_stores): Likewise.
11787 * sched-deps.c (add_insn_mem_dependence): Pass mode to
11788 cselib_subst_to_values.
11789 (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
11790 * gcse.c (do_local_cprop): Adjusted.
11791 * postreload.c (reload_cse_simplify_set): Adjusted.
11792 (reload_cse_simplify_operands): Adjusted.
11793 * sel-sched-dump (debug_mem_addr_value): Pass mode.
11794
1551d44a
AO
117952011-02-03 Alexandre Oliva <aoliva@redhat.com>
11796
11797 PR tree-optimization/45122
11798 * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
11799 unsafe assumptions when there's more than one loop exit.
11800
c9485473
MM
118012011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
11802
11803 PR target/47272
11804 * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
11805 Document using vector double with the load/store builtins, and
11806 that the load/store builtins always use Altivec instructions.
11807
11808 * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
11809 to use altivec memory instructions, even on VSX.
11810 (vector_altivec_store_<mode>): Ditto.
11811
11812 * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
11813 function.
11814
11815 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
11816 V2DF, V2DI support to load/store overloaded builtins.
11817
11818 * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
11819 altivec load/store builtins for V2DF/V2DI types.
11820
11821 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
11822 set avoid indexed addresses on power6 if -maltivec.
11823 (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
11824 vector_altivec_load/vector_altivec_store builtins.
11825 (altivec_expand_st_builtin): Ditto.
11826 (altivec_expand_builtin): Add VSX memory builtins.
11827 (rs6000_init_builtins): Add V2DI types to internal types.
11828 (altivec_init_builtins): Add support for V2DF/V2DI altivec
11829 load/store builtins.
11830 (rs6000_address_for_altivec): Insure memory address is appropriate
11831 for Altivec.
11832
11833 * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
11834 vec_vsx_ld and vec_vsx_st.
11835 (vsx_store_<mode>): Ditto.
11836
11837 * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
11838 variables to hold long long types for VSX vector memory builtins.
11839 (RS6000_BTI_unsigned_long_long): Ditto.
11840 (long_long_integer_type_internal_node): Ditti.
11841 (long_long_unsigned_type_internal_node): Ditti.
11842
11843 * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
11844 (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
11845 (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
11846
11847 * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
11848 short cuts.
11849 (vec_vsx_st): Ditto.
11850
b24d1acf
JM
118512011-02-02 Joseph Myers <joseph@codesourcery.com>
11852
11853 * config/pa/pa-hpux10.opt: New.
11854 * config/hpux11.opt (pthread): New Driver option.
11855 * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
11856 * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
11857
aa18dd0f
JM
118582011-02-02 Joseph Myers <joseph@codesourcery.com>
11859
11860 * config/ia64/vms.opt: New.
11861 * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
11862
28fc3eee
MM
118632011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
11864
11865 PR target/47580
11866 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
11867 gpc_reg_operand instead of vsx_register_operand to match rs6000.md
11868 generator functions.
11869 (vsx_floatuns<VSi><mode>2): Ditto.
11870 (vsx_fix_trunc<mode><VSi>2): Ditto.
11871 (vsx_fixuns_trunc<mode><VSi>2): Ditto.
11872
b5838b1f
JM
118732011-02-02 Joseph Myers <joseph@codesourcery.com>
11874
11875 * config/i386/djgpp.opt (posix): New Driver option.
11876
0db8fa89
GP
118772011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
11878
11879 * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
11880 Move to the unsupported targets list.
11881
9cd4f22a
PB
118822011-02-02 Peter Bergner <bergner@vnet.ibm.com>
11883
11884 PR rtl-optimization/47525
11885 * df-scan.c: Update copyright years.
11886 (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
11887 and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
11888
9ed8059c
RO
118892011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11890
11891 * config/i386/sysv4.h (TARGET_VERSION): Remove.
11892 (SUBTARGET_RETURN_IN_MEMORY): Remove.
11893 (ASM_OUTPUT_ASCII): Remove.
11894 * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
11895
2a737389
JL
118962011-02-02 Jeff Law <law@redhat.com>
11897
11898 PR middle-end/47543
11899 * reload.c (find_reloads_address): Handle reg+d address where both
11900 components are invalid by reloading the entire address.
11901
9dac82c4
SP
119022011-02-02 Sebastian Pop <sebastian.pop@amd.com>
11903 Richard Guenther <rguenther@suse.de>
11904
11905 PR tree-optimization/40979
11906 PR bootstrap/47044
11907 * passes.c (init_optimization_passes): After LIM call copy_prop
11908 and DCE to clean up.
11909 * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
11910
14dd9aab
SP
119112011-02-02 Sebastian Pop <sebastian.pop@amd.com>
11912
11913 PR tree-optimization/47576
11914 PR tree-optimization/47555
11915 * doc/invoke.texi (scev-max-expr-complexity): Documented.
11916 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
11917 (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
11918 * tree-scalar-evolution.c (follow_ssa_edge): Use
11919 PARAM_SCEV_MAX_EXPR_COMPLEXITY.
11920
5cbf5c20
RG
119212011-02-02 Richard Guenther <rguenther@suse.de>
11922
11923 PR tree-optimization/47566
11924 * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
11925
83d70792
AO
119262011-02-02 Alexandre Oliva <aoliva@redhat.com>
11927
e829c321
AO
11928 PR debug/47106
11929 PR debug/47402
11930 * tree-inline.c (declare_return_variable): Remove unused caller
11931 variable.
11932
83d70792
AO
11933 PR debug/47106
11934 PR debug/47402
11935 * tree-flow-inline.h (clear_is_used, is_used_p): New.
11936 * cfgexpand.c (account_used_vars_for_block): Use them.
11937 * tree-nrv.c (tree_nrv): Likewise.
11938 * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
11939 (dump_scope_block): Likewise.
11940 (remove_unused_locals): Likewise.
11941
aaa2ac93
AO
11942 PR debug/47106
11943 PR debug/47402
11944 * tree-inline.c (declare_return_variable): Add result decl to
11945 local decls only once.
11946 * gimple-low.c (record_vars_into): Mark newly-created variables
11947 as referenced.
11948
a59d15cf
AO
119492011-02-02 Alexandre Oliva <aoliva@redhat.com>
11950
11951 PR debug/47498
11952 PR debug/47501
11953 PR debug/45136
11954 PR debug/45130
11955 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
11956 debug insns.
11957 (no_real_insns_p, schedule_block, set_priorities): Drop special
11958 treatment of boundary debug insns.
38be4072 11959 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
a59d15cf
AO
11960 * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
11961 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
11962 (BOUNDARY_DEBUG_INSN_P): Likewise.
11963 (SCHEDULE_DEBUG_INSN_P): Likewise.
11964 * sched-rgn.c (init_ready_list): Drop special treatment of
11965 boundary debug insns.
11966 * final.c (rest_of_clean_state): Clear notes' BB.
11967
6fc2f091
JM
119682011-02-01 Joseph Myers <joseph@codesourcery.com>
11969
11970 * config/openbsd.opt (assert=): New Driver option.
11971
fc523387
JM
119722011-02-01 Joseph Myers <joseph@codesourcery.com>
11973
11974 * config/i386/nto.opt: New.
11975 * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
11976
6d9821e5
JM
119772011-02-01 Joseph Myers <joseph@codesourcery.com>
11978
11979 * config/i386/netware.opt: New.
11980 * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
11981
cef932d4
JM
119822011-02-01 Joseph Myers <joseph@codesourcery.com>
11983
11984 * config/interix.opt (posix): New Driver option.
11985
22843acd
DD
119862011-02-01 DJ Delorie <dj@redhat.com>
11987
56490b74
DD
11988 * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
11989
22843acd
DD
11990 * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
11991 class for A0/A1.
11992
199c8f2f
SP
119932011-02-01 Sebastian Pop <sebastian.pop@amd.com>
11994
11995 PR tree-optimization/47561
11996 * toplev.c (process_options): Print the Graphite flags. Add
11997 flag_loop_flatten to the list of options requiring Graphite.
11998
926bcf22
JM
119992011-02-01 Joseph Myers <joseph@codesourcery.com>
12000
12001 * config/i386/cygming.opt (posix): New Driver option.
12002
59793c51
JM
120032011-02-01 Joseph Myers <joseph@codesourcery.com>
12004
12005 * config/arm/vxworks.opt: New.
12006 * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
12007
183c38a4
JM
120082011-02-01 Joseph Myers <joseph@codesourcery.com>
12009
12010 * config/alpha/elf.opt: New.
12011 * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
12012 alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
12013
9939e416
RG
120142011-02-01 Richard Guenther <rguenther@suse.de>
12015
12016 PR tree-optimization/47559
12017 * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
12018 store-motion on references that can throw.
12019
4a3c9687
BS
120202011-02-01 Bernd Schmidt <bernds@codesourcery.com>
12021
12022 * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
12023 * tree-pass.h (TDF_CSELIB): New macro.
12024 * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
12025 cselib_lookup): Check for it rather than for TDF_DETAILS.
12026
dd3b31fb
L
120272011-02-01 H.J. Lu <hongjiu.lu@intel.com>
12028
12029 PR driver/47547
12030 * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
12031 is HOST_BIT_BUCKET.
12032
12033 * opts.c (finish_options): Don't add x_aux_base_name if it is
12034 HOST_BIT_BUCKET.
12035
34c1de79
RG
120362011-02-01 Richard Guenther <rguenther@suse.de>
12037
12038 PR tree-optimization/47555
12039 Revert
12040 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
12041
12042 * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
12043
dd2804d2
SB
120442011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
12045
12046 PR gcc/46692
12047 * config/lm32/t-lm32: Add multilib for all CPU options.
12048
3fd3b156
RG
120492011-02-01 Richard Guenther <rguenther@suse.de>
12050
12051 PR tree-optimization/47541
12052 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
12053 sure to have a field at offset zero.
12054
f16072b6
JM
120552011-01-31 Joseph Myers <joseph@codesourcery.com>
12056
12057 * config/arc/arc.opt (EB, EL): New Driver options.
12058
6456cf2e
JM
120592011-01-31 Joseph Myers <joseph@codesourcery.com>
12060
12061 * config/alpha/osf5.opt: New.
12062 * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
12063
cdde6ab4
JM
120642011-01-31 Joseph Myers <joseph@codesourcery.com>
12065
12066 * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
12067
7633415c
SP
120682011-01-31 Sebastian Pop <sebastian.pop@amd.com>
12069
12070 * common.opt (ftree-loop-linear): Use Alias to make it an alias of
12071 -floop-interchange.
12072 * invoke.texi (-ftree-loop-linear): Make it clear that this flag
12073 is an alias of -floop-interchange and that it requires the
12074 Graphite infrastructure.
12075 * tree-ssa-loop.c (gate_graphite_transforms): Do not set
12076 flag_loop_interchange based on the value of flag_tree_loop_linear.
12077
0425d6f5
JJ
120782011-01-31 Jakub Jelinek <jakub@redhat.com>
12079 Richard Guenther <rguenther@suse.de>
12080
12081 PR tree-optimization/47538
12082 * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
12083 type instead of r1type, except for comparisons. For right
12084 shifts and comparisons punt if there are mismatches in
12085 sizetype vs. non-sizetype types.
12086
500b16c3
RO
120872011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12088
12089 * doc/sourcebuild.texi (Effective-Target Keywords): Document
12090 avx_runtime.
12091
e279edb0
RO
120922011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12093
12094 * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
12095 version number.
12096 * configure: Regenerate.
12097
c6092243
RO
120982011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12099
12100 * configure.ac (gcc_cv_ld_static_option): Define.
12101 (gcc_cv_ld_dynamic_option): Define.
12102 (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
12103 instead.
12104 (HAVE_LD_STATIC_DYNAMIC): Update message.
12105 (LD_STATIC_OPTION): Define.
12106 (LD_DYNAMIC_OPTION): Define.
12107 * configure: Regenerate.
12108 * config.in: Regenerate.
12109 * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
12110 HAVE_LD_STATIC_DYNAMIC]: Use them.
12111
d7862be3
NC
121122011-01-31 Nick Clifton <nickc@redhat.com>
12113
12114 * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
12115 registers inside interrupt handlers if the handler is not a leaf
12116 function.
12117
ba4ec0e0
NC
121182011-01-31 Nick Clifton <nickc@redhat.com>
12119
12120 * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
12121 reg_renumber returning an INVALID_REGNUM.
12122
29a63921
AO
121232011-01-31 Alexandre Oliva <aoliva@redhat.com>
12124
12125 PR libgcj/44341
12126 * doc/install.texi: Document host options discarded when cross
12127 configuring target libraries.
12128
ef591d3f
AO
121292011-01-31 Alexandre Oliva <aoliva@redhat.com>
12130
12131 Reverted:
12132 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
12133 PR debug/45136
12134 PR debug/45130
12135 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
12136 debug insns.
12137 (no_real_insns_p, schedule_block, set_priorities): Drop special
12138 treatment of boundary debug insns.
38be4072 12139 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
ef591d3f
AO
12140 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
12141 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
12142 (BOUNDARY_DEBUG_INSN_P): Likewise.
12143 (SCHEDULE_DEBUG_INSN_P): Likewise.
12144 * sched-rgn.c (init_ready_list): Drop special treatment of
12145 boundary debug insns.
12146 * final.c (rest_of_clean-state): Clear notes' BB.
12147
61052244
AM
121482011-01-31 Alan Modra <amodra@gmail.com>
12149
12150 * config/rs6000/rs6000.c (print_operand): Rearrange addends in
12151 toc relative expressions as we do in print_operand_address.
12152
c4c8962b
KH
121532011-01-30 Kazu Hirata <kazu@codesourcery.com>
12154
12155 * doc/extend.texi: Follow spelling conventions.
12156 * doc/invoke.texi: Fix a typo.
12157
e543b94c
JM
121582011-01-30 Joseph Myers <joseph@codesourcery.com>
12159
12160 * config/hpux11.opt: New.
12161 * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
12162 ia64*-*-hpux*): Use hpux11.opt.
12163
509d65dd 121642011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
a70e0551
JY
12165
12166 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
12167 to tmake_file.
12168
7be03a0e
GP
121692011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
12170
12171 * doc/install.texi (hppa-hp-hpux10): Remove references to HP
12172 support sites.
12173
419d1d37
GP
121742011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
12175
b596ed64
GP
12176 * doc/install.texi (Binaries): Remove outdated reference for
12177 Motorola 68HC11/68HC12 downloads.
12178
121792011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
61052244 12180
419d1d37
GP
12181 * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
12182 Drepper's paper.
12183
4406d0e9
JW
121842011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
12185
12186 PR bootstrap/47147
12187 * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
12188 used by NetBSD.
12189
38be4072 121902011-01-28 Ahmad Sharif <asharif@google.com>
e0b77418
AS
12191
12192 * value-prof.c (check_counter): Corrected error message.
12193
0cd98787
JZ
121942011-01-29 Jie Zhang <jie@codesourcery.com>
12195
12196 * config/arm/arm.c (arm_legitimize_reload_address): New.
12197 * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
12198 arm_legitimize_reload_address.
38be4072 12199 * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
0cd98787 12200
9b798ac5
ILT
122012011-01-28 Ian Lance Taylor <iant@google.com>
12202
12203 * godump.c (go_define): Ignore macros whose definitions include
12204 two adjacent operands.
12205
591e29d9
JJ
122062011-01-28 Jakub Jelinek <jakub@redhat.com>
12207
12208 PR target/42894
12209 * varasm.c (force_const_mem): Store copy of x in desc->constant
12210 instead of x itself.
12211 * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
12212 itself into REG_EQUAL note.
12213
62dcc44a
JM
122142011-01-28 Joseph Myers <joseph@codesourcery.com>
12215
12216 * config/freebsd.opt (posix, rdynamic): New Driver options.
12217
c9f58b9a
RO
122182011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12219
12220 * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
12221 -Bstatic/-Bdynamic.
12222 * configure: Regenerate.
12223
5f02b9db
JM
122242011-01-27 Joseph Myers <joseph@codesourcery.com>
12225
12226 * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
12227 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
12228
5df97412
AS
122292011-01-27 Anatoly Sokolov <aesok@post.ru>
12230
12231 * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
12232 * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
12233 * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
12234 (s390_preferred_reload_class): Make static. Change return and
12235 'rclass' argument type to reg_class_t.
12236
779d4b91
JH
122372011-01-27 Jan Hubicka <jh@suse.cz>
12238
12239 PR middle-end/46949
12240 * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
12241 (process_function_and_variable_attributes): Check defined weakrefs.
12242
e80b21ed
MJ
122432011-01-27 Martin Jambor <mjambor@suse.cz>
12244
12245 PR tree-optimization/47228
12246 * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
12247 build_ref_for_offset.
12248
6dcc4f31
UW
122492011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
12250
12251 * config/spu/spu-elf.h (ASM_SPEC): Remove.
12252
509d65dd 122532011-01-26 Mikael Pettersson <mikpe@it.uu.se>
3b8ff89f
MP
12254
12255 PR rtl-optimization/46856
12256 * postreload.c (reload_combine_recognize_const_pattern): Do not
12257 separate cc0 setter and user on cc0 targets.
12258
04af8788
NP
122592011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
12260
12261 PR c/43082
12262 * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
12263 passed a VOID_TYPE expression, immediately emit an error and
12264 return error_mark_node.
12265
f7a60085
JL
122662011-01-26 Jeff Law <law@redhat.com>
12267
12268 PR rtl-optimization/47464
12269 * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
12270 rather than may_trap_p as needed.
12271
5c2917ec
DD
122722011-01-26 DJ Delorie <dj@redhat.com>
12273
12274 PR rtl-optimization/46878
12275 * combine.c (insn_a_feeds_b): Check for the implicit cc0
12276 setter/user dependency as well.
12277
bef16e87
EB
122782011-01-26 Eric Botcazou <ebotcazou@adacore.com>
12279
12280 PR rtl-optimization/44469
12281 * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
12282 after removing trivially dead basic blocks.
12283
c75d884b
JM
122842011-01-26 Joseph Myers <joseph@codesourcery.com>
12285
12286 * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
12287 * config/frv/frv.h (LINK_SPEC): Likewise.
12288 * config/i386/netware.h (LINK_SPEC): Likewise.
12289 * config/m68k/linux.h (ASM_SPEC): Likewise.
12290 * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
12291 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
12292 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
12293 * config/sparc/linux.h (ASM_SPEC): Likewise.
12294 * config/sparc/linux64.h (ASM_SPEC): Likewise.
12295 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
12296
d3153553
JM
122972011-01-26 Joseph Myers <joseph@codesourcery.com>
12298
12299 * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
12300 * config/frv/frv.h (ASM_SPEC): Likewise.
12301 * config/m68k/linux.h (ASM_SPEC): Likewise.
12302 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
12303 * config/rs6000/linux64.h (ASM_SPEC): Likewise.
12304 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
12305 * config/sparc/linux.h (ASM_SPEC): Likewise.
12306 * config/sparc/linux64.h (ASM_SPEC): Likewise.
12307 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
12308
b89b1e9d
JM
123092011-01-26 Joseph Myers <joseph@codesourcery.com>
12310
12311 * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
12312 * config/frv/frv.h (LINK_SPEC): Likewise.
12313 * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
12314
12eb1a9c
JM
123152011-01-26 Joseph Myers <joseph@codesourcery.com>
12316
12317 * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
12318 * config/frv/frv.h (ASM_SPEC): Likewise.
12319 * config/i386/sol2-10.h (ASM_SPEC): Likewise.
12320 * config/m68k/linux.h (ASM_SPEC): Likewise.
12321 * config/pa/pa-linux.h (ASM_SPEC): Likewise.
12322 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
12323 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
12324 * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
12325 * config/sparc/linux.h (ASM_SPEC): Likewise.
12326 * config/sparc/linux64.h (ASM_SPEC): Likewise.
12327 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
12328 * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
12329
e435f098
SE
123302011-01-26 Steve Ellcey <sje@cup.hp.com>
12331
12332 PR target/46997
12333 * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
12334 (*mux2): Ditto.
12335 (vec_extract_evenodd_help): Ditto.
12336 (vec_extract_evenv4hi): Ditto.
12337 (vec_extract_oddv4hi): Ditto.
12338 (vec_interleave_lowv2si): Ditto.
12339 (vec_interleave_highv2si): Ditto.
12340 (vec_extract_evenv2si): Ditto.
12341 (vec_extract_oddv2si: Ditto.
12342 (vec_pack_trunc_v2si): Ditto.
12343
34f0eee0
JH
123442011-01-22 Jan Hubicka <jh@suse.cz>
12345
12346 PR target/47237
12347 * cgraph.h (cgraph_local_info): New field can_change_signature.
12348 * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
12349 signature can change.
12350 (ipcp_estimate_growth): Call sequence simplify only if calle signature
12351 can change.
12352 (ipcp_insert_stage): Only compute args_to_skip if signature can change.
12353 (cgraph_function_versioning): We can not change signature of functions
12354 that don't allow that.
12355 * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
12356 (lto_input_node): Likewise.
38be4072
UB
12357 * ipa-inline.c (compute_inline_parameters): Compute
12358 local.can_change_signature.
34f0eee0 12359 * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
38be4072
UB
12360 * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
12361 functions that can not change signature.
34f0eee0 12362 * i386.c (ix86_function_regparm, ix86_function_sseregparm,
38be4072
UB
12363 init_cumulative_args): Do not use local calling conventions
12364 for functions that can not change signature.
34f0eee0 12365
980ca891
JH
123662011-01-22 Jan Hubicka <jh@suse.cz>
12367
12368 * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
12369
768e3c60
RG
123702011-01-26 Richard Guenther <rguenther@suse.de>
12371
12372 PR tree-optimization/47190
61052244
AM
12373 * cgraphunit.c (process_common_attributes): New function.
12374 (process_function_and_variable_attributes): Use it.
768e3c60 12375
21d6a1c7
RG
123762011-01-26 Richard Guenther <rguenther@suse.de>
12377
12378 PR lto/47423
12379 * cgraphbuild.c (record_eh_tables): Record reference to personality
12380 function.
12381
48bb58b1
AO
123822011-01-26 Alexandre Oliva <aoliva@redhat.com>
12383
12384 PR debug/45454
12385 * sel-sched.c (moveup_expr): Don't let debug insns prevent
12386 non-debug insns from moving up.
12387
58c741a6
DK
123882011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
12389
12390 PR target/40125
12391 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
12392 t-dlldir{,-x} fragment for build and add it to tmake_file.
12393 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
12394 * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
12395 * config/i386/t-dlldir: New file.
12396 (SHLIB_DLLDIR): Define.
12397 * config/i386/t-dlldir-x: New file.
12398 (SHLIB_DLLDIR): Define.
12399 * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
12400 (SHLIB_INSTALL): Use it.
12401
bff99262
CLT
124022011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
12403
12404 PR target/47246
12405 * config/arm/arm.c (thumb2_legitimate_index_p): Change the
12406 lower bound of the allowed Thumb-2 coprocessor load/store
12407 index range to -256. Add explaining comment.
12408
82c03907
ILT
124092011-01-25 Ian Lance Taylor <iant@google.com>
12410
12411 * godump.c (go_define): Improve lexing of macro expansion to only
12412 accept expressions which match Go spec.
12413
47ea1edf
DK
124142011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
12415
d4dba752 12416 PR c++/43601
47ea1edf
DK
12417 * tree.c (handle_dll_attribute): Handle it.
12418 * doc/extend.texi (@item dllexport): Mention it.
12419 * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
12420
744f0946
ILT
124212011-01-25 Ian Lance Taylor <iant@google.com>
12422
12423 PR tree-optimization/26854
12424 * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
12425 (decl_jump_unsafe): Move higher in file, with no other change.
12426 (bind): Set has_jump_unsafe_decl if appropriate.
12427 (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
12428 (check_earlier_gotos): Likewise.
12429 (c_check_switch_jump_warnings): Likewise.
12430
5734f2b3
JW
124312011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
12432
12433 * doc/invoke.texi (Warning Options): Add missing hyphen.
12434 (-fprofile-dir): Minor grammatical fixes.
12435 (-fbranch-probabilities): Likewise.
12436
9bdbdcef
AO
124372011-01-25 Alexandre Oliva <aoliva@redhat.com>
12438
12439 PR debug/45136
12440 PR debug/45130
12441 * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
12442 debug insns.
12443 (no_real_insns_p, schedule_block, set_priorities): Drop special
12444 treatment of boundary debug insns.
38be4072 12445 * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
9bdbdcef
AO
12446 * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
12447 * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
12448 (BOUNDARY_DEBUG_INSN_P): Likewise.
12449 (SCHEDULE_DEBUG_INSN_P): Likewise.
12450 * sched-rgn.c (init_ready_list): Drop special treatment of
12451 boundary debug insns.
12452 * final.c (rest_of_clean-state): Clear notes' BB.
12453
b305e3da
SP
124542011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12455
12456 * Makefile.in (LAMBDA_H): Removed.
12457 (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
12458 (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
12459 lambda-trans.o, and tree-loop-linear.o.
12460 (lto-symtab.o): Remove dependence on LAMBDA_H.
12461 (tree-loop-linear.o): Remove rule.
12462 (lambda-mat.o): Same.
12463 (lambda-trans.o): Same.
12464 (lambda-code.o): Same.
12465 (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
12466 (tree-vect-slp.o): Same.
12467 * hwint.h (gcd): Moved here.
12468 (least_common_multiple): Same.
12469 * lambda-code.c: Removed.
12470 * lambda-mat.c: Removed.
12471 * lambda-trans.c: Removed.
12472 * lambda.h: Removed.
12473 * tree-loop-linear.c: Removed.
12474 * lto-symtab.c: Do not include lambda.h.
12475 * omega.c (gcd): Removed.
12476 * passes.c (init_optimization_passes): Remove pass_linear_transform.
12477 * tree-data-ref.c (print_lambda_vector): Moved here.
12478 (lambda_vector_copy): Same.
12479 (lambda_matrix_copy): Same.
12480 (lambda_matrix_id): Same.
12481 (lambda_vector_first_nz): Same.
12482 (lambda_matrix_row_add): Same.
12483 (lambda_matrix_row_exchange): Same.
12484 (lambda_vector_mult_const): Same.
12485 (lambda_vector_negate): Same.
12486 (lambda_matrix_row_negate): Same.
12487 (lambda_vector_equal): Same.
12488 (lambda_matrix_right_hermite): Same.
12489 * tree-data-ref.h: Do not include lambda.h.
12490 (lambda_vector): Moved here.
12491 (lambda_matrix): Same.
12492 (dependence_level): Same.
12493 (lambda_transform_legal_p): Removed declaration.
12494 (lambda_collect_parameters): Same.
12495 (lambda_compute_access_matrices): Same.
12496 (lambda_vector_gcd): Same.
12497 (lambda_vector_new): Same.
12498 (lambda_vector_clear): Same.
12499 (lambda_vector_lexico_pos): Same.
12500 (lambda_vector_zerop): Same.
12501 (lambda_matrix_new): Same.
12502 * tree-flow.h (least_common_multiple): Removed declaration.
12503 * tree-parloops.c (lambda_trans_matrix): Moved here.
12504 (LTM_MATRIX): Same.
12505 (LTM_ROWSIZE): Same.
12506 (LTM_COLSIZE): Same.
12507 (LTM_DENOMINATOR): Same.
12508 (lambda_trans_matrix_new): Same.
12509 (lambda_matrix_vector_mult): Same.
12510 (lambda_transform_legal_p): Same.
12511 * tree-pass.h (pass_linear_transform): Removed declaration.
12512 * tree-ssa-loop.c (tree_linear_transform): Removed.
12513 (gate_tree_linear_transform): Removed.
12514 (pass_linear_transform): Removed.
12515 (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
12516 flag_loop_interchange.
12517
6bdfdb96
JJ
125182011-01-25 Jakub Jelinek <jakub@redhat.com>
12519
12520 PR tree-optimization/47265
12521 PR tree-optimization/47443
12522 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
12523 if name still has some uses.
12524
e4cba915
MJ
125252011-01-25 Martin Jambor <mjambor@suse.cz>
12526
12527 PR tree-optimization/47382
12528 * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
12529 (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
12530
509d65dd 125312011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
f822b8ea
JS
12532
12533 * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
12534 sjlj_except_unwind_info.
12535
194313e2
RG
125362011-01-25 Richard Guenther <rguenther@suse.de>
12537
12538 PR tree-optimization/47426
12539 * tree-ssa-structalias.c (ipa_pta_execute): Make externally
12540 visible functions results escape.
12541
147a0bcf
JJ
125422011-01-25 Jakub Jelinek <jakub@redhat.com>
12543
12544 PR target/45701
12545 * config/arm/arm.c (any_sibcall_uses_r3): New function.
12546 (arm_get_frame_offsets): Use it.
12547
db963b52
SP
125482011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12549 Jakub Jelinek <jakub@redhat.com>
12550
12551 PR tree-optimization/47271
12552 * tree-if-conv.c (bb_postdominates_preds): New.
12553 (if_convertible_bb_p): Call bb_postdominates_preds.
12554 (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
12555 (predicate_scalar_phi): Call bb_postdominates_preds.
12556
bcddd3b9
NC
125572011-01-25 Nick Clifton <nickc@redhat.com>
12558
12559 * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
12560 * config/rx/rx.c (rx_function_value): Likewise.
12561 (rx_promote_function_mode): Likewise.
12562 (gen_safe_add): Place an outsized immediate value inside an UNSPEC
12563 in order to make it legitimate.
38be4072
UB
12564 * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
12565 make sure that the first operand is the same as the result register.
bcddd3b9
NC
12566 (addsi3_unspec): Delete.
12567 (subdi3): Do not accept immediate operands.
12568 (subdi3_internal): Likewise.
12569
7e6cb022
JL
125702011-01-25 Jeff Law <law@redhat.com>
12571
12572 PR rtl-optimization/37273
12573 * ira-costs.c (scan_one_insn): Detect constants living in memory and
12574 handle them like argument loads from stack slots. Do not double
12575 count memory for memory constants and argument loads from stack slots.
12576
9ffa621e
JJ
125772011-01-25 Jakub Jelinek <jakub@redhat.com>
12578
12579 PR tree-optimization/47427
12580 PR tree-optimization/47428
12581 * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
12582 coalesce if the new root var would be TREE_READONLY.
12583
5bd6e652
RG
125842011-01-25 Richard Guenther <rguenther@suse.de>
12585
12586 PR middle-end/47414
12587 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
12588 correct type for TBAA.
12589
7c48ea69
SP
125902011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12591
12592 * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
12593 (close_phi_written_to_memory): Call for_each_index with
12594 dr_indices_valid_in_loop.
12595
38013f25
SP
125962011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12597
12598 * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
12599 when it is initialized.
12600
5c640e29
SP
126012011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12602
12603 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
12604 call to graphite_find_data_references_in_stmt.
12605 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
12606 (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
12607 call to graphite_find_data_references_in_stmt.
12608 (analyze_drs_in_stmts): Same.
12609 * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
12610 in which the scalar analysis of indices is performed.
12611 (create_data_ref): Same. Update call to dr_analyze_indices.
12612 (find_data_references_in_stmt): Update call to create_data_ref.
12613 (graphite_find_data_references_in_stmt): Same.
12614 * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
12615 declaration.
12616 (create_data_ref): Same.
12617 * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
12618 call to create_data_ref.
12619
ac53c069
SP
126202011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12621
12622 * graphite-sese-to-poly.c (build_poly_scop): Move
38be4072 12623 rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
ac53c069 12624
3d17df15
SP
126252011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12626
12627 * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
12628 VAR_DECL, PARM_DECL, and RESULT_DECL.
12629
c513da01
SP
126302011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12631
12632 * graphite-dependences.c (reduction_dr_1): Allow several reductions
12633 in a reduction PBB.
12634 * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
12635 that have already been marked as PBB_IS_REDUCTION.
12636
3a292d59
SP
126372011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12638
12639 * graphite-scop-detection.c (same_close_phi_node): New.
12640 (remove_duplicate_close_phi): New.
12641 (make_close_phi_nodes_unique): New.
12642 (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
12643
ba858447
SP
126442011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12645
12646 * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
12647 * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
12648 of both data references to be the same.
12649
8d865c56
SP
126502011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12651
38be4072
UB
12652 * graphite-dependences.c (build_lexicographical_constraint): Remove
12653 the gdim parameter.
12654 (build_lexicographical_constraint): Adjust call to
12655 ppl_powerset_is_empty.
8d865c56
SP
12656 (dependence_polyhedron): Same.
12657 (graphite_legal_transform_dr): Same.
12658 (graphite_carried_dependence_level_k): Same.
38be4072
UB
12659 * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
12660 parameter.
8d865c56
SP
12661 * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
12662
50034a36
SP
126632011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12664
12665 * graphite-sese-to-poly.c
12666 (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
12667 (close_phi_written_to_memory): New.
12668 (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
12669 and unshare_expr.
12670
0deada9e
SP
126712011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12672
12673 * doc/install.texi: Update the expected version number of PPL to 0.11.
12674 * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
12675 #if PPL_VERSION_MINOR < 11.
12676
d7d3d6af
SP
126772011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12678
12679 * graphite-dependences.c: Include graphite-cloog-util.h.
12680 (new_poly_ddr): Inlined into dependence_polyhedron.
12681 (free_poly_ddr): Moved close by new_poly_ddr.
12682 (dependence_polyhedron_1): Renamed dependence_polyhedron.
12683 Early return NULL when ppl_powerset_is_empty returns true.
12684 (dependence_polyhedron): Renamed new_poly_ddr. Call only once
12685 poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
12686 (graphite_legal_transform_dr): Call new_poly_ddr.
12687 (graphite_carried_dependence_level_k): Same.
12688 (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
12689 (dot_transformed_deps_stmt_1): Removed.
12690 (dot_deps_stmt_1): Call dot_deps_stmt_2.
12691 (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
12692 (dot_deps_1): Call dot_deps_2.
12693 * Makefile.in (graphite-dependences.o): Add missing dependence on
12694 graphite-cloog-util.h.
12695
28c5db57
SP
126962011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12697
12698 * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
12699 (build_lexicographical_constraint): Same.
12700 (dependence_polyhedron_1): Same.
12701 (graphite_legal_transform_dr): Same.
12702 (graphite_carried_dependence_level_k): Same.
12703 * graphite-ppl.c (ppl_powerset_is_empty): New.
12704 * graphite-ppl.h (ppl_powerset_is_empty): Declared.
12705 * tree-data-ref.c (dump_data_reference): Print the basic block index.
12706
5168d98f
SP
127072011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12708
12709 * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
12710 the "a followed by b" relation and document it.
12711
4a40293a
SP
127122011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12713
12714 * graphite-dependences.c (build_lexicographical_constraint): Stop the
12715 iteration when the bag of constraints is empty.
12716
271fb6fa
SP
127172011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12718
12719 * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
12720
92d23680
SP
127212011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12722
12723 * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
12724 nest and two loop depths as parameters.
12725 (lst_try_interchange_loops): Call lst_interchange_profitable_p after
12726 lst_perfect_nestify.
12727
2f51deff
SP
127282011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12729
12730 * graphite-dependences.c (print_pddr): Call
12731 ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
12732
07f3593c
SP
127332011-01-25 Sebastian Pop <sebastian.pop@amd.com>
12734
12735 * graphite-ppl.c (debug_gmp_value): New.
12736 * graphite-ppl.h (debug_gmp_value): Declared.
12737
3fae6099
TG
127382011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
12739
12740 * doc/install.texi: Document availability of cloog-0.16.
12741
1c3ba85b
SP
127422011-01-25 Vladimir Kargov <kargov@gmail.com>
12743
12744 * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
12745 invalid postdominance info.
12746
e8ba94fc
JH
127472011-01-24 Jan Hubicka <jh@suse.cz>
12748
12749 PR c/21659
12750 * doc/extend.texi (weak pragma): Drop claim that it must
12751 appear before definition.
12752 * varasm.c (merge_weak, declare_weak): Only sanity check
12753 that DECL is not output at a time it is declared weak.
12754
2b6e2d13
KZ
127552011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
12756
12757 * machmode.def: Fixed comments.
1c3ba85b 12758
9841210f
KT
127592011-01-24 Kai Tietz <kai.tietz@onevision.com>
12760
12761 * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
12762
127632011-01-24 Paul Koning <ni1d@arrl.net>
e046112d
PK
12764
12765 * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
1c3ba85b 12766 WORDS_BIG_ENDIAN.
e046112d 12767
a6c5070a
L
127682011-01-24 H.J. Lu <hongjiu.lu@intel.com>
12769
12770 PR target/46519
12771 * config/i386/i386.c: Include sbitmap.h and fibheap.h.
12772 (block_info): Add scanned and prev.
12773 (move_or_delete_vzeroupper_2): Return if the basic block
12774 has been scanned and the upper 128bit state is unchanged
12775 from the last scan.
12776 (move_or_delete_vzeroupper_1): Return true if the exit
12777 state is changed.
12778 (move_or_delete_vzeroupper): Visit basic blocks using the
12779 work-list based algorithm based on vt_find_locations in
12780 var-tracking.c.
12781
12782 * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
12783
a40d79d7
NC
127842011-01-24 Nick Clifton <nickc@redhat.com>
12785
12786 * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
12787 * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
12788 -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
12789 then define __v850e1__.
12790 * doc/invoke.texi: Document -mv850es.
12791
440eb8de
RH
127922011-01-24 Richard Henderson <rth@redhat.com>
12793
12794 * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
12795 compound unordered comparisons.
12796 * config/rx/rx.c (rx_split_fp_compare): Remove.
12797 * config/rx/rx-protos.h: Update.
12798 * config/rx/rx.md (gcc_conds, rx_conds): Remove.
12799 (cbranchsf4): Don't call rx_split_fp_compare.
12800 (*cbranchsf4): Use rx_split_cbranch.
12801 (*cmpsf): Don't accept "i" constraint.
12802 (*conditional_branch): Only valid after reload.
12803 (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
12804
3ff79f99
MM
128052011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
12806
12807 PR target/47385
12808 * config/rs6000/altivec.md (vector constant splitters): Add
12809 support for creating vector single precision constants if -mvsx is
12810 used and we would create the constant using Altivec primitives.
12811
ff3d9d08
BS
128122011-01-23 Bernd Schmidt <bernds@codesourcery.com>
12813 Richard Sandiford <rdsandiford@googlemail.com>
12814
12815 PR rtl-optimization/47166
12816 * reload1.c (emit_reload_insns): Disable the spill_reg_store
12817 mechanism for PRE_MODIFY and POST_MODIFY.
12818 (inc_for_reload): For PRE_MODIFY, return the insn that sets the
12819 reloadreg.
12820
7fcaf152
AS
128212011-01-23 Andreas Schwab <schwab@linux-m68k.org>
12822
8788adb6 12823 * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
7fcaf152 12824
d09b58c4
JH
128252011-01-22 Jan Hubicka <jh@suse.cz>
12826
12827 PR lto/47333
12828 * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
12829
e8ff8c5a
JH
128302011-01-22 Jan Hubicka <jh@suse.cz>
12831
12832 PR tree-optimization/43884
12833 PR lto/44334
8788adb6 12834 * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
e8ff8c5a
JH
12835 * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
12836
ccaed3ba
AS
128372011-01-22 Anatoly Sokolov <aesok@post.ru>
12838
12839 * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
12840 * config/s390/s390.c (s390_register_move_cost,
12841 s390_memory_move_cost): New.
12842 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
12843
0cecee06
UW
128442011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
12845
12846 PR middle-end/47401
12847 * except.c (sjlj_assign_call_site_values): Move setting the
12848 crtl->uses_eh_lsda flag to ...
12849 (sjlj_mark_call_sites): ... here.
12850 (sjlj_emit_function_enter): Support NULL dispatch label.
12851 (sjlj_build_landing_pads): In a function with no landing pads
12852 that still has must-not-throw regions, generate code to register
12853 a personality function with empty LSDA.
12854
e692f276
RH
128552011-01-21 Richard Henderson <rth@redhat.com>
12856
1b7ae0b7
RH
12857 * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
12858
3843787f
RH
12859 * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
12860
e692f276
RH
12861 * compare-elim.c: New file.
12862 * Makefile.in (OBJS-common): Add it.
12863 (compare-elim.o): New.
12864 * common.opt (fcompare-elim): New.
12865 * opts.c (default_options_table): Add OPT_fcompare_elim.
12866 * tree-pass.h (pass_compare_elim_after_reload): New.
12867 * passes.c (init_optimization_passes): Add it.
12868 * recog.h: Protect against re-inclusion.
12869 * target.def (TARGET_FLAGS_REGNUM): New POD hook.
12870 * doc/invoke.texi (-fcompare-elim): Document it.
12871 * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
12872 * doc/tm.texi: Rebuild.
12873
9a7c2050
NC
128742011-01-22 Nick Clifton <nickc@redhat.com>
12875
12876 * config/rx/rx.md (cstoresf4): Pass comparison operator to
12877 rx_split_fp_compare.
12878
15ba5696
NC
128792011-01-22 Nick Clifton <nickc@redhat.com>
12880
12881 * config/rx/rx.md (UNSPEC_CONST): New.
12882 (deallocate_and_return): Wrap the amount popped off the stack in
12883 an UNSPEC_CONST in order to stop it being rejected by
12884 -mmax-constant-size.
12885 (pop_and_return): Add a "(return)" rtx.
12886 (call): Drop the immediate operand.
12887 (call_internal): Likewise.
12888 (call_value): Likewise.
12889 (call_value_internal): Likewise.
12890 (sibcall_internal): Likewise.
12891 (sibcall_value_internal): Likewise.
12892 (sibcall): Likewise. Generate an explicit call using
12893 sibcall_internal.
12894 (sibcall_value): Likewise.
12895 (mov<>): FAIL if a constant operand is not legitimate.
12896 (addsi3_unpsec): New pattern.
9a7c2050 12897
38be4072 12898 * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
15ba5696
NC
12899 (ok_for_max_constant): New function.
12900 (gen_safe_add): New function.
12901 (rx_expand_prologue): Use gen_safe_add.
12902 (rx_expand_epilogue): Likewise.
12903 (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
12904 UNSPEC CONSTs.
12905
caaf13d3
JL
129062011-01-21 Jeff Law <law@redhat.com>
12907
12908 PR tree-optimization/47053
12909 * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
12910 (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
12911 statements are deleted.
12912 (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
12913 is nonempty, then purge dead edges and cleanup the CFG.
12914
12c30f2f
AO
129152011-01-21 Alexandre Oliva <aoliva@redhat.com>
12916
12917 PR debug/47402
12918 Temporarily revert:
12919 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
12920 PR debug/47106
12921 * tree-dfa.c (create_var_ann): Mark variable as used.
12922
7360d2ac
JJ
129232011-01-21 Jakub Jelinek <jakub@redhat.com>
12924
aaa52a96
JJ
12925 PR middle-end/45566
12926 * except.c (convert_to_eh_region_ranges): Emit queued no-region
12927 notes from other section in hot/cold partitioning even if
12928 last_action is -3. Increment call_site_base.
12929
7360d2ac
JJ
12930 PR rtl-optimization/47366
12931 * fwprop.c (forward_propagate_into): Return bool. If
12932 any changes are made, -fnon-call-exceptions is used and
12933 REG_EH_REGION note is present, call purge_dead_edges
12934 and return true if it purged anything.
12935 (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
12936 any EH edges were purged.
12937
e90b336f
JL
129382011-01-21 Jeff Law <law@redhat.com>
12939
12940 PR rtl-optimization/41619
12941 * caller-save.c (setup_save_areas): Break out code to determine
12942 which hard regs are live across calls by examining the reload chains
12943 so that it is always used.
12944 Eliminate code which checked REG_N_CALLS_CROSSED.
12945
3ffe07e1
JJ
129462011-01-21 Jakub Jelinek <jakub@redhat.com>
12947
12948 PR tree-optimization/47355
12949 * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
12950 NOP has non-debug uses beyond PHIs in new_bb.
12951
1c7d0b34
AO
129522011-01-21 Alexandre Oliva <aoliva@redhat.com>
12953
12954 PR debug/47106
12955 * cfgexpand.c (account_used_vars_for_block): Only account vars
12956 that are annotated as used.
12957 (estimated_stack_frame_size): Don't set TREE_USED.
12958 * tree-dfa.c (create_var_ann): Mark variable as used.
12959
f99cc488
RG
129602011-01-21 Richard Guenther <rguenther@suse.de>
12961
12962 PR middle-end/47395
12963 * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
12964
3bc27de7
RG
129652011-01-21 Richard Guenther <rguenther@suse.de>
12966
12967 PR tree-optimization/47365
12968 * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
12969 (vn_reference_lookup_pieces): Adjust.
12970 (vn_reference_lookup): Likewise.
12971 * tree-ssa-sccvn.c (vn_walk_kind): New static global.
12972 (vn_reference_lookup_3): Only look through kills if in
12973 VN_WALKREWRITE mode.
12974 (vn_reference_lookup_pieces): Adjust.
12975 (vn_reference_lookup): Likewise.
12976 (visit_reference_op_load): Likewise.
12977 (visit_reference_op_store): Likewise.
12978 * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
12979 (compute_avail): Likewise.
12980 (eliminate): Likewise.
12981
d8debb1d
JJ
129822011-01-21 Jakub Jelinek <jakub@redhat.com>
12983
12984 * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
12985 DECL_IGNORED_P non-reg vars if they are used.
12986
3a2df831
JJ
12987 PR tree-optimization/47391
12988 * varpool.c (const_value_known_p): Return false if
12989 decl is volatile.
12990
1dd584a2
KT
129912011-01-21 Kai Tietz <kai.tietz@onevision.com>
12992
12993 PR bootstrap/47215
12994 * config/i386/i386.c (ix86_local_alignment): Handle
12995 case for va_list_type_node is nil.
12996 (ix86_canonical_va_list_type): Likewise.
12997
7f9f095e
AM
129982011-01-21 Alan Modra <amodra@gmail.com>
12999
13000 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
13001 builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
13002
837b01f6
RR
130032011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13004
13005 * config/arm/arm.md (define_attr type): Rename f_load
13006 and f_store to f_fpa_load and f_fpa_store. Update.
13007 (write_conflict): Deal with rename fallout.
13008 (*push_fp_multi): Likewise.
13009 * config/arm/fpa.md (f_load): Use f_fpa_load.
13010 (f_store): Use f_fpa_store.
13011 (*movsf_fpa): Likewise.
13012 (*movdf_fpa): Likewise.
13013 (*movxf_fpa): Likewise.
13014 (*thumb2_movsf_fpa): Likewise.
13015 (*thumb2_movdf_fpa): Likewise.
13016 (*thumb2_movxf_fpa): Likewise.
13017 * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
13018 f_loadd and f_stored.
13019 (*thumb2_movdi_vfp): Likewise.
13020 (*thumb2_movsf_vfp): Fix attribute to f_loads.
13021 (*thumb2_movsi_vfp): Likewise.
13022 * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
13023 Use f_loads instead of f_load.
13024 * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
13025
a1a79768
AS
130262011-01-20 Anatoly Sokolov <aesok@post.ru>
13027
13028 * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
13029 * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
13030 * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
13031 (xtensa_mode_dependent_address_p): New function.
13032 (constantpool_address_p): Make static. Change return type to bool.
13033 Change argument type to const_rtx. Use CONST_INT_P predicate.
13034
427f6cec
AO
130352011-01-20 Alexandre Oliva <aoliva@redhat.com>
13036
13037 PR debug/46583
13038 * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
13039
583ac69c
JJ
130402011-01-20 Jakub Jelinek <jakub@redhat.com>
13041
13042 PR debug/47283
13043 * cfgexpand.c (expand_debug_expr): Instead of generating
13044 (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
13045 etc. handling.
13046
93e452ed
RG
130472011-01-20 Richard Guenther <rguenther@suse.de>
13048
13049 PR middle-end/47370
13050 * tree-inline.c (remap_gimple_op_r): Recurse manually for
13051 the pointer operand of MEM_REFs.
13052
28fc44f3
JJ
130532011-01-20 Jakub Jelinek <jakub@redhat.com>
13054
13055 PR tree-optimization/46130
13056 * ipa-split.c (consider_split): If return_bb contains non-virtual
13057 PHIs other than for retval or if split_function would not adjust it,
13058 refuse to split.
13059
ddd268f2
RG
130602011-01-20 Richard Guenther <rguenther@suse.de>
13061
13062 PR tree-optimization/47167
13063 * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
13064 Revert previous change, only avoid enumeral type changes.
13065
882020aa
MS
130662011-01-19 Mike Stump <mikestump@comcast.net>
13067
13068 * doc/tm.texi.in (BRANCH_COST): Englishify.
13069 * doc/tm.texi (BRANCH_COST): Likewise.
13070
7edb6247
DS
130712011-01-19 Dodji Seketeli <dodji@redhat.com>
13072
13073 PR c++/47291
13074 * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
61052244
AM
13075 (gen_scheduled_generic_parms_dies): New functions.
13076 (gen_struct_or_union_type_die): Schedule template parameters DIEs
13077 generation for the end of CU compilation.
13078 (dwarf2out_finish): Generate template parameters DIEs here.
7edb6247 13079
23d5ed5d
AO
130802011-01-19 Alexandre Oliva <aoliva@redhat.com>
13081
13082 PR debug/46240
13083 * tree-into-ssa.c (maybe_register_def): Do not attempt to add
13084 debug bind stmt on merge edges.
13085
37d6a488
AO
130862011-01-19 Alexandre Oliva <aoliva@redhat.com>
13087
13088 PR debug/47079
13089 PR debug/46724
13090 * function.c (instantiate_expr): Instantiate incoming rtl of
13091 implicit arguments, and recurse on VALUE_EXPRs.
13092 (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
13093 * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
13094
689f2c82
AO
130952011-01-19 Alexandre Oliva <aoliva@redhat.com>
13096
13097 * c-parser.c (c_parser_for_statement): Initialize
13098 collection_expression.
13099
03029de4
JM
131002011-01-19 Joseph Myers <joseph@codesourcery.com>
13101
13102 * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
13103
3e03217e
JM
131042011-01-19 Joseph Myers <joseph@codesourcery.com>
13105
13106 * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
13107 (LINK_SHLIB_SPEC): Don't use %(link_path).
13108 (SUBTARGET_EXTRA_SPECS): Remove link_path.
13109
5bbe9b3f
JM
131102011-01-19 Joseph Myers <joseph@codesourcery.com>
13111
13112 * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
13113 (NO_SHARED_LIB_SUPPORT): Remove.
13114 (LINK_SHLIB_SPEC): Remove one conditional definition.
13115
368e0b39
JM
131162011-01-19 Joseph Myers <joseph@codesourcery.com>
13117
13118 * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
13119 %{call_shared}.
13120 * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
13121 * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
13122 * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
13123 %{call_shared} and conditionals on these options not being passed.
13124 * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
13125 %{call_shared}.
13126
ed7656f6
JJ
131272011-01-19 Jakub Jelinek <jakub@redhat.com>
13128
68457901
JJ
13129 * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
13130 simplify.
13131
ed7656f6
JJ
13132 * ipa-split.c: Spelling fixes.
13133
e0d1958f
RH
131342011-01-19 Richard Henderson <rth@redhat.com>
13135
13136 * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
13137 (*mulsi3): Likewise.
13138
27098b6b
RH
13139 * longlong.h [__mn10300__] (count_leading_zeros): New.
13140 [__mn10300__] (umul_ppmm, smul_ppmm): New.
13141 [__mn10300__] (add_ssaaaa, subddmmss): New.
13142 [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
13143 [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
13144
d6be7c36
UW
131452011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13146
13147 * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
13148
b1efde2a
RH
131492011-01-19 Richard Henderson <rth@redhat.com>
13150
44217823
RH
13151 * config/mn10300/mn10300.md (addsi3_flags): New.
13152 (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
13153 (subsi3_flags, subc_internal, subdi3): New.
13154 (subdi3_internal, *subdi3_degenerate): New.
13155 * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
13156
37a185d7
RH
13157 * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
13158 (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
13159 (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
13160 * config/mn10300/mn10300-protos.h: Update.
13161 * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
13162 (return_ret): Likewise. Rename from return_internal_regs.
13163 (return_internal): Remove.
13164
040c5757
RH
13165 * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
13166 (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
13167 (mn10300_legitimate_constant_p): Likewise.
13168 (mn10300_can_use_return_insn): Use mn10300_initial_offset.
13169 (mn10300_frame_size): New.
13170 (mn10300_expand_prologue): Use it.
13171 (mn10300_expand_epilogue): Likewise.
13172 (mn10300_initial_offset): Likewise.
13173 * config/mn10300/mn10300-protos.h: Update.
13174 * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
13175 * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
13176 (prologue, epilogue, return_internal): Tidy output code.
13177 (mn10300_store_multiple_operation, return): Likewise.
13178 (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
13179 (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
13180 (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
13181 (load_pic, am33_load_pic): New.
13182 (mn10300_load_pic0, mn10300_load_pic1): New.
13183
bad41521
RH
13184 * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
13185 * config/mn10300/mn10300.c (CC_FLAG_Z): New.
13186 (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
13187 (cc_flags_for_mode, cc_flags_for_code): New.
13188 (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
13189 overflow flag is not valid. Validate that the flags we need
13190 for the comparison are valid.
13191 (mn10300_output_cmp): Remove.
13192 (mn10300_output_add): New.
13193 (mn10300_select_cc_mode): Use cc_flags_for_code.
13194 (mn10300_split_cbranch): New.
13195 (mn10300_match_ccmode): New.
13196 (mn10300_split_and_operand_count): New.
13197 * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
13198 to the function.
13199 * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
13200 (addsi3): ... here. Use mn10300_output_add.
13201 (*addsi3_flags): New.
13202 (*am33_subsi3, *mn10300_subsi3): Merge...
13203 (subsi3): ... here. Use attribute isa.
13204 (*subsi3_flags): New.
13205 (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
13206 when possible.
13207 (*am33_andsi3, *mn10300_andsi3): Merge...
13208 (andsi3): ... here.
13209 (*andsi3_flags): New.
13210 (andsi3 splitters): New.
13211 (*am33_iorsi3, *mn10300_iorsi3): Merge...
13212 (iorsi3): ... here.
13213 (*iorsi3_flags): New.
13214 (*am33_xorsi3, *mn10300_xorsi3): Merge...
13215 (xorsi3): ... here.
13216 (*xorsi3_flags): New.
13217 (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
13218 (one_cmplsi2): ... here.
13219 (*one_cmplsi2_flags): New.
13220 (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
13221 instead of "dax" in constraints. Use mn10300_split_cbranch.
13222 (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
13223 use matching constraints to eliminate a self-comparison.
13224 (*integer_conditional_branch): Rename from integer_conditional_branch.
13225 Use int_mode_flags to match CC_REG.
13226 (*cbranchsi4_btst, *btstsi): New.
13227 (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
13228 mn10300_split_cbranch.
13229 (*am33_cmpsf): Rename from am33_cmpsf.
13230 (*float_conditional_branch): Rename from float_conditional_branch.
13231 (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
13232 (zero_extendqisi2): ... here.
13233 (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
13234 (zero_extendhisi2): ... here.
13235 (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
13236 (extendqisi2): ... here.
13237 (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
13238 (extendhisi2): ... here.
13239 (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
13240 (ashlsi3): ... here.
13241 (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
13242 (lshrsi3): ... here.
13243 (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
13244 (ashrsi3): ... here.
13245 (consecutive add peephole): Remove.
13246 * config/mn10300/predicates.md (label_ref_operand): New.
13247 (int_mode_flags): New.
13248 (CCZN_comparison_operator): New.
13249
9efb4993
RH
13250 * config/mn10300/mn10300.md (UNSPEC_EXT): New.
13251 (throughput_42_latency_43): New reservation.
13252 (mulsidi3, umulsidi3): New expanders.
13253 (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
13254 the MDR register to allocation; separately allocate the low and
13255 high parts of the DImode result.
13256 (umulsidi3_internal): Similarly.
13257 (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
13258 (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
13259 (udivsi3, umodsi3): Remove.
13260 (udivmodsi4, divmodsi4): New expanders.
13261 (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
13262 (*divmodsi4): Simiarly.
13263 (ext_internal): New.
13264
c25a21f5
RH
13265 * config/mn10300/constraints.md ("z"): New constraint.
13266 * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
13267 (FIXED_REGISTERS): Don't fix MDR.
13268 (CALL_USED_REGSITERS): Reformat nicely.
13269 (REG_ALLOC_ORDER): Add MDR.
13270 (enum regclass): Add MDR_REGS.
13271 (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
13272 (IRA_COVER_CLASSES): Add MDR_REGS.
13273 (REGNO_REG_CLASS): Handle MDR_REG.
13274 * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
13275 (mn10300_register_move_cost): Likewise.
13276 * config/mn10300/mn10300.md (MDR_REG): New.
13277 (*movsi_internal): Handle moves to/from MDR_REGS.
13278
36846b26
RH
13279 * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
13280 POST_MODIFY.
13281 (mn10300_secondary_reload): Tidy combination reload classes.
13282 (mn10300_legitimate_address_p): Allow post-modify and reg+reg
13283 addresses for AM33. Allow symbolic offsets for reg+imm.
13284 (mn10300_regno_in_class_p): New.
13285 (mn10300_legitimize_reload_address): New.
13286 * config/mn10300/mn10300.h (enum reg_class): Remove
13287 DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
13288 SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
13289 SP_OR_GENERAL_REGS.
13290 (REG_CLASS_NAMES): Update to match.
13291 (REG_CLASS_CONTENTS): Likewise.
13292 (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
13293 (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
13294 (REGNO_IN_RANGE_P): Remove.
13295 (REGNO_DATA_P): Use mn10300_regno_in_class_p.
13296 (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
13297 (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
13298 (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
13299 (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
13300 (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
13301 (REGNO_GENERAL_P): New.
13302 (HAVE_POST_MODIFY_DISP): New.
13303 (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
13304 (LEGITIMIZE_RELOAD_ADDRESS): New.
13305 * config/mn10300/mn10300-protos.h: Update.
13306
8b119bb6
RH
13307 * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
13308 DATA_REGS for AM33 stack-pointer destination.
13309 (mn10300_preferred_output_reload_class): Likewise.
13310 (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
13311 into a form appropriate for ...
13312 (TARGET_SECONDARY_RELOAD): New.
13313 * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
13314 * config/mn10300/mn10300-protos.h: Update.
13315 * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
13316 reload_insi; use the "A" constraint for the scratch; handle AM33
13317 moves of sp to non-address registers.
13318
b1efde2a
RH
13319 * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
13320 (*movqi_internal): ... here.
13321 (*am33_movhi, *mn10300_movhi): Merge into...
13322 (*movhi_internal): ... here.
13323 (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
13324 as the source/destination of moves from/to SP.
13325 (movsf): Only allow for AM33-2.
1c3ba85b 13326 (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
b1efde2a
RH
13327 any integer constant constraint. Only allow for AM33-2. Tidy
13328 all of the alternative outputs.
13329 (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
13330 (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
13331 for MN103.
13332 (udivsi3, umodsi3): New patterns for MN103 only.
13333
b899fd78
JR
133342011-01-19 Joern Rennecke <amylaar@spamcop.net>
13335
13336 * doc/tm.texi.in: Spell out that a lack of register class unions
13337 can lead to ICEs.
13338 * doc/tm.texi: Regenerate.
13339
afaaa67d
JJ
133402011-01-19 Jakub Jelinek <jakub@redhat.com>
13341
2e0642cd
JJ
13342 PR rtl-optimization/47337
13343 * dce.c (check_argument_store): New function.
13344 (find_call_stack_args): Ignore debug insns. Use check_argument_store.
13345
afaaa67d
JJ
13346 PR tree-optimization/47290
13347 * tree-eh.c (infinite_empty_loop_p): New function.
13348 (cleanup_empty_eh): Use it.
13349
d2cd871f
SE
133502011-01-18 Steve Ellcey <sje@cup.hp.com>
13351
13352 PR target/46997
13353 * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
13354 (a64_expand_widen_sum): Ditto.
13355 * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
13356 (vec_extract_evenodd_help): Ditto.
13357 (vec_extract_evenv4hi): Ditto.
13358 (vec_extract_oddv4hi): Ditto.
13359 (vec_extract_evenv2si): Ditto.
13360 (vec_extract_oddv2si): Ditto.
13361 (vec_extract_evenv2sf): Ditto.
13362 (vec_extract_oddv2sf): Ditto.
13363 (vec_pack_trunc_v4hi: Ditto.
13364 (vec_pack_trunc_v2si): Ditto.
13365 (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
13366 (vec_interleave_highv8qi): Ditto.
13367 (mix1_r): Ditto.
13368 (vec_extract_oddv8qi): Ditto.
13369 (vec_interleave_lowv4hi): Ditto.
13370 (vec_interleave_highv4hi): Ditto.
13371 (vec_interleave_lowv2si): Ditto.
13372 (vec_interleave_highv2si): Ditto.
13373
41a1208a
JDA
133742011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
13375
13376 * doc/extend.texi: Mention __float128 support on hppa HP-UX.
13377 * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
13378 * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
13379 (pa_c_mode_for_suffix): New.
13380 (TARGET_EXPAND_BUILTIN): Define.
13381 (TARGET_C_MODE_FOR_SUFFIX): Define.
13382 (pa_builtins): Define.
13383 (pa_init_builtins): Register __float128 type and init new support
13384 builtins.
13385 * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
13386 * config/pa/quadlib.c (_U_Qfcopysign): New.
13387
1ecad98e
EB
133882011-01-18 Eric Botcazou <ebotcazou@adacore.com>
13389
13390 PR middle-end/46894
13391 * explow.c (allocate_dynamic_stack_space): Do not assume more than
13392 BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
13393 are defined.
13394
d4f2460a
UW
133952011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
13396
13397 PR tree-optimization/47179
13398 * config/spu/spu.c (spu_ref_may_alias_errno): New function.
13399 (TARGET_REF_MAY_ALIAS_ERRNO): Define.
13400
4994da65
RG
134012011-01-18 Richard Guenther <rguenther@suse.de>
13402
13403 PR rtl-optimization/47216
13404 * emit-rtl.c: Include tree-flow.h.
13405 (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
13406 of replicating it with different semantics.
13407 * Makefile.in (emit-rtl.o): Adjust.
13408
1eb458d1
RR
134092011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13410
38be4072 13411 * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
61052244 13412 (cortex_a9_dp): Handle neon types correctly.
1eb458d1 13413
e7ef91dc
JJ
134142011-01-18 Jakub Jelinek <jakub@redhat.com>
13415
13416 PR rtl-optimization/47299
13417 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
38be4072 13418 subtarget. Use normal multiplication if both operands are constants.
e7ef91dc
JJ
13419 * expmed.c (expand_widening_mult): Don't try to optimize constant
13420 multiplication if op0 has VOIDmode. Convert op1 constant to mode
13421 before using it.
13422
535b7874
RW
134232011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13424
13425 * doc/lto.texi (LTO): Ensure two spaces after period. Fix
13426 spacing after 'e.g.', typos, comma, hyphenation.
13427
27bf36f3
RH
134282011-01-17 Richard Henderson <rth@redhat.com>
13429
8a5b5449
RH
13430 * config/rx/predicates.md (rx_constshift_operand): Use match_test.
13431 (rx_restricted_mem_operand): New.
13432 (rx_shift_operand): Use register_operand.
13433 (rx_source_operand, rx_compare_operand): Likewise.
13434 * config/rx/rx.md (addsi3_flags): New expander.
13435 (adddi3): Rewrite as expander.
13436 (adc_internal, *adc_flags, adddi3_internal): New patterns.
13437 (subsi3_flags): New expander.
13438 (subdi3): Rewrite as expander.
13439 (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
13440
784f69be
RH
13441 * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
13442 (rx_init_builtins): Remove sat builtin.
13443 (rx_expand_builtin): Likewise.
13444 * config/rx/rx.md (ssaddsi3): New.
13445 (*sat): Rename from sat. Represent the CC_REG input.
13446
f033541c
RH
13447 * config/rx/predicates.md (rshift_operator): New.
13448 * config/rx/rx.c (rx_expand_insv): Remove.
13449 * config/rx/rx-protos.h: Update.
13450 * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
13451 operand to the canonical position.
13452 (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
13453 (*bitclr, *bitclr_in_memory): Similarly.
13454 (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
13455 (insv): Retain the zero_extract in the expansion.
13456
34fee389
RH
13457 * config/rx/rx.md (bswapsi2): Use = not + for output reload.
13458 (bswaphi2, bitinvert, revw): Likewise.
13459
265c835f
RH
13460 * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
13461 (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
13462 * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
13463 (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
13464 (bitset, bitset_in_memory): Likewise.
13465 (bitinvert, bitinvert_in_memory): Likewise.
13466 (bitclr, bitclr_in_memory): Likewise.
13467 (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
13468 (rx_strend, rx_cmpstrn): Likewise.
13469 (rx_setmem): Likewise. Make the source BLKmode to match the dest.
13470 (bitop peep2 patterns): Remove.
13471
b4d83be3
RH
13472 * config/rx/rx.c (rx_match_ccmode): New.
13473 * config/rx/rx-protos.h: Update.
13474 * config/rx/rx.md (abssi2): Clobber, don't set flags.
13475 (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
13476 (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
13477 (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
13478 (fix_truncsfsi2, floatsisf2): Likewise.
13479 (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
13480 (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
13481 (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
13482 (*subsi3_flags, *xorsi3_flags): New.
13483
d0acb939
RH
13484 * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
13485
c06fc3d9
RH
13486 * config/rx/rx.c (rx_print_operand): Remove workaround for
13487 unsplit comparison operations.
13488
2882702b
RH
13489 * config/rx/rx.md (movsicc): Split after reload.
13490 (*movsicc): Merge *movsieq and *movsine via match_operator.
13491 (*stcc): New pattern.
13492
6f7310f2
RH
13493 * config/rx/rx.c (rx_float_compare_mode): Remove.
13494 * config/rx/rx.h (rx_float_compare_mode): Remove.
13495 * config/rx/rx.md (cstoresi4): Split after reload.
13496 (*sccc): New pattern.
13497
e963cb1a
RH
13498 * config/rx/predicates.md (label_ref_operand): New.
13499 (rx_z_comparison_operator): New.
13500 (rx_zs_comparison_operator): New.
13501 (rx_fp_comparison_operator): New.
13502 * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
13503 Validate that the flags are set properly for the comparison.
13504 (rx_gen_cond_branch_template): Remove.
13505 (rx_cc_modes_compatible): Remove.
13506 (mode_from_flags): New.
13507 (flags_from_code): Rename from flags_needed_for_conditional.
13508 (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
13509 (rx_select_cc_mode): Likewise.
13510 (rx_split_fp_compare): New.
13511 (rx_split_cbranch): New.
13512 * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
13513 (*cbranchsi4): Use match_operator and rx_split_cbranch.
13514 (*cbranchsf4): Similarly.
13515 (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
13516 match_operator and rx_split_cbranch.
13517 (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
13518 tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
13519 (*cmpsi): Rename from cmpsi.
13520 (*tstsi): Rename from tstsi.
13521 (*cmpsf): Rename from cmpsf; use CC_Fmode.
13522 (*conditional_branch): Rename from conditional_branch.
13523 (*reveresed_conditional_branch): Remove.
13524 (b<code>): Remove expander.
13525 * config/rx/rx-protos.h: Update.
13526
af530bb4
RH
13527 * config/rx/rx.c (rx_compare_redundant): Remove.
13528 * config/rx/rx.md (cmpsi): Don't use it.
13529 * config/rx/rx-protos.h: Update.
13530
27bf36f3
RH
13531 * config/rx/rx-modes.def (CC_F): New mode.
13532 * config/rx/rx.c (rx_select_cc_mode): New.
13533 * config/rx/rx.h (SELECT_CC_MODE): Use it.
13534 * config/rx/rx-protos.h: Update.
13535
d7fde127
RH
135362011-01-17 Richard Henderson <rth@redhat.com>
13537
13538 * except.c (dump_eh_tree): Fix stray ; after for statement.
13539
6ff38230
RG
135402011-01-17 Richard Guenther <rguenther@suse.de>
13541
13542 PR tree-optimization/47313
13543 * tree-inline.c (tree_function_versioning): Move DECL_RESULT
13544 handling before copying the body. Properly deal with
13545 by-reference result in SSA form.
13546
114ce554
ILT
135472011-01-17 Ian Lance Taylor <iant@google.com>
13548
bf5cd92b 13549 PR target/47219
114ce554
ILT
13550 * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
13551 (struct_value_alias_set): Don't define.
13552 (sparc_option_override): Don't set sparc_sr_alias_set and
13553 struct_value_alias_set.
13554 (save_or_restore_regs): Use gen_frame_mem rather than calling
13555 set_mem_alias_set.
13556 (sparc_struct_value_rtx): Likewise.
13557
98c6d93c
L
135582011-01-17 H.J. Lu <hongjiu.lu@intel.com>
13559
13560 PR target/47318
7a81008b 13561 * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i.
98c6d93c
L
13562 (_mm_maskstore_pd): Likewise.
13563 (_mm_maskload_ps): Likewise.
13564 (_mm_maskstore_ps): Likewise.
13565 (_mm256_maskload_pd): Change mask to __m256i.
13566 (_mm256_maskstore_pd): Likewise.
13567 (_mm256_maskload_ps): Likewise.
13568 (_mm256_maskstore_ps): Likewise.
13569
13570 * config/i386/i386-builtin-types.def: Updated.
13571 (ix86_expand_special_args_builtin): Likewise.
13572
13573 * config/i386/i386.c (bdesc_special_args): Update
13574 __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
13575 __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
13576 __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
13577 __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
13578
13579 * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
13580 Use <avxpermvecmode> on mask register.
13581 (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
13582
b9361af2 135832011-01-17 Olivier Hainque <hainque@adacore.com>
61052244
AM
13584 Michael Haubenwallner <michael.haubenwallner@salomon.at>
13585 Eric Botcazou <ebotcazou@adacore.com>
b9361af2
OH
13586
13587 PR target/46655
13588 * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
13589 if <= USHRT_MAX in 32-bit mode.
13590
b7ae9eb5
RW
135912011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13592
13593 * doc/install.texi (Configuration, Specific): Wrap long
13594 lines in examples. Allow line wrapping in long options
13595 and URLs where beneficial for PDF output.
13596
4377fad9
RS
135972011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
13598
13599 * config/mips/mips.c (mips_classify_symbol): Don't return
13600 SYMBOL_PC_RELATIVE for nonlocal labels.
13601
55959ffa 136022011-01-15 Eric Botcazou <ebotcazou@adacore.com>
be46831f 13603
55959ffa
EB
13604 * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
13605
136062011-01-15 Jan Hubicka <jh@suse.cz>
13607
13608 PR tree-optimization/47276
be46831f
JH
13609 * ipa.c (function_and_variable_visibility): Do not try to mark alias
13610 declarations as needed.
13611
05842ff5
MJ
136122011-01-15 Martin Jambor <mjambor@suse.cz>
13613
13614 * common.opt (fdevirtualize): New flag.
13615 * doc/invoke.texi (Option Summary): Document it.
13616 * opts.c (default_options_table): Add devirtualize flag.
13617 * ipa-prop.c (detect_type_change): Return immediately if
13618 devirtualize flag is not set.
13619 (detect_type_change_ssa): Likewise.
13620 (compute_known_type_jump_func): Likewise.
13621 (ipa_analyze_virtual_call_uses): Likewise.
13622
f65cf2b7
MJ
136232011-01-14 Martin Jambor <mjambor@suse.cz>
13624
13625 PR tree-optimization/45934
13626 PR tree-optimization/46302
13627 * ipa-prop.c (type_change_info): New type.
13628 (stmt_may_be_vtbl_ptr_store): New function.
13629 (check_stmt_for_type_change): Likewise.
13630 (detect_type_change): Likewise.
13631 (detect_type_change_ssa): Likewise.
13632 (compute_complex_assign_jump_func): Check for dynamic type change.
13633 (compute_complex_ancestor_jump_func): Likewise.
13634 (compute_known_type_jump_func): Likewise.
13635 (compute_scalar_jump_functions): Likewise.
13636 (ipa_analyze_virtual_call_uses): Likewise.
13637 (ipa_analyze_node): Push and pop cfun, set current_function_decl.
13638
eb5bb0fd
JM
136392011-01-14 Joseph Myers <joseph@codesourcery.com>
13640
13641 * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
13642 * config/i386/i386.opt (msse5): New Alias.
13643
f2060fbe
JM
136442011-01-14 Joseph Myers <joseph@codesourcery.com>
13645
13646 * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
13647 * config/sparc/linux64.h (CC1_SPEC): Likewise.
13648 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
13649 * config/sparc/sparc.h (CC1_SPEC): Likewise.
13650
3a7b4385
JM
136512011-01-14 Joseph Myers <joseph@codesourcery.com>
13652
13653 * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
13654 -mcpu options.
13655 * config/sparc/linux64.h (CC1_SPEC): Likewise.
13656 * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
13657 * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
13658 * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
13659 Likewise.
13660 * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
13661
a7b778f8
JM
136622011-01-14 Joseph Myers <joseph@codesourcery.com>
13663
38be4072 13664 * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
a7b778f8 13665
a7edae0a
MS
136662011-01-14 Mike Stump <mikestump@comcast.net>
13667
13668 * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
13669 * config/fr30/fr30.md: Likweise
13670 (movsi_push): Likewise.
13671 (movsi_pop): Likewise.
13672 (enter_func): Likewise.
13673 * config/moxie/moxie.md (movsi_push): Likewise.
13674 (movsi_pop): Likewise.
13675
cbabf03f
JM
136762011-01-14 Joseph Myers <joseph@codesourcery.com>
13677
13678 * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
13679 %{no_archive} %{exact_version}.
13680 * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
13681 * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
13682 %{no_archive} %{exact_version}.
13683 * config/mips/openbsd.h (LINK_SPEC): Likewise.
13684 * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
13685 * config/mips/vxworks.h: Likewise.
13686
438da41a
JM
136872011-01-14 Joseph Myers <joseph@codesourcery.com>
13688
38be4072 13689 * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
438da41a 13690
da290a42
JM
136912011-01-14 Joseph Myers <joseph@codesourcery.com>
13692
13693 * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
13694 ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
13695
8989d00e
JM
136962011-01-14 Joseph Myers <joseph@codesourcery.com>
13697
13698 * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
13699 -nodefaultlib.
13700
a3010a69
JM
137012011-01-14 Joseph Myers <joseph@codesourcery.com>
13702
13703 * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
13704 for mcpu not cpu.
13705 * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
13706 CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
13707 not cpu.
13708 (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
13709 Don't handle -shlib.
13710
e7f2f537
JM
137112011-01-14 Joseph Myers <joseph@codesourcery.com>
13712
13713 * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
13714 (CC1_SPEC): Don't handle -profile.
13715
34830bfd
JM
137162011-01-14 Joseph Myers <joseph@codesourcery.com>
13717
13718 * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
13719 * config/mips/mips.h (CC1_SPEC): Likewise.
13720
b2d36e74
JM
137212011-01-14 Joseph Myers <joseph@codesourcery.com>
13722
13723 * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
13724 * config/mips/mips.h (CC1_SPEC): Likewise.
13725
dabadc52
JM
137262011-01-14 Joseph Myers <joseph@codesourcery.com>
13727
13728 * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
13729 * config/m32r/linux.h (LINK_SPEC): Likewise.
13730 * config/mips/linux.h (LINK_SPEC): Likewise.
13731 * config/mips/linux64.h (LINK_SPEC): Likewise.
13732 * config/sparc/linux.h (LINK_SPEC): Likewise.
13733 * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
13734 LINK_SPEC): Likewise.
13735 * config/xtensa/linux.h (LINK_SPEC): Likewise.
13736
43ee6785
JM
137372011-01-14 Joseph Myers <joseph@codesourcery.com>
13738
13739 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
13740 %{version:-v}.
13741 * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
13742
45e79dfd
JM
137432011-01-14 Joseph Myers <joseph@codesourcery.com>
13744
13745 * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
13746 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
13747
37e9e71d
JM
137482011-01-14 Joseph Myers <joseph@codesourcery.com>
13749
13750 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
13751
bb127cd8
RO
137522011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13753
13754 * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
13755 supports -Bstatic/-Bdynamic.
13756 * configure: Regenerate.
13757
89a012ea 137582011-01-14 Jan Hubicka <jh@suse.cz>
509d65dd 13759 Jack Howarth <howarth@bromo.med.uc.edu>
89a012ea
JH
13760
13761 PR target/46037
13762 * config/darwin.c (darwin_override_options): Honor flag_gtoggle
13763 when checking debug_info_level. Test write_symbols instead of
13764 debug_hooks->var_location when setting flag_var_tracking_uninit.
13765
7352c013
RG
137662011-01-14 Richard Guenther <rguenther@suse.de>
13767
13768 PR tree-optimization/47179
13769 * target.def (ref_may_alias_errno): New target hook.
13770 * targhooks.h (default_ref_may_alias_errno): Declare.
13771 * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
13772 (default_ref_may_alias_errno): New function.
13773 * target.h (struct ao_ref_s): Declare.
13774 * tree-ssa-alias.c: Include target.h.
13775 (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
13776 * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
13777 (targhooks.o): Likewise.
13778 * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
13779 * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
13780
9a6c9288
RG
137812011-01-14 Richard Guenther <rguenther@suse.de>
13782
13783 * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
13784
0fdb0d27
RG
137852011-01-14 Richard Guenther <rguenther@suse.de>
13786
13787 PR tree-optimization/47280
13788 * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
13789 return CFG changes.
13790 (tree_ssa_forward_propagate_single_use_vars): Deal with
13791 CFG changes from associate_plusminus.
13792
8f66db3b
RG
137932011-01-14 Richard Guenther <rguenther@suse.de>
13794
13795 PR middle-end/47281
13796 Revert
13797 2011-01-11 Richard Guenther <rguenther@suse.de>
13798
280d9630
EB
13799 PR tree-optimization/46076
13800 * tree-ssa.c (useless_type_conversion_p): Conversions from
13801 unprototyped to empty argument list function types are useless.
8f66db3b 13802
6c0c92e6
RG
138032011-01-14 Richard Guenther <rguenther@suse.de>
13804
13805 PR tree-optimization/47286
280d9630 13806 * tree-ssa-structalias.c (new_var_info): Register variables are global.
6c0c92e6 13807
db09f943
MJ
138082011-01-14 Martin Jambor <mjambor@suse.cz>
13809
13810 PR middle-end/46823
13811 * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
13812
dde8a3a4
AS
138132011-01-13 Anatoly Sokolov <aesok@post.ru>
13814
13815 * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
13816 LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
13817 * config/xtensa/xtensa.c (xtensa_libcall_value,
13818 xtensa_function_value_regno_p): New functions.
13819 (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
13820
a2b63a20
KT
138212011-01-13 Kai Tietz <kai.tietz@onevision.com>
13822
13823 PR c++/47213
13824 * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
13825 PE specific hook.
13826 * config/i386/i386-protos.h (i386_pe_assemble_visibility):
13827 New function prototype.
13828 * config/i386/winnt.c (i386_pe_assemble_visibility):
13829 Warn only if attribute was specified by user.
13830
b41f0b34
MM
138312011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
13832
13833 PR target/47251
13834 * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
13835 floating point.
13836 (floatunsdidf2_fcfidu): Ditto.
13837
3f3c098d
AK
138382011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
13839
13840 * config/s390/s390.c (print_operand_address): Replace 'error' with
13841 'output_operand_lossage'.
13842 (print_operand): Likewise.
13843
29fa95ed
JL
138442011-01-13 Jeff Law <law@redhat.com>
13845
280d9630 13846 PR rtl-optimization/39077
29fa95ed
JL
13847 * doc/invoke.texi (max-gcse-insertion-ratio): Document.
13848 * params.h (MAX_GCSE_INSERTION_RATIO): Define.
13849 * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
13850 * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
13851 * gcse.c (prune_insertions_deletions): New function.
13852 (compute_pre_data): Use it.
13853
71d12276
DS
138542011-01-13 Dodji Seketeli <dodji@redhat.com>
13855
13856 PR debug/PR46973
13857 * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
13858 static function.
61052244 13859 (prune_unused_types_mark): Use it.
71d12276 13860
9b0f04e7
AB
138612011-01-13 Andrey Belevantsev <abel@ispras.ru>
13862
13863 PR rtl-optimization/45352
1c3ba85b 13864 * sel-sched.c: Update copyright years.
9b0f04e7 13865 (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
1c3ba85b 13866 in the advancing loop when we have issued issue_rate insns.
9b0f04e7 13867
d6a3e264
RH
138682011-01-12 Richard Henderson <rth@redhat.com>
13869
a49b692a
RH
13870 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
13871 (TARGET_MD_ASM_CLOBBERS): New.
13872
126b1483
RH
13873 * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
13874 (TARGET_DELEGITIMIZE_ADDRESS): New.
13875
f3d9d2e0
RH
13876 * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
13877 (clzsi2, *bsch): New patterns.
13878
d84760c9
RH
13879 * config/mn10300/mn10300.md (INT): New mode iterator.
13880 (*mov<INT>_clr): New pattern, and peep2 to generate it.
13881
ec815d65
RH
13882 * config/mn10300/mn10300.c (mn10300_option_override): Force enable
13883 flag_split_wide_types.
13884
d6a3e264
RH
13885 * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
13886 (mn10300_trampoline_init): Rewrite without a template, an immediate
13887 load and a direct branch.
13888 * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
13889
0f8ab434
AS
138902011-01-12 Anatoly Sokolov <aesok@post.ru>
13891
13892 * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
13893 * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
13894 * config/s390/s390.c (s390_output_addr_const_extra): Make static.
13895 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
13896
d8a24b65
KT
138972011-01-12 Kai Tietz <kai.tietz@onevision.com>
13898
13899 PR debug/47209
13900 * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
13901 of type.
13902
56e22cab
JH
139032011-01-12 Jan Hubicka <jh@suse.cz>
13904
13905 PR driver/47244
13906 * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
13907 (PLUGIN_COND_CLOSE): New macro.
13908 (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
13909
4b18b3c2
RG
139102011-01-12 Richard Guenther <rguenther@suse.de>
13911
13912 PR lto/47259
13913 * lto-streamer-out.c (output_gimple_stmt): Do not wrap
13914 register variables in a MEM_REF.
13915
8e38461c
JM
139162011-01-12 Joseph Myers <joseph@codesourcery.com>
13917
13918 * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
13919 crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
13920 hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
13921 i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
13922 i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
13923 x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
13924 ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
13925 m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
13926 mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
13927 s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
13928 sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
13929 am33_2.0-*-linux*): Use gnu-user.h before linux.h.
13930 * config/gnu-user.h: New. Copied from linux.h.
13931 (LINUX_TARGET_STARTFILE_SPEC): Rename to
13932 GNU_USER_TARGET_STARTFILE_SPEC.
13933 (LINUX_TARGET_ENDFILE_SPEC): Rename to
13934 GNU_USER_TARGET_ENDFILE_SPEC.
13935 (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
13936 (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
13937 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
13938 LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
13939 CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
13940 UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
13941 BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
13942 BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
13943 LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
13944 TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
13945 * config/arm/linux-eabi.h (CC1_SPEC): Use
13946 GNU_USER_TARGET_CC1_SPEC.
13947 (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
13948 (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
13949 (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
13950 * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
13951 LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
13952 LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
13953 CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
13954 LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
13955
a570fc16
RG
139562011-01-12 Richard Guenther <rguenther@suse.de>
13957
13958 PR other/46946
13959 * doc/invoke.texi (ffast-math): Document it is turned on
13960 with -Ofast.
13961
b0223c3e
JH
139622011-01-12 Jan Hubicka <jh@suse.cz>
13963
13964 PR tree-optimization/47233
ca1e00b3
EB
13965 * opts.c (common_handle_option): Disable ipa-reference with profile
13966 feedback.
b0223c3e 13967
1c3ba85b 139682011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
d853ee42
NP
13969
13970 * c-parser.c (c_parser_objc_at_property_declaration): Improved
ca1e00b3
EB
13971 error message.
13972
d853ee42
NP
139732011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
13974
13975 * c-parser.c (c_lex_one_token): Updated and reindented some
13976 comments. No changes in code.
13977
4053a5a0
ILT
139782011-01-11 Ian Lance Taylor <iant@google.com>
13979
13980 * godump.c (go_output_var): Don't output the variable if there is
13981 already a type with the same name.
13982
fa3e04d2
ILT
139832011-01-11 Ian Lance Taylor <iant@google.com>
13984
13985 * godump.c (go_format_type): Don't generate float80.
13986
885fe07c
RH
139872011-01-11 Richard Henderson <rth@redhat.com>
13988
72d6e3c5
RH
13989 * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
13990 declaration. Rewrite for both speed and size.
13991 (mn10300_address_cost_1): Remove.
13992 (mn10300_register_move_cost): New.
13993 (mn10300_memory_move_cost): New.
13994 (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
13995 ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
13996 extensions, shifts, BSWAP, CLZ.
13997 (mn10300_wide_const_load_uses_clr): Remove.
13998 (TARGET_REGISTER_MOVE_COST): New.
13999 (TARGET_MEMORY_MOVE_COST): New.
14000 * config/mn10300/mn10300-protos.h: Update.
14001 * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
14002
df37c023
RH
14003 * config/mn10300/constraints.md ("R", "T"): Remove constraints.
14004 * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
14005 * config/mn10300/mn10300-protos.h: Update.
14006 * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
14007 (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
14008 (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
14009 (*test_int_bitfield, *test_byte_bitfield): Remove.
14010 (*bit_test, *subreg_bit_test): Remove.
62d3f9b2 14011 * config/mn10300/predicates.md (const_8bit_operand): Remove.
df37c023 14012
85a337b5
RH
14013 * config/mn10300/constraints.md ("c"): Rename from "A".
14014 ("A", "D"): New constraint letters.
14015 * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
14016 (fmssf4, fnmasf4, fnmssf4): Likewise.
14017
a5c727e3
RH
14018 * config/mn10300/mn10300.md (isa): New attribute.
14019 (enabled): New attribute.
14020
0d9e23f4
RH
14021 * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
14022 (abssf2, negsf2): Define only for hardware fp.
14023 (sqrtsf2): Reformat.
14024 (addsf3, subsf3, mulsf3): Merge expander and insn.
14025
c157b3f0
RH
14026 * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
14027 (DEBUGGER_AUTO_OFFSET): Remove.
14028 (DEBUGGER_ARG_OFFSET): Remove.
14029
cc909bba
RH
14030 * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
14031 Emit register stores with the same offsets as the hardware.
14032 (mn10300_store_multiple_operation): Don't check that the register
14033 save offsets are monotonic.
14034 * config/mn10300/mn10300-protos.h: Update.
14035
e3b5c2f3
RH
14036 * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
14037
885fe07c
RH
14038 * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
14039 in terms of the value on the stack, not the MDR register.
14040
6e701822
JH
140412011-01-11 Jan Hubicka <jh@suse.cz>
14042
14043 PR lto/45721
14044 PR lto/45375
14045 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
14046 (symbol_alias_set_destroy, symbol_alias_set_contains,
14047 propagate_aliases_backward): Declare.
14048 * lto-streamer-out.c (struct sets): New sturcture.
14049 (trivally_defined_alias): New function.
14050 (output_alias_pair_p): Rewrite.
14051 (output_unreferenced_globals): Fix output of alias pairs.
14052 (produce_symtab): Likewise.
14053 * ipa.c (function_and_variable_visibility): Set weak alias destination
14054 as needed in lto.
14055 * varasm.c (symbol_alias_set_t): Remove.
14056 (symbol_alias_set_destroy): Export.
14057 (propagate_aliases_forward, propagate_aliases_backward): New functions
14058 based on ...
14059 (compute_visible_aliases): ... this one; remove.
14060 (trivially_visible_alias): New
14061 (trivially_defined_alias): New.
14062 (remove_unreachable_alias_pairs): Rewrite.
14063 (finish_aliases_1): Reorganize code checking if alias is defined.
14064 * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
14065 in LTO mode.
14066
1b248907
RG
140672011-01-11 Richard Guenther <rguenther@suse.de>
14068
14069 PR tree-optimization/46076
14070 * tree-ssa.c (useless_type_conversion_p): Conversions from
14071 unprototyped to empty argument list function types are useless.
14072
b1923f0a
RG
140732011-01-11 Richard Guenther <rguenther@suse.de>
14074
14075 PR middle-end/45235
14076 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
14077 volatile MEMs as MEM_READONLY_P.
14078
e98965af
RG
140792011-01-11 Richard Guenther <rguenther@suse.de>
14080
14081 PR tree-optimization/47239
14082 * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
14083
9f9ca914
JL
140842011-01-11 Jeff Law <law@redhat.com>
14085
1ee3ea05 14086 PR tree-optimization/47086
9f9ca914
JL
14087 * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
14088 IVs from statements that might throw.
14089
345fdcb7
JH
140902011-01-10 Jan Hubicka <jh@suse.cz>
14091
14092 PR lto/45375
14093 * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
14094
c459c97b
JH
140952011-01-10 Jan Hubicka <jh@suse.cz>
14096
14097 PR lto/45375
14098 * profile.c (read_profile_edge_counts): Ignore profile inconistency
14099 when correcting profile.
14100
06c9eb51
JH
141012011-01-10 Jan Hubicka <jh@suse.cz>
14102
14103 PR lto/46083
14104 * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
14105 DECL_FINI_PRIORITY.
14106 * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
14107 Restore DECL_FINI_PRIORITY.
14108
ae9fd815
RW
141092011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14110
14111 * doc/gimple.texi: Fix quoting of multi-word return values in
14112 @deftypefn statements. Ensure presence of return value. Wrap
14113 overlong @deftypefn lines.
14114 (is_gimple_operand, is_gimple_min_invariant_address): Remove
14115 descriptions of removed functions.
14116 * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
14117 of multi-word return value in @deftypefn statement.
14118
0ecb4a7c
RW
141192011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14120
14121 * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
14122 (Conditional Expressions, Logical Operators)
14123 (Statement and operand traversals): Do not indent smallexample
14124 code. Fix duplicate function argument in example.
14125
2e5e346d
JL
141262011-01-10 Jeff Law <law@redhat.com>
14127
1ee3ea05 14128 PR tree-optimization/47141
2e5e346d
JL
14129 * ipa-split.c (split_function): Handle case where we are
14130 returning a value and the return block has a virtual operand phi.
14131
cf9712cc
JH
141322011-01-10 Jan Hubicka <jh@suse.cz>
14133
1c3ba85b 14134 PR tree-optimization/47234
cf9712cc
JH
14135 * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
14136 (pass_feedback_split_functions): Declare.
14137 * passes.c (init_optimization_passes): Add ipa-split as subpass of
14138 tree-profile.
14139 * ipa-split.c (gate_split_functions): Update comments; disable
14140 split-functions for profile_arc_flag and branch_probabilities.
14141 (gate_feedback_split_functions): New function.
14142 (execute_feedback_split_functions): New function.
14143 (pass_feedback_split_functions): New global var.
14144
94cd932c
L
141452011-01-10 H.J. Lu <hongjiu.lu@intel.com>
14146
14147 PR lto/46760
14148 * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
14149 calling gimple_call_set_cannot_inline.
14150
fbbfcaf1
IS
141512011-01-10 Iain Sandoe <iains@gcc.gnu.org>
14152
14153 * config/darwin-sections.def: Remove unused section.
14154
d06865bf
DK
141552011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
14156
14157 PR c++/47218
14158 * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
14159
96bbfbac
NP
141602011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
14161
14162 PR objc/47232
14163 * c-parser.c (c_parser_declaration_or_fndef): Improved
14164 error message.
14165
1ba6516f
KT
141662011-01-09 Kai Tietz <kai.tietz@onevision.com>
14167
14168 * config/i386/winnt.c (i386_pe_start_function): Make sure
14169 to switch back to function's section.
14170
0c5d770e
IS
141712011-01-09 Iain Sandoe <iains@gcc.gnu.org>
14172
14173 PR gcc/46902
14174 PR testsuite/46912
14175 * plugin.c: Move include of dlfcn.h from here...
14176 * system.h: ... to here.
14177
141782011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4ee1aa2a
RW
14179
14180 * doc/cpp.texi (C++ Named Operators): Fix markup for header
14181 file name.
14182 * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
14183 two extra empty pages in PDF output.
14184
046608a3
NP
141852011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
14186
14187 PR objc/47078
14188 * c-parser.c (c_parser_objc_type_name): If the type is unknown,
14189 for error recovery purposes behave as if it was not specified so
14190 that the default type is usd.
14191
8cb114b9
JH
141922011-01-07 Jan Hubicka <jh@suse.cz>
14193
14194 PR tree-optmization/46469
14195 * ipa.c (function_and_variable_visibility): Clear needed flags on
14196 nodes with external decls; handle weakrefs merging correctly.
14197
b294a75e
JM
141982011-01-07 Joseph Myers <joseph@codesourcery.com>
14199
14200 * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
14201 not false.
14202
96bdf9b4
JH
142032011-01-07 Jan Hubicka <jh@suse.cz>
14204
f60c2554 14205 * doc/invoke.texi (-flto, -fuse-linker-plugin): Update defaults
96bdf9b4
JH
14206 and no longer claim that gold is required for linker plugin.
14207 * configure: Regenerate.
14208 * gcc.c (PLUGIN_COND): New macro.
14209 (LINK_COMMAND_SPEC): Use it.
14210 (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
14211 * config.in (HAVE_LTO_PLUGIN): New.
14212 * configure.ac (--with-lto-plugin): New parameter; autodetect
14213 HAVE_LTO_PLUGIN.
14214
17afc0fe
JH
142152011-01-07 Jan Hubicka <jh@suse.cz>
14216
14217 PR tree-optimization/46367
14218 * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
14219 when we can update original.
14220 (cgraph_mark_inline_edge): Sanity check.
14221 * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
14222
d4c48c0f
UW
142232011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14224
14225 * config/spu/spu.h (ASM_COMMENT_START): Define.
14226
96f5b137
L
142272011-01-07 H.J. Lu <hongjiu.lu@intel.com>
14228
14229 PR driver/42445
14230 * gcc.c (%>S): New.
14231 (SWITCH_KEEP_FOR_GCC): Likewise.
14232 (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
14233 (do_spec_1): Handle "%>".
14234
14235 * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
14236
c6a8f6de
JJ
142372011-01-07 Jakub Jelinek <jakub@redhat.com>
14238
c21bbd7a
JJ
14239 PR target/47201
14240 * config/i386/i386.c (ix86_delegitimize_address): If
14241 simplify_gen_subreg fails, return orig_x.
14242
c6a8f6de
JJ
14243 PR bootstrap/47187
14244 * value-prof.c (gimple_stringop_fixed_value): Handle
14245 lhs of the call properly.
14246
fe95fbf9
JH
142472011-01-07 Jan Hubicka <jh@suse.cz>
14248
14249 PR lto/45375
14250 * lto-opt.c (lto_reissue_options): Set flag_shlib.
14251
14d11d40
IS
142522011-01-07 Iain Sandoe <iains@gcc.gnu.org>
14253
72e961c8
EB
14254 * target.def (function_switched_text_sections): New hook.
14255 * doc/tm.texi: Regenerated.
14256 * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 14257 * final.c (default_function_switched_text_sections): New.
72e961c8
EB
14258 (final_scan_insn): Call function_switched_text_sections when a
14259 mid-function section change occurs.
14d11d40 14260 * output.h (default_function_switched_text_sections): Declare.
72e961c8
EB
14261 * config/darwin-protos.h (darwin_function_switched_text_sections):
14262 Likewise.
14d11d40 14263 * config/darwin.c (darwin_function_switched_text_sections): New.
72e961c8 14264 * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
14d11d40 14265
0b764288
IS
142662011-01-07 Iain Sandoe <iains@gcc.gnu.org>
14267
14268 * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
14269 DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
14270 the secondary code fragment when outputting for DWARF == 2.
14271
2ac6bb04
AS
142722011-01-07 Anatoly Sokolov <aesok@post.ru>
14273
14274 * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
14275 * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
14276 Remove.
14277 * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
14278 (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
14279
9f82de11
EB
142802011-01-06 Eric Botcazou <ebotcazou@adacore.com>
14281
14282 PR debug/46704
280d9630
EB
14283 * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
14284 when it is not empty.
9f82de11
EB
14285
142862011-01-06 Changpeng Fang <changpeng.fang@amd.com>
14b52538 14287
1ed72abf 14288 Bobcat Enablement
14b52538 14289 * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
1ed72abf 14290 (case ${target}): Add btver1.
14b52538 14291 * config/i386/driver-i386.c (host_detect_local_cpu): Let
1ed72abf 14292 -march=native recognize btver1 processors.
14b52538 14293 * config/i386/i386-c.c (ix86_target_macros_internal): Add
1ed72abf 14294 btver1 def_and_undef
14b52538 14295 * config/i386/i386.c (struct processor_costs btver1_cost): New
1ed72abf
CF
14296 btver1 cost table.
14297 (m_BTVER1): New definition.
14298 (m_AMD_MULTIPLE): Includes m_BTVER1.
14299 (initial_ix86_tune_features): Add btver1 tune.
14300 (processor_target_table): Add btver1 entry.
14301 (static const char *const cpu_names): Add btver1 entry.
14302 (software_prefetching_beneficial_p): Add btver1.
14303 (ix86_option_override_internal): Add btver1 instruction sets.
14304 (ix86_issue_rate): Add btver1.
14305 (ix86_adjust_cost): Add btver1.
14b52538 14306 * config/i386/i386.h (TARGET_BTVER1): New definition.
1ed72abf
CF
14307 (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
14308 (enum processor_type): Add PROCESSOR_BTVER1.
14b52538
CF
14309 * config/i386/i386.md (define_attr "cpu"): Add btver1.
14310
e1a973d8
RO
143112011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14312
14313 PR target/43309
14314 * config/i386/i386.c (legitimize_tls_address)
14315 <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
14316 * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
14317 (tls_initial_exec_64_sun): New pattern.
14318
c73f67c5
GP
143192011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
14320
14321 * doc/invoke.texi (Overall Options): Improve wording and markup
14322 of the description of -wrapper.
14323
bc4c6f9c
JM
143242011-01-06 Joseph Myers <joseph@codesourcery.com>
14325
14326 * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
14327 rdynamic, threads): New Driver options.
14328
adb75db0
RO
143292011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14330
14331 PR target/38118
14332 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
14333 if coming from .tdata.
14334 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
14335
402c1cb4
JH
143362011-01-06 Jan Hubicka <jh@suse.cz>
14337
14338 PR lto/47188
14339 * collect2.c (main): Do not enable LTOmode when plugin is active.
14340
a4da6485
RO
143412011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14342
14343 PR other/45915
14344 * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
14345 --version output if supported.
14346 * configure: Regenerate.
14347
028dbdf4
JM
143482011-01-06 Joseph Myers <joseph@codesourcery.com>
14349
14350 * config/linux-android.opt (tno-android-cc, tno-android-ld): New
14351 Driver options.
14352
dfe776dd
JJ
143532011-01-06 Jakub Jelinek <jakub@redhat.com>
14354
14355 PR c/47150
14356 * c-convert.c (convert): When converting a complex expression
14357 other than COMPLEX_EXPR to a different complex type, ensure
14358 c_save_expr is called instead of save_expr, unless in_late_binary_op.
14359 * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
14360 when converting COMPLEX_TYPE.
14361
210dedfe
IR
143622011-01-06 Ira Rosen <irar@il.ibm.com>
14363
14364 PR tree-optimization/47139
14365 * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
14366 only the last reduction value is used outside the loop. Update
14367 documentation.
14368
cd33a412
JM
143692011-01-05 Joseph Myers <joseph@codesourcery.com>
14370
14371 * config/rtems.opt: New.
14372 * config.gcc (*-*-rtems*): Use rtems.opt.
14373
819edd94
CF
143742011-01-05 Changpeng Fang <changpeng.fang@amd.com>
14375
14376 * config/i386/i386.c (ix86_option_override_internal): Bulldozer
14377 processors do not support 3DNow instructions.
14378
dc242c4a
UW
143792011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14380
14381 * config/spu/spu.c (spu_option_override): Set parameter
14382 PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
14383
be286227
JH
143842011-01-05 Jan Hubicka <jh@suse.cz>
14385
14386 * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
14387 at the command line.
14388
644e637f
MJ
143892011-01-05 Martin Jambor <mjambor@suse.cz>
14390
14391 PR lto/47162
14392 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
14393 deltas on streamed outgoing edges.
14394 (output_node_opt_summary): Output info for outgoing edges only when
14395 the node is in new parameter set.
14396 (output_cgraph_opt_summary): New parameter set, passed to the two
14397 aforementioned functions. Update its forward declaration and its
14398 callee too.
14399
7bd11157
TT
144002011-01-05 Tom Tromey <tromey@redhat.com>
14401
14402 * c-parser.c (c_parser_omp_atomic): Pass location of assignment
14403 operator to c_finish_omp_atomic.
14404 * c-typeck.c (lvalue_or_else): Add 'loc' argument.
14405 (build_unary_op): Update.
14406 (build_modify_expr): Update.
14407 (build_asm_expr): Update.
14408
f626b979
UW
144092011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14410
14411 * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
14412 newly inserted insns.
14413 (pad_bb): Likewise.
14414 (spu_emit_branch_hint): Likewise.
14415 (insert_hbrp_for_ilb_runout): Likewise.
14416 (spu_machine_dependent_reorg): Call df_finish_pass after
14417 schedule_insns returns.
14418
4c825c02
UW
144192011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14420
14421 * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
14422
5e9fba51
EB
144232011-01-05 Eric Botcazou <ebotcazou@adacore.com>
14424
14425 PR tree-optimization/47005
14426 * tree-sra.c (struct access): Add 'non_addressable' bit.
14427 (create_access): Set it for a DECL_NONADDRESSABLE_P field.
14428 (decide_one_param_reduction): Return 0 if the parameter is passed by
14429 reference and one of the accesses in the group is non_addressable.
14430
3ebb5ca6
EB
144312011-01-04 Eric Botcazou <ebotcazou@adacore.com>
14432
14433 PR tree-optimization/47056
14434 * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
14435 (mark_load): Likewise. Handle FUNCTION_DECL specially.
14436 (mark_store): Likewise. Pass STMT to ipa_record_reference.
14437
d5d4d14e
EB
144382011-01-04 Eric Botcazou <ebotcazou@adacore.com>
14439
14440 * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
14441 initializer. Skip view conversions from aggregate types.
14442
d996ef70
KT
144432011-01-04 Kai Tietz <kai.tietz@onevision.com>
14444
14445 PR bootstrap/47055
14446 * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
14447
509d65dd 144482011-01-04 Philipp Thomas <pth@suse.de>
017096ca
PT
14449
14450 * config/microblaze/microbalse.opt (mxl-float-convert): Fix
14451 obvious typo.
14452
55c623b5
UW
144532011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14454
14455 * function.c (thread_prologue_and_epilogue_insns): Do not crash
14456 on empty epilogue sequences.
14457
b98d6b35
JM
144582011-01-04 Joseph Myers <joseph@codesourcery.com>
14459
14460 * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
14461 non-static): New Driver options.
14462
a0d43bac
JZ
144632011-01-04 Jie Zhang <jie@codesourcery.com>
14464
14465 PR driver/47137
14466 * gcc.c (default_compilers[]): Set combinable field to 0
14467 for all assembly languages.
14468
2b18eb32
MX
144692011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
14470
14471 * config/mips/loongson3a.md: New file.
14472 * config/mips/mips.md: Include loongson3a.md.
14473 * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
14474 TUNE_LOONGSON_3A.
14475
42a48c4f
EB
144762011-01-03 Eric Botcazou <ebotcazou@adacore.com>
14477
14478 PR middle-end/47017
14479 * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
14480 instead of convert_memory_address_addr_space on the base expression.
14481
9c1732c4
UW
144822011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14483
14484 * config/spu/spu.c (spu_option_override): Update error text
14485 for bad -march= / -mtune= values.
14486
aa474365
UW
144872011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14488
14489 * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
14490 if branch-hint optimization will be performed.
14491
9766135b
JJ
144922011-01-03 Jakub Jelinek <jakub@redhat.com>
14493
371556ee
JJ
14494 PR tree-optimization/47148
14495 * ipa-split.c (split_function): Convert arguments to
14496 DECL_ARG_TYPE if possible.
14497
1ac12fa2
JJ
14498 PR tree-optimization/47155
14499 * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
14500 when computing uns.
14501
9766135b
JJ
14502 PR rtl-optimization/47157
14503 * combine.c (try_combine): If undobuf.other_insn becomes
14504 (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
14505 and set *new_direct_jump_p too.
14506
f4a2e571
SP
145072011-01-03 Sebastian Pop <sebastian.pop@amd.com>
14508
14509 PR tree-optimization/47021
14510 * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
14511
9f8e43c0
JJ
145122011-01-03 Jakub Jelinek <jakub@redhat.com>
14513
14514 * gcc.c (process_command): Update copyright notice dates.
14515 * gcov.c (print_version): Likewise.
14516 * gcov-dump.c (print_version): Likewise.
14517 * mips-tfile.c (main): Likewise.
14518 * mips-tdump.c (main): Likewise.
14519
1a2e38f3
MJ
145202011-01-03 Martin Jambor <mjambor@suse.cz>
14521
14522 PR tree-optimization/46801
14523 * tree-sra.c (type_internals_preclude_sra_p): Check whether
14524 aggregate fields start at byte boundary instead of the bit-field flag.
14525
56b721c5
L
145262011-01-03 H.J. Lu <hongjiu.lu@intel.com>
14527
14528 PR driver/47137
14529 * gcc.c (main): Revert revision 168407.
14530
839d549b
MJ
145312011-01-03 Martin Jambor <mjambor@suse.cz>
14532
14533 * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
14534
4ce99a20 145352011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2fa6eeff
UW
14536
14537 * tree-vect-generic.c (expand_vector_operations_1): When using vector/
14538 vector optab to expand vector/scalar shift, update gimple to vector.
14539
76df0ae6
MJ
145402011-01-03 Martin Jambor <mjambor@suse.cz>
14541
14542 * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
14543 a thunk.
14544
ce47fda3
MJ
145452011-01-03 Martin Jambor <mjambor@suse.cz>
14546
14547 PR tree-optimization/46984
14548 * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
14549 HOST_WIDE_INT.
14550 (cgraph_create_indirect_edge): Fixed line length.
14551 (cgraph_indirect_call_info): Declare.
14552 (cgraph_make_edge_direct) Update declaration.
14553 * cgraph.c (cgraph_allocate_init_indirect_info): New function.
14554 (cgraph_create_indirect_edge): Use it.
14555 (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
14556 callees.
14557 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
14558 the new thunk_delta representation.
14559 * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
14560 HOST_WIDE_INT.
14561 (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
14562 (ipa_read_indirect_edge_info): Likewise.
14563 * lto-cgraph.c (output_edge_opt_summary): New function.
14564 (output_node_opt_summary): Call it on all outgoing edges.
14565 (input_edge_opt_summary): New function.
14566 (input_node_opt_summary): Call it on all outgoing edges.
14567
1e67fa1f
L
145682011-01-02 H.J. Lu <hongjiu.lu@intel.com>
14569
14570 PR driver/47137
14571 * gcc.c (main): Don't check have_o when settting combine_inputs.
14572
6656b2ac
EB
145732011-01-02 Eric Botcazou <ebotcazou@adacore.com>
14574
14575 * regrename.c: Add general comment describing the pass.
14576 (struct du_head): Remove 'length' field.
14577 (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
14578 (regrename_optimize): Do not sort chains. Rework comments, add others.
14579 Force renaming to the preferred class (if any) in the first pass and do
14580 not consider registers that belong to it in the second pass.
14581 (create_new_chain): Do not set 'length' field.
14582 (scan_rtx_reg): Likewise.
14583
bc470c24
JJ
145842011-01-02 Jakub Jelinek <jakub@redhat.com>
14585
4e996296
JJ
14586 PR tree-optimization/47140
14587 * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
14588 TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
14589 to bit_value_binop.
14590
bc470c24 14591 PR rtl-optimization/47028
6656b2ac
EB
14592 * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
14593 parm_birth_insn instead of at the beginning of first bb.
bc470c24 14594
5af62fcd 145952011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
0d52f2a8
MX
14596
14597 * doc/generic.texi: Remove duplicated "@subsubsection Statements".
14598 Remove the word "see" before "@pxref".
14599 * doc/rtl.texi: Remove the word "see" before "@pxref".
14600
0e20c89f
JH
146012011-01-01 Jan Hubicka <jh@suse.cz>
14602
6656b2ac
EB
14603 * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
14604 memory.
0e20c89f 14605
220e83ca
KT
146062011-01-01 Kai Tietz <kai.tietz@onevision.com>
14607
14608 PR target/38662
6656b2ac 14609 * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
220e83ca 14610
ad41bd84 14611\f
797103eb 14612Copyright (C) 2011 Free Software Foundation, Inc.
ad41bd84
JM
14613
14614Copying and distribution of this file, with or without modification,
14615are permitted in any medium without royalty provided the copyright
14616notice and this notice are preserved.
This page took 4.057751 seconds and 5 git commands to generate.