]> gcc.gnu.org Git - gcc.git/blame - gcc/ChangeLog
re PR c++/43787 (memory copy of empty class (sizeof is one))
[gcc.git] / gcc / ChangeLog
CommitLineData
6d729f28
JM
12010-05-05 Jason Merrill <jason@redhat.com>
2
3 PR c++/43787
4 * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
5 returns GS_OK.
6 (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
7
e972a1d3
AO
82010-05-05 Alexandre Oliva <aoliva@redhat.com>
9 Jakub Jelinek <jakub@redhat.com>
10
11 PR debug/43478
12 * df-problems.c (struct dead_debug_use, struct dead_debug): New.
13 (dead_debug_init, dead_debug_finish): New functions.
14 (dead_debug_add, dead_debug_insert_before): Likewise.
15 (df_note_bb_compute): Initialize a dead_debug object, add dead
16 debug uses to it, insert debug bind insns before death insns,
17 reset debug insns that refer to pending uses at the end.
18 * rtl.h (make_debug_expr_from_rtl): New prototype.
19 * varasm.c (make_debug_expr_from_rtl): New function.
20
2f41ecf5
JH
212010-05-05 Jan Hubicka <jh@suse.cz>
22
23 * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
24 (lto_varpool_encoder_new, lto_varpool_encoder_delete, lto_varpool_encoder_encode
25 lto_varpool_encoder_lookup, lto_varpool_encoder_deref, lto_varpool_encoder_size,
26 lto_varpool_encoder_encode_initializer_p,
27 lto_set_varpool_encoder_encode_initializer): New functions.
28 (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
29 call output_varpool.
30 (input_varpool_node): Do not always set analyzed.
31 (input_cgraph_1): Return vector of cgraph nodes.
32 (input_varpool_1): Return vector of varpools.
33 (input_cgraph): Free the vectors.
34 * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
35 output only initializers needed.
36 (lto_output): Only call output_cgraph.
37 (produce_asm_for_decls): Call lto_varpool_encoder_delete.
38 * lto-section-out.c (lto_new_out_decl_state): Initialize
39 state->varpool_node_encoder.
40 * lto-streamer.h (lto_varpool_encoder_d): New.
41 (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
42 (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
43 (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
44 lto_varpool_encoder_encode, lto_varpool_encoder_delete,
45 lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
46 Declare.
47 (output_varpool, input_varpool): Remove declarations.
48
9e0546ef
JH
492010-05-05 Jan Hubicka <jh@suse.cz>
50
51 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
52 with body can prevail.
53
542010-05-05 Jan Hubicka <jh@suse.cz>
55
56 * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
57 size.
58
0277fabf
LB
592010-05-05 Laurynas Biveinis <laurynas.biveinis@gmail.com>
60
61 * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to
62 dependencies.
63
64 * gengtype.h (erro_at_line): Constify pos argument.
65
66 * gengtype.c: Include hashtab.h.
67 (enum gc_used): Document GC_MAYBE_POINTED_TO.
68 (error_at_line): Constify pos argument.
69 (do_typedef): Initialize p->opt field.
70 (get_file_gtfilename): Fix comment typo.
71 (struct walk_type_data): Constify line field.
72 (get_output_file_for_structure): New function.
73 (write_local_func_for_structure): Constify orig_s argument.
74 Use get_output_file_for_structure.
75 (write_func_for_structure): Use get_output_file_for_structure.
76 (INDENT): New define.
77 (dump_pair, dump_type, dump_type_list, dump_typekind)
78 (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
79 (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
80 functions.
81 (seen_types): New variable.
82 (main): New variable do_dump. Process "-d" command line option.
83 Call dump_everything if dump requested.
84
dbb2a2cb
JJ
852010-05-05 Jakub Jelinek <jakub@redhat.com>
86
87 * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
88 in a temporary instead of invoking the macro multiple times.
89 (track_expr_p): Likewise.
90
650cfcab
NV
912010-05-04 Neil Vachharajani <nvachhar@google.com>
92
93 * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
94 per new semantics.
95 * opts.c (decode_options): Enable -Werror=coverage-mismatch.
96 * coverage.c (get_coverage_counts): Always emit a warning. Adjust
97 conditions for printing notes.
98 * common.opt (-Wcoverage-mismatch): Allow negative, default to
99 true, update documentation.
100 * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
650cfcab 101
97e3c923
JJ
1022010-05-04 Jakub Jelinek <jakub@redhat.com>
103
104 PR c/43981
105 * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
106 on dimen.
107
ade6a9ac
L
1082010-05-04 H.J. Lu <hongjiu.lu@intel.com>
109
110 PR target/43799
111 * config/i386/i386.md (sse_prologue_save): Add clobber CC
112 register.
113 (*sse_prologue_save_insn1): Likewise.
114 (SSE prologue save splitter): Likewise.
115
7ef5e86c
EB
1162010-05-04 Eric Botcazou <ebotcazou@adacore.com>
117
118 * tree.c (free_lang_data_in_one_sizepos): New inline function.
119 (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
120 types. Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
121 (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
122 all decls. Call it on DECL_FIELD_OFFSET of fields.
123 (find_decls_types_r): Follow DECL_VALUE_EXPR.
124 (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
125
6cbd3b6a
MJ
1262010-05-04 Martin Jambor <mjambor@suse.cz>
127
128 * tree-sra.c (build_access_from_expr_1): The first parameter type
129 changed to simple tree.
130 (build_access_from_expr): Likewise, gsi parameter was eliminated.
131 (scan_assign_result): Renamed to assignment_mod_result, enum elements
132 renamed as well.
133 (build_accesses_from_assign): Removed all parameters except for a
134 simple gimple statement. Now returns a simple bool.
135 (scan_function): All non-analysis parts moved to separate functions
136 sra_modify_function_body and ipa_sra_modify_function_body. Removed all
137 parameters and updated both callers.
138 (sra_modify_expr): Removed parameter data.
139 (sra_modify_function_body): New function.
140 (perform_intra_sra): Call sra_modify_function_body to modify the
141 function body.
142 (replace_removed_params_ssa_names): Parameter data changed into
143 adjustments vector.
144 (sra_ipa_modify_expr): Likewise. Also removed unused parameter gsi and
145 changed the parameter dont_convert to convert with the opposite
146 meaning.
147 (sra_ipa_modify_assign): Parameter data changed into adjustments
148 vector, return value changed to bool.
149 (ipa_sra_modify_function_body): New function.
150 (sra_ipa_reset_debug_stmts): Updated a comment.
151 (modify_function): Use ipa_sra_modify_function_body to modify function
152 body.
153
2147c71c
L
1542010-05-04 H.J. Lu <hongjiu.lu@intel.com>
155
156 PR middle-end/43671
157 * alias.c (true_dependence): Handle the same VALUE in x and mem.
158 (canon_true_dependence): Likewise.
159 (write_dependence_p): Likewise.
160
85912441
JH
1612010-05-04 Jan Hubicka <jh@suse.cz>
162
163 * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
164 * cgraphbuild.c: Include ipa-utils.h
165 (record_reference_ctx): New struct.
166 (record_reference): Simplify to work on initializers; not statements.
167 (mark_address, mark_load, mark_store): New.
168 (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
169 walk PHI nodes too.
170 (record_references_in_initializer): Update use of record_reference.
171 (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
172 walk PHI nodes too.
173
688a10c2
JH
1742010-05-04 Jan Hubicka <jh@suse.cz>
175
176 * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
177 node will be removed anyway.
178 (lto_varpool_replace_node): Allow also unanalyzed nodes;
179 relink aliases of node into prevailing node.
180 * varpool.c (varpool_remove_node): Remove aliases properly;
181 when removing node, remove all its aliases too; remove DECL_INITIAL
182 of removed node; ggc_free the varpool node.
183
27c2cfa6
RG
1842010-05-04 Richard Guenther <rguenther@suse.de>
185
186 PR tree-optimization/43879
187 * tree-ssa-structalias.c (alias_get_name): Use
188 DECL_ASSEMBLER_NAME if available.
189 (create_function_info_for): Return the varinfo node.
190 (ipa_pta_execute): Associate same-body aliases and extra names
191 with their origin nodes varinfo. Dump DECL_ASSEMBLER_NAME.
192
9c265c4d
KK
1932010-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
194
195 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove
196 static.
197
a5c011cd
MP
1982010-05-04 Mikael Pettersson <mikpe@it.uu.se>
199
200 PR bootstrap/43964
201 * ira-color.c (assign_hard_reg): Declare rclass and add_cost
202 only if HONOR_REG_ALLOC_ORDER is not defined.
203
622d360e
RG
2042010-05-04 Richard Guenther <rguenther@suse.de>
205
206 PR tree-optimization/43949
207 * tree-vrp.c (extract_range_from_binary_expr): Only handle
208 TRUNC_MOD_EXPR.
209
cbb4feb3
JM
2102010-04-26 Jason Merrill <jason@redhat.com>
211
212 * c.opt (-fstrict-enums): New.
213 * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
214
67e67979
DU
2152010-05-03 David Ung <davidu@mips.com>
216 James E. Wilson <wilson@codesourcery.com>
217
e492f63b 218 * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
67e67979
DU
219 emit the trap instruction before the divide for TUNE_74K.
220
42db504c
SB
2212010-05-03 Steven Bosscher <steven@gcc.gnu.org>
222
223 * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
224 (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
225 based on the above, for new target hook.
226
227 * hooks.c (hook_bool_mode_true): New generic hook.
228 * hooks.h (hook_bool_mode_true): Add prototype.
229
230 * target.h (struct gcc_target): Add small_register_classes_for_mode_p
231 target hook.
232 * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
233 target hook, set to hook_bool_mode_false.
234 * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
235 * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
236 with targetm.small_register_classes_for_mode_p.
237 (find_reusable_reload): Likewise.
238 (combine_reloads): Likewise.
239 * reload1.c (reload_as_needed): Likewise.
240 * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
241 * ifcvt.c (noce_process_if_block, check_cond_move_block,
242 dead_or_predicable): Likewise.
243 * regmove.c (optimize_reg_copy_1): Likewise.
244 * calls.c (prepare_call_address): Likewise.
245 (precompute_register_parameters): Likewise.
246
247 * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
248 hook definition.
249 * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
250 implementation of the hook that considers all register classes
251 small except for SH64.
252 (sh_override_options): Use the new hook.
253 * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
254 Add prototype.
255
256 * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
257 hook definition.
258 * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
259 implementation of the hook that considers all register classes
260 small for THUMB1.
261 * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
262 Add prototype.
263
264 * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
265 hook definition.
266 * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
267 implementation of the hook that considers all register classes
268 small for MIPS16.
269 * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
270 Add prototype.
271
272 * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
273 hook definition.
274 * config/m32c/m32c.h: Likewise.
275 * config/pdp11/pdp11.h: Likewise.
276 * config/avr/avr.h: Likewise.
277 * config/xtensa/xtensa.h: Likewise.
278 * config/m68hc11/m68hc11.h: Likewise.
279 * config/mn10300/mn10300.h: Likewise.
280 * config/mcore/mcore.h: Likewise.
281 * config/h8300/h8300.h: Likewise.
282 * config/bfin/bfin.h: Likewise.
283
284 * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
285 * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
286
e6693cfa
AS
2872010-05-03 Anatoly Sokolov <aesok@post.ru>
288
289 * double-int.h (tree_to_double_int): Remove macro.
290 (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
291 * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
292 (tree_to_double_int): New function.
293 * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
294 Move ...
295 * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
296
8eb7bc3c
RG
2972010-05-03 Richard Guenther <rguenther@suse.de>
298
299 PR tree-optimization/43971
300 * tree-ssa-structalias.c (get_constraint_for_1): Fix
301 constraints in the !flag_delete_null_pointer_checks case.
302
c4e26da1
JJ
3032010-05-03 Jakub Jelinek <jakub@redhat.com>
304
305 PR debug/43972
306 * config/i386/i386.c (ix86_delegitimize_address): Make sure the
307 result mode matches original rtl mode.
308
2dfccd83
DK
3092010-05-03 Dave Korn <dave.korn.cygwin@gmail.com>
310
2385a470 311 PR target/43888
2dfccd83
DK
312 * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
313
18fdef20
UB
3142010-05-02 Uros Bizjak <ubizjak@gmail.com>
315
316 * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
317 when processing flag options.
318
7c393241
UB
3192010-05-02 Uros Bizjak <ubizjak@gmail.com>
320
321 * gcov-iov.c (main): Change format string placeholder
322 from %#08x to 0x%08x.
323 * genchecksum.c (dosum): Change format string placeholder
324 from %#02x to 0x%02x.
325
52c307ba
RG
3262010-05-02 Richard Guenther <rguenther@suse.de>
327
328 PR tree-optimization/43879
7c393241 329 * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
52c307ba 330
4896c7b8
BH
3312010-05-02 Bruno Haible <bruno@clisp.org>
332
333 * doc/extend.texi (Function Attributes): Fix a typo.
334
34a47f6f
UB
3352010-05-02 Uros Bizjak <ubizjak@gmail.com>
336
337 Revert:
338 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
339 placeholder from 0x%x to %#x.
340 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
7c393241
UB
341 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
342 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
343 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
344 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
345 * config/i386/i386.c (ix86_target_string): Ditto.
34a47f6f 346 * config/i386/i386.c (output_pic_addr_const): Ditto.
7c393241 347 (print_operand): Ditto.
34a47f6f 348
35c59d9c
UB
3492010-05-02 Uros Bizjak <ubizjak@gmail.com>
350
351 * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
352 placeholder from 0x%x to %#x.
353 (ASM_OUTPUT_DEBUG_DATA1): Ditto.
354 (ASM_OUTPUT_DEBUG_DATA4): Ditto.
355 (ASM_OUTPUT_DEBUG_DATA): Ditto.
356 (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
357 (ASM_OUTPUT_DEBUG_DATA8): Ditto.
358 * optc-gen.awk: Ditto.
359 * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
360 (HOST_WIDE_INT_PRINT_HEX): Ditto.
361 (HOST_WIDEST_INT_PRINT_HEX): Ditto.
362 (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
35c59d9c 363
82f81f18
AS
3642010-05-01 Anatoly Sokolov <aesok@post.ru>
365
366 * target.h (struct calls): Add function_value_regno_p field.
367 * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
368 (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
369 * targhooks.c (default_function_value_regno_p): New function.
370 * targhooks.h (default_function_value_regno_p): Declare function.
371 * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
372 * builtins.c. (apply_result_size): (Ditto.).
373 * combine.c. (likely_spilled_retval_p): (Ditto.).
374 * mode-switching.c. Include 'target.h'.
375 (create_pre_exit): Use function_value_regno_p hook.
376 * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
377 * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
378 TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
379
380 * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
381 * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
382 (ix86_function_value_regno_p): Declare as static, change argument
383 type to const unsigned int.
384 * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
385
bab4d587
RG
3862010-05-01 Richard Guenther <rguenther@suse.de>
387
388 PR tree-optimization/43949
389 * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
390 types.
391 (extract_range_from_binary_expr): Handle *_MOD_EXPR.
392
3e93ff81
AS
3932010-05-01 Anatoly Sokolov <aesok@post.ru>
394
395 * rtl.h (CONST_DOUBLE_P): Define.
396 (rtx_to_double_int): Declare.
397 * emit-rtl.c (rtx_to_double_int): New function.
398 * dwarf2out.c (insert_double): New function.
399 (loc_descriptor, add_const_value_attribute): Clean up, use
400 rtx_to_double_int and insert_double functions.
401
bcbc9564
JW
4022010-05-01 Jonathan Wakely <jwakely.gcc@gmail.com>
403
404 * doc/extend.texi (Inline): Add missing return keyword to examples.
405 (Function Attributes, Variable Attributes, Pragmas): Hyphenate
406 "command-line".
407
ce276b61
EB
4082010-04-30 Eric Botcazou <ebotcazou@adacore.com>
409
410 * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
411 the variable part of the offset as well. Use highest_pow2_factor for
412 all alignment checks.
413
82677400
RB
4142010-04-30 Richard Guenther <rguenther@suse.de>
415
416 PR tree-optimization/43879
417 * tree-ssa-structalias.c (type_could_have_pointers): Functions
418 can have pointers.
419
cd71491e
JH
4202010-04-30 Jan Hubicka <jh@suse.cz>
421
82677400
RB
422 * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
423 varpool.
cd71491e
JH
424 (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
425
ace72c88
JH
4262010-04-30 Jan Hubicka <jh@suse.cz>
427
82677400
RB
428 * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
429 New.
ace72c88
JH
430 * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
431 * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
432 (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
433 cgraph_node_set_needs_ltrans_p): Remove.
434
b6feb796
SB
4352010-04-30 Steven Bosscher <steven@gcc.gnu.org>
436
437 * sdbout.c: Include vec.h, do not include varray.h.
438 (deferred_global_decls, sdbout_global_decl,
439 sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
440 * toplev.c: Do not include varray.h.
441 (dump_memory_report): Do not dump VARRAY statistics.
442 * gengtype.c (open_base_file): Ignore varray.h.
443 * Makefile.in: Update for abovementioned changes.
444 Remove all traces of varray.c and varray.h.
445 * varray.c: Remove file.
446 * varray.h: Remove file.
447
05575e07
JH
4482010-04-30 Jan Hubicka <jh@suse.cz>
449
450 * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
451 references.
452
9c6e0798
JH
4532010-04-30 Jan Hubicka <jh@suse.cz>
454
455 * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
456 needed.
457
47d8a903
RG
4582010-04-30 Richard Guenther <rguenther@suse.de>
459
460 * tree-ssa-structalias.c (get_constraint_for_1): Generate
461 constraints for CONSTRUCTOR.
462
b6050cb7
RG
4632010-04-30 Richard Guenther <rguenther@suse.de>
464
465 PR lto/43946
466 * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
467 first after all lowering passes.
468
9aae8d16
SB
4692010-04-30 Steven Bosscher <steven@gcc.gnu.org>
470
471 * toplev.c: Include varray.h for statistics dumping.
472 * tree.h: Do not declare varray_head_tag.
473 * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
474 regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
475 c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
476 gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
477 lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
478 tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
479 c-common.c, c-common.h, reg-stack.c, basic-block.h,
480 tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
481 include varray.h.
482 * Makefile.in: Update for abovementioned changes.
483
a07ecd2b
JJ
4842010-04-30 Jakub Jelinek <jakub@redhat.com>
485
486 PR debug/43942
487 * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
488
41700fc3
HS
4892010-04-30 Hariharan Sandanagobalane <hariharan@picochip.com>
490
491 * config/picochip/picochip.c (picochip_legitimize_address): Define.
492 Use this function to do machine-specific conversion.
493 (picochip_legitimize_reload_address): Likewise.
494 (picochip_legitimate_address_p): Check valid base register only if
495 strict.
496 (picochip_check_conditional_copy): Check for modw only if opnd is
497 register.
498 * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
499 to call the function in c.
500 * config/picochip/picochip-protos.h
501 (picochip_legitimize_reload_address): Define.
502 * config/picochip/picochip.md (supported_compare1): Define.
503
8b4765bf
JH
5042010-04-30 Jan Hubicka <jh@suse.cz>
505
506 * cgraph.h (cgraph_local_info): Remove for_functions_valid.
507 (cgraph_global_info): Remove inlined.
508 (LTO_cgraph_tag_names): Remove.
509 (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
510 * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
511 simplify cgraph tags and document.
512 (lto_output_node): Use only LTO_cgraph_unavail_node and
513 LTO_cgraph_analyzed_node; Do not save analzed, reachable,
35c59d9c 514 for_functions_valid, global info, process and output flags.
8b4765bf 515 (input_overwrite_node): Initialize estimated stack size and
35c59d9c 516 estimated growth. Do not read flags we no longer store.
8b4765bf
JH
517 (input_node): Likewise do not read info no longer stored.
518 * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
519 flag.
520
4be68d9a
RG
5212010-04-30 Richard Guenther <rguenther@suse.de>
522
523 PR tree-optimization/43879
524 * tree-ssa-structalias.c (get_constraint_for_1): Properly
525 handle non-zero initializers.
526
06468254
RG
5272010-04-30 Richard Guenther <rguenther@suse.de>
528
529 * builtins.c (fold_builtin_1): Delete free (0).
530
8b4765bf 5312010-04-29 Jan Hubicka <jh@suse.cz>
49ba8180
JH
532
533 * gengtype.c (open_base_files): Add lto-streamer.h
534 * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
535 (pass_ipa_cp): GGC collect.
536 * toplev. (compile_file): Do not output symbols.
537 * ipa-inline.c (pass_ipa_inline): Add ggc collect.
538 * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
539 TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
540 * lto-section-in.c: Include ggc.h
541 (lto_new_in_decl_state): Alloc in GGC.
542 (lto_delete_in_decl_state): Likewise.
35c59d9c
UB
543 * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
544 Collect.
49ba8180 545
5a733826
BS
5462010-04-29 Bernd Schmidt <bernds@codesourcery.com>
547
548 PR target/42895
549 * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
550 ORDER_REGS_FOR_LOCAL_ALLOC. All instances of this macro changed.
551 (HONOR_REG_ALLOC_ORDER): Describe new macro.
552 * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
553 * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
554 account only if HONOR_REG_ALLOC_ORDER is not defined.
555 * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
556 * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
35c59d9c
UB
557
5582010-04-29 Jon Grant <04@jguk.org>
559
7c6d86cc
JG
560 * collect2.c (vflag): Change type from int to bool.
561 (debug): Likewise.
562 (helpflag): New global bool.
35c59d9c
UB
563 (main): Set vflag and debug with boolean, not integer truth values.
564 Accept new "--help" option and output usage text if found.
7c6d86cc
JG
565 * collect2.h (vflag): Update prototype.
566 (debug): Likewise.
35c59d9c 567
55040b34
L
5682010-04-29 H.J. Lu <hongjiu.lu@intel.com>
569
716a3481 570 PR bootstrap/43936
35c59d9c 571 * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
55040b34 572
46e70c4e
RG
5732010-04-29 Richard Guenther <rguenther@suse.de>
574
575 PR bootstrap/43935
576 * plugin.h (invoke_plugin_callbacks): Annotate arguments
577 with ATTRIBUTE_UNUSED.
578
0d0539f0
L
5792010-04-29 H.J. Lu <hongjiu.lu@intel.com>
580
581 PR target/43921
582 * config/i386/i386.c (get_some_local_dynamic_name): Replace
583 INSN_P with NONDEBUG_INSN_P.
584 (distance_non_agu_define): Likewise.
585 (distance_agu_use): Likewise.
586
8e5f0b49
BS
5872010-04-29 Bernd Schmidt <bernds@codesourcery.com>
588
589 From Dominique d'Humieres <dominiq@lps.ens.fr>
590 PR bootstrap/43858
591 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
592 test_set.
593
35c59d9c 5942010-04-29 Brian Hackett <bhackett1024@gmail.com>
efda3807
BH
595
596 * plugin.h (invoke_plugin_callbacks): New inline function.
597 * plugin.c (flag_plugin_added): New global flag.
598 (add_new_plugin): Initialize above flag.
599 (invoke_plugin_callbacks): Rename to ...
600 (invoke_plugin_callbacks_full): ... this.
601
2942c502
JH
6022010-04-28 Jan Hubicka <jh@suse.cz>
603
604 * lto-symtab.c (lto_symtab_entry_def) Add vnode.
605 (lto_varpool_replace_node): New.
606 (lto_symtab_resolve_symbols): Resolve varpool nodes.
607 (lto_symtab_merge_decls_1): Prefer decls with varpool node.
608 (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
609 * cgraph.h (varpool_node_ptr): New type.
610 (varpool_node_ptr): New vector.
611 (varpool_node_set_def): New structure.
612 (varpool_node_set): New type.
613 (varpool_node_set): New vector.
614 (varpool_node_set_element_def): New structure.
615 (varpool_node_set_element, const_varpool_node_set_element): New types.
616 (varpool_node_set_iterator): New type.
617 (varpool_node): Add prev pointers, add used_from_other_partition,
618 in_other_partition.
619 (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
620 varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
621 varpool_get_node, varpool_remove_node): Declare.
622 (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
623 varpool_node_set_size): New inlines.
624 * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
625 * tree-pass.h (varpool_node_set_def): Forward declare.
626 (ipa_opt_pass_d): Summary writting takes vnode sets too.
627 (ipa_write_optimization_summaries): Update prototype.
628 * ipa-cp.c (ipcp_write_summary): Update.
629 * ipa-reference.c (ipa_reference_write_summary): Update.
630 * lto-cgraph.c (lto_output_varpool_node): New static function.
631 (output_varpool): New function.
632 (input_varpool_node): New static function.
633 (input_varpool_1): New function.
634 (input_cgraph): Input varpool.
635 * ipa-pure-const.c (pure_const_write_summary): Update.
636 * lto-streamer-out.c (lto_output): Update, output varpool too.
637 (write_global_stream): Kill WPA hack.
638 (produce_asm_for_decls): Update.
639 (output_alias_pair_p): Handle variables.
640 (output_unreferenced_globals): Output only needed partition of varpool.
641 * ipa-inline.c (inline_write_summary): Update.
35c59d9c
UB
642 * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
643 cgraph.
2942c502
JH
644 * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
645 * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
646 varpool_node_set_new, varpool_node_set_add,
647 varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
648 debug_varpool_node_set): New functions.
649 * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
650 (execute_one_pass): Process new decls too.
651 (ipa_write_summaries_2): Pass around vsets.
652 (ipa_write_summaries_1): Likewise.
653 (ipa_write_summaries): Build vset; be more selective about cgraph nodes
654 to add.
655 (ipa_write_optimization_summaries_1): Pass around vsets.
656 (ipa_write_optimization_summaries): Likewise.
657 * varpool.c (varpool_get_node): New.
658 (varpool_node): Update doubly linked lists.
659 (varpool_remove_node): New.
660 (dump_varpool_node): More dumping.
661 (varpool_enqueue_needed_node): Update doubly linked lists.
662 (decide_is_variable_needed): Kill ltrans hack.
663 (varpool_finalize_decl): Kill lto hack.
664 (varpool_assemble_decl): Skip decls in other partitions.
665 (varpool_assemble_pending_decls): Update doubly linkes lists.
666 (varpool_empty_needed_queue): Likewise.
667 (varpool_extra_name_alias): Likewise.
668 * lto-streamer.c (lto_get_section_name): Add vars section.
669 * lto-streamer.h (lto_section_type): Update.
670 (output_varpool, input_varpool): Declare.
671
da7f2697
MS
6722010-04-28 Mike Stump <mikestump@comcast.net>
673
74ca3393 674 * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
da7f2697 675
91eace2b
EB
6762010-04-28 Eric Botcazou <ebotcazou@adacore.com>
677
678 * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
679 record or union type with RECORD_OR_UNION_TYPE_P predicate.
680 (lto_input_ts_type_tree_pointers): Likewise.
681 * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
682 (lto_output_ts_type_tree_pointers): Likewise.
683
8478130d
EB
6842010-04-28 Eric Botcazou <ebotcazou@adacore.com>
685
686 Uniquization of constants at the Tree level
20225a9b 687 * tree.h (DECL_IN_CONSTANT_POOL): New macro.
8478130d
EB
688 (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
689 bit to the end.
690 (tree_output_constant_def): Declare.
20225a9b 691 * gimplify.c (gimplify_init_constructor): When using block copy, first
8478130d 692 uniquize the constant constructor on the RHS.
20225a9b
EB
693 * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
694 DECL_IN_CONSTANT_POOL flag.
8478130d 695 * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
20225a9b
EB
696 * varasm.c (make_decl_rtl): Deal with variables belonging to the global
697 constant pool.
8478130d
EB
698 (assemble_variable): Deal with symbols belonging to the tree constant
699 pool.
700 (get_constant_section): Add ALIGN parameter and simplify.
701 (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
702 (assemble_constant_contents): Use the expression of the VAR_DECL.
703 (output_constant_def_contents): Use the alignment of the VAR_DECL.
704 (tree_output_constant_def): New global function.
705 (mark_constant): Use the expression of the VAR_DECL.
20225a9b
EB
706 (place_block_symbol): Use the alignment of the VAR_DECL and the size of
707 its expression.
8478130d
EB
708 (output_object_block): Likewise and assemble the expression.
709
331c7fcd
EB
7102010-04-28 Eric Botcazou <ebotcazou@adacore.com>
711
712 * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
713 hash_tree, eq_tree): New tree hash table.
714 (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
715 [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
716 lto_orig_address_remove): Reimplement.
717
34f97b94
XDL
7182010-04-28 Xinliang David Li <davidxl@google.com>
719
720 PR c/42643
721 * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
722 (compute_uninit_opnds_pos): New function.
723 (is_non_loop_exit_postdominating): New function.
724 (compute_control_dep_chain): New function.
725 (find_pdom): New function.
726 (convert_control_dep_chain_into_preds): New function.
727 (find_predicates): New function.
728 (find_control_equiv_block): New function.
729 (collect_phi_def_edges): New function.
730 (find_def_preds): New function.
731 (find_dom): New function.
732 (dump_predicates): New function.
733 (get_cmp_code): New function.
734 (is_value_included_in): New function.
735 (find_matching_predicate_in_rest_chains): New function.
736 (use_pred_not_overlap_with_undef_path_pred): New function.
737 (is_use_properly_guarded): New function.
738 (normalize_cond_1): New function.
739 (is_and_or_or): New function.
740 (normalize_cond): New function.
741 (is_gcond_subset_of): New function.
742 (is_subset_of_any): New function.
743 (is_or_set_subset_of): New function.
744 (is_and_set_subset_of): New function.
745 (is_norm_cond_subset_of): New function.
746 (is_pred_expr_subset_of): New function.
747 (is_pred_chain_subset_of): New function.
748 (is_included_in): New function.
749 (is_superset_of): New function.
750 (find_uninit_use): New function.
751 (warn_uninitialized_phi): New function.
752 (compute_possibly_undefined_names): New function.
753 (ssa_undefined_value_p): New function.
754 (execute_late_warn_uninitialized): New function.
755 * tree-ssa.c (ssa_undefined_value_p): Removed.
756 (warn_uninit): Changed to extern.
757 (warn_uninitialized_phi): Removed.
758 (warn_uninitialized_vars): Changed to extern.
759 (execute_late_warn_uninitialized): Removed
760 * tree-flow.h: Add new prototypes.
761 * timevar.def: Add new time variable.
762 * Makefile.in: Add new build file.
763
85fac79c
UB
7642010-04-28 Uros Bizjak <ubizjak@gmail.com>
765
766 * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
767 type if available.
768
902a51a1
RO
7692010-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
770
771 PR target/22224
772 * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
773
e33c6cd6
MJ
7742010-04-28 Martin Jambor <mjambor@suse.cz>
775
776 * cgraph.h (struct cgraph_node): New field indirect_calls.
777 (struct cgraph_indirect_call_info): New type.
778 (struct cgraph_edge): Removed field indirect_call. New fields
779 indirect_info, indirect_inlining_edge and indirect_unknown_callee.
780 (cgraph_create_indirect_edge): Declare.
781 (cgraph_make_edge_direct): Likewise.
782 (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
783 * ipa-prop.h (struct ipa_param_call_note): Removed.
784 (struct ipa_node_params): Removed field param_calls.
785 (ipa_create_all_structures_for_iinln): Declare.
786 * cgraph.c: Described indirect edges and uids in initial comment.
787 (cgraph_add_edge_to_call_site_hash): New function.
788 (cgraph_edge): Search also among the indirect edges, use
789 cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
790 (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
791 one, use cgraph_add_edge_to_call_site_hash to add edges to the call
792 site hash.
793 (initialize_inline_failed): Assign a reason to indirect edges.
794 (cgraph_create_edge_1): New function.
795 (cgraph_create_edge): Moved some functionality to
796 cgraph_create_edge_1.
797 (cgraph_create_indirect_edge): New function.
798 (cgraph_edge_remove_callee): Add an assert checking for
799 non-indirectness.
800 (cgraph_edge_remove_caller): Special-case indirect edges.
801 (cgraph_remove_edge): Likewise.
802 (cgraph_set_edge_callee): New function.
803 (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
804 (cgraph_make_edge_direct): New function.
805 (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
806 the declaration of the call statement matches.
807 (cgraph_node_remove_callees): Special-case indirect edges.
808 (cgraph_clone_edge): Likewise.
809 (cgraph_clone_node): Clone also the indirect edges.
810 (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
811 indirect_call, dump count of indirect_calls edges.
812 * ipa-prop.c (iinlining_processed_edges): New variable.
813 (ipa_note_param_call): Create indirect edges instead of
814 creating notes. New parameter node.
815 (ipa_analyze_call_uses): New parameter node, pass it on to
816 ipa_note_param_call.
817 (ipa_analyze_stmt_uses): Likewise.
818 (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
819 (print_edge_addition_message): Work on edges rather than on notes.
820 (update_call_notes_after_inlining): Likewise, renamed to
821 update_indirect_edges_after_inlining.
822 (ipa_create_all_structures_for_iinln): New function.
823 (ipa_free_node_params_substructures): Do not free notes.
824 (ipa_edge_duplication_hook): Propagate bits within
825 iinlining_processed_edges bitmap.
826 (ipa_node_duplication_hook): Do not duplicate notes.
827 (free_all_ipa_structures_after_ipa_cp): Renamed to
828 ipa_free_all_structures_after_ipa_cp.
829 (free_all_ipa_structures_after_iinln): Renamed to
830 ipa_free_all_structures_after_iinln.g
831 (ipa_write_param_call_note): Removed.
832 (ipa_read_param_call_note): Removed.
833 (ipa_write_indirect_edge_info): New function.
834 (ipa_read_indirect_edge_info): Likewise.
835 (ipa_write_node_info): Do not stream notes, do stream information
836 in indirect edges.
837 (ipa_read_node_info): Likewise.
838 (lto_ipa_fixup_call_notes): Removed.
839 * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
840 * ipa-inline.c (pass_ipa_inline): Likewise.
841 * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
842 * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
843 * tree-inline.c (copy_bb): Removed an unnecessary double check for
844 is_gimple_call.
845 * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
846 edges.
847 * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
848 (output_cgraph): Stream also indirect edges.
849 (lto_output_edge): Added capability to stream indirect edges.
850 (input_edge): Likewise.
851 (input_cgraph_1): Likewise.
f3d1b157
MJ
852 * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
853 of indirect edges.
e33c6cd6 854
18abb35e
RG
8552010-04-28 Richard Guenther <rguenther@suse.de>
856
857 PR tree-optimization/43879
858 PR tree-optimization/43909
859 * tree-ssa-structalias.c (struct variable_info): Add
860 only_restrict_pointers flag.
861 (new_var_info): Initialize it. Increment stats.total_vars here.
862 (create_function_info_for): Do not increment stats.total_vars
863 here.
864 (get_function_part_constraint): Fix build with C++.
865 (insert_into_field_list): Remove.
866 (push_fields_onto_fieldstack): Properly merge fields.
867 (create_variable_info_for): Split and simplify.
868 (create_variable_info_for_1): New piece.
869 (intra_create_variable_infos): Properly make restrict constraints
870 from parameters.
871
c718820a
RG
8722010-04-28 Richard Guenther <rguenther@suse.de>
873
874 PR c++/43880
35c59d9c 875 * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
c718820a 876
5dc16b19
MLI
8772010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org>
878 Jan Hubicka <hubicka@ucw.cz>
879
880 * doc/invoke.texi (-Wsuggest-attribute=const,
881 -Wsuggest-attribute=pure): Document.
882 * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
883 (function_always_visible_to_compiler_p,
884 suggest_attribute, warn_function_pure, warn_function_const):
885 New functions.
886 (check_call): Improve debug info.
887 (analyze_function): Do not check availability.
888 (add_new_function): Check availability.
889 (propagate): Output warnings.
890 (skip_function_for_local_pure_const): New function.
891 (local_pure_const): Use it; output warnings.
892 * common.opt (Wsuggest-attribute=const,
893 Wsuggest-attribute=pure): New.
894
78b41ae2
JJ
8952010-04-27 Jakub Jelinek <jakub@redhat.com>
896
897 * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
898 force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
899 or DW_CFA_def_cfa_offset{,_sf}.
900
62107106
EB
9012010-04-27 Eric Botcazou <ebotcazou@adacore.com>
902
903 * tree.h: Fix truncated long macros.
904
ad211091
KT
9052010-04-27 Kai Tietz <kai.tietz@onevision.com>
906
907 * collect2.c (TARGET_64BIT): Redefine to target's default.
908 * tlink.c: Likewise.
909 * config/i386/cygming.h (USER_LABEL_PREFIX): Define
910 dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
911 * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
912 for underscoring __USER_LABEL_PREFIX__.
913 * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
914 (SUB_LINK_ENTRY32): New.
915 (SUB_LINK_ENTRY64): New.
85fac79c 916 (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
ad211091
KT
917 * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
918 (SUB_LINK_ENTRY64): New.
919 (SUB_LINK_ENTRY): New.
920 (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
921 (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
922 x64 target is choosen.
923 * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
924 * configure: Regenerated.
925 * configure.ac (leading-mingw64-underscores): Option added.
926
e65bb9be
JH
9272010-04-27 Jan Hubicka <jh@suse.cz>
928
929 * doc/invoke.texi (-fipa-profile): Document.
930 * opts.c (decode_options): Enable ipa-profile at -O1.
931 * timevar.def (TV_IPA_PROFILE): Define.
932 * common.opt (fipa-profile): Add.
62107106
EB
933 * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
934 flag for clones.
e65bb9be
JH
935 (cgraph_propagate_frequency): Handle only local ones.
936 * tree-pass.h (pass_ipa_profile): Declare.
937 * ipa-profile.c (gate_profile): Use flag_ipa_profile.
938 (pass_ipa_profile): Use TV_IPA_PROFILE.
939 * ipa.c (ipa_profile): New function.
940 (gate_ipa_profile): Likewise.
941 (pass_ipa_profile): New global variable.
942 * passes.c (pass_ipa_profile): New.
943
8606c81d
NF
9442010-04-27 Nathan Froyd <froydnj@codesourcery.com>
945
946 * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
947
78eaf7bf
MJ
9482010-04-27 Martin Jambor <mjambor@suse.cz>
949
950 PR middle-end/43812
951 * ipa.c (dissolve_same_comdat_group_list): New function.
952 (function_and_variable_visibility): Call
953 dissolve_same_comdat_group_list when comdat group contains external or
954 newly local nodes.
955 * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
956 lists are circular and that they contain only DECL_ONE_ONLY nodes.
957
5b56d3bb
EB
9582010-04-27 Eric Botcazou <ebotcazou@adacore.com>
959
960 * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
961 (const_hash_1) <VECTOR_CST>: New case.
962 (compare_constant) <VECTOR_CST>: Likewise.
963 <ADDR_EXPR>: Deal with LABEL_REFs.
964 (copy_constant) <VECTOR_CST>: New case.
965
fa5f5e27
JH
9662010-04-27 Jan Hubicka <jh@suse.cz>
967
968 * cgraph.c (cgraph_propagate_frequency): New function.
969 * cgraph.h (cgraph_propagate_frequency): Declare.
970 * ipa-inline.c (cgraph_clone_inlined_nodes): Call
971 cgraph_propagate_frequency.
972
934f5b42
JJ
9732010-04-27 Jakub Jelinek <jakub@redhat.com>
974
975 * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
976
cb751cbd
BS
9772010-04-27 Bernd Schmidt <bernds@codesourcery.com>
978
979 PR target/40657
980 * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
981 (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
982 here to determine which regs to push and how much stack to reserve.
983
a5027830
JZ
9842010-04-27 Jie Zhang <jie@codesourcery.com>
985
986 * doc/gimple.texi (gimple_statement_with_ops): Remove
987 addresses_taken field.
988 (gimple_statement_with_memory_ops): Likewise.
989
d89488ec
JH
9902010-04-27 Jan Hubicka <jh@suse.cz>
991
992 * tree-inline.c (eni_inlining_weights): Remove.
993 (estimate_num_insns): Special case more builtins.
994
637f1455 9952010-04-27 Shujing Zhao <pearly.zhao@oracle.com>
85fac79c 996
637f1455
SZ
997 PR c/32207
998 * c-typeck.c (build_binary_op): Move forward check for comparison
999 pointer with null pointer constant and adjust the diagnostic message.
1000
f0423078
DK
10012010-04-27 Dave Korn <dave.korn.cygwin@gmail.com>
1002
1003 PR lto/42776
1004 * configure.ac (gcc_cv_as_section_has_align): Set if installed
1005 binutils supports extended .section directive needed by LTO, or
1006 warn if older binutils found.
1007 (LTO_BINARY_READER): New AC_SUBST'd variable.
1008 (LTO_USE_LIBELF): Likewise.
1009 * gcc/config.gcc (lto_binary_reader): New target-specific configure
1010 variable.
1011 * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
1012 (LTO_USE_LIBELF): Likewise.
1013 * configure: Regenerate.
1014
1015 * collect2.c (is_elf): Rename from this ...
1016 (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
1017 object files in addition to ELF-formatted ones.
1018 (scan_prog_file): Caller updated. Also allow for LTO info marker
1019 symbol to be prefixed or not by an extra underscore.
1020
1021 * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
1022 * config/i386/winnt.c: Also #include lto-streamer.h
1023 (i386_pe_asm_named_section): Specify 1-byte section alignment for
1024 LTO named sections.
1025 (i386_pe_asm_output_aligned_decl_common): Add comment.
1026 (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
1027
68e87fc9
HPN
10282010-04-27 Hans-Peter Nilsson <hp@bitrange.com>
1029
45c384e3 1030 PR target/43889
68e87fc9
HPN
1031 * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
1032 Add missing earlyclobber for second alternative.
1033
823ff7b4
BS
10342010-04-26 Bernd Schmidt <bernds@codesourcery.com>
1035
1036 * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
1037 bits for artificial defs at the top of the block.
1038 * fwprop.c (single_def_use_enter_block): Don't call it.
1039
1637c2e1 10402010-04-26 Jack Howarth <howarth@bromo.med.uc.edu>
9ec69d2e
JH
1041
1042 PR 43715
1043 * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
1044 instead of "$gcc_cv_objdump -T".
1045 Use "-undefined dynamic_lookup" on darwin.
1046 * gcc/configure: Regenerate.
1047
b83a701b
JJ
10482010-04-26 Jakub Jelinek <jakub@redhat.com>
1049
1050 PR c/43893
1051 * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
1052
8415f317
NF
10532010-04-26 Nathan Froyd <froydnj@codesourcery.com>
1054
1055 * c-parser.c (struct c_token): Move location field up.
1056 * c-tree.h (struct c_typespec): Move expr_const_operands field up.
1057 (struct c_declspecs): Convert typespec_word, storage_class, and
1058 default_int_p into bitfields.
1059 (struct c_declarator): Move loc field up.
1060
448f65db
NF
10612010-04-26 Nathan Froyd <froydnj@codesourcery.com>
1062
1063 * cfgloop.h (struct loop): Move can_be_parallel field up.
1064 * ipa-prop.h (struct ip_node_params): Move bitfields up.
1065 * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
1066 down.
1067 (struct iv_cand): Convert pos field into a bitfield.
1068 * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
1069 field up.
1070 (struct _stmt_vec_info): Shuffle fields for better packing.
1071
736865e1
EB
10722010-04-26 Eric Botcazou <ebotcazou@adacore.com>
1073
1074 * varasm.c (IN_NAMED_SECTION): Remove guard.
1075 * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
1076 (IN_NAMED_SECTION_P): ...this.
1077 (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
1078 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
1079
06ec59e6
EB
10802010-04-26 Eric Botcazou <ebotcazou@adacore.com>
1081
1082 * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
1083 Use VOID_TYPE_P for all void type tests. Adjust TYPE variable instead
1084 of shadowing it. Fix comments.
1085
5fefcf92
JH
10862010-04-26 Jan Hubicka <jh@suse.cz>
1087
1088 * cgraph.c (cgraph_create_node): Set node frequency to normal.
1089 (cgraph_clone_node): Copy function frequency.
1090 * cgraph.h (node_frequency): New enum
1091 (struct cgraph_node): Add.
1092 * final.c (rest_of_clean_state): Update.
1093 * lto-cgraph.c (lto_output_node): Output node frequency.
1094 (input_overwrite_node): Input node frequency.
1095 * tre-ssa-loop-ivopts (computation_cost): Update.
06ec59e6
EB
1096 * lto-streamer-out.c (output_function): Do not output function
1097 frequency.
1098 * predict.c (maybe_hot_frequency_p): Update and handle functions
1099 executed once.
5fefcf92
JH
1100 (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
1101 attribute lookup.
1102 (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
06ec59e6
EB
1103 (compute_function_frequency): Set noreturn functions to be executed
1104 once.
5fefcf92
JH
1105 (choose_function_section): Update.
1106 * lto-streamer-in.c (input_function): Do not input function frequency.
06ec59e6
EB
1107 * function.c (allocate_struct_function): Do not initialize function
1108 frequency.
5fefcf92
JH
1109 * function.h (function_frequency): Remove.
1110 (struct function): Remove function frequency.
1111 * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
1112 (try_update): Update.
1113 * tree-inline.c (initialize_cfun): Do not update function frequency.
1114 * passes.c (pass_init_dump_file): Update.
1115 * i386.c (ix86_compute_frame_layout): Update.
1116 (ix86_pad_returns): Update.
1117
330af32c
JZ
11182010-04-26 Jie Zhang <jie@codesourcery.com>
1119
1120 PR tree-optimization/43833
1121 * tree-vrp.c (range_int_cst_p): New.
1122 (range_int_cst_singleton_p): New.
1123 (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
1124 when both operands are constants. Use range_int_cst_p in
1125 BIT_IOR_EXPR case.
1126
ae2b0888
JH
11272010-04-26 Jan Hubicka <jh@suse.cz>
1128
1129 * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
1130
98b2dfbb
RG
11312010-04-26 Richard Guenther <rguenther@suse.de>
1132
1133 PR lto/43080
1134 * gimple.c (gimple_decl_printable_name): Deal gracefully
1135 with a NULL DECL_NAME.
1136
1ae3075b
RG
11372010-04-26 Richard Guenther <rguenther@suse.de>
1138
1139 PR lto/42425
1140 * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
1141 if emitting debug information and it is either a function
1142 or a namespace decl.
1143
4b5caab7
IR
11442010-04-26 Ira Rosen <irar@il.ibm.com>
1145
85fac79c
UB
1146 * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
1147 determine if the statement is vectorizable, and a macro to access it.
1148 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
1149 Skip statements that can't be vectorized. If the analysis fails,
1150 mark the statement as unvectorizable if vectorizing basic block.
4b5caab7 1151 (vect_compute_data_refs_alignment): Likewise.
85fac79c 1152 (vect_verify_datarefs_alignment): Skip statements marked as
4b5caab7 1153 unvectorizable. Add print.
85fac79c
UB
1154 (vect_analyze_group_access): Skip statements that can't be
1155 vectorized. If the analysis fails, mark the statement as
4b5caab7 1156 unvectorizable if vectorizing basic block.
85fac79c
UB
1157 (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
1158 * tree-vect-stmts.c (vectorizable_store): Fix the number of
4b5caab7
IR
1159 generated stmts for SLP.
1160 (new_stmt_vec_info): Initialize the new field.
85fac79c 1161 * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
4b5caab7
IR
1162 statements marked as unvectorizable.
1163
2778d766
JM
11642010-04-25 Joseph Myers <joseph@codesourcery.com>
1165
1166 * c-common.c (flag_isoc1x): New.
1167 (flag_isoc99): Update comment.
1168 * c-common.h (flag_isoc1x): New.
1169 (flag_isoc99): Update comment.
1170 * c-cppbuiltin.c (builtin_define_float_constants): Also define
1171 __<type>_DECIMAL_DIG__.
1172 * c-opts.c (set_std_c1x): New.
1173 (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
1174 (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
1175 * c.opt (-std=c1x, -std=gnu1x): New options.
1176 * doc/cpp.texi: Mention -std=c1x.
1177 * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
1178 * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
1179 * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
1180 * doc/standards.texi: Mention C1X.
1181 * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
1182 LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
1183 LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
1184 Define for C1X.
1185
3d416346
UB
11862010-04-25 Uros Bizjak <ubizjak@gmail.com>
1187
1188 * config/i386/gmon-sol2.c (_mcleanup): Change format string
1189 placeholder from 0x%x to %#x.
1190 * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
1191 * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
1192 * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
1193 * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
1194 * config/i386/i386.c (ix86_target_string): Ditto.
1195 (output_pic_addr_const): Ditto.
1196 (print_operand): Ditto.
1197
910ed7dc
PB
11982010-04-25 Paolo Bonzini <bonzini@gnu.org>
1199
1200 * combine.c (find_split_point): Add third argument. Use it
1201 to find nested multiply-accumulate instructions. Adjust calls.
1202 (try_combine): Adjust call to find_split_point.
1203
423b2799
GP
12042010-04-24 Gerald Pfeifer <gerald@pfeifer.com>
1205
1206 * doc/contrib.texi (Contributors): Add Dodji Seketeli.
1207
27d0d96a
BS
12082010-04-24 Bernd Schmidt <bernds@codesourcery.com>
1209
1210 PR tree-optimization/41442
1211 * fold-const.c (merge_truthop_with_opposite_arm): New function.
1212 (fold_binary_loc): Call it.
1213
c7d0de89
MLI
12142010-04-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
1215
3d416346 1216 * toplev.c (general_init): Set default for fdiagnostics-show-option.
c7d0de89 1217 * opts.c (common_handle_option): Allow disabling it.
3d416346
UB
1218 * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
1219
915f5921
EB
12202010-04-23 Eric Botcazou <ebotcazou@adacore.com>
1221
1222 * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
1223 between modes if both types are integral.
1224
4e708ff7
RG
12252010-04-23 Richard Guenther <rguenther@suse.de>
1226
1227 PR tree-optimization/43572
1228 * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
1229
8fd8a06f
RG
12302010-04-23 Richard Guenther <rguenther@suse.de>
1231
1232 PR lto/43455
1233 * tree-inline.c (tree_can_inline_p): Also check compatibility
1234 of return types.
1235
77620011
MJ
12362010-04-23 Martin Jambor <mjambor@suse.cz>
1237
1238 PR tree-optimization/43846
1239 * tree-sra.c (struct access): New flag grp_assignment_read.
1240 (build_accesses_from_assign): Set grp_assignment_read.
1241 (sort_and_splice_var_accesses): Propagate grp_assignment_read.
1242 (enum mark_read_status): New type.
1243 (analyze_access_subtree): Propagate grp_assignment_read, create
1244 accesses also if both direct_read and root->grp_assignment_read.
1245
5c20baf1
MJ
12462010-04-23 Martin Jambor <mjambor@suse.cz>
1247
1248 PR middle-end/43835
1249 * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
1250 function does not have type attributes.
1251
c67f69a3
RG
12522010-04-23 Richard Guenther <rguenther@suse.de>
1253
1254 PR lto/42653
1255 * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
1256 of FUNCTION_DECLs.
1257
086058c2
LB
12582010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1259
1260 * sese.h (create_if_region_on_edge): Remove.
1261
1262 * sese.c (create_if_region_on_edge): Make static.
1263
1264 * tree-inline.c: Do not include ggc.h.
1265
1266 * expr.c: Do not include ggc.h.
1267
1268 * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
1269 dependencies.
1270
fc9c984d
KK
12712010-04-22 Kaz Kojima <kkojima@gcc.gnu.org>
1272
1273 PR target/43744
1274 * config/sh/sh.c (find_barrier): Don't emit a constant pool
1275 in the middle of insns for casesi_worker_2.
1276
cf42f095
DE
12772010-04-22 David Edelsohn <edelsohn@gnu.org>
1278
1279 * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
1280
12812010-04-22 Ira Rosen <irar@il.ibm.com>
74500b3e 1282
5bdd895c 1283 PR tree-optimization/43842
d5dceab8 1284 * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
74500b3e
IR
1285 loop unrolling in update of exit phis. Fix comment.
1286 * tree-vect-slp.c (vect_analyze_slp): Check that there are at
d5dceab8 1287 least two reduction statements in the loop before starting SLP
74500b3e
IR
1288 analysis.
1289
d5f4a527
NC
12902010-04-22 Nick Clifton <nickc@redhat.com>
1291
1292 * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
1293
44741f03
AM
12942010-04-22 Alexander Monakov <amonakov@ispras.ru>
1295
1296 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
1297 to simplify a + ~a.
1298
f873b205
LB
12992010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1300
1301 * tree-parloops.c (loop_parallel_p): New argument
1302 parloop_obstack. Pass it down.
1303 (parallelize_loops): New variable parloop_obstack. Initialize it,
1304 pass it down, free it.
1305
1306 * tree-loop-linear.c (linear_transform_loops): Pass down
1307 lambda_obstack.
1308
1309 * tree-data-ref.h (lambda_compute_access_matrices): New argument
1310 of type struct obstack *.
1311
1312 * tree-data-ref.c (analyze_subscript_affine_affine): New variable
1313 scratch_obstack. Initialize it, pass down, free it.
1314
1315 * lambda.h (lambda_loop_new): Remove.
1316 (lambda_matrix_new, lambda_matrix_inverse)
1317 (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
1318 argument of type struct obstack *.
1319
1320 * lambda-trans.c (lambda_trans_matrix_new): New argument
1321 lambda_obstack. Pass it down, use obstack allocation for ret.
1322 (lambda_trans_matrix_inverse): New argument lambda_obstack. Pass
1323 it down.
1324
1325 * lambda-mat.c (lambda_matrix_get_column)
1326 (lambda_matrix_project_to_null): Remove.
1327 (lambda_matrix_new): New argument lambda_obstack. Use obstack
1328 allocation for mat.
1329 (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
1330 lambda_obstack.
1331
1332 * lambda-code.c (lambda_loop_new): New function.
1333 (lambda_lattice_new, compute_nest_using_fourier_motzkin)
1334 (lambda_compute_auxillary_space, lambda_compute_target_space)
1335 (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
1336 (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
1337 (build_access_matrix): New argument lambda_obstack. Use obstack
1338 allocation for am.
1339 (lambda_compute_step_signs, lambda_compute_access_matrices): New
1340 argument lambda_obstack. Pass it down.
1341
b99279f3
BS
13422010-04-22 Bernd Schmidt <bernds@codesourcery.com>
1343
1344 * optabs.h (expand_widening_mult): Declare.
1345
b3be2694
RG
13462010-04-22 Richard Guenther <rguenther@suse.de>
1347
1348 PR tree-optimization/43845
1349 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
1350 lookup the CALL_EXPR function and arguments.
1351
038eab67
NC
13522010-04-22 Nick Clifton <nickc@redhat.com>
1353
1354 * config/stormy16/stormy16.c
d5dceab8 1355 (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
038eab67
NC
1356 * config/stormy16/stormy16.h: Tidy up formatting.
1357 (DONT_USE_BUILTIN_SETJMP): Remove definition.
1358 * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
1359 (ineqbranchsi): Delete pattern.
1360 * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
1361 * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
1362 * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
1363 stormy16-lib2-ucmpsi2.c.
1364
907deb1a
BS
13652010-04-22 Bernd Schmidt <bernds@codesourcery.com>
1366
1367 * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
1368 df_simulate_find_noclobber_defs as appropriate. Keep track of an
1369 extra set merge_set_noclobber, and use it to relax the final test
1370 slightly.
1371 * df.h (df_simulate_find_noclobber_defs): Declare.
1372 * df-problems.c (df_simulate_find_defs): Don't ignore partial or
1373 conditional defs.
1374 (df_simulate_find_noclobber_defs): New function.
1375
6a0447ba
UB
13762010-04-22 Uros Bizjak <ubizjak@gmail.com>
1377
1378 * config/i386/i386.md: Use {} around multi-line preparation statements.
1379
a1e3b3d9
LB
13802010-04-22 Laurynas Biveinis <laurynas.biveinis@gmail.com>
1381
1382 * c-tree.h (push_init_level, pop_init_level, set_init_index)
1383 (process_init_element): New argument of type struct obstack *.
1384
1385 * c-typeck.c (push_init_level, pop_init_level, set_designator)
1386 (set_init_index, set_init_label, set_nonincremental_init)
1387 (set_nonincremental_init_from_string, find_init_member)
1388 (output_init_element, output_pending_init_elements)
1389 (process_init_element): New argument braced_init_obstack. Pass it
1390 down.
1391 (push_range_stack, add_pending_init): New argument
1392 braced_init_obstack. Use obstack allocation.
1393
1394 * c-parser.c (c_parser_initelt, c_parser_initval): New argument
1395 braced_init_obstack. Pass it down.
1396 (c_parser_braced_init): New variables ret, braced_init_obstack.
1397 Initialize obstack, pass it down and finally free it.
1398
5b58b39b
BS
13992010-04-22 Bernd Schmidt <bernds@codesourcery.com>
1400
1401 PR middle-end/29274
5b58b39b
BS
1402 * tree-pass.h (pass_optimize_widening_mul): Declare.
1403 * tree-ssa-math-opts.c (execute_optimize_widening_mul,
1404 gate_optimize_widening_mul): New static functions.
1405 (pass_optimize_widening_mul): New.
3d416346 1406 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
5b58b39b
BS
1407 <case MULT_EXPR>: Remove support for widening multiplies.
1408 * tree.def (WIDEN_MULT_EXPR): Tweak comment.
1409 * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
1410 simplify_gen_unary rather than directly building extensions.
1411 * tree-cfg.c (verify_gimple_assign_binary): Add tests for
1412 WIDEN_MULT_EXPR.
1413 * expmed.c (expand_widening_mult): New function.
1414 * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
1415
bc58d7e1
JH
14162010-04-21 Jan Hubicka <jh@suse.cz>
1417
1418 * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
1419 * lto-section-in.c (lto_section_name): Remove wpa_fixup.
1420 * lto-wpa-fixup.c: Remove.
1421 * Makefile.in (lto-wpa-fixup.o): Remove.
1422 * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
1423 (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
1424 * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
1425
e792884f
JH
14262010-04-21 Jan Hubicka <jh@suse.cz>
1427
1428 * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
1429 add write_optimization_summary, read_optimization_summary.
1430 (ipa_write_summaries_of_cgraph_node_set): Remove.
1431 (ipa_write_optimization_summaries): Declare.
1432 (ipa_read_optimization_summaries): Declare.
1433 * ipa-cp.c (pass_ipa_cp): Update.
1434 * ipa-reference.c (pass_ipa_reference): Update.
1435 * ipa-pure-const.c (pass_ipa_pure_const): Update.
1436 * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
1437 Update.
1438 * ipa-inline.c (pass_ipa_inline): Update.
1439 * ipa.c (pass_ipa_whole_program): Update.
1440 * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
1441 * passes.c (ipa_write_summaries_1): Do not test wpa.
1442 (ipa_write_optimization_summaries_1): New.
1443 (ipa_write_optimization_summaries): New.
1444 (ipa_read_summaries): Do not test ltrans.
1445 (ipa_read_optimization_summaries_1): New.
1446 (ipa_read_optimization_summaries): New.
1447
ecd03d10
JH
14482010-04-21 Jan Hubicka <jh@suse.cz>
1449
1450 * lto-cgraph.c (lto_output_node): Do not output comdat groups
1451 for boundary nodes.
1452 (output_cgraph): Do not arrange comdat groups for boundary nodes.
1453
71a810c3
JJ
14542010-04-21 Jakub Jelinek <jakub@redhat.com>
1455
1456 PR debug/40040
1457 * dwarf2out.c (add_name_and_src_coords_attributes): Add
1458 DW_AT_{,MIPS_}linkage_name even for Fortran decls.
1459
dd6d1ad7
JH
14602010-04-21 Jan Hubicka <jh@suse.cz>
1461
1462 * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
1463
c9945504
JH
14642010-04-21 Jan Hubicka <jh@suse.cz>
1465
1466 * varpool.c (decide_is_variable_needed): Variable is always needed
1467 during ltrans.
1468
e7cfce71
JH
14692010-04-21 Jan Hubicka <jh@suse.cz>
1470
1471 * opts.c (decode_options): Enable pure-const pass for whopr.
1472
0115e6c7
JH
14732010-04-21 Jan Hubicka <jh@suse.cz>
1474
1475 * cgraph.c (dump_cgraph_node): Dump also assembler name.
1476 * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
1477 at WPA dumping.
1478 (cgraph_decide_inlining): Do not expect callee to be removed in all
1479 cases.
1480
96c2a0d6
EW
14812010-04-21 Eric B. Weddington <eric.weddington@atmel.com>
1482
1483 * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
1484
656ef6bb
UB
14852010-04-21 Uros Bizjak <ubizjak@gmail.com>
1486
1487 * config/i386/i386.md (x86_shrd): Add athlon_decode and
1488 amdfam10_decode attributes.
1489
78db7d92
JJ
14902010-04-21 Jakub Jelinek <jakub@redhat.com>
1491
1492 PR middle-end/43570
1493 * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
1494 OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
1495 (lower_copyprivate_clauses): Use private var in outer
1496 context instead of original var. Make sure the types
1497 are correct for VLAs.
1498
11152c95
RG
14992010-04-21 Richard Guenther <rguenther@suse.de>
1500
1501 * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
1502 to non-pointer objects.
1503
8f65940d
JJ
15042010-04-21 Jakub Jelinek <jakub@redhat.com>
1505
0f2f44c0
JJ
1506 * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument. Drop
1507 last chain entry if it starts with the still current label.
1508 (add_location_or_const_value_attribute): Check that
6a0447ba 1509 loc_list->first->next is NULL instead of comparing ->first with ->last.
0f2f44c0
JJ
1510 (dwarf2out_var_location): Pass last_label resp. last_postcall_label
1511 to add_var_loc_to_decl.
1512
8f65940d 1513 * dwarf2out.c (output_call_frame_info): For dw_cie_version
6a0447ba 1514 >= 4 add also address size and segment size fields into CIE header.
8f65940d
JJ
1515
1516 * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
1517 long as address size is the same as sizeof (void *) and
1518 segment size is 0.
1519 * unwind-dw2-fde.c (get_cie_encoding): Likewise. If
1520 address size or segment size is unexpected, return DW_EH_PE_omit.
1521 (classify_object_over_fdes): If get_cie_encoding returned
1522 DW_EH_PE_omit, return -1.
1523 (init_object): If classify_object_over_fdes returned -1,
1524 pretend there were no FDEs at all.
1525
2d2d5a91
UB
15262010-04-21 Uros Bizjak <ubizjak@gmail.com>
1527
1528 * config/i386/i386.md (bswap<mode>2): Macroize expander from
1529 bswap{si,di}2 using SWI48 mode iterator.
1530 (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
1531 SWI48 mode iterator. Set type attribute of bswap insn to bitmanip,
1532 set modrm attribute of bswap insn to 0 and remove length attribute.
1533 (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
1534 iterator. Set type attribute to bitmanip, set modrm attribute to 0,
1535 set mode attribute to <MODE> and remove length attribute.
1536
4811db8d
JW
15372010-04-20 James E. Wilson <wilson@codesourcery.com>
1538
1539 PR rtl-optimization/43520
1540 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
1541 zero available registers.
1542
3c642f92
KG
15432010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1544
1545 * builtins.c (fold_builtin_cproj): Fold more cases.
1546
43272bf5
KG
15472010-04-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1548
1549 * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
1550 (fold_builtin_1): Fold builtin cproj.
1551 * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
1552 Use ATTR_CONST_NOTHROW_LIST.
1553
e96ccb30
UB
15542010-04-20 Uros Bizjak <ubizjak@gmail.com>
1555
1556 * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
1557 and ffsdi2 using SWI48 mode iterator. Expand SImode insn through
1558 ffsi2_no_cmove for !TARGET_CMOVE.
1559 (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public.
1560 (ffssi2): Remove expander.
1561 (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
1562 mode iterator.
1563 (ctz<mode>2): Ditto from ctz{si,di}2.
1564 (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
1565 mode iterator.
1566 (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
1567 mode iterator.
1568
4c0ab69d
JJ
15692010-04-20 Jakub Jelinek <jakub@redhat.com>
1570
1571 * dwarf2out.c (AT_linkage_name): Define.
1572 (clone_as_declaration): Handle DW_AT_linkage_name.
1573 (add_name_and_src_coords_attributes): Use AT_linkage_name instead
1574 of DW_AT_MIPS_linkage_name.
1575 (move_linkage_attr): Likewise.
1576 (dwarf2out_finish): Likewise.
1577
94e85e0a
XDL
15782010-04-20 Xinliang David Li <davidxl@gcc.gnu.org>
1579
1580 PR middle-end/41952
e96ccb30 1581 * fold-const.c (fold_comparison): New folding rule.
94e85e0a 1582
4c0ab69d 15832010-04-20 Anatoly Sokolov <aesok@post.ru>
54fb1ae0
AS
1584
1585 * double-int.h (double_int_setbit): Declare.
1586 * double-int.c (double_int_setbit): New function.
1587 * rtl.h (immed_double_int_const): Declare.
1588 * emit-rtl.c (immed_double_int_const): New function.
1589 * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
1590 and immed_double_int_const functions.
1591 * optabs.c (expand_absneg_bit, expand_copysign_absneg,
1592 expand_copysign_bit): (Ditto.).
1593 * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
1594 * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
1595 * dojump.c (prefer_and_bit_test): (Ditto.).
1596 * expr.c (convert_modes, reduce_to_bit_field_precision,
1597 const_vector_from_tree): (Ditto.).
1598 * expmed.c (mask_rtx, lshift_value): (Ditto.).
1599
a837268b
JH
16002010-04-20 Jan Hubicka <jh@suse.cz>
1601
1602 * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
1603 (dump_cgraph_node): Dump new flags.
e96ccb30
UB
1604 * cgraph.h (struct cgraph_node): Add flags
1605 reachable_from_other_partition and in_other_partition.
1606 (cgraph_can_remove_if_no_direct_calls_p): Functions used by
1607 other partition can not be removed.
1608 * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
1609 the other partition must be output; silence sanity checking on
1610 leaking functions bodies from other paritition.
a837268b
JH
1611 * lto-cgraph.c (reachable_from_other_partition_p): New function.
1612 (lto_output_node): Output new flags; do not sanity check that inline
1613 clones are output; drop lto_forced_extern_inline_p code; do not mock
1614 visibility flags at partition boundaries.
1615 (add_node_to): New function.
1616 (output_cgraph): Use it to sort functions so masters appear before
1617 clones.
1618 (input_overwrite_node): Input new flags.
1619 * passes.c (ipa_write_summaries): Do not call
1620 lto_new_extern_inline_states.
74ca3393
EB
1621 * lto-section-out.c (forced_extern_inline,
1622 lto_new_extern_inline_states lto_delete_extern_inline_states,
1623 lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
a837268b
JH
1624 * lto-streamer.h (lto_new_extern_inline_states,
1625 * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
1626 lto_forced_extern_inline_p): Kill.
1627
3c323b52
RG
16282010-04-20 Richard Guenther <rguenther@suse.de>
1629
1630 * tree-ssa-structalias.c (do_sd_constraint): Add edges only
1631 from vars that can have pointers.
1632 (process_constraint): Dump useless constraints.
1633
b28ae58f
RG
16342010-04-20 Richard Guenther <rguenther@suse.de>
1635
e96ccb30 1636 * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
b28ae58f
RG
1637 (dump_sa_points_to_info): Remove asserts.
1638 (init_base_vars): nothing_id isn't an escape point nor does it
1639 have pointers.
1640
1197ce8e
JJ
16412010-04-20 Jakub Jelinek <jakub@redhat.com>
1642
1643 * tree.h (TYPE_REF_IS_RVALUE): Define.
1644 * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
1645 should_move_die_to_comdat, prune_unused_types_walk): Handle
1646 DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
1647 (modified_type_die, gen_reference_type_die): Emit
1648 DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
1649 if TYPE_REF_IS_RVALUE and -gdwarf-4.
1650
72e2cf16
AK
16512010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1652
1653 PR target/43635
1654 * config/s390/s390.c (s390_emit_call): Turn direct into indirect
1655 calls for -fpic -m31 if they have been sibcall optimized.
1656
810d71d0
JW
16572010-04-19 James E. Wilson <wilson@codesourcery.com>
1658
4a863f3a
JW
1659 * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
1660 ar.lc fixed and call-used.
1661
810d71d0
JW
1662 * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
1663
3ee2243c
JH
16642010-04-19 Jan Hubicka <jh@suse.cz>
1665
1666 * opts.c (decode_options): Disable whpr incompatible passes.
1667 * lto/lto.c (lto_1_to_1_map): Skip clones.
1668 (read_cgraph_and_symbols): Do not mark everything as needed.
1669 (do_whole_program_analysis): Do map only after optimizing;
1670 set proper cgraph_state; use passmanager.
1671
576319a7
DD
16722010-04-19 DJ Delorie <dj@redhat.com>
1673
1674 * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
1675 POINTER_PLUS_EXPR and fix them.
1676
578ad141
EW
16772010-04-19 Eric B. Weddington <eric.weddington@atmel.com>
1678
1679 * config/avr/avr-devices.c (avr_mcu_types): Add support for new
1680 devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
1681 attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
1682 atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
1683 atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
1684 atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
1685 atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
1686 atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
1687 m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
1688 atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
1689 * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
1690
d321bd2d
EB
16912010-04-19 Eric Botcazou <ebotcazou@adacore.com>
1692
1693 * ifcvt.c (noce_try_cmove_arith): Fix long lines.
1694 (check_cond_move_block): Likewise.
1695 (cond_move_process_if_block): Likewise.
1696 (noce_find_if_block): Improve formatting.
1697 (find_if_header): Pass 0 to memset and tweak conditions.
1698 (cond_exec_find_if_block): Fix long lines and tweak conditions.
1699
74e27d0d
JJ
17002010-04-19 Jakub Jelinek <jakub@redhat.com>
1701
e96ccb30
UB
1702 * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
1703 for -gdwarf-4.
74e27d0d 1704
fd2e4e99
JJ
1705 PR middle-end/43337
1706 * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
1707 with non-local decl doesn't need chain.
1708
ec995732
VM
17092010-04-19 Vladimir Makarov <vmakarov@redhat.com>
1710
1711 * ira-color.c (allocno_reload_assign): Avoid accumulating
1712 reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
1713
acd63801
MJ
17142010-04-19 Martin Jambor <mjambor@suse.cz>
1715
1716 * gimple.h (create_tmp_reg): Declare.
1717 * gimplify.c (create_tmp_reg): New function.
1718 (gimplify_return_expr): Use create_tmp_reg.
1719 (gimplify_omp_atomic): Likewise.
1720 (gimple_regimplify_operands): Likewise.
1721 * tree-dfa.c (make_rename_temp): Likewise.
1722 * tree-predcom.c (predcom_tmp_var): Likewise.
1723 (reassociate_to_the_same_stmt): Likewise.
1724 * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
1725 (get_replaced_param_substitute): Likewise.
1726 * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
1727 * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
1728 * tree-ssa-pre.c (get_representative_for): Likewise.
1729 (create_expression_by_pieces): Likewise.
1730 * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
1731 (create_tailcall_accumulator): Likewise.
1732
0b6e2868
MJ
17332010-04-19 Martin Jambor <mjambor@suse.cz>
1734
1735 * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
1736 new_stmt.
1737 (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
1738
1936a7d4
RG
17392010-04-19 Richard Guenther <rguenther@suse.de>
1740
1741 PR tree-optimization/43796
1742 * tree-vrp.c (adjust_range_with_scev): Lookup init and step
1743 from SCEV in the lattice.
1744 (vrp_visit_phi_node): Dump change.
1745
479881c3
RG
17462010-04-19 Richard Guenther <rguenther@suse.de>
1747
1748 * configure.ac: Fix quoting around elf_getshstrndx ABI check.
1749 * configure: Re-generated.
1750
d53bed0b
RG
17512010-04-19 Richard Guenther <rguenther@suse.de>
1752
1753 PR tree-optimization/43783
1754 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
1755 constant ARRAY_REF operands two and three if possible.
1756
90f775a9
UB
17572010-04-19 Uros Bizjak <ubizjak@gmail.com>
1758
1759 PR target/43766
1760 * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
1761
8d9b7be5
JZ
17622010-04-19 Jie Zhang <jie@codesourcery.com>
1763
1764 PR target/43662
90f775a9 1765 * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
8d9b7be5 1766
d5dceab8 17672010-04-19 Ira Rosen <irar@il.ibm.com>
b5aeb3bb
IR
1768
1769 PR tree-optimization/37027
e96ccb30 1770 * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
b5aeb3bb
IR
1771 and macro to access it.
1772 (vectorizable_reduction): Add argument.
1773 (vect_get_slp_defs): Likewise.
1774 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
1775 statements for possible use in SLP.
1776 (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
1777 (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
1778 (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
1779 add new argument.
1780 (vectorizable_reduction): Likewise.
e96ccb30 1781 * tree-vect-stmts.c (vect_get_vec_defs): Update call to
b5aeb3bb
IR
1782 vect_get_slp_defs.
1783 (vectorizable_type_demotion, vectorizable_type_promotion,
1784 vectorizable_store): Likewise.
1785 (vect_analyze_stmt): Update call to vectorizable_reduction.
1786 (vect_transform_stmt): Likewise.
1787 * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
1788 (vect_build_slp_tree): Fix indentation. Check that there are no loads
1789 from different interleaving chains in same node.
1790 (vect_slp_rearrange_stmts): New function.
e96ccb30 1791 (vect_supported_load_permutation_p): Allow load permutations for
b5aeb3bb
IR
1792 reductions. Call vect_slp_rearrange_stmts() to rearrange statements
1793 inside SLP nodes if necessary.
1794 (vect_analyze_slp_instance): Handle reductions.
1795 (vect_analyze_slp): Try to build SLP instances originating from groups
1796 of reductions.
1797 (vect_detect_hybrid_slp_stmts): Skip reduction statements.
1798 (vect_get_constant_vectors): Create initial vectors for reductions
1799 according to reduction code. Add new argument.
e96ccb30 1800 (vect_get_slp_defs): Add new argument, pass it to
b5aeb3bb
IR
1801 vect_get_constant_vectors.
1802 (vect_schedule_slp_instance): Remove SLP tree root statements.
1803
5a2fa9e8
JJ
18042010-04-19 Jakub Jelinek <jakub@redhat.com>
1805
1806 * tree.h (ENUM_IS_SCOPED): Define.
1807 * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
1808 for ENUM_IS_SCOPED enums.
1809
3b9e5d95
EB
18102010-04-18 Eric Botcazou <ebotcazou@adacore.com>
1811
1812 * fold-const.c (fold_comparison): Use ssizetype.
1813 * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
1814 * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
1815 * tree-loop-distribution.c (build_size_arg_loc): Likewise.
1816 * tree-object-size.c (compute_object_sizes): Use size_type_node.
1817
1818 * tree.h (initialize_sizetypes): Remove parameter.
1819 (build_common_tree_nodes): Remove second parameter.
1820 * stor-layout.c (initialize_sizetypes): Remove parameter.
1821 Always create an unsigned type.
1822 (set_sizetype): Assert that the passed type is unsigned and simplify.
1823 * tree.c (build_common_tree_nodes): Remove second parameter.
1824 Adjust call to initialize_sizetypes.
1825 * c-decl.c (c_init_decl_processing): Remove second argument in call to
1826 build_common_tree_nodes.
1827
b3c35965
MK
18282010-04-18 Matthias Klose <doko@ubuntu.com>
1829
1830 * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
1831
d5dceab8 18322010-04-18 Ira Rosen <irar@il.ibm.com>
59eefaa6
IR
1833
1834 PR tree-optimization/43771
1835 * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
1836 load permutation doesn't have gaps.
1837
07b3ef2e
JH
18382010-04-18 Jan Hubicka <jh@suse.cz>
1839
1840 * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
1841 (sse_prologue_save_insn expander): Use new pattern.
1842 (sse_prologue_save_insn1): New pattern and splitter.
1843 (sse_prologue_save_insn): Update to deal also with 64bit aligned
1844 blocks.
90f775a9
UB
1845 * i386.c (setup_incoming_varargs_64): Do not compute jump
1846 destination here.
07b3ef2e 1847 (ix86_gimplify_va_arg): Update alignment needed.
90f775a9 1848 (ix86_local_alignment): Do not align all local arrays to 128bit.
07b3ef2e 1849
6a8cd100
JH
18502010-04-17 Jan Hubicka <jh@suse.cz>
1851
1852 * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
1853
9e315505
RE
18542010-04-17 Richard Earnshaw <rearnsha@arm.com>
1855
1856 * arm.md (negdi2): Remove redundant code to force values into a
1857 register.
1858
6f0668cf
RE
18592010-04-17 Richard Earnshaw <rearnsha@arm.com>
1860
1861 * arm/bpabi.S: Add EABI alignment attributes to objects.
1862 * arm/bpabi-v6m.S: Likewise.
1863 * arm/crti.asm: Likewise.
1864 * arm/crtn.asm: Likewise.
1865 * arm/lib1funcs.asm: Likewise.
1866 * arm/libunwind.S: Likewise.
1867
1b78f575
RE
18682010-04-17 Richard Earnshaw <rearnsha@arm.com>
1869
1870 * arm-protos.h (tune_params): New structure.
1871 * arm.c (current_tune): New variable.
1872 (arm_constant_limit): Delete.
1873 (struct processors): Add pointer to the tune parameters.
1874 (arm_slowmul_tune): New tuning option.
1875 (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
1876 (all_cores): Adjust to pick up the tuning model.
1877 (arm_constant_limit): New function.
1878 (arm_override_options): Select the appropriate tuning model. Delete
1879 initialization of arm_const_limit.
1880 (arm_split_constant): Use the new constant-limit model.
1881 (arm_rtx_costs): Pick up the current tuning model.
1882 * arm.md (is_strongarm, is_xscale): Delete.
1883 * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
1884 for Xscale variant architectures.
1885 (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
1886
80d56d04
RR
18872010-04-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1888
1b78f575
RE
1889 * config/arm/arm.c (arm_gen_constant): Remove unused variable
1890 can_shift.
80d56d04
RR
1891 (arm_rtx_costs_1): Remove unused variable extra_cost.
1892 (arm_unwind_emit_set): Use variable offset.
1893 (thumb1_output_casesi): Remove unused variable flags.
1894
6190446b
JL
18952010-04-16 Jeff Law <law@redhat.com>
1896
1897 * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
016f9d9d
JL
1898 needing assignment rather than doing a two-phase assignment. Remove
1899 unused variable 'm'.
6190446b 1900
24f8d71e
JJ
19012010-04-16 Jakub Jelinek <jakub@redhat.com>
1902
1903 PR bootstrap/43767
1904 * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
1905
f1665f5c
DK
19062010-04-16 Doug Kwan <dougkwan@google.com>
1907
1908 * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
1909 (next_operand_entry_id): New static variable.
1910 (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
1911 (add_to_ops_vec): Assigned unique ID to operand entry.
1912 (struct oecount_s): New field ID.
1913 (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
1914 (undistribute_ops_list): Assign unique IDs to oecounts.
1915 (init_reassoc): reset next_operand_entry_id.
1916
f638261a
DK
19172010-04-16 Doug Kwan <dougkwan@google.com>
1918
1919 * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
1920 missing left parenthesis.
e96ccb30 1921
4a81b412
UB
19222010-04-16 Uros Bizjak <ubizjak@gmail.com>
1923
1924 * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
1925 *btdi_rex64 using SWI48 mode iterator.
1926 (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
1927 (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
1928 *jcc_btdi_mask_rex64.
1929
9d4d1f8e
AS
19302010-04-16 Anatoly Sokolov <aesok@post.ru>
1931
1932 * double-int.h (tree_to_double_int): Convert to macro.
1933 * double-int.c (tree_to_double_int): Remove.
1934
835eb810
JJ
19352010-04-16 Jakub Jelinek <jakub@redhat.com>
1936
1937 PR debug/43762
1938 * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
1939 with want_address 2 and in case a single element list might be
1940 possible, call it again with want_address 0.
1941
19422010-04-12 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
db624ecb 1943
0f6b820c
KP
1944 * config/h8300/h8300.c (print_operand) : Modify case 'V' and
1945 case 'W' print operands for HI mode.
1946 * config/h8300/h8300.h (Y0, Y2) : New constraints.
1947 * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
1948 (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
1949 * config/h8300/predicate.md (bit_register_indirect_operand): New.
1950
a7494d9e
KP
1951 * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
1952
e96ccb30 1953 * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
8cb81753
KP
1954 cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
1955 #xx:3 and #xx:4 mode.
1956
60744089
KP
1957 * config/h8300/h8300.md (inverted load with HImode dest): Add
1958 support for H8300SX.
1959
db624ecb
KP
1960 * config/h8300/predicate.md (bit_operand): Allow immediate values that
1961 satisfy 'U' constraint.
1962
8ccb78f2
RO
19632010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1964
e96ccb30 1965 * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
8ccb78f2
RO
1966 * configure: Regenerate.
1967 * config.in: Regenerate.
1968 * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
1969 works.
1970
bc9c331d
RG
19712010-04-16 Richard Guenther <rguenther@suse.de>
1972
1973 * tree.h (struct tree_decl_minimal): Move pt_uid ...
1974 (struct tree_decl_common): ... here.
1975 (DECL_PT_UID): Adjust.
1976 (SET_DECL_PT_UID): Likewise.
1977 (DECL_PT_UID_SET_P): Likewise.
1978
12de6355
RG
19792010-04-16 Richard Guenther <rguenther@suse.de>
1980
1981 PR tree-optimization/43572
1982 * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
1983 * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
1984 * tree-flow.h (is_call_clobbered): Remove.
1985 * tree-flow-inline.h (is_call_clobbered): Likewise.
1986 * tree-dfa.c (dump_variable): Do not dump call clobber state.
1987 * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
1988 (execute_return_slot_opt): Adjust.
1989 * tree-tailcall.c (suitable_for_tail_opt_p): Remove
1990 check for call clobbered vars here.
1991 (find_tail_calls): Move tailcall verification to the
1992 proper place.
1993
6ab643b5
DN
19942010-04-16 Diego Novillo <dnovillo@google.com>
1995
e96ccb30 1996 * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
6ab643b5 1997
f0c6475a
BS
19982010-04-16 Bernd Schmidt <bernds@codesourcery.com>
1999
2000 PR target/40603
2001 * config/arm/arm.md (cbranchqi4): New pattern.
2002 * config/arm/predicates.md (const0_operand,
2003 cbranchqi4_comparison_operator): New predicates.
2004
f0107145
RG
20052010-04-16 Richard Guenther <rguenther@suse.de>
2006
2007 * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
2008 (dump_gimple_stmt): Likewise.
2009
f0c6475a 20102010-04-16 Bernd Schmidt <bernds@codesourcery.com>
6ddfdb0f
BS
2011
2012 * recog.h (struct recog_data): New field is_operator.
2013 (struct insn_operand_data): New field is_operator.
2014 * recog.c (extract_insn): Set recog_data.is_operator.
2015 * genoutput.c (output_operand_data): Emit code to set the
2016 is_operator field.
2017 * reload.c (find_reloads): Use it rather than testing for an
2018 empty constraint string.
2019
6ea007e4
BS
2020 PR target/41514
2021 * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
2022 If the previous insn is a cbranchsi4_insn with the same arguments,
2023 omit the compare instruction.
2024
3302cfa1
BS
2025 * config/arm/arm.md (addsi3_cbranch): If destination is a high
2026 register, inputs must be low registers and we need a low register
2027 scratch. Handle alternative 2 like alternative 3.
2028
5312b066
JJ
20292010-04-16 Jakub Jelinek <jakub@redhat.com>
2030
2031 * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
2032 don't call get_addr on both. If one expression is a VALUE and
2033 the other a REG, check VALUE's locs if the REG isn't among them.
2034
7a296495
CB
20352010-04-16 Christian Bruel <christian.bruel@st.com>
2036
2037 * config/sh/sh.h (sh_frame_pointer_required): New function.
2038 * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
2039 (flag_omit_frame_pointer) Set.
2040 (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
2041 (rounded_frame_size): Adjust size with outgoing_args_size.
2042 (sh_set_return_address): Must return from stack pointer.
2043 * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
2044 (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
2045 (ACCUMULATE_OUTGOING_ARGS): Define.
2046 * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
2047 * gcc/config/sh/sh.opt: (maccumulate-outgoing-args): New option.
2048
7140f0f9
KK
20492010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
2050
2051 PR target/43471
2052 * config/sh/sh.c (sh_legitimize_reload_address): Use
2053 MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
2054 Remove a unneeded check for offset_base.
2055
bafaef55
L
20562010-04-15 H.J. Lu <hongjiu.lu@intel.com>
2057
2058 * configure: Regenerated.
2059
e8de8fea
AK
20602010-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
2061
2062 * config/s390/s390.c (s390_call_save_register_used): Switch back
2063 to HARD_REGNO_NREGS.
2064
038a39d1
RG
20652010-04-15 Richard Guenther <rguenther@suse.de>
2066
2067 * alias.c (alias_set_subset_of): Handle alias-set zero
2068 child properly.
2069
28907f9a
MS
20702010-04-15 Mark Shinwell <shinwell@codesourcery.com>
2071 Julian Brown <julian@codesourcery.com>
2072
2073 * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
2074 alternatives according to use of high and low regs.
2075 * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
2076 * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
2077 optimizing for size on Thumb-2.
2078
3f56ef8b
TS
20792010-04-15 Thomas Schwinge <tschwinge@gnu.org>
2080
2081 * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
2082
25a6a873
RG
20832010-04-15 Richard Guenther <rguenther@suse.de>
2084
2085 * tree-ssa-structalias.c (struct variable_info): Add
2086 is_fn_info flag.
2087 (new_var_info): Initialize it.
2088 (dump_constraints): Support printing last added constraints.
2089 (debug_constraints): Adjust.
2090 (dump_constraint_graph): Likewise.
2091 (make_heapvar_for): Check for NULL cfun.
2092 (get_function_part_constraint): New function.
2093 (get_fi_for_callee): Likewise.
2094 (find_func_aliases): Properly implement IPA PTA constraints.
2095 (process_ipa_clobber): New function.
2096 (find_func_clobbers): Likewise.
2097 (insert_into_field_list_sorted): Remove.
2098 (create_function_info_for): Properly allocate vars for IPA mode.
2099 Do not use insert_into_field_list_sorted.
2100 (create_variable_info_for): Properly generate constraints for
2101 global vars in IPA mode.
2102 (dump_solution_for_var): Always dump the solution.
2103 (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
2104 (find_what_var_points_to): Adjust.
2105 (pt_solution_set): Change.
2106 (pt_solution_ior_into): New function.
2107 (pt_solution_empty_p): Export.
2108 (pt_solution_includes_global): Adjust.
2109 (pt_solution_includes_1): Likewise.
2110 (pt_solutions_intersect_1): Likewise.
2111 (dump_sa_points_to_info): Check some invariants.
2112 (solve_constraints): Move constraint dumping ...
2113 (compute_points_to_sets): ... here.
2114 (ipa_pta_execute): ... and here.
2115 (compute_may_aliases): Do not re-compute points-to info
2116 locally if IPA info is available.
2117 (ipa_escaped_pt): New global var.
2118 (ipa_pta_execute): Properly implement IPA PTA.
2119 * tree-into-ssa.c (dump_decl_set): Support dumping
2120 decls not in referenced-vars.
2121 * tree-flow.h (struct gimple_df): Add ipa_pta flag.
2122 * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
2123 (dump_points_to_solution): Likewise.
2124 * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
2125 * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
e96ccb30 2126 (remap_gimple_stmt): Reset call clobber/use information if necessary.
25a6a873
RG
2127 (copy_decl_to_var): Copy DECL_PT_UID.
2128 (copy_result_decl_to_var): Likewise.
2129 * tree.c (make_node_stat): Initialize DECL_PT_UID.
2130 (copy_node_stat): Copy it.
2131 * tree.h (DECL_PT_UID): New macro.
2132 (SET_DECL_PT_UID): Likewise.
2133 (DECL_PT_UID_SET_P): Likewise.
2134 (struct tree_decl_minimal): Add pt_uid member.
2135 * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
2136 (pt_solution_empty_p): Declare.
2137 (pt_solution_set): Adjust.
2138 (ipa_escaped_pt): Declare.
2139 * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
2140 * gimple-pretty-print.c (pp_points_to_solution): New function.
2141 (dump_gimple_call): Dump call clobber/use information.
2142 * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
2143 * tree-pass.h (TDF_ALIAS): New dump option.
2144 * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
2145 * doc/invoke.texi (-fipa-pta): Update documentation.
2146
cbdd87d4
RG
21472010-04-15 Richard Guenther <rguenther@suse.de>
2148
2149 * Makefile.in (OBJS-common): Add gimple-fold.o.
2150 (gimple-fold.o): New rule.
2151 * tree.h (maybe_fold_offset_to_reference,
2152 maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
2153 prototypes ...
2154 * gimple.h: ... here.
2155 * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
2156 may_propagate_address_into_dereference): Move prototypes ...
2157 * gimple.h: ... here.
2158 * tree-ssa-ccp.c (get_symbol_constant_value,
2159 may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
2160 maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
2161 maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
2162 maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
2163 ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
2164 fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
2165 gimplify_and_update_call_from_tree): Move ...
2166 * gimple-fold.c: ... here. New file.
2167 (ccp_fold_builtin): Rename to ...
2168 (gimple_fold_builtin): ... this.
2169 * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
2170
330db1e3
RG
21712010-04-15 Richard Guenther <rguenther@suse.de>
2172
2173 * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
2174 fit_double_type, force_fit_type_double, add_double_with_sign,
2175 neg_double, mul_double_with_sign, lshift_double, rshift_double,
2176 lrotate_double, rrotate_double, div_and_round_double): Move ...
2177 * double-int.c: ... here.
2178 * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
2179 add_double, neg_double, mul_double_with_sign, mul_double,
2180 lshift_double, rshift_double, lrotate_double, rrotate_double,
2181 div_and_round_double): Move prototypes ...
2182 * double-int.h: ... here.
2183
f0c6475a 21842010-04-15 Bernd Schmidt <bernds@codesourcery.com>
077668e3
BS
2185
2186 PR target/43742
2187 * config/sh/sh.md (doloop_end_split, dect): Undo previous patch. Use
2188 matching constraints to ensure inputs match the output.
2189
fa66fc40
KK
21902010-04-15 Kaz Kojima <kkojima@gcc.gnu.org>
2191
2192 PR target/43742
2193 * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
e96ccb30 2194 in an input-only operand.
fa66fc40 2195
2bd1333d
AS
21962010-04-15 Anatoly Sokolov <aesok@post.ru>
2197
2198 * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
2199 (double_int_not, double_int_lshift, double_int_rshift): Declare.
2200 (double_int_negative_p): Convert to static inline function.
74ca3393 2201 * double-int.c (double_int_lshift, double_int_lshift): New functions.
2bd1333d 2202 (double_int_negative_p): Remove.
e96ccb30 2203 * tree.h (lshift_double, rshift_double):
2bd1333d
AS
2204 * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
2205 * fold-const.c (fold_convert_const_int_from_real,
2206 fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
2207 (lshift_double): Change type of arith argument to bool.
2208 (rshift_double): Change type of arith argument to bool. Correct
2209 comment.
2210 * expmed.c (mask_rtx, lshift_value): (Ditto.).
2211
f0c6475a 22122010-04-14 Bernd Schmidt <bernds@codesourcery.com>
e96ccb30 2213
31ce8a53
BS
2214 PR target/21803
2215 * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
2216 at the start and end of the then/else blocks, and omit them from the
2217 conversion.
2218 * cfgcleanup.c (flow_find_cross_jump): No longer static. Remove MODE
2219 argument; all callers changed. Pass zero to old_insns_match_p instead.
2220 (flow_find_head_matching_sequence): New function.
2221 (old_insns_match_p): Check REG_EH_REGION notes for calls.
2222 * basic-block.h (flow_find_cross_jump,
2223 flow_find_head_matching_sequence): Declare functions.
2224
943f82e7
JM
22252010-04-14 Jason Merrill <jason@redhat.com>
2226
2227 PR c++/36625
2228 * c-common.c (attribute_takes_identifier_p): New fn.
2229 * c-common.h: Declare it.
2230
feeb8c52
UB
22312010-04-14 Uros Bizjak <ubizjak@gmail.com>
2232
2233 * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
2234 splitter condition.
2235 (*udivmod<mode>4): Ditto.
2236
4a5528cc
UB
22372010-04-14 Uros Bizjak <ubizjak@gmail.com>
2238
2239 * config/i386/i386.md (maxmin_int): Rename code attribute from
2240 maxminiprefix and update all users.
2241 (maxmin_float): Ditto from maxminfprefix.
2242 (logic): Ditto from logicprefix.
2243 (absneg_mnemonic): Ditto from absnegprefix.
2244 * config/i386/mmx.md: Update all users of maxminiprefix,
4a81b412 2245 maxminfprefix and logicprefix for rename.
4a5528cc
UB
2246 * config/i386/sse.md: Ditto.
2247 * config/i386/sync.md (sync_<code><mode>): Update for
2248 logicprefix rename.
2249
289fcbbd
MLI
22502010-04-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
2251
2252 PR 42966
2253 * diagnostics.c (diagnostic_report_diagnostic): Mark specially
2254 warnings converted to errors.
2255
d58770e7
UB
22562010-04-14 Uros Bizjak <ubizjak@gmail.com>
2257
2258 * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
2259 used insn_type variable.
2260 (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
2261 to avoid set-but-not-used warning.
2262
a3f1cee4
UB
22632010-04-14 Uros Bizjak <ubizjak@gmail.com>
2264
2265 * df-core.c (df_ref_debug): Change format string placeholder
2266 from 0x%x to %#x.
2267 * dwarf2asm.c (dw2_asm_output_data_raw,
2268 dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
2269 dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
2270 * dwarf2out.c (output_cfi, output_cfi_directive,
2271 dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
2272 output_cfa_loc_raw, output_die, output_ranges, output_file_names):
2273 Ditto.
2274 * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
2275 * print-rtl.c (print_rtx): Ditto.
2276
3eb4dbe3
MM
22772010-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
2278
2279 PR middle-end/42694
2280 * builtins.c (expand_builtin_pow_root): New function to expand pow
2281 calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
2282 series of sqrt and cbrt calls under -ffast-math.
2283 (expand_builtin_pow): Call it.
2284
fc249fe5
MM
22852010-04-14 Michael Matz <matz@suse.de>
2286
2287 PR tree-optimization/42963
2288 * tree-cfg.c (touched_switch_bbs): New static variable.
2289 (group_case_labels_stmt): New function broken out from ...
2290 (group_case_labels): ... here, use the above.
2291 (start_recording_case_labels): Allocate touched_switch_bbs.
2292 (end_recording_case_labels): Deallocate it, call
2293 group_case_labels_stmt.
2294 (gimple_redirect_edge_and_branch): Remember index of affected BB.
2295
0fcbf3ed
UB
22962010-04-14 Uros Bizjak <ubizjak@gmail.com>
2297
2298 * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
2299 from insn template.
2300
3f529c2c
UB
23012010-04-14 Uros Bizjak <ubizjak@gmail.com>
2302
2303 * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
2304
1ce18dc8
JH
23052010-04-13 Jan Hubicka <jh@suse.cz>
2306
2307 * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
2308 of optimized out static functions.
2309 (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
2310 cost computation. Also sanity check for overflows.
2311 (update_caller_keys): Update cgraph_edge_badness call; properly
2312 update fibheap and sanity check that it is up to date.
2313 (add_new_edges_to_heap): Update cgraph_edge_badness.
2314 (cgraph_decide_inlining_of_small_function): Likewise;
2315 add sanity checking that badness in heap is up to date;
2316 improve dumping of reason; Update badness of calls to the
2317 offline copy of function currently inlined; dump badness
2318 of functions not inlined because of unit growth limits.
2319
9e9ef331
EB
23202010-04-13 Eric Botcazou <ebotcazou@adacore.com>
2321
2322 PR middle-end/32628
2323 * c-common.c (pointer_int_sum): Disregard overflow that occured only
2324 because of sign-extension change when converting to sizetype here...
2325 * fold-const.c (fold_convert_const_int_from_int): ...and not here.
2326
2327 * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
2328 the folding to constants. Remove redundant final conversion.
2329 (fold_binary) <associate>: Do not associate if the re-association of
2330 constants alone overflows.
2331 (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
2332 to the end of the list.
2333 (multiple_of_p) <COND_EXPR>: New case.
2334
9db94baa
MLI
23352010-04-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
2336
2337 * opt-functions.awk (opt_sanitized_name): New.
2338 (opt_enum): New.
2339 * optc-gen.awk: Use it
2340 * opth-gen.awk: Use it.
2341
0f2ffb9a
MJ
23422010-04-13 Martin Jambor <mjambor@suse.cz>
2343
2344 * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
2345 (sra_modify_assign): Delete stmts loading dead data even if racc has no
2346 children. Call replace_uses_with_default_def_ssa_name to handle
2347 SSA_NAES on lhs.
2348
f78b86c0
MM
23492010-04-13 Michael Matz <matz@suse.de>
2350
2351 PR middle-end/43730
2352 * builtins.c (expand_builtin_interclass_mathfn): Also create
2353 a register if the predicate doesn't match.
2354
0e6229c2
DN
23552010-04-13 Diego Novillo <dnovillo@google.com>
2356
2357 * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
2358 * c-pch.c: Include timevar.h.
2359 (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
3f529c2c 2360 (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
0e6229c2 2361 * ggc-common.c: Include timevar.h.
3f529c2c 2362 (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
0e6229c2
DN
2363 * timevar.def (TV_PCH_SAVE): Define.
2364 (TV_PCH_CPP_SAVE): Define.
2365 (TV_PCH_PTR_REALLOC): Define.
2366 (TV_PCH_PTR_SORT): Define.
2367 (TV_PCH_RESTORE): Define.
2368 (TV_PCH_CPP_RESTORE): Define.
2369
143597ff
MM
23702010-04-13 Michael Matz <matz@suse.de>
2371
2372 * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
2373 into MINUS_EXPRs.
2374 (can_reassociate_p): New function.
2375 (break_up_subtract_bb, reassociate_bb): Use it.
2376
54c5ec4f
RG
23772010-04-13 Richard Guenther <rguenther@suse.de>
2378
2379 PR bootstrap/43737
2380 * builtins.c (c_readstr): Fix assert.
2381
719938ae
UB
23822010-04-13 Uros Bizjak <ubizjak@gmail.com>
2383
2384 * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
2385 when generating cltd insn.
2386
2387 (*ashl<mode>3_1): Remove special handling for register operand 2.
2388 (*ashlsi3_1_zext): Ditto.
2389 (*ashlhi3_1): Ditto.
2390 (*ashlhi3_1_lea): Ditto.
2391 (*ashlqi3_1): Ditto.
2392 (*ashlqi3_1_lea): Ditto.
2393 (*<shiftrt_insn><mode>3_1): Ditto.
2394 (*<shiftrt_insn>si3_1_zext): Ditto.
2395 (*<shiftrt_insn>qi3_1_slp): Ditto.
2396 (*<rotate_insn><mode>3_1): Ditto.
2397 (*<rotate_insn>si3_1_zext): Ditto.
2398 (*<rotate_insn>qi3_1_slp): Ditto.
2399
3e8542ca
RG
24002010-04-13 Richard Guenther <rguenther@suse.de>
2401
2402 * tree-ssa-structalias.c (callused_id): Remove.
2403 (call_stmt_vars): New.
2404 (get_call_vi): Likewise.
2405 (lookup_call_use_vi): Likewise.
2406 (lookup_call_clobber_vi): Likewise.
2407 (get_call_use_vi): Likewise.
2408 (get_call_clobber_vi): Likewise.
2409 (make_transitive_closure_constraints): Likewise.
2410 (handle_const_call): Adjust to do per-call call-used handling.
2411 (handle_pure_call): Likewise.
2412 (find_what_var_points_to): Remove general callused handling.
2413 (init_base_vars): Likewise.
2414 (init_alias_vars): Initialize call_stmt_vars.
2415 (compute_points_to_sets): Process call-used and call-clobbered
2416 vars for call statements.
2417 (delete_points_to_sets): Free call_stmt_vars.
2418
777e1f09
RG
24192010-04-13 Richard Guenther <rguenther@suse.de>
2420
2421 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
2422 Only add RW dependence for dependence distance zero.
2423 Adjust maximal vectorization factor according to dependences.
2424 Move alignment handling ...
2425 (vect_find_same_alignment_drs): ... here. New function.
2426 (vect_analyze_data_ref_dependences): Adjust.
2427 (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
2428 (vect_analyze_data_refs): Adjust minimal vectorization factor
2429 according to data references.
2430 * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
2431 dependences before determining the vectorization factor.
2432 Analyze alignment after determining the vectorization factor.
2433 * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
2434 dependences before alignment.
2435 * tree-vectorizer.h (vect_analyze_data_ref_dependences):
2436 Adjust prototype.
2437 (vect_analyze_data_refs): Likewise.
2438 (MAX_VECTORIZATION_FACTOR): New define.
2439
1a710808
DS
24402010-04-13 Duncan Sands <baldrick@free.fr>
2441
2442 * except.h (lang_eh_type_covers): Remove.
2443 * except.c (lang_eh_type_covers): Likewise.
2444
9602b6a1 24452010-04-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3f529c2c
UB
2446 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2447
9602b6a1
AK
2448 * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
2449 * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
3f529c2c 2450 UNITS_PER_LONG where it is ABI relevant.
9602b6a1
AK
2451 (s390_return_addr_rtx): Likewise.
2452 (s390_back_chain_rtx): Likewise.
2453 (s390_frame_area): Likewise.
2454 (s390_frame_info): Likewise.
2455 (s390_initial_elimination_offset): Likewise.
2456 (save_gprs): Likewise.
2457 (s390_emit_prologue): Likewise.
2458 (s390_emit_epilogue): Likewise.
2459 (s390_function_arg_advance): Likewise.
2460 (s390_function_arg): Likewise.
2461 (s390_va_start): Likewise.
2462 (s390_gimplify_va_arg): Likewise.
2463 (s390_function_profiler): Likewise.
2464 (s390_optimize_prologue): Likewise.
2465 (s390_rtx_costs): Likewise.
2466 (s390_secondary_reload): Likewise.
2467 (s390_promote_function_mode): Likewise.
2468 (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
2469 (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
2470 registers available.
2471 (s390_unwind_word_mode): New function.
2472 (s390_function_value): Split 64 bit values into register pair if
2473 used as return value.
2474 (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
2475 function call parameters. Handle parallels.
2476 (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
2477 (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
2478 (DWARF_CIE_DATA_ALIGNMENT): New macro.
2479 (s390_expand_setmem): Remove unused variable src_addr.
2480 * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
3f529c2c 2481 deal with 64 bit registers.
9602b6a1
AK
2482 * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
2483 Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
2484 (UNITS_PER_LONG): New macro.
2485 * libjava/include/s390-signal.h: Define extended ucontext
2486 structure containing the upper halfs of the 64 bit registers.
2487
3b123595
SB
24882010-04-13 Simon Baldwin <simonb@google.com>
2489
2490 * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
2491
cb3d597d
EB
24922010-04-13 Eric Botcazou <ebotcazou@adacore.com>
2493
2494 * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
2495 rvalue on the RHS if the LHS is of a non-renamable type.
2496 * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
2497
4adbd5dd
MK
24982010-04-13 Matthias Klose <doko@ubuntu.com>
2499
2500 * gcc.c (cc1_options): Handle -iplugindir before processing
2501 the cc1 spec. Only add -iplugindir once.
2502 (cpp_unique_options): Add -iplugindir option if -fplugin* options
2503 found.
2504 * common.opt (iplugindir): Remove `Separate' property, initialize.
2505 * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
2506 option.
2507 * Makefile.in (check-%, check-parallel-%): Create plugin dir.
2508 (distclean): Remove plugin dir.
2509 * doc/invoke.texi: Document -iplugindir.
2510
25112010-04-13 Basile Starynkevitch <basile@starynkevitch.net>
2512
2513 * doc/plugins.texi (Loading Plugins): Document short
2514 -fplugin=foo option.
2515 (Plugin API): Mention default_plugin_dir_name function.
2516
2517 * gcc.c (find_file_spec_function): Add new declaration.
2518 (static_spec_func): Use it for "find-file".
2519 (find_file_spec_function): Add new function.
2520 (cc1_options): Add -iplugindir option if -fplugin* options found.
2521
2522 * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
2523
2524 * plugin.c (add_new_plugin): Updated comment, and handle short
2525 plugin name.
2526 (default_plugin_dir_name): Added new function.
2527
719938ae 2528 * common.opt (iplugindir): New option to set the plugin directory.
4adbd5dd 2529
e0db9cc6
UB
25302010-04-12 Uros Bizjak <ubizjak@gmail.com>
2531
2532 * config/i386/i386.md (any_rotate): New code iterator.
2533 (rotate_insn): New code attribute.
2534 (rotate): Ditto.
2535 (SWIM124): New mode iterator.
2536 (<rotate_insn>ti3): New expander.
2537 (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
2538 any_rotate code iterator.
2539 (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
2540 using any_rotate code iterator and SWIM124 mode iterator.
2541 (ix86_rotlti3): New insn_and_split pattern.
2542 (ix86_rotrti3): Ditto.
2543 (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
2544 ix86_rotl{di,ti}3 patterns.
2545 (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
2546 (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
2547 and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
2548 *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
2549 code iterator and SWI mode iterator.
2550 (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
2551 Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
2552 code iterator.
2553 (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
2554 Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
2555 (bswap rotatert splitter): Add splitter.
2556 (bswap splitter): Macroize splitter using any_rotate code iterator.
2557 Add insn predicate to split only for TARGET_USE_XCHGB or when
2558 optimizing function for size.
2559
077c8ada
SE
25602010-04-12 Steve Ellcey <sje@cup.hp.com>
2561
2562 * config/pa/pa.c (emit_move_sequence): Remove use of
2563 deleted variable flag_argument_noalias.
2564
c7392d11
RO
25652010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2566
2567 * config.gcc: Removed *-*-solaris2.7* from list of obsolete
2568 configurations.
2569 Add to unsupported targets list.
2570 * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
2571 sparc*-sun-solaris2.[567]* from target lists.
2572 * configure: Regenerate.
2573 * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
2574 removal.
2575 Remove Solaris 7 patch references.
2576 (Specific, sparc-sun-solaris2.7): Removed.
2577 (sparc-sun-solaris2*): Update Solaris 7 example.
2578 (sparc64-*-solaris2*): Likewise.
2579
8c200350
RO
25802010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2581
2582 * config.build (alpha*-dec-osf4*): Remove.
2583 * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
2584 of obsolete configurations.
2585 (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
2586 support.
2587 * config/alpha/t-osf4: Renamed to ...
2588 * config/alpha/t-osf5: ... this.
2589 * config/alpha/osf.h: Renamed to ...
2590 * config/alpha/osf5.h: ... this.
2591 Merged old osf5.h contents.
2592 Update comments.
2593 (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
2594 (EXTRA_SPECS): Removed.
2595 * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
2596 reflect removal of Tru64 UNIX V4.0/V5.0 support.
2597 Document that.
2598
887204da
RO
25992010-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2600
2601 * doc/contrib.texi (Contributors, Rainer Orth): Update.
2602
c1b8e139
KT
26032010-04-12 Kai Tietz <kai.tietz@onevision.com>
2604
2605 PR/43702
2606 * config/i386/i386.c (x86_this_parameter): Handle aggregate for
2607 __thiscall convention.
2608
b38bccca
SE
26092010-04-12 Steve Ellcey <sje@cup.hp.com>
2610
2611 * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
2612 orig_base.
2613 * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
2614
fc2f1f53
SE
26152010-04-12 Steve Ellcey <sje@cup.hp.com>
2616
2617 * function.c (assign_parms_initialize_all): Add unused attribute
2618 to fntype.
2619
d086d311
RG
26202010-04-12 Richard Guenther <rguenther@suse.de>
2621
2622 * gsstruct.def (GSS_CALL): New.
2623 * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
2624 * gimple.h: Include tree-ssa-alias.h.
2625 (struct gimple_statement_call): New.
2626 (union gimple_statement_struct_d): Add gimple_call member.
2627 (gimple_call_reset_alias_info): Declare.
2628 (gimple_call_use_set): New function.
2629 (gimple_call_clobber_set): Likewise.
2630 * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
2631 * gimple.c (gimple_call_reset_alias_info): New function.
2632 (gimple_build_call_1): Call it.
2633 * lto-streamer-in.c (input_gimple_stmt): Likewise.
2634 * tree-inline.c (remap_gimple_stmt): Likewise.
2635 (expand_call_inline): Remove callused handling.
2636 * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
2637 * tree-dfa.c (dump_variable): Likewise.
2638 * tree-parloops.c (parallelize_loops): Likewise.
2639 * tree-ssa.c (init_tree_ssa): Likewise.
2640 (delete_tree_ssa): Likewise.
2641 * tree-flow-inline.h (is_call_used): Remove.
2642 * tree-flow.h (struct gimple_df): Remove callused member.
2643 * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
2644 * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
2645 (ref_maybe_used_by_call_p_1): Simplify.
2646 (call_may_clobber_ref_p_1): Likewise.
2647 * tree-ssa-structalias.c (compute_points_to_sets): Set
2648 the call stmt used and clobbered sets.
2649 * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
2650 (find_tail_calls): Verify the tail call.
2651
af961c7f
RG
26522010-04-12 Richard Guenther <rguenther@suse.de>
2653
2654 * ipa.c (cgraph_postorder): Adjust postorder to guarantee
2655 single-iteration always-inline inlining.
2656 * ipa-inline.c (cgraph_mark_inline): Do not return anything.
e0db9cc6 2657 (cgraph_decide_inlining): Do not handle always-inline specially.
af961c7f
RG
2658 (try_inline): Remove always-inline cycle detection special case.
2659 Do not recurse on always-inlines.
2660 (cgraph_early_inlining): Do not iterate if not optimizing.
2661 (cgraph_gate_early_inlining): remove.
2662 (pass_early_inline): Run unconditionally.
2663 (gate_cgraph_decide_inlining): New function.
2664 (pass_ipa_inline): Use it. Do not run the IPA inliner if
2665 not inlining or optimizing.
2666 (cgraph_decide_inlining_of_small_functions): Also consider
2667 always-inline functions.
2668 (cgraph_default_inline_p): Return true for nodes which should
2669 disregard inline limits.
2670 (estimate_function_body_sizes): Assume zero size and time for
2671 nodes which are marked as disregarding inline limits.
2672 (cgraph_decide_recursive_inlining): Do not perform recursive
2673 inlining on always-inline nodes.
2674
fa8351f8
JJ
26752010-04-12 Jakub Jelinek <jakub@redhat.com>
2676
2677 PR bootstrap/43699
2678 * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
2679 for exprs satisfying handled_component_p.
2680
675c873b
EB
26812010-04-12 Eric Botcazou <ebotcazou@adacore.com>
2682
2683 * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
2684 non-constant aggregate elements.
2685
2686 * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
2687 is a real initialization.
2688
c4712597
SZ
26892010-04-12 Shujing Zhao <pearly.zhao@oracle.com>
2690
2691 PR c/36774
2692 * c-decl.c (start_function): Move forward check for nested function.
2693
6f50eb9c
KK
26942010-04-11 Kaz Kojima <kkojima@gcc.gnu.org>
2695
2696 * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
2697 * config/sh/sh.c: Include reload.h.
2698 (sh_legitimize_reload_address): New.
2699 * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
2700 sh_legitimize_reload_address.
2701
c11c09f9
KP
27022010-04-11 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
2703
2704 * config/sh/sh.md (*movqi_pop): New insn pattern.
2705 * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
2706
d72ebc16
UB
27072010-04-11 Uros Bizjak <ubizjak@gmail.com>
2708
2709 * config/i386/i386.md (any_shiftrt): New code iterator.
2710 (shiftrt_insn): New code attribute.
2711 (shiftrt): Ditto.
e0db9cc6
UB
2712 (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
2713 using any_shiftrt code iterator.
d72ebc16 2714 (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
e0db9cc6 2715 *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
d72ebc16
UB
2716 (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
2717 pattern from corresponding peephole2 patterns.
e0db9cc6
UB
2718 (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
2719 using any_shiftrt code iterator.
2720 (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
2721 (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
2722 (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
2723 (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
2724 *{ashr,lshr}<mode>3_cmp_zext.
2725 (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
d72ebc16 2726
59caab22
UB
27272010-04-11 Uros Bizjak <ubizjak@gmail.com>
2728
2729 * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
2730 scratch register.
2731 (*lshr<mode>3_cconly): Ditto.
2732
9200ac72
UB
27332010-04-11 Uros Bizjak <ubizjak@gmail.com>
2734
2735 * config/i386/i386.md (lshr<mode>3): Macroize expander from
2736 lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
2737 (*lshr<mode>3_doubleword): New insn_and_split_pattern. Macroize
2738 pattern from *lshr{di,ti}3_1 and corresponding splitters using
2739 DWI mode iterator.
2740 (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
2741 from corresponding peephole2 patterns.
2742 (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
e0db9cc6
UB
2743 *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
2744 and *lshrdi3_1_rex64 using SWI mode iterator.
d72ebc16 2745 (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
9200ac72
UB
2746 (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
2747 (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
2748 *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
2749 and *lshrdi3_cmp_rex64 using SWI mode iterator.
2750 (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
2751 (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
2752 *lshrdi3_one_bit_cconly_rex64. Macroize insn from
2753 *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
2754 SWI mode iterator.
2755
27431d88
UB
27562010-04-10 Uros Bizjak <ubizjak@gmail.com>
2757
2758 * config/i386/i386.md (ashr<mode>3): Macroize expander from
2759 ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
2760 (*ashr<mode>3_doubleword): New insn_and_split_pattern. Macroize
2761 pattern from *ashr{di,ti}3_1 and corresponding splitters using
2762 DWI mode iterator.
2763 (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
2764 from corresponding peephole2 patterns.
2765 (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
2766 (ashrsi3_cvt): Rename from ashrsi3_31.
2767 (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
2768 (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
2769 and x86_64_shift_adj_3 using SWI48 mode iterator.
2770 (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
e0db9cc6
UB
2771 *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
2772 and *ashrdi3_1_rex64 using SWI mode iterator.
d72ebc16 2773 (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
27431d88
UB
2774 (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
2775 (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
2776 *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
2777 and *ashrdi3_cmp_rex64 using SWI mode iterator.
2778 (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
2779 (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
2780 *ashrdi3_one_bit_cconly_rex64. Macroize insn from
2781 *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
2782 SWI mode iterator.
59caab22 2783 (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
27431d88 2784 * config/i386/i386.c (ix86_split_ashr): Update for renamed
9200ac72 2785 x86_shift<mode>_adj_3 expanders.
27431d88 2786
85c9bcd4
WG
27872010-04-10 Wei Guozhi <carrot@google.com>
2788
2789 PR target/42601
2790 * config/arm/arm.c (arm_pic_static_addr): New function.
2791 (legitimize_pic_address): Call arm_pic_static_addr when it detects
2792 a static symbol.
2793 (arm_output_addr_const_extra): Output expression for new pattern.
2794 * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
2795
f0c6475a 27962010-04-10 Bernd Schmidt <bernds@codesourcery.com>
979740a0
BS
2797
2798 * ira-costs.c (record_reg_classes): Ignore alternatives that are
2799 not enabled.
4143fd36
BS
2800
2801 * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
2802 * web.c: Include "insn-config.h" and "recog.h".
2803 (union_match_dups): New function.
2804 (web_main): Call it.
2805 (union_defs): Don't try to recognize match_dups.
2806
52c1d580
BS
2807 * reload1.c (eliminate_regs_in_insn): Don't restore an operand
2808 if doing so would replace the entire pattern.
2809
ef0f4a03
UB
28102010-04-09 Uros Bizjak <ubizjak@gmail.com>
2811
2812 PR target/43707
2813 PR target/43709
2814 * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
2815 and splitter pattern. Change splitter operand 1 predicate to
2816 nonmemory_operand.
2817
add5d998
MJ
28182010-04-09 Martin Jambor <mjambor@suse.cz>
2819
2820 * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
2821 lattices are addresses of CONST_DECLs with the same initial value.
2822 (ipcp_print_all_lattices): Print values of CONST_DECLs.
2823 * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
2824
43ba743c 28252010-04-09 Eric Botcazou <ebotcazou@adacore.com>
f0c6475a 2826 Bernd Schmidt <bernds@codesourcery.com>
43ba743c
EB
2827
2828 * loop-invariant.c (replace_uses): New static function.
2829 (move_invariant_reg): Use it to ensure we can replace the uses.
2830
28312010-04-09 Hariharan Sandanagobalane <hariharan@picochip.com>
c3fd7b4d 2832
27431d88
UB
2833 * config/picochip/picochip.c (picochip_rtx_costs): Use correct
2834 function template.
43ba743c 2835 (picochip_override_options): Enable section anchors only above -O1.
c3fd7b4d
HS
2836 (picochip_reorg): Fixed a couple of build warnings.
2837
fcf52686
RO
28382010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2839
2840 * configure.ac (plugin -rdynamic test): Log result.
2841 * configure: Regenerate.
2842 * config/sol2.h (LINK_SPEC): Handle -rdynamic.
2843 (RDYNAMIC_SPEC): Define.
2844 * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
2845
55c4f715
RO
28462010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2847
2848 * configure.ac: Determine Sun ld version numbers.
2849 (comdat_group): Restrict GNU ld version checks to gld.
2850 (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
2851 (enable_comdat): Support --enable-comdat.
2852 * configure: Regenerate.
2853 * doc/install.texi (Configuration): Document --enable-comdat.
2854
62e08523
RO
28552010-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2856
ef0f4a03 2857 * config/sparc/sol2-gld.h: Remove SPARC reference. Rename ...
62e08523
RO
2858 * config/sol2-gld.h: ... here.
2859 * config.gcc (sparc*-*-solaris2*): Reflect this.
2860 (i[34567]86-*-solaris2*): Use it.
2861
034288ef
SE
28622010-04-09 Steve Ellcey <sje@cup.hp.com>
2863
2864 * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
2865 setup_clocks_p.
2866 (final_emit_insn_group_barriers): Remove unused variable prev_insn.
2867
d0b8780d
MLI
28682010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2869
2870 PR 42965
2871 * diagnostic.c (diagnostic_initialize): Initialize
2872 some_warnings_are_errors.
2873 (diagnostic_finish): New.
2874 (diagnostic_action_after_output): Call it before exiting.
2875 (diagnostic_report_diagnostic): Do not print message here. Set
2876 some_warnings_are_errors.
2877 * diagnostic.h (diagnostic_context): Delete
2878 issue_warnings_are_errors_message. Add some_warnings_are_errors.
2879 (diagnostic_finish): Declare.
2880 * toplev.c (toplev_main): Call it before exit.
2881
93e9807a
JM
28822010-04-09 Jason Merrill <jason@redhat.com>
2883
cb6addf4
JM
2884 PR c++/42623
2885 * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
2886 for incomplete type.
2887
93e9807a
JM
2888 PR c++/41788
2889 * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
2890 based on a warning flag.
2891
74367220
RG
28922010-04-09 Richard Guenther <rguenther@suse.de>
2893
43ba743c 2894 * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
74367220 2895
8351bca7
IS
28962010-04-09 Iain Sandoe <iains@gcc.gnu.org>
2897
2898 PR bootstrap/43684
ef0f4a03 2899 * varasm.c (default_assemble_visibility): Wrap vars that are
8351bca7 2900 set, but unused, by targets without GAS.
ef0f4a03 2901 * config/rs6000/rs6000.c: (paired_emit_vector_compare):
8351bca7
IS
2902 Remove set, but unused, vars.
2903 (rs6000_legitimize_tls_address): Likewise.
2904 (altivec_expand_dst_builtin): Likewise.
2905 * config/darwin.c (machopic_classify_symbol): Likewise.
2906 (machopic_indirection_name): Likewise.
ef0f4a03 2907
014753cc
UB
29082010-04-09 Uros Bizjak <ubizjak@gmail.com>
2909
2910 * config/i386/i386.md (DWI): New mode iterator.
2911 (S): New mode attribute.
2912 (shift_operand): Ditto.
2913 (shift_immediate_operand): Ditto.
2914 (ashl_input_operand): Ditto.
2915 (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
2916 using SDWIM mode iterator.
2917 (*ashl<mode>3_doubleword): New insn_and_split_pattern. Macroize
2918 pattern from *ashl{di,ti}3_1 and corresponding splitters using
2919 DWI mode iterator.
2920 (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
2921 from corresponding peephole2 patterns.
2922 (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
2923 and x86_64_shift_adj_1 using SWI48 mode iterator.
2924 (x86_shift<mode>_adj_2): Ditto.
2925 (*ashldi3_1_rex64): Split TYPE_LEA pattern.
2926 (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
2927 using SWI48 mode iterator.
2928 (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
2929 *ashldi3_cmp_rex64 using SWI mode iterator.
2930 (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
2931 *ashldi3_cconly_rex64 using SWI mode iterator.
2932 * config/i386/i386.c (ix86_split_ashl): Update for renamed
2933 x86_shift<mode>_adj_{1,2}.
2934 (ix86_split_ashr): Ditto.
2935 (ix86_split_lshr): Ditto.
2936
88dd7150
RG
29372010-04-09 Richard Guenther <rguenther@suse.de>
2938
2939 * target.h (builtin_conversion): Pass in input and output types.
2940 * targhooks.c (default_builtin_vectorized_conversion): Adjust.
2941 * targhooks.h (default_builtin_vectorized_conversion): Likewise.
2942 * tree-vect-stmts.c (vectorizable_conversion): Adjust.
2943 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
2944
2945 * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
2946 Handle AVX modes.
2947 * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
2948
3f2060fd
RG
29492010-04-09 Richard Guenther <rguenther@suse.de>
2950
2951 PR target/43152
2952 * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
2953
b690cc0f
RG
29542010-04-09 Richard Guenther <rguenther@suse.de>
2955
2956 * tree-vectorizer.h (struct _stmt_vec_info): Document
2957 that vectype is the type of the LHS.
59caab22 2958 (supportable_widening_operation, supportable_narrowing_operation):
b690cc0f
RG
2959 Get both input and output vector types as arguments.
2960 (vect_is_simple_use_1): Declare.
2961 (get_same_sized_vectype): Likewise.
2962 * tree-vect-loop.c (vect_determine_vectorization_factor):
2963 Set STMT_VINFO_VECTYPE to the vector type of the def.
2964 (vectorizable_reduction): Adjust.
2965 * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
2966 Adjust. Specify the output vector type.
2967 (vect_pattern_recog_1): Adjust.
2968 * tree-vect-stmts.c (get_same_sized_vectype): New function.
2969 (vectorizable_call): Adjust.
2970 (vectorizable_conversion): Likewise.
2971 (vectorizable_operation): Likewise.
2972 (vectorizable_type_demotion): Likewise.
2973 (vectorizable_type_promotion): Likewise.
2974 (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
2975 the def.
2976 (vect_is_simple_use_1): New function.
2977 (supportable_widening_operation): Get both input and output
2978 vector types.
2979 (supportable_narrowing_operation): Likewise.
2980 * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
2981
3e65f251
KT
29822010-04-09 Kai Tietz <kai.tietz@onevision.com>
2983
2984 * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
2985 __thiscall and _thiscall as predefined macros.
2986 * config/i386/i386.c (ix86_handle_cconv_attribute): Add
2987 thiscall attribute handling.
2988 (ix86_comp_type_attributes): Likewise.
2989 (ix86_function_regparm): Likewise.
2990 (ix86_return_pops_args): Likewise.
2991 (init_cumulative_args): Likewise.
2992 (find_drap_reg): Likewise.
2993 (ix86_static_chain): Likewise.
2994 (x86_this_parameter): Likewise.
2995 (x86_output_mi_thunk): Likewise.
2996 (ix86_attribute_table): Add description for thiscall attribute.
014753cc 2997 * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
3e65f251 2998 * doc/extend.texi: Add documentation for thiscall.
27431d88 2999
dc8d2739
MLI
30002010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3001
3002 PR c++/28584
3003 * c.opt (Wint-to-pointer-cast): Available in C++.
3004 * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
3005
d47d0a8d
EB
30062010-04-08 Eric Botcazou <ebotcazou@adacore.com>
3007
3008 * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
3009 * calls.c (expand_call): Pass the function type to aggregate_value_p.
3010 * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
3011 the target function of a CALL_EXPR. Honor TREE_ADDRESSABLE on the
3012 function type instead. Reorder and simplify checks.
3013
3014 * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
3015
dc5ee869
JY
30162010-04-08 Jing Yu <jingyu@google.com>
3017 Zdenek Dvorak <ook@ucw.cz>
3018
3019 PR tree-optimization/42720
3020 * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
014753cc
UB
3021 loop unswitch conditions here from ...
3022 (tree_unswitch_single_loop): ... here.
dc5ee869 3023
98c07c54
SP
30242010-04-08 Sebastian Pop <sebastian.pop@amd.com>
3025
3026 * tree-if-conv.c: Fix comments and simplify logic.
3027
6cbcfa9d
SP
30282010-04-08 Sebastian Pop <sebastian.pop@amd.com>
3029
3030 * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
3031 (tree_if_conversion): Same. Update call to if_convertible_loop_p.
3032 (main_tree_if_conversion): Update call to tree_if_conversion.
3033
1401cf37
MLI
30342010-04-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3035
3036 PR 42485
3037 * doc/invoke.texi (-b,-V): Delete.
3038 * doc/tm.texi: Do not mention -b.
3039 * gcc.c (display_help): Delete -b and -V.
3040 (process_command): Delete -b and -V.
3041 * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
6cbcfa9d 3042
40ac4f73 30432010-04-08 Christian Borntraeger <borntraeger@de.ibm.com>
27431d88 3044 Wolfgang Gellerich <gellerich@de.ibm.com>
40ac4f73 3045
014753cc
UB
3046 Implement target hook for loop unrolling
3047 * target.h (loop_unroll_adjust): Add a new target hook function.
3048 * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
3049 * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
3050 * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
3051 (s390_loop_unroll_adjust): Implement the new target hook for s390.
3052 * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
3053 target hook.
3054 (decide_unroll_stupid): Likewise.
40ac4f73 3055
07c60ef7
RO
30562010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3057
3058 PR target/43643
3059 * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
3060
dd178909
RO
30612010-04-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3062
3063 * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
3064 (Specific, *-*-solaris2*): Likewise.
3065 Don't prefer Sun as over GNU as.
3066
cc6ae6a1
WG
30672010-04-08 Wolfgang Gellerich <gellerich@de.ibm.com>
3068
3069 * config/s390/s390.c (override_options): Adjust the z10
014753cc
UB
3070 defaults for max-unroll-times, max-completely-peeled-insns
3071 and max-completely-peel-times.
cc6ae6a1 3072
adfa3cd3
AK
30732010-04-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3074
3075 * config/s390/s390.c (s390_expand_movmem): Issue prefetch
3076 instructions for z10.
3077 (s390_expand_setmem): Likewise.
3078 (s390_expand_cmpmem): Likewise.
3079
84ae6d7b
RG
30802010-04-08 Richard Guenther <rguenther@suse.de>
3081
3082 PR tree-optimization/43679
3083 * tree-ssa-pre.c (eliminate): Only propagate copies.
3084
5a905a2b
JJ
30852010-04-08 Jakub Jelinek <jakub@redhat.com>
3086
3087 PR bootstrap/43681
3088 * expr.c (block_move_libcall_safe_for_call_parm): Avoid
3089 set but not used variable warning.
3090
7548c1be
WG
30912010-04-08 Wei Guozhi <carrot@google.com>
3092
3093 PR target/41653
3094 * config/arm/arm.c (thumb1_size_rtx_costs): New function.
3095 (arm_size_rtx_costs): Call the new function when optimized for size.
3096
aa847cc8
JJ
30972010-04-08 Jakub Jelinek <jakub@redhat.com>
3098
3099 PR debug/43670
3100 * cfgexpand.c (expand_debug_expr): If for non-NULL offset
3101 op0 is not a MEM, just return NULL instead of assertion
3102 failure.
3103 (discover_nonconstant_array_refs): Don't walk debug stmts.
3104
1dcc82c2
DK
31052010-04-08 Doug Kwan <dougkwan@google.com>
3106
3107 * configure.ac: Recognize gold and do not use its version number
3108 to test ld features.
3109 * configure: Regenerate.
3110
b0aef8a8
MK
31112010-04-08 Maxim Kuvyrkov <maxim@codesourcery.com>
3112
3113 PR middle-end/40815
3114 * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
3115 (negate_value): Move code to push elements to broken_up_substracts ...
3116 (eliminate_plus_minus_pair): ... here. Push operands that have no
3117 negative pair to plus_negates.
3118 (repropagate_negates, init_reassoc, fini_reassoc): Update.
3119
7a50adb7
RW
31202010-04-07 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3121
2d413304
RW
3122 * doc/install.texi (Configuration): Move description of
3123 --enable-lto, --with-libelf*, --enable-gold from Java section to
3124 general section.
3125
7a50adb7
RW
3126 * doc/generic.texi (Working with declarations)
3127 (Function Properties, C and C++ Trees): Fix typos.
3128 * doc/sourcebuild.texi (Top Level): Likewise.
3129
60d3aec4
JJ
31302010-04-07 Jakub Jelinek <jakub@redhat.com>
3131
ebfbbdc5
JJ
3132 PR c/18624
3133 * tree.h (DECL_READ_P): Define.
3134 (struct tree_decl_common): Add decl_read_flag.
3135 * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
3136 a set but not used warning.
3137 (merge_decls): Merge DECL_READ_P flag.
3138 (finish_decl, build_compound_literal): Set DECL_READ_P flag.
3139 (finish_function): Issue -Wunused-but-set-parameter diagnostics.
3140 * c-common.c (handle_used_attribute, handle_unused_attribute):
3141 Likewise.
3142 * c-tree.h (default_function_array_read_conversion, mark_exp_read):
3143 New prototypes.
3144 * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
3145 New functions.
3146 (default_conversion, c_process_expr_stmt): Call mark_exp_read.
3147 * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
3148 c_parser_binary_expression, c_parser_cast_expression,
3149 c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
3150 Call default_function_array_read_conversion instead of
3151 default_function_array_conversion where needed.
3152 (c_parser_unary_expression, c_parser_conditional_expression,
3153 c_parser_postfix_expression_after_primary, c_parser_initelt):
3154 Likewise. Call mark_exp_read where needed.
3155 (c_parser_statement_after_labels, c_parser_asm_operands,
3156 c_parser_typeof_specifier, c_parser_sizeof_expression,
3157 c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
3158 where needed.
3159 * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
3160 New.
3161 * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
3162 (warn_unused_but_set_parameter): Default to warn_unused
3163 && extra_warnings.
3164 * doc/invoke.texi: Document -Wunused-but-set-variable and
3165 -Wunused-but-set-parameter.
3166
60d3aec4
JJ
3167 * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
3168 used count variable.
3169 * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
3170 when operandN variables aren't used in the body of the expander
3171 or splitter.
3172 * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
3173 FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
3174 * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
3175 * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
3176 FOR_EACH_IMM_USE_ON_STMT): Likewise.
3177 * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
3178 * tree.c (PROCESS_ARG): Likewise.
3179
87cf0651
SB
31802010-04-07 Simon Baldwin <simonb@google.com>
3181
3182 * diagnostic.h (diagnostic_override_option_index): New macro to
3183 set a diagnostic's option_index.
3184 * c-tree.h (c_cpp_error): Add warning reason argument.
3185 * opts.c (_warning_as_error_callback): New.
3186 (register_warning_as_error_callback): Store callback for
3187 warnings enabled via enable_warning_as_error.
3188 (enable_warning_as_error): Call callback, minor code tidy.
3189 * opts.h (register_warning_as_error_callback): Declare.
3190 * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
3191 response to -Werror=.
3192 (c_common_init_options): Register warning_as_error_callback in opts.c.
3193 * common.opt: Add -Wno-cpp option.
3194 * c-common.c (struct reason_option_codes_t): Map cpp warning
3195 reason codes to gcc option indexes.
3196 * (c_option_controlling_cpp_error): New function, lookup the gcc
3197 option index for a cpp warning reason code.
3198 * (c_cpp_error): Add warning reason argument, call
3199 c_option_controlling_cpp_error for diagnostic_override_option_index.
3200 * doc/invoke.texi: Document -Wno-cpp.
3201
2ea9dc64
RG
32022010-04-07 Richard Guenther <rguenther@suse.de>
3203
3204 * ipa-reference.c (mark_load): Use get_base_address.
3205 (mark_store): Likewise.
3206
3207 * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
3208 inserting GIMPLE_NOPs into the IL.
3209 * tree-ssa-structalias.c (get_constraint_for_component_ref):
3210 Explicitly strip handled components and indirect references.
59caab22 3211
2ea9dc64
RG
3212 * fold-const.c (fold_unary_loc): Do not strip qualifiers when
3213 folding address expressions.
3214 * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
3215 * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
3216 operand_equal_p to compare decls.
3217 (ptr_deref_may_alias_decl_p): Likewise.
3218 * tree-ssa-operands.c (get_asm_expr_operands): Simplify
3219 * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
3220 Handle reversed comparison ops.
3221 * tree-sra.c (asm_visit_addr): Use get_base_address.
014753cc 3222 * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
2ea9dc64
RG
3223 * ipa-reference.c (mark_address): Use get_base_address.
3224
95d938ee
RG
32252010-04-07 Richard Guenther <rguenther@suse.de>
3226
3227 * tree-ssa-forwprop.c (forward_propagate_addr_expr):
3228 Propagate constants everywhere.
3229
1a299ae4
JJ
32302010-04-07 Jakub Jelinek <jakub@redhat.com>
3231
3232 PR debug/43516
3233 * tree.c (MAX_INT_CACHED_PREC): Define.
3234 (nonstandard_integer_type_cache): New array.
3235 (build_nonstandard_integer_type): Cache results for precision
3236 <= MAX_INT_CACHED_PREC.
3237
0d3c82d6
RG
32382010-04-07 Richard Guenther <rguenther@suse.de>
3239
3240 * doc/invoke.texi (-fargument-alias, -fargument-noalias,
3241 -fargument-noalias-global, -fargument-noalias-anything): Remove.
3242 * common.opt: Likewise.
014753cc
UB
3243 * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
3244 * alias.c (base_alias_check): Remove flag_argument_noalias handling.
0d3c82d6
RG
3245 (nonoverlapping_memrefs_p): Likewise.
3246 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
3247 * opts.c (common_handle_option): Handle OPT_fargument_alias,
3248 OPT_fargument_noalias, OPT_fargument_noalias_anything and
3249 OPT_fargument_noalias_global for backward compatibility.
3250
12bd5a1e
RG
32512010-04-07 Richard Guenther <rguenther@suse.de>
3252
3253 PR tree-optimization/43270
014753cc 3254 * tree-vrp.c (check_array_ref): Fix flexible array member detection.
12bd5a1e
RG
3255 * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
3256 * tree-ssa-pre.c (phi_translate_1): Adjust.
3257 (fully_constant_expression): Split out vn_reference handling to ...
3258 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
3259 Fold reads from constant strings.
3260 (vn_reference_lookup): Handle fully constant references.
3261 (vn_reference_lookup_pieces): Likewise.
3262 * Makefile.in (expmed.o-warn): Add -Wno-error.
3263
a7752396
MJ
32642010-04-07 Martin Jambor <mjambor@suse.cz>
3265
3266 * tree-sra.c (find_param_candidates): Allow scalar va_list types.
3267
6392bea6
IS
32682010-04-07 Iain Sandoe <iains@gcc.gnu.org>
3269
3270 PR driver/41594
3271 * gcc.c: Add -static-libstdc++ to list of recognized options.
3272
9af27220
RO
32732010-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3274
014753cc 3275 * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
9af27220 3276
83a416b0
RG
32772010-04-07 Richard Guenther <rguenther@suse.de>
3278
3279 PR middle-end/42617
014753cc
UB
3280 * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
3281 bases build simple mem attributes to retain points-to information.
83a416b0 3282
366f945f
RG
32832010-04-07 Richard Guenther <rguenther@suse.de>
3284
3285 PR middle-end/42617
3286 * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
3287 preserve points-to related information.
3288
56c47f22
RG
32892010-04-07 Richard Guenther <rguenther@suse.de>
3290
3291 PR middle-end/42617
3292 * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
3293 discard plain indirect references.
014753cc 3294 * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
56c47f22
RG
3295 * tree.c (tree_nop_conversion): Likewise.
3296
a42f1217
DS
32972010-04-07 Dodji Seketeli <dodji@redhat.com>
3298
3299 PR debug/43628
3300 * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
3301
b97b2634
KT
33022010-04-06 Kai Tietz <kai.tietz@onevision.com>
3303
3304 * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
3305 calling convention attributes on METHOD_TYPEs for w64 ABI, too.
3306
62ef2431
SP
33072010-04-07 Sebastian Pop <sebastian.pop@amd.com>
3308
3309 * tree-if-conv.c: Fix indentation and comments.
3310
baaa8e96
SP
33112010-04-07 Sebastian Pop <sebastian.pop@amd.com>
3312
3313 * tree-if-conv.c: Sort static functions in topological order.
3314
b6779d81
SP
33152010-04-07 Sebastian Pop <sebastian.pop@amd.com>
3316
3317 * tree-if-conv.c: Fix indentation and comments.
3318
9310a3e2
SP
33192010-04-06 Sebastian Pop <sebastian.pop@amd.com>
3320
3321 PR middle-end/43519
3322 * graphite-clast-to-gimple.c (max_signed_precision_type): Use
014753cc
UB
3323 lang_hooks.types.type_for_size instead of
3324 build_nonstandard_integer_type.
9310a3e2
SP
3325 When converting an unsigned type to signed, double its precision.
3326 (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
3327 (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
014753cc
UB
3328 (graphite_create_new_loop_guard): When ub + 1 wraps around,
3329 use lb <= ub.
9310a3e2
SP
3330
33312010-04-06 Sebastian Pop <sebastian.pop@amd.com>
3332
3333 PR middle-end/43519
3334 * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
3335 POINTER_PLUS_EXPR for pointer types.
3336
33372010-04-06 Sebastian Pop <sebastian.pop@amd.com>
3338
3339 PR middle-end/43519
3340 * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
3341 * graphite-clast-to-gimple.c: Include langhooks.h.
3342 (max_signed_precision_type): New.
3343 (max_precision_type): Takes two types as arguments.
3344 (precision_for_value): New.
3345 (precision_for_interval): New.
3346 (gcc_type_for_interval): New.
3347 (gcc_type_for_value): New.
3348 (gcc_type_for_clast_term): New.
3349 (gcc_type_for_clast_red): New.
3350 (gcc_type_for_clast_bin): New.
3351 (gcc_type_for_clast_expr): Split up into several functions.
3352 (gcc_type_for_clast_eq): Rewritten.
3353 (compute_bounds_for_level): New.
3354 (compute_type_for_level_1): New.
3355 (compute_type_for_level): New.
3356 (gcc_type_for_cloog_iv): Removed.
3357 (gcc_type_for_iv_of_clast_loop): Rewritten.
3358 (graphite_create_new_loop): Compute the lower and upper bound types
3359 with gcc_type_for_clast_expr.
3360 (graphite_create_new_loop_guard): Same.
3361 (find_cloog_iv_in_expr): Removed.
3362 (compute_cloog_iv_types_1): Removed.
3363 (compute_cloog_iv_types): Removed.
3364 (gloog): Do not call compute_cloog_iv_types.
3365 * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
3366 GBB_CLOOG_IV_TYPES.
3367 (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
3368 * sese.h (struct gimple_bb): Removed field cloog_iv_types.
3369 (GBB_CLOOG_IV_TYPES): Removed.
3370
33712010-04-06 Sebastian Pop <sebastian.pop@amd.com>
3372
3373 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
3374 gimple_phi_num_args of the loop close SSA phi node is equal to 1.
3375 (detect_commutative_reduction): Same.
3376
a3b9e73c
SP
33772010-04-06 Sebastian Pop <sebastian.pop@amd.com>
3378
3379 * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
3380 call to verify_ssa. Invoke verify_loop_closed_ssa with an extra
3381 argument.
3382 * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
3383 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
3384 (rewrite_commutative_reductions_out_of_ssa): Same.
3385 * passes.c (execute_function_todo): Call verify_ssa for every pass
3386 in the LNO. Invoke verify_loop_closed_ssa with an extra argument.
3387 * tree-flow.h (verify_loop_closed_ssa): Update declaration.
3388 * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
3389 with an extra argument.
3390 * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same. Call
3391 verify_ssa only when the extra argument is true.
3392 (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
3393 with an extra argument.
3394 (tree_transform_and_unroll_loop): Same.
3395
98b6e9dd
SP
33962010-04-06 Sebastian Pop <sebastian.pop@amd.com>
3397
3398 * passes.c (execute_function_todo): Call verify_loop_closed_ssa
3399 for all the passes of the LNO having LOOP_CLOSED_SSA.
3400 * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
3401 * tree-loop-distribution.c (pass_loop_distribution): Same.
3402 * tree-pass.h (TODO_verify_loops): Removed.
3403 * tree-ssa-loop.c (pass_tree_loop_init): Same.
3404 (pass_lim): Same.
3405 (pass_tree_unswitch): Same.
3406 (pass_predcom): Same.
3407 (pass_vectorize): Same.
3408 (pass_linear_transform): Same.
3409 (pass_graphite_transforms): Same.
3410 (pass_iv_canon): Same.
3411 (pass_complete_unroll): Same.
3412 (pass_complete_unrolli): Same.
3413 (pass_parallelize_loops): Same.
3414 (pass_loop_prefetch): Same.
3415 (pass_iv_optimize): Same.
3416
c86a3947
CF
34172010-04-06 Changpeng Fang <changpeng.fang@amd.com>
3418
3419 PR middle-end/32824
3420 * passes.c (init_optimization_passes): Move pass_lim before
3421 pass_copy_prop and pass_dce_loop.
3422
37794981
JJ
34232010-04-06 Jakub Jelinek <jakub@redhat.com>
3424
3425 PR target/43667
3426 * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
3427 instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
3428 (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
3429 MULTI_* defines for 4 argument vpermil2p* builtins.
3430
d079b87f
UB
34312010-04-06 Uros Bizjak <ubizjak@gmail.com>
3432
3433 * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
3434 * config/i386/i386.c (x86_maybe_negate_const_int): New.
3435 (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
3436 * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
3437 *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
3438 *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
3439 *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
3440 Use x86_maybe_negate_const_int to output insn mnemonic.
3441 (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto. Remove overflow
3442 check from instruction predicate. Update comments.
3443 * config/i386/sync.md (sync_add<mode>): Use
3444 x86_maybe_negate_const_int to output insn mnemonic.
b1a0b3b4 3445
d079b87f
UB
34462010-04-06 Jan Hubicka <jh@suse.cz>
3447
3448 PR tree-optimization/42906
3449 * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
3450 IGNORE_SELF argument. Set visited_control_parents for fully
3451 processed BBs.
b1a0b3b4
JH
3452 (find_obviously_necessary_stmts): Update call of
3453 mark_control_dependent_edges_necessary.
d079b87f 3454 (propagate_necessity): Likewise. Handle PHI edges more curefully.
b1a0b3b4 3455
6593d123
UB
34562010-04-06 Uros Bizjak <ubizjak@gmail.com>
3457
3458 * config/i386/i386.md: Remove comment about 'e' and 'E'
3459 operand modifier.
3460
56186ac2
RG
34612010-04-06 Richard Guenther <rguenther@suse.de>
3462
3463 PR tree-optimization/43627
3464 * tree-vrp.c (extract_range_from_unary_expr): Widenings
3465 of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
3466 not varying.
3467
7d11d368
JJ
34682010-04-06 Jakub Jelinek <jakub@redhat.com>
3469
d3bccded
JJ
3470 * BASE-VER: Change to 4.6.0.
3471
7d11d368
JJ
3472 PR target/43638
3473 * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
3474 handling.
3475
eb12d0ae
RG
34762010-04-06 Richard Guenther <rguenther@suse.de>
3477
3478 PR middle-end/43661
3479 * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
3480
53b79425
RW
34812010-04-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3482
3483 * doc/invoke.texi (Optimize Options): Document that LTO
3484 won't remove object access purely due to incompatible
3485 declarations.
3486
7e0ec110
MK
34872010-04-04 Matthias Klose <doko@ubuntu.com>
3488
3489 * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
3490 Initialize variable.
3491
2b22e382
RG
34922010-04-03 Richard Guenther <rguenther@suse.de>
3493
3494 PR middle-end/42509
3495 * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
3496 require a non-NULL MEM_OFFSET.
3497
c75c517d
SB
34982010-04-02 Steven Bosscher <steven@gcc.gnu.org>
3499
d079b87f 3500 * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
c75c517d
SB
3501 basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
3502 collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
3503 config/alpha/predicates.md, config/arm/arm.md,
3504 config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
3505 config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
3506 config/darwin9.h, config/darwin.c, config/darwin.h,
3507 config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
3508 config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
3509 config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
3510 config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
3511 config/mips/mips.md, config/mn10300/mn10300.c,
3512 config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
3513 config/rs6000/aix.h, config/rs6000/dfp.md,
3514 config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
3515 config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
3516 config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
3517 config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
3518 config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
3519 config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
3520 c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
3521 diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
3522 doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
3523 doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
3524 fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
3525 gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
3526 graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
3527 graphite-dependences.c, graphite-poly.c, graphite-poly.h,
3528 graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
3529 graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
3530 intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
3531 ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
3532 ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
3533 loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
3534 objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
3535 opt-functions.awk, opth-gen.awk, params.def, passes.c,
3536 postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
3537 rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
3538 store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
3539 tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
3540 tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
3541 tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
3542 tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
3543 tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
3544 tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
3545 tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
3546 tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
3547 tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
3548 tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
3549 unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
3550
4d9e8446
RW
35512010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3552
3553 PR other/43620
3554 * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
3555 * aclocal.m4: Regenerate.
3556
1cdaa211
RG
35572010-04-02 Richard Guenther <rguenther@suse.de>
3558
3559 PR tree-optimization/43629
3560 * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
3561 if we have seen a constant value.
3562
d33da5cd
JM
35632010-04-02 Joseph Myers <joseph@codesourcery.com>
3564
014753cc 3565 * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
d33da5cd 3566
2e5505a4
RE
35672010-04-02 Richard Earnshaw <rearnsha@arm.com>
3568
3569 PR target/43469
d079b87f 3570 * arm.c (legitimize_tls_address): Adjust call to
2e5505a4
RE
3571 gen_tls_load_dot_plus_four.
3572 (arm_note_pic_base): New function.
3573 (arm_cannot_copy_insn_p): Use it.
3574 * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
3575 constraint.
3576
bdfbd9df
RW
35772010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3578
3579 PR bootstrap/43531
3580
3581 Revert:
3582 2009-09-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3583
3584 * Makefile.in ($(out_object_file)): Depend on
3585 gt-$(basename $(notdir $(out_file))).h.
3586
2bc40daa
RC
35872010-04-01 Ralf Corsépius <ralf.corsepius@rtems.org>
3588
014753cc 3589 * config.gcc (lm32-*-rtems*): Add t-lm32.
2bc40daa
RC
3590
35912010-04-01 Joel Sherrill <joel.sherrill@oarcorp.com>
3592
014753cc
UB
3593 * config.gcc: Add lm32-*-rtems*.
3594 * config/lm32/rtems.h: New file.
2bc40daa 3595
abfb38d7
DK
35962010-04-01 Dave Korn <dave.korn.cygwin@gmail.com>
3597
3598 PR target/42609
3599 * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
3600
2f43d500
JJ
36012010-04-01 Jakub Jelinek <jakub@redhat.com>
3602
3603 * dwarf2out.c (output_compilation_unit_header): For
3604 -gdwarf-4 use version 4 instead of version 3.
3605 (output_line_info): For version 4 and above emit additional
3606 maximum ops per insn header field.
3607 (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
3608
3609 * dwarf2out.c (is_c_family, is_java): Remove.
3610 (lower_bound_default): New function.
3611 (add_bound_info, gen_descr_array_type_die): Use it.
3612
777351a5
DS
36132010-04-01 Dodji Seketeli <dodji@redhat.com>
3614
3615 PR debug/43325
3616 * dwarf2out.c (gen_variable_die): Allow debug info for variable
3617 re-declaration when it happens in a function.
3618
6544865a
AH
36192010-04-01 Aldy Hernandez <aldyh@redhat.com>
3620
3621 * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
3622 (cgraph_remove_function_insertion_hook): Same.
3623 (cgraph_call_function_insertion_hooks): Same.
3624
5e9fb3db
RG
36252010-04-01 Richard Guenther <rguenther@suse.de>
3626
3627 PR middle-end/43614
3628 * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
3629 and TREE_THIS_VOLATILE.
3630 (copy_ref_info): Likewise.
3631 * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
3632 * tree.c (build6_stat): Ignore side-effects of all but arg5
3633 for TARGET_MEM_REF. Set TREE_THIS_VOLATILE from arg5 of
3634 TARGET_MEM_REF.
3635
eb258d7f
RG
36362010-04-01 Richard Guenther <rguenther@suse.de>
3637
3638 PR tree-optimization/43607
3639 * ipa-type-escape.c (check_call): Do not access non-existing
3640 arguments.
3641
aa8bfcad
RG
36422010-04-01 Richard Guenther <rguenther@suse.de>
3643
3644 PR middle-end/43602
3645 Revert
3646 2010-03-30 Seongbae Park <seongbae.park@gmail.com>
014753cc 3647 Jack Howarth <howarth@bromo.med.uc.edu>
aa8bfcad
RG
3648
3649 * tree-profile.c (tree_init_ic_make_global_vars): Make static
3650 variables TLS.
3651
8c5cfa89
RO
36522010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3653
3654 * doc/install.texi (Prerequisites): Document libelf usability on
3655 IRIX 5/6 and Solaris 2.
3656 (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
3657 Update GNU as, GNU ld requirements.
3658 (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
3659 Document Sun Studio compiler download.
3660 Update and simplify as, ld recommendations.
3661 (Specific, *-*-solaris2.7): Note obsoletion, removal.
3662
ddcc3550
RO
36632010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3664
9af27220 3665 * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
ddcc3550
RO
3666 with_tune_32 to pentium4.
3667
93234e58
UB
36682010-04-01 Uros Bizjak <ubizjak@gmail.com>
3669
3670 * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
3671
ef369ad8
RO
36722010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3673
3674 * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
3675 obsoletion, removal.
3676 Update IDO URL.
3677 Document GNU as requirement.
3678 Update configure requirements.
014753cc 3679 (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
ef369ad8
RO
3680 Recomment IRIX 6.5.18+.
3681 Document IDF/IDL requirement.
3682 Document GNU as requirement.
3683 Document GNU ld bootstrap failure.
3684 Remove freeware.sgi.com reference.
3685
92d80770
RO
36862010-04-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3687
3688 * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
3689 UNIX V4.0, V5.0 obsoletion, removal.
3690 Remove --with-gc=simple reference.
3691 Update VM requirements during bootstrap.
3692 Remove -oldas bootstrap description.
3693 Update binutils reference.
3694 Remove comparison failure note.
3695
25d635d9
SP
36962010-03-31 Richard Guenther <rguenther@suse.de>
3697 Zdenek Dvorak <ook@ucw.cz>
3698 Sebastian Pop <sebastian.pop@amd.com>
3699
3700 PR middle-end/43464
3701 * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
3702 with multiple arguments.
3703 (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
3704
37052010-03-31 Sebastian Pop <sebastian.pop@amd.com>
3706
3707 * graphite-dependences.c (print_pddr): Call print_pdr with an
3708 extra argument.
3709 * graphite-poly.c (debug_pdr): Add an extra argument for the
3710 verbosity level.
3711 (print_pdr): Same.
3712 (print_pbb_domain): Same.
3713 (print_pbb): Same.
3714 (print_scop_context): Same.
3715 (print_scop): Same.
3716 (print_cloog): Same.
3717 (debug_pbb_domain): Same.
3718 (debug_pbb): Same.
3719 (print_pdrs): Same.
3720 (debug_pdrs): Same.
3721 (debug_scop_context): Same.
3722 (debug_scop): Same.
3723 (debug_cloog): Same.
3724 (print_scop_params): Same.
3725 (debug_scop_params): Same.
3726 (print_iteration_domain): Same.
3727 (print_iteration_domains): Same.
3728 (debug_iteration_domain): Same.
3729 (debug_iteration_domains): Same.
3730 (print_scattering_function): Same.
3731 (print_scattering_functions): Same.
3732 (debug_scattering_function): Same.
3733 (debug_scattering_functions): Same.
3734 * graphite-poly.h (debug_pdr): Update declaration.
3735 (print_pdr): Same.
3736 (print_pbb_domain): Same.
3737 (print_pbb): Same.
3738 (print_scop_context): Same.
3739 (print_scop): Same.
3740 (print_cloog): Same.
3741 (debug_pbb_domain): Same.
3742 (debug_pbb): Same.
3743 (print_pdrs): Same.
3744 (debug_pdrs): Same.
3745 (debug_scop_context): Same.
3746 (debug_scop): Same.
3747 (debug_cloog): Same.
3748 (print_scop_params): Same.
3749 (debug_scop_params): Same.
3750 (print_iteration_domain): Same.
3751 (print_iteration_domains): Same.
3752 (debug_iteration_domain): Same.
3753 (debug_iteration_domains): Same.
3754 (print_scattering_function): Same.
3755 (print_scattering_functions): Same.
3756 (debug_scattering_function): Same.
3757 (debug_scattering_functions): Same.
3758
37592010-03-31 Sebastian Pop <sebastian.pop@amd.com>
3760
3761 * graphite-poly.c (print_scattering_function_1): New.
3762 (print_scattering_function): Call it.
3763 (print_scop_params): Remove spaces at the end of lines.
3764 (print_cloog): New.
3765 (debug_cloog): New.
3766 * graphite-poly.h (print_cloog): Declared.
3767 (debug_cloog): Declared.
3768
37692010-03-31 Sebastian Pop <sebastian.pop@amd.com>
3770
3771 * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
3772 in loop->header.
3773 * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
3774 * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
3775 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
3776 to switch between adding the IV bump in loop->latch or in loop->header.
3777
37782010-03-31 Sebastian Pop <sebastian.pop@amd.com>
3779
3780 * graphite-poly.c (print_scattering_function): Pretty print following
3781 the scoplib format.
3782 (print_pdr): Same.
3783 (print_pbb_domain): Same.
3784 (dump_gbb_cases): Same.
3785 (dump_gbb_conditions): Same.
3786 (print_pdrs): Same.
3787 (print_pbb): Same.
3788 (print_scop_params): Same.
3789 (print_scop_context): Same.
3790 (print_scop): Same.
3791 (print_pbb_body): New.
3792 (lst_indent_to): New.
3793 (print_lst): Start new lines with a #.
3794 * graphite-poly.h (pbb_bb): New.
3795 (pbb_index): Use pbb_bb.
3796 * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
3797 disjuncts.
3798 * tree-data-ref.c (dump_data_reference): Start new lines with a #.
3799
2080bd29
JJ
38002010-03-31 Jakub Jelinek <jakub@redhat.com>
3801
290d8971
JJ
3802 * dwarf2out.c (size_of_die): For -gdwarf-4 use
3803 uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
3804 and 0 instead of 1 for dw_val_class_flag.
3805 (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
3806 dw_val_class_range_list, dw_val_class_loc_list,
3807 dw_val_class_lineptr and dw_val_class_macptr, use
3808 DW_FORM_flag_present for dw_val_class_flag and
3809 DW_FORM_exprloc for dw_val_class_loc.
3810 (output_die): For -gdwarf-4 print dw_val_class_loc
3811 size as uleb128 instead of 1 or 2 bytes and don't print
3812 anything for dw_val_class_flag.
3813
109f4af3
JJ
3814 * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
3815 instead of cselib_lookup following by tweaking locs->setting_insn.
3816
2080bd29
JJ
3817 PR bootstrap/43596
3818 * cselib.c (cselib_process_insn): Clear cselib_current_insn
3819 even before returning from label, setjmp call or volatile asm
3820 handling.
3821
33283dad
RG
38222010-03-31 Richard Guenther <rguenther@suse.de>
3823
3824 PR middle-end/43600
3825 * cgraphunit.c (cgraph_output_in_order): Do not allocate
3826 temporary data on stack.
3827
a0c21029
RO
38282010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3829
3830 * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
3831 (PUSHSECTION_ASM_OP): Remove.
3832 (POPSECTION_ASM_OP): Remove.
3833 (PUSHSECTION_FORMAT): Remove.
3834 * config/sol2.h (PUSHSECTION_FORMAT): Define.
3835 * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
3836 * config/sol2.c (solaris_output_init_fini): Use it.
3837
a3f410a2
JZ
38382010-03-31 Jie Zhang <jie@codesourcery.com>
3839
3840 PR 43574
3841 * opt-functions.awk (var_type_struct): Use signed char type
3842 for simple variables.
3843
f0c01ffd
RO
38442010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3845
3846 * config/sol2.c: Include output.h.
3847 (solaris_assemble_visibility): New function.
3848 * config/t-sol2 (sol2.o): Add output.h dependency.
3849 * config/sol2-protos.h (solaris_assemble_visibility): Declare.
3850 * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
3851 Redefine.
3852
132b4e82
JJ
38532010-03-31 Jakub Jelinek <jakub@redhat.com>
3854
d8d55ac0
JJ
3855 PR target/43580
3856 * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
3857 V2SImode or XFmode on PRE_DEC.
3858
132b4e82
JJ
3859 PR debug/43557
3860 * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
3861 BLKmode.
3862
dc12b70e
JZ
38632010-03-31 Jie Zhang <jie@codesourcery.com>
3864
3865 PR 43562
3866 * reload.h (caller_save_initialized_p): Declare.
3867 * toplev.c (backend_init_target): Don't call
93234e58 3868 init_caller_save but set caller_save_initialized_p to false.
dc12b70e
JZ
3869 * caller-save.c (caller_save_initialized_p): Define.
3870 (init_caller_save): Check caller_save_initialized_p.
3871 * ira.c (ira): Call init_caller_save if flag_caller_saves.
3872
4a2f22ff
RO
38732010-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3874
3875 PR target/39048
3876 * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
3877 and soft-fp/t-softfp to tmake_file.
3878 * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
3879 (LIBGCC2_TF_CEXT): Define.
3880 (TF_SIZE): Define.
3881
5847e8da
AO
38822010-03-30 Alexandre Oliva <aoliva@redhat.com>
3883
3884 PR debug/42977
3885 * cselib.c (n_useless_values): Document handling of debug locs.
3886 (n_useless_debug_values, n_debug_values): New variables.
3887 (new_elt_loc_list): Don't add to debug values, keep count.
3888 (promote_debug_loc): New.
3889 (cselib_reset_table): Zero new variables.
3890 (entry_and_rtx_equal_p): Promote debug locs.
3891 (discard_useless_locs): Increment n_useless_debug_values for
3892 debug values.
3893 (remove_useless_values): Adjust n_useless_values and n_debug_values
3894 with n_useless_debug_values.
3895 (add_mem_for_addr): Promote debug locs.
3896 (cselib_lookup_mem): Likewise.
3897 (cselib_lookup_addr): Renamed to...
93234e58 3898 (cselib_lookup_addr_1): ... this. Promote debug locs. Don't call...
5847e8da
AO
3899 (cselib_log_lookup): ... this. Turn into...
3900 (cselib_lookup_addr): ... new wrapper.
3901 (cselib_lookup_from_insn): New.
3902 (cselib_invalidate_regno): Increment n_useless_debug_values for
3903 debug values.
3904 (cselib_invalidate_mem): Likewise.
3905 (cselib_process_insn): Take n_deleted and n_debug_values into
3906 account to guard remove_useless_value call.
3907 (cselib_finish): Zero n_useless_debug_values.
3908 * cselib.h (cselib_lookup_from_insn): Declare.
3909 * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
3910 (sched_analyze_2): Likewise.
3911
03a5f060
JJ
39122010-03-30 Jakub Jelinek <jakub@redhat.com>
3913
e9e00885
JJ
3914 * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
3915 functions.
3916 (adjust_mems): Replace narrowing SUBREG of expression containing
3917 just PLUS, MINUS, MULT and ASHIFT of registers and constants
3918 with operations in the narrower mode.
3919
03a5f060 3920 PR debug/43593
93234e58
UB
3921 * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
3922 regs_invalidated_by_call instead all call_used_reg_set registers.
03a5f060 3923
8533c9d8
SP
39242010-03-30 Sebastian Pop <sebastian.pop@amd.com>
3925
3926 PR middle-end/43430
3927 * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
3928 pointer comparisons with types_compatible_p.
3929 * tree-vect-stmts.c (vectorizable_call): Same.
3930 (vectorizable_condition): Same.
3931
a3e7e012
AK
39322010-03-30 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
3933
3934 * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
3935 stack check if the mask would be zero.
3936
40ae6799
SP
39372010-03-30 Seongbae Park <seongbae.park@gmail.com>
3938 Jack Howarth <howarth@bromo.med.uc.edu>
3939
3940 * tree-profile.c (tree_init_ic_make_global_vars): Make static
3941 variables TLS.
3942
2bcba94b
JM
39432010-03-30 Joseph Myers <joseph@codesourcery.com>
3944
3945 PR other/25232
3946 * libgcc-std.ver (GCC_4.5.0): Define version. Include __unordxf2
3947 and __unordtf2.
3948 * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
3949 Include ___unordxf2 and ___unordtf2.
3950 * config/i386/libgcc-glibc.ver: Do not define inheritance from
3951 GCC_4.4.0 here.
3952
15baf7f8
TG
39532010-03-30 Tarik Graba <tarik.graba@telecom-paristech.fr>
3954
3955 * config/lm32/t-lm32: New file.
3956 * config.gcc: Use the above file when targetting lm32.
3957
fba48836
DS
39582010-03-28 Duncan Sands <baldrick@free.fr>
3959
93234e58 3960 * Makefile.in (PLUGIN_HEADERS): Add except.h.
fba48836 3961
49a71bc8
SP
39622010-03-29 Sebastian Pop <sebastian.pop@amd.com>
3963
3964 PR middle-end/43431
3965 * tree-vect-loop.c (vect_estimate_min_profitable_iters):
3966 Improve vectorization cost model diagnostic.
3967
22a8be9e
SP
39682010-03-29 Sebastian Pop <sebastian.pop@amd.com>
3969
3970 PR middle-end/43436
3971 * tree-vect-data-refs.c (vect_analyze_data_refs): When
3972 compute_data_dependences_for_loop returns false, early exit
3973 and output an extra diagnostic for the failed data reference
3974 analysis.
3975
58adb739
RG
39762010-03-29 Richard Guenther <rguenther@suse.de>
3977
3978 PR tree-optimization/43560
93234e58
UB
3979 * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
3980 (can_sm_ref_p): Treat stores to readonly locations as trapping.
58adb739 3981
3b34d92c
JZ
39822010-03-29 Jie Zhang <jie@codesourcery.com>
3983
3984 PR 43564
3985 * toplev.c (process_options): Set optimization_default_node
3986 and optimization_current_node.
3987 * opts.c (decode_options): Don't set optimization_default_node
3988 and optimization_current_node.
3989
090f6087
RC
39902010-03-29 Ralf Corsépius <ralf.corsepius@rtems.org>
3991
3992 * config/rtems.h: Abandon -qrtems_debug.
3993
88cc1e04
JH
39942010-03-28 Jan Hubicka <jh@suse.cz>
3995
3996 PR tree-optimization/43505
3997 * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
3998 map should not be copied.
3999
b932b8b1
JDA
40002010-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4001
4002 PR middle-end/41674
4003 * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
4004 cdtors, set DECL_PRESERVE_P.
4005 * ipa.c (cgraph_externally_visible_p): Return true if declaration
4006 should be preseved.
4007
fb6807b8
UB
40082010-03-27 Uros Bizjak <ubizjak@gmail.com>
4009
4010 PR tree-optimization/43528
4011 * stor-layout.c (place_field): Check that constant fits into
4012 unsigned HWI when skipping calculation of MS bitfield layout.
4013
a9deb256
JH
40142010-03-27 Jan Hubicka <jh@suse.cz>
4015
4016 PR middle-end/43391
4017 * varasm.c (make_decl_rtl): Deal with COMMON flag to make
4018 notice_global_symbol work.
4019
5a9c8a1b
JJ
40202010-03-27 Jakub Jelinek <jakub@redhat.com>
4021
4022 * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
4023 instead of dwarf2out_decl.
4024 (struct var_loc_node): Remove section_label field.
4025 (dwarf2out_function_decl): New function.
4026 (dwarf2out_var_location): Don't set section_label field.
4027 (dwarf2out_begin_function): Don't empty decl_loc_table here.
4028
62f7fd21
MM
40292010-03-26 Michael Meissner <meissner@linux.vnet.ibm.com>
4030
4031 PR tree-optimization/43544
4032 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
4033 First argument for builtin vectorized function hook is now a
4034 tree to be able to distinguish between machine specific and
4035 standard builtins.
4036 * targhooks.c (default_builtin_vectorized_function): Ditto.
4037 * targhooks.h (default_builtin_vectorized_function): Ditto.
4038 * target.h (struct gcc_target): Ditto.
4039 * tree-vect-stmts.c (vectorizable_function): Ditto.
4040 * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
4041 * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
4042 Ditto.
4043
10e76c1a
JM
40442010-03-26 Joseph Myers <joseph@codesourcery.com>
4045
4046 PR c/43381
4047 * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
4048 nested binding iff it is a FUNCTION_DECL.
4049 (store_parm_decls_newstyle): Pass nested=true to bind for
4050 FUNCTION_DECLs amongst parameters.
4051
89245ef2
JJ
40522010-03-26 Jakub Jelinek <jakub@redhat.com>
4053
2155f963
JJ
4054 * var-tracking.c (vt_expand_loc_callback): Don't run
4055 cselib_expand_value_rtx_cb in dummy mode if
4056 cselib_dummy_expand_value_rtx_cb returned false.
4057
e80691a0
JJ
4058 * var-tracking.c (emit_note_insn_var_location): For one part
4059 notes with offset 0, don't add EXPR_LIST around the location.
4060 * dwarf2out.c (loc_descriptor, dw_loc_list_1,
4061 add_location_or_const_value_attribute): Adjust for that change.
4062
89245ef2
JJ
4063 PR debug/43540
4064 * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
4065 into first operand and location into second.
4066 (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
4067 dw_cfi_oprnd_loc for DW_CFA_expression.
4068 (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
4069 (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
4070 assume first argument is regnum and second argument is location.
4071
c5e43cc4
UB
40722010-03-26 Uros Bizjak <ubizjak@gmail.com>
4073
4074 PR target/42113
4075 * config/alpha/alpha.md (*cmp_sadd_si): Change mode
4076 of scratch register to DImode. Split to DImode comparison operator.
4077 Use SImode subreg of scratch register in the multiplication.
4078 (*cmp_sadd_sidi): Ditto.
4079 (*cmp_ssub_si): Ditto.
4080 (*cmp_ssub_sidi): Ditto.
4081
fb04bb84
UB
40822010-03-26 Uros Bizjak <ubizjak@gmail.com>
4083
4084 PR target/43524
4085 * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
4086 Remove invalid assert and wrong comment.
4087
6ca5d1f6
JJ
40882010-03-26 Jakub Jelinek <jakub@redhat.com>
4089
4090 PR debug/43516
4091 * flags.h (final_insns_dump_p): New extern.
4092 * final.c (final_insns_dump_p): New variable.
4093 (rest_of_clean_state): Set it before -fdump-final-insns=
4094 dumping, clear afterwards.
4095 * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
4096 MEM_ALIAS_SET on MEMs.
4097
46bc665f
DM
40982010-03-26 David S. Miller <davem@davemloft.net>
4099
4100 * configure.ac: Fix sparc GOTDATA_OP bug check.
4101 * configure: Rebuild.
4102
9fa195b8
AM
41032010-03-26 Alan Modra <amodra@gmail.com>
4104
4105 * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
4106
9b7e6950
RO
41072010-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4108
4109 * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
4110 TLS_SECTION_ASM_FLAG.
4111
d53c73e0
JJ
41122010-03-25 Jakub Jelinek <jakub@redhat.com>
4113
935ec2c9
JJ
4114 PR bootstrap/43511
4115 * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
4116 Clear first_function_block_is_cold.
4117
d53c73e0
JJ
4118 PR c/43385
4119 * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
4120 argument if the argument is truth_value_p.
4121
871c9abb
MM
41222010-03-24 Michael Meissner <meissner@linux.vnet.ibm.com>
4123
fb04bb84 4124 * config/rs6000/constraints.md: Update copyright year for my changes.
94ad7adc 4125
871c9abb
MM
4126 PR target/43484
4127 * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
4128 used in reg+reg addressing, swap registers.
4129
81ef7e24
JJ
41302010-03-24 Jakub Jelinek <jakub@redhat.com>
4131
6d217c32
JJ
4132 PR debug/43293
4133 * target.h (struct gcc_target): Add code_end hook.
4134 * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
4135 if not yet defined.
4136 (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
4137 * toplev.c (compile_file): Call targetm.asm_out.code_end
4138 hook before unwind info/debug info output.
4139 * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
4140 * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
4141 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
4142 * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
4143 (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
4144 * config/i386/i386.c (ix86_file_end): Renamed to...
4145 (ix86_code_end): ... this. Make static. Don't call
4146 file_end_indicate_exec_stack. Emit unwind info using
4147 final_start_function/final_end_function.
4148 (darwin_x86_file_end): Remove.
4149 (TARGET_ASM_CODE_END): Define.
4150 * config/i386/i386.h (TARGET_ASM_FILE_END,
4151 NEED_INDICATE_EXEC_STACK): Don't define.
4152 * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
4153 (TARGET_ASM_FILE_END): Define to darwin_file_end.
4154 * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
4155 * doc/tm.texi (TARGET_ASM_CODE_END): Document.
4156
81ef7e24
JJ
4157 PR target/43498
4158 * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
4159 at the beginning and final_end_function at the end.
4160 * config/s390/s390.c (s390_output_mi_thunk): Likewise.
4161
f1c26cad
RO
41622010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4163
4164 * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
4165 and Sun as TLS syntax.
4166 (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
4167 * configure: Regenerate.
4168 * config.in: Regenerate.
4169 * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
4170 (default_elf_asm_named_section): Use it.
4171 * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
4172 (i386_output_dwarf_dtprel): Likewise.
4173 (output_addr_const_extra): Likewise.
4174 (output_pic_addr_const): Lowercase @GOTTPOFF.
4175 (output_addr_const_extra): Likewise.
4176 (output_pic_addr_const): Lowercase @GOTNTPOFF.
4177 (output_addr_const_extra): Likewise.
4178 (output_pic_addr_const): Lowercase @INDNTPOFF.
4179 (output_addr_const_extra): Likewise.
4180 (output_pic_addr_const): Lowercase @NTPOFF.
4181 (output_addr_const_extra): Likewise.
4182 (output_pic_addr_const): Lowercase @TPOFF.
4183 (output_addr_const_extra): Likewise.
fb04bb84 4184 * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
f1c26cad
RO
4185 (*tls_global_dynamic_64): Likewise.
4186 (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
4187 (*tls_local_dynamic_base_64): Lowercase @TLSLD.
4188
4189 * defaults.h (TLS_COMMON_ASM_OP): Provide default.
4190 (ASM_OUTPUT_TLS_COMMON): Use it.
4191 * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
4192
4193 PR target/38118
fb04bb84 4194 * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
f1c26cad
RO
4195 * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
4196 * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
4197 * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
4198 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
4199 (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
4200
d2af65b9
RO
42012010-03-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4202
4203 * config/i386/i386.c (override_options): Don't accept
4204 -mtls-dialect=sun any longer.
4205 * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
4206 * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
4207 (*tls_local_dynamic_base_32_sun): Likewise.
4208 * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
4209
d0ed412a
JJ
42102010-03-24 Jakub Jelinek <jakub@redhat.com>
4211
1db0ea00
JJ
4212 PR debug/43508
4213 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
4214 VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
4215
3a6191b1
JJ
4216 PR debug/43479
4217 * ira.c (adjust_cleared_regs): New function.
4218 (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
4219
d0ed412a
JJ
4220 PR debug/19192
4221 PR debug/43479
4222 * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
4223 from gimple_block.
4224 * expr.c (expand_expr_real): Restore previous
4225 curr_insn_source_location and curr_insn_block after
4226 expand_expr_real_1 call.
4227 (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
4228 instead of expand_expr_real_1.
4229
478ab26d
VM
42302010-03-23 Vladimir Makarov <vmakarov@redhat.com>
4231
4232 PR rtl-optimization/43413
4233 * ira-color.c (setup_allocno_available_regs_num): Count prohibited
4234 hard regs too.
4235
67b476d1
JW
42362010-03-22 James E. Wilson <wilson@codesourcery.com>
4237
4238 PR target/43348
4239 * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
fb04bb84 4240 call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
67b476d1 4241
99eaa2e7
L
42422010-03-22 H.J. Lu <hongjiu.lu@intel.com>
4243
fb04bb84
UB
4244 * config/i386/i386.c (ix86_target_string): Add -mfma.
4245 Fix a typo in comment.
99eaa2e7 4246
212066e6
MS
42472010-03-22 Mike Stump <mikestump@comcast.net>
4248
4249 PR target/23071
4250 * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
4251 Don't overly align based upon packed packed fields.
4252
ce30e6fd
JM
42532010-03-22 Jason Merrill <jason@redhat.com>
4254
4255 * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
4256 Use () rather than [], and move before the element type.
4257
3a1ef68a
RO
42582010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4259
4260 * doc/configfiles.texi (Configuration Files): Removed
4261 fixinc/Makefile*, intl/Makefile.*.
fb04bb84
UB
4262 * doc/makefile.texi: Fixed markup. Abstract from version
4263 control system used.
3a1ef68a
RO
4264 (Makefile): Removed obsolete gcc/java/parse.y example.
4265 * doc/sourcebuild.texi: Likewise.
4266 (Top Level): Added config, gnattools, libdecnumber, libgcc,
fb04bb84 4267 libgomp, libssp. Removed fastjar.
3a1ef68a
RO
4268 (Miscellaneous Docs): Clarify location.
4269 Added COPYING3, COPYING3.LIB.
fb04bb84 4270 (Front End Directory): Moved Make-lang.in entry to new subsubsection.
3a1ef68a 4271
7f5441df
RO
42722010-03-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4273
4274 PR target/38085
4275 * config/i386/i386.c (x86_function_profiler)
4276 [!NO_PROFILE_COUNTERS]: Fix typo.
4277 * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
4278 instead of callq.
4279
d4f3924a
JJ
42802010-03-22 Janis Johnson <janis187@us.ibm.com>
4281 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4282
4283 * doc/sourcebuild.texi (Test Directives): Split into six
4284 subsections, with most of the current text in new subsections
4285 Directives, Selectors, and Final Actions.
4286 (Directives): Split list of test directives into multiple
4287 subsubsections.
4288 (Selectors): Describe use and syntax of selectors.
4289 (Effective-Target Keywords): Describe all existing keywords.
4290 (Add Options): Describe features for dg-add-options.
4291 (Require Support): Describe variants of dg-require-support.
4292 (Final Actions): Describe commands to use in dg-final.
4293
047550e9
MM
42942010-03-22 Michael Matz <matz@suse.de>
4295
4296 PR middle-end/43475
4297 * recog.c (validate_replace_rtx_group): Replace also in
4298 REG_EQUAL and REG_EQUIV notes.
4299
6d7971b8
RG
43002010-03-22 Richard Guenther <rguenther@suse.de>
4301
4302 PR tree-optimization/43390
4303 * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
4304 sure vector extracts are type correct.
4305
6af84c85
RG
43062010-03-22 Richard Guenther <rguenther@suse.de>
4307
4308 PR middle-end/40106
4309 * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
4310 x * sqrt (x) even when optimizing for size if the target
4311 has native support for sqrt.
4312
539eb459
JJ
43132010-03-22 Jakub Jelinek <jakub@redhat.com>
4314
be36dd85
JJ
4315 * varasm.c (make_decl_rtl_for_debug): Also clear
4316 flag_mudflap for the duration of make_decl_rtl call.
4317
539eb459
JJ
4318 PR debug/43443
4319 * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
4320 locs from preserved VALUEs.
4321
19c1be39
JDA
43222010-03-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4323
4324 PR middle-end/42718
4325 * pa.md (movmemsi): Set align to one if zero.
4326 (movmemdi): Likewise.
4327
f8b68ed3
RE
43282010-03-21 Richard Earnshaw <rearnsha@arm.com>
4329
4330 PR target/42321
4331 * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
4332 with their corresponding prologue pushes.
4333
941ce52b
AP
43342010-03-20 Andrew Pinski <pinskia@gmail.com>
4335
4336 PR target/43156
4337 * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
4338 at the begining or end.
4339 (spu_expand_epilogue): Likewise.
4340
d491d2af
RG
43412010-03-20 Richard Guenther <rguenther@suse.de>
4342
4343 PR rtl-optimization/43438
4344 * combine.c (make_extraction): Properly zero-/sign-extend an
4345 extraction of the low part of a CONST_INT. Also handle
4346 CONST_DOUBLE.
4347
4dd9ee92
MS
43482010-03-19 Mike Stump <mikestump@comcast.net>
4349
4350 * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
4351 * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
4352 (override_options): Use SUBTARGET32_DEFAULT_CPU.
4353
e49a760f
AP
43542010-03-19 Andrew Pinski <andrew_pinski@caviumnetworks.com>
4355
6644642e 4356 PR c/43211
fb04bb84
UB
4357 * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
4358 an error.
e49a760f 4359
f0c6475a 43602010-03-19 Bernd Schmidt <bernds@codesourcery.com>
002b2dee
BS
4361
4362 PR rtl-optimization/42258
4363 * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
4364 use that may match DEF.
4365
c99102b8
BS
4366 PR target/40697
4367 * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
4368 the cost of loading the constant rather than assuming
4369 COSTS_N_INSNS (1).
4370 * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
4371 outer code is AND, do the same tests as the andsi3 expander and
4372 return COSTS_N_INSNS (1) if and is cheap.
fdb2c684
BS
4373
4374 * optabs.c (avoid_expensive_constant): Fix formatting.
4375
f9ceed32
MM
43762010-03-19 Michael Matz <matz@suse.de>
4377
4378 PR c++/43116
4379 * attribs.c (decl_attributes): When rebuilding a function pointer
4380 type use the same qualifiers as the original pointer type.
4381
3795eae6
MJ
43822010-03-19 Martin Jambor <mjambor@suse.cz>
4383
4384 * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
4385 and is_gimple_ip_invariant_address.
4386
ae0bef88
RR
43872010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4388
4389 Revert
4390 2009-10-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4391
4392 * config/arm/arm.c (arm_override_options): Turn off
4393 flag_dwarf2_cfi_asm for AAPCS variants.
4394
9abf5d7b
RR
43952010-03-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4396
4397 PR target/43399
4398 * config/arm/arm.c (emit_multi_reg_push): Update comments.
4399 Use PRE_MODIFY instead of PRE_DEC.
4400 (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
4401 (vfp_emit_fstmd): Likewise.
4402
8a0b1aa4
MM
44032010-03-19 Michael Matz <matz@suse.de>
4404
4405 PR target/43305
4406 * builtins.c (expand_builtin_interclass_mathfn,
4407 expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
4408 if that fails.
4409
3e999e7b
RG
44102010-03-19 Richard Guenther <rguenther@suse.de>
4411
4412 PR tree-optimization/43415
4413 * tree-ssa-pre.c (phi_translate): Split out worker to ...
4414 (phi_translate_1): ... this.
4415 (phi_translate): Move all caching here. Cache all NARY
4416 and REFERENCE translations.
4417
9fd52c6c
DM
44182010-03-19 David S. Miller <davem@davemloft.net>
4419
4420 With help from Eric Botcazou.
4421 * config/sparc/sparc.c: Include dwarf2out.h.
4422 (emit_pic_helper): Delete.
4423 (pic_helper_symbol_name): Delete.
4424 (pic_helper_emitted_p): Delete.
4425 (pic_helper_needed): New.
4426 (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
4427 (get_pc_thunk_name): New.
4428 (load_pic_register): Remove 'delay_pic_helper' arg. Use
4429 get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
4430 Set pic_helper_needed to true. Don't call emit_pic_helper.
4431 (sparc_expand_prologue): Update load_pic_register call.
4432 (sparc_output_mi_thunk): Likewise.
4433 (sparc_file_end): Emit a hidden comdat symbol for the PIC
4434 thunk if possible. Output CFI information as needed.
4435
a29d9e20 44362010-03-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
b6010cab
FXC
4437 Jack Howarth <howarth@bromo.med.uc.edu>
4438
4439 PR target/36399
48019e3d 4440 * config/i386/i386.h: Fix ABI on darwin x86-32.
b6010cab 4441
b1aa0655
AH
44422010-03-18 Aldy Hernandez <aldyh@redhat.com>
4443
4444 * tree.h: Declare make_decl_rtl_for_debug.
4445 * varasm.c (make_decl_rtl_for_debug): New.
4446 * dwarf2out.c (rtl_for_decl_location): Call it.
4447 * cfgexpand.c (expand_debug_expr): Call it.
4448
f0c12fcc
JJ
44492010-03-18 Jakub Jelinek <jakub@redhat.com>
4450
9a05b749
JJ
4451 PR bootstrap/43399
4452 * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
4453 mem_mode.
4454
f0c12fcc
JJ
4455 PR bootstrap/43403
4456 * var-tracking.c (vt_init_cfa_base): Do nothing if
fb04bb84 4457 cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
f0c12fcc 4458
e999b0c9
AO
44592010-03-18 Alexandre Oliva <aoliva@redhat.com>
4460
4461 PR debug/42873
4462 * var-tracking.c (canonicalize_vars_star): New.
4463 (dataflow_post_merge_adjust): Use it.
4464
5644a3d0
JJ
44652010-03-18 Jakub Jelinek <jakub@redhat.com>
4466
4467 PR debug/43058
4468 * var-tracking.c (non_suitable_const): New function.
4469 (add_uses): For DEBUG_INSNs with constants, don't record any
4470 value, instead just the constant value itself.
4471 (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
4472 is not VAR_LOC_UNKNOWN_P, set var to the constant.
4473 (emit_notes_in_bb): Likewise.
4474 (emit_note_insn_var_location): For onepart variables if
4475 cur_loc is a VOIDmode constant, use DECL_MODE.
4476
8132a837
MJ
44772010-03-18 Martin Jambor <mjambor@suse.cz>
4478
4479 PR middle-end/42450
4480 * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
4481 * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
4482 all non-clones. Moved call redirection...
fb04bb84 4483 (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
8132a837
MJ
4484 (cgraph_materialize_all_clones): Dispose of all
4485 combined_args_to_skip bitmaps.
4486 (verify_cgraph_node): Do not check for edges pointing to wrong
4487 nodes in inline clones.
4488 * tree-inline.c (copy_bb): Call
4489 cgraph_redirect_edge_call_stmt_to_callee.
4490 * ipa.c (cgraph_remove_unreachable_nodes): Call
4491 cgraph_node_remove_callees even when there are used clones.
4492
7893d7ac
L
44932010-03-18 H.J. Lu <hongjiu.lu@intel.com>
4494
4495 * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
4496
cdfedab1
L
44972010-03-18 H.J. Lu <hongjiu.lu@intel.com>
4498
4499 PR target/43383
4500 * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
4501 for 32bit.
4502
c21372c4
MM
45032010-03-18 Michael Matz <matz@suse.de>
4504
4505 PR middle-end/43419
4506 * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
4507 into sqrt(x) if we need to preserve signed zeros.
4508
82fa5f8a
L
45092010-03-18 Steven Bosscher <steven@gcc.gnu.org>
4510 Eric Botcazou <ebotcazou@adacore.com>
4511
4512 PR rtl-optimization/43360
4513 * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
4514 note if we don't know its invariant status.
4515
eb45755f
MM
45162010-03-18 Michael Matz <matz@suse.de>
4517
4518 PR tree-optimization/43402
4519 * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
4520 PHI chains of ssa names registered for update.
4521
60936b22
PB
45222010-03-17 Peter Bergner <bergner@vnet.ibm.com>
4523
4524 PR target/42427
4525 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
4526 non-offsettable and pre_modify update addressing.
4527 * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
4528 and "2" alternatives "#".
4529 (*movdd_softfloat32): Make all alternatives "#";
4530 * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
4531 (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
4532 (*movdf_softfloat32): Make all alternatives "#";
4533 (movdi): Use the new DIFD mode iterator to create a common splitter
4534 for movdi, movdf and movdd patterns.
4535
316fc112
SZ
45362010-03-18 Shujing Zhao <pearly.zhao@oracle.com>
4537
4538 * common.opt (dumpdir): Remove redundant tab.
4539
ec24771f
MJ
45402010-03-17 Martin Jambor <mjambor@suse.cz>
4541
4542 PR tree-optimization/43347
4543 * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
4544 original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
4545
e33c42db
BS
45462010-03-17 Bernd Schmidt <bernd.schmidt@analog.com>
4547
4548 PR rtl-optimization/42216
4549 * regrename.c (create_new_chain): New function, broken out from...
4550 (scan_rtx_reg): ... here. Call it. Handle the case where we are
4551 appending a use to an empty chain.
4552 (build_def_use): Remove previous changes that convert OP_INOUT to
4553 OP_OUT operands; instead detect the case where an OP_INOUT operand
fb04bb84 4554 uses a previously untracked register and create an empty chain for it.
e33c42db 4555
4c4177dc
RW
45562010-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4557
4558 * doc/extend.texi (Function Attributes): Rewrite unfinished
4559 sentence in ms_abi documentation.
4560
60ac9511
AM
45612010-03-17 Alan Modra <amodra@gmail.com>
4562
4563 * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
4564 * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
4565 (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
4566 * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
4567
e19d1f06
RH
45682010-03-16 Richard Henderson <rth@redhat.com>
4569
4570 PR middle-end/43365
4571 * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
4572 (lower_try_finally): Save and restore eh_seq around the expansion
4573 of the try-finally.
4574
c36fed0c
AH
45752010-03-16 Aldy Hernandez <aldyh@redhat.com>
4576
4577 * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
4578 statements before splitting block.
4579
17a7cb4e
RO
45802010-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4581
4582 * doc/sourcebuild.texi (Testsuites): Fix markup.
4583 Use pathnames relative to gcc/testsuite.
4584 (Test Directives): Move description of how timeout is determined.
4585 (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
4586 (C Tests): Correct gcc.misc-tests directory.
4587 Framework tests now live in gcc.test-framework.
4588
7686fb74
RG
45892010-03-16 Richard Guenther <rguenther@suse.de>
4590
4591 PR middle-end/43379
fb04bb84
UB
4592 * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
4593 operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
7686fb74 4594
7a181764
AH
45952010-03-16 Aldy Hernandez <aldyh@redhat.com>
4596 Alexandre Oliva <aoliva@redhat.com>
4597
4598 PR tree-optimization/42917
4599 * lambda-code.c (remove_iv): Skip debug statements.
4600 (lambda_loopnest_to_gcc_loopnest): Likewise.
4601 (not_interesting_stmt): Debug statements are not interesting.
4602
457eeaae
JJ
46032010-03-16 Jakub Jelinek <jakub@redhat.com>
4604
4605 PR debug/43051
4606 PR debug/43092
4607 * cselib.c (cselib_preserve_constants,
4608 cfa_base_preserved_val): New static variables.
4609 (preserve_only_constants): New function.
4610 (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
fb04bb84 4611 clear its REG_VALUES. If cselib_preserve_constants, don't
457eeaae
JJ
4612 empty the whole hash table, but preserve there VALUEs with constants,
4613 cfa_base_preserved_val and cfa_base_preserved_val plus constant.
4614 (cselib_preserve_cfa_base_value): New function.
4615 (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
4616 (cselib_init): Change argument to int bitfield. Set
4617 cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
4618 is in it.
4619 (cselib_finish): Clear cselib_preserve_constants and
4620 cfa_base_preserved_val.
4621 * cselib.h (enum cselib_record_what): New enum.
4622 (cselib_init): Change argument to int.
4623 (cselib_preserve_cfa_base_value): New prototype.
4624 * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
4625 * dse.c (dse_step1): Likewise.
4626 * cfgcleanup.c (thread_jump): Likewise.
4627 * sched-deps.c (sched_analyze): Likewise.
4628 * gcse.c (local_cprop_pass): Likewise.
4629 * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
4630 If FN is non-NULL, call the callback always and whenever it returns
4631 non-NULL just return that. Only do rtx_equal_p if FN is NULL.
4632 * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
4633 * combine.c (propagate_for_debug_subst): Add old_rtx argument,
4634 compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
4635 * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
4636 * var-tracking.c: Include recog.h.
4637 (bb_stack_adjust_offset): Remove.
4638 (vt_stack_adjustments): Don't call it, instead just gather the
4639 adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
4640 (adjust_stack_reference): Remove.
4641 (compute_cfa_pointer): New function.
4642 (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
4643 (struct adjust_mem_data): New type.
4644 (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
4645 functions.
4646 (get_address_mode): New function.
4647 (replace_expr_with_values): Use it.
4648 (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
4649 Use get_address_mode. For cfa_base_rtx return MO_CLOBBER.
4650 (adjust_sets): Remove.
4651 (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
4652 Use get_address_mode.
4653 (get_adjusted_src): Remove.
4654 (add_stores): Don't call it. Never reuse expr SET. Don't add extra
4655 MO_VAL_USE for cfa_base_rtx plus constant. Use get_address_mode.
4656 (add_with_sets): Don't call adjust_sets.
4657 (fp_setter, vt_init_cfa_base): New functions.
4658 (vt_initialize): Change return type to bool. Move most of pool etc.
4659 initialization to the beginning of the function from end. Pass
4660 CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
4661 If !frame_pointer_needed, call vt_stack_adjustment before mos
4662 vector is filled, call vt_init_cfa_base if argp/framep has been
4663 eliminated to sp. If frame_pointer_needed and argp/framep has
4664 been eliminated to hard frame pointer, set
4665 hard_frame_pointer_adjustment and call vt_init_cfa_base after
4666 encountering fp setter in the prologue. For MO_ADJUST, call
4667 log_op_type before pusing the op into mos vector, not afterwards.
4668 Call adjust_insn before cselib_process_insn/add_with_sets,
4669 call cancel_changes (0) afterwards.
4670 (variable_tracking_main_1): Adjust for vt_initialize calling
4671 vt_stack_adjustments and returning whether it succeeded or not.
4672
7dee65d8
AH
46732010-03-15 Aldy Hernandez <aldyh@redhat.com>
4674
4675 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
4676 debug statements.
4677
6019a098
JJ
46782010-03-15 Jakub Jelinek <jakub@redhat.com>
4679
4680 * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
4681 has been set.
4682 (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
4683 drap_reg has not been set.
4684
c2172338
MM
46852010-03-15 Michael Matz <matz@suse.de>
4686
4687 PR middle-end/43300
4688 * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
4689 use it to expand block copies.
4690 (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
4691 insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
4692 (insert_value_copy_on_edge): Use store_expr for BLKmode values.
4693
610b64e2
RG
46942010-03-15 Richard Guenther <rguenther@suse.de>
4695
4696 PR tree-optimization/43367
4697 * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
4698 elimination check.
4699
610de68d
RB
47002010-03-15 Richard Guenther <rguenther@suse.de>
4701
4702 PR tree-optimization/43317
4703 * ipa-struct-reorg.c (create_new_general_access): Update stmt.
4704
932e2e64
MJ
47052010-03-15 Martin Jambor <mjambor@suse.cz>
4706
610de68d 4707 PR tree-optimization/43141
932e2e64
MJ
4708 * tree-sra.c (create_abstract_origin): New function.
4709 (modify_function): Call create_abstract_origin.
4710
c8c520dd
CD
47112010-03-15 Chris Demetriou <cgd@google.com>
4712
4713 * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
4714 wasn't copied.
4715
7f931500
SP
47162010-03-13 Sebastian Pop <sebastian.pop@amd.com>
4717
4718 PR middle-end/43354
4719 * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
4720 call insert_out_of_ssa_copy for default definitions.
4721
47222010-03-13 Sebastian Pop <sebastian.pop@amd.com>
4723
4724 * graphite-clast-to-gimple.c (my_long_long): Defined.
4725 (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
4726 * graphite-sese-to-poly.c (my_long_long): Defined.
4727 (scop_ivs_can_be_represented): Use it.
4728
47292010-03-13 Sebastian Pop <sebastian.pop@amd.com>
4730
4731 * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
4732 graphite-max-bbs-per-function, and loop-block-tile-size.
4733 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
4734 with "maximum".
4735 (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
4736
47372010-03-13 Sebastian Pop <sebastian.pop@amd.com>
4738
4739 * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
4740 forward declaration.
4741 * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
4742 (add_upper_bounds_from_estimated_nit): New.
4743 (build_loop_iteration_domains): Use it.
4744
47452010-03-13 Sebastian Pop <sebastian.pop@amd.com>
4746
4747 * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
4748
47492010-03-13 Sebastian Pop <sebastian.pop@amd.com>
4750
4751 PR middle-end/43306
4752 * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
4753 should be an INTEGER_CST. Also handle CASE_CONVERT.
4754
47552010-03-13 Sebastian Pop <sebastian.pop@amd.com>
4756
4757 * graphite.c (graphite_initialize): To bound the number of bbs per
4758 function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
4759 * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
4760 * doc/invoke.texi: Document it.
4761
47622010-03-13 Sebastian Pop <sebastian.pop@amd.com>
4763
4764 * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
4765 * graphite-sese-to-poly.h (build_poly_scop): Same.
4766
47672010-03-13 Sebastian Pop <sebastian.pop@amd.com>
4768
4769 * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
4770 the number of parameters in the scop. Use as an upper bound
4771 PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
4772 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
4773 * doc/invoke.texi: Document it.
4774
929769f4
JQ
47752010-03-13 Jerry Quinn <jlquinn@optonline.net>
4776
4777 * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
4778 * doc/c-tree.texi: Remove.
4779 * doc/generic.texi: Merge c-tree.texi here.
4780 * doc/gccint.texi (Trees): Remove menu entry.
4781 (c-tree.texi): Remove @include.
4782 * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
4783 * doc/languages.texi (Reading RTL): Ditto.
4784
9c8cab44
SE
47852010-03-12 Steve Ellcey <sje@cup.hp.com>
4786
4787 PR target/42869
4788 * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
4789
08f9d725
MM
47902010-03-12 Michael Meissner <meissner@linux.vnet.ibm.com>
4791
4792 PR middle-end/42431
4793 * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
4794 code added to work around reload clobbering CONST insns.
4795
70235ab9
JJ
47962010-03-12 Jakub Jelinek <jakub@redhat.com>
4797
0de3e43f
JJ
4798 * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
4799 (cselib_preserve_definitely, cselib_clear_preserve): Remove.
4800 (cselib_preserve_only_values): Remove retain argument, don't
4801 traverse hash table with cselib_{preserve_definitely,clear_preserve}.
4802 * cselib.h (cselib_preserve_only_values): Remove retain argument.
4803 * var-tracking.c (micro_operation): Move insn field before union.
4804 Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
4805 (struct variable_tracking_info_def): Remove n_mos field, change
4806 mos into a vector of micro_operations.
4807 (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
4808 (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
4809 compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
4810 changing into a vector.
4811 (add_with_sets): Likewise. Ensure MO_VAL_USE uops from add_stores
4812 come before all other uops generated by add_stores.
4813 (vt_add_function_parameters): Adjust for cselib_preserve_only_values
4814 argument removal.
4815 (vt_initialize): Likewise. Adjust for VTI (bb)->mos changing into
4816 a vector. Run just one pass over the bbs instead of separate counting
4817 and computation phase.
4818 (vt_finalize): Free VTI (bb)->mos vector instead of array.
4819
70235ab9
JJ
4820 PR debug/43329
4821 * tree-inline.c (remap_decls): Put old_var rather than origin_var
4822 into *nonlocalized_list vector.
4823 * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
4824 even if origin is non-NULL.
4825 (gen_variable_die): Likewise.
4826 (process_scope_var): Don't change origin.
4827 (gen_decl_die): Likewise.
4828 * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
4829 before adding new edges instead of after it, fix moving over
4830 debug stmts.
4831
7ac22e17
DM
48322010-03-11 David S. Miller <davem@davemloft.net>
4833
77514c73
UB
4834 * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
4835 of four.
7ac22e17
DM
4836 * configure: Rebuild.
4837
0e0a1359
MJ
48382010-03-11 Martin Jambor <mjambor@suse.cz>
4839
4840 PR tree-optimization/43257
4841 * tree.c (assign_assembler_name_if_neeeded): New function.
4842 (free_lang_data_in_cgraph): Assembler name assignment moved to the
4843 above new function.
4844 * tree.h (assign_assembler_name_if_neeeded): Declare.
4845 * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
4846 the function if needed.
4847
1d9edd01
CD
48482010-03-11 Chris Demetriou <cgd@google.com>
4849
4850 * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
4851 include/stdint-gcc.h, and include/stdint.h world-readable.
4852
ff0a0c1d
RG
48532010-03-11 Richard Guenther <rguenther@suse.de>
4854
4855 PR tree-optimization/43255
4856 * tree-vrp.c (process_assert_insertions_for): Do not insert
4857 asserts for trivial conditions.
4858
b509e1fc
AK
48592010-03-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
4860
4861 PR tree-optimization/43280
77514c73
UB
4862 * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
4863 generation. Move calculation of size out of the if branch.
b509e1fc
AK
4864 (find_bswap): Modify compare number generation.
4865
108ba00b
RG
48662010-03-11 Richard Guenther <rguenther@suse.de>
4867
4868 PR lto/43200
4869 * lto-streamer-in.c (maybe_fixup_decls): Simplify.
4870 (input_gimple_stmt): Fixup handled component types during
4871 operand read. Also fix up decls in ADDR_EXPRs.
4872
f37f5bb9
EB
48732010-03-10 Eric Botcazou <ebotcazou@adacore.com>
4874
4875 * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
4876 * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
4877
e9fecf0e
JH
48782010-03-10 Jan Hubicka <jh@suse.cz>
4879
4880 PR c/43288
4881 * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
4882 * varasm.c (get_variable_section): Don't do that here...
4883 (make_decl_rtl): ... and here.
4884 (do_assemble_alias): Produce decl RTL.
4885 (assemble_alias): Likewise.
4886
23f39b37
JJ
48872010-03-10 Jakub Jelinek <jakub@redhat.com>
4888
4889 PR debug/43290
4890 * reg-notes.def (REG_CFA_SET_VDRAP): New note.
4891 * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
4892 of fde->vdrap_reg.
4893 (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
4894 (based_loc_descr): Only express drap or vdrap regno based expressions
4895 using DW_OP_fbreg when not optimizing.
4896 * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
4897 make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
4898 REG_CFA_SET_VDRAP note.
4899
6edd8198
AM
49002010-03-10 Alexander Monakov <amonakov@ispras.ru>
4901
4902 PR tree-optimization/43236
4903 * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
4904 error in calculation of base address in reverse iteration case.
4905 (generate_builtin): Take number of latch executions if the statement
4906 is in the latch.
4907
9f698956
AB
49082010-03-10 Andrey Belevantsev <abel@ispras.ru>
4909
4910 PR middle-end/42859
4911 * tree-eh.c: Include pointer-set.h.
4912 (lower_eh_dispatch): Filter out duplicate case labels and
4913 remove the unneeded edge when the label is unused. Return
4914 true when some edges are removed.
4915 (execute_lower_eh_dispatch): When any lowering resulted in
4916 removing an edge, also delete unreachable blocks.
4917
ff4f03c3
JJ
49182010-03-10 Jakub Jelinek <jakub@redhat.com>
4919
4920 PR bootstrap/43287
4921 * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
4922 UNSPEC_MACHOPIC_OFFSET.
4923
7b0f476d
AS
49242010-03-09 Andreas Schwab <schwab@linux-m68k.org>
4925
4926 PR target/43294
4927 * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
4928 (m68k_delegitimize_address): New function.
4929
3b7998ea
JJ
49302010-03-09 Jakub Jelinek <jakub@redhat.com>
4931
eb1fcdaa
JJ
4932 PR debug/43299
4933 * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
4934
69b89883
JJ
4935 PR debug/43299
4936 * var-tracking.c (adjust_sets): New function.
4937 (count_with_sets, add_with_sets): Use it.
4938 (get_adjusted_src): New inline function.
4939 (add_stores): Use it.
4940
3b7998ea
JJ
4941 PR debug/43304
4942 * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
4943 call cselib_dummy_expand_value_rtx_cb instead of
4944 cselib_expand_value_rtx_cb.
bded9b70
JJ
4945
4946 PR debug/43293
4947 * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
4948 * config/i386/i386.c: Include debug.h and dwarf2out.h.
4949 (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
4950 and .cfi_endproc around the pic thunks.
4951 (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
4952 all queued unwind info register saves are saved before the call.
4953 For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
4954 considered as sp-=4 for unwind info and the pop as sp+=4 which
4955 also clobbers dest, but doesn't actually restore it.
4398467a
JJ
4956
4957 PR debug/43290
4958 * config/i386/i386.c (ix86_get_drap_rtx): Don't set
4959 RTX_FRAME_RELATED_P.
4960
81ad4ac0
JZ
49612010-03-09 Jie Zhang <jie@codesourcery.com>
4962
4963 * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
4964 whitespaces in output template.
4965
dc344e87
JZ
49662010-03-09 Jie Zhang <jie@codesourcery.com>
4967
4968 * ira-lives.c (check_and_make_def_use_conflict): Don't fall
4969 out array boundary.
4970
ff12d3a6
JJ
49712010-03-08 Jakub Jelinek <jakub@redhat.com>
4972
4973 * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
4974 builtins.exp in a separate job.
4975
b58543c3
SP
49762010-03-08 Sebastian Pop <sebastian.pop@amd.com>
4977
4978 * graphite-sese-to-poly.c (add_param_constraints): Use
4979 lower_bound_in_type and upper_bound_in_type.
4980
49812010-03-08 Sebastian Pop <sebastian.pop@amd.com>
4982
4983 * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
4984 instead of unsigned_type_node.
4985
49862010-03-08 Sebastian Pop <sebastian.pop@amd.com>
4987 Reza Yazdani <reza.yazdani@amd.com>
4988
4989 PR middle-end/43065
4990 * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
4991 on pointer type parameters.
4992
49932010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
4994
4995 PR middle-end/42644
4996 PR middle-end/42130
4997 * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
4998 handle conversions from pointer to integers.
4999 (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
77514c73 5000 induction variable, to be able to work with code generated by CLooG.
b58543c3
SP
5001 * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
5002 (build_poly_scop): Bail out if we cannot codegen a loop.
5003
50042010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
5005
5006 * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
5007 code generation with gloog_error.
5008
50092010-03-08 Sebastian Pop <sebastian.pop@amd.com>
5010
5011 * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
5012 Call fold_convert on all the returned values.
77514c73
UB
5013 (expand_scalar_variables_expr): Pass to
5014 expand_scalar_variables_ssa_name the type of the resulting expression.
b58543c3
SP
5015
50162010-03-08 Sebastian Pop <sebastian.pop@amd.com>
5017
5018 * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
77514c73
UB
5019 ppl_min_for_le_pointset.
5020 Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
b58543c3
SP
5021 * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
5022
50232010-03-08 Sebastian Pop <sebastian.pop@amd.com>
5024
5025 * graphite-dependences.c (map_into_dep_poly): Removed.
5026 (dependence_polyhedron_1): Use combine_context_id_scat.
5027
50282010-03-08 Sebastian Pop <sebastian.pop@amd.com>
5029
5030 * graphite-poly.h (struct poly_scattering): Add layout documentation.
5031 (struct poly_bb): Same.
5032 (combine_context_id_scat): New.
5033
50342010-03-08 Sebastian Pop <sebastian.pop@amd.com>
5035
5036 PR middle-end/42326
5037 * sese.c (name_defined_in_loop_p): Return false for default
5038 definitions.
5039
50402010-03-08 Sebastian Pop <sebastian.pop@amd.com>
5041
5042 * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
5043 and clean up the logic.
5044
50452010-03-08 Sebastian Pop <sebastian.pop@amd.com>
5046
5047 * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
5048 early return.
5049
1feb8238
JJ
50502010-03-08 Jakub Jelinek <jakub@redhat.com>
5051
5052 * var-tracking.c (remove_cselib_value_chains): Define only for
5053 ENABLE_CHECKING.
5054 (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
5055 delete_slot_part, emit_notes_for_differences_1): Don't call
5056 remove_cselib_value_chains here.
5057 (set_slot_part, emit_notes_for_differences_2): Don't call
5058 add_cselib_value_chains here.
5059 (preserved_values): New vector.
5060 (preserve_value): New function.
5061 (add_uses, add_stores, vt_add_function_parameters): Use it
5062 instead of cselib_preserve_value.
5063 (changed_values_stack): New vector.
5064 (check_changed_vars_0): New function.
5065 (check_changed_vars_1, check_changed_vars_2): Use it.
5066 (emit_notes_for_changes): Call set_dv_changed (*, false) on all
5067 changed_values_stack VALUEs.
5068 (vt_emit_notes): For all preserved_values call
5069 add_cselib_value_chains. If ENABLE_CHECKING call
5070 remove_cselib_value_chains before verifying value_chains is empty.
5071 Initialize and free changed_values_stack.
5072 (vt_initialize): Initialize preserved_values.
5073 (vt_finalize): Free preserved_values.
5074
cc788fcc
RG
50752010-03-08 Richard Guenther <rguenther@suse.de>
5076
5077 PR tree-optimization/43269
5078 * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
5079 region detection.
5080
69c103c7
MJ
50812010-03-08 Martin Jambor <mjambor@suse.cz>
5082
5083 * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
5084 (ipa_is_param_called): Removed.
5085 * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
5086 (ipa_print_node_params): Do not print the called flag.
5087 (ipa_write_node_info): Do not stream the called flag.
5088 (ipa_read_node_info): Likewise.
5089
864ddef7
JJ
50902010-03-07 Jakub Jelinek <jakub@redhat.com>
5091
5092 PR debug/43176
5093 * Makefile.in (var-tracking.o): Depend on pointer-set.h.
5094 * cselib.c (struct expand_value_data): Add dummy field.
5095 (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
5096 dummy to false.
5097 (cselib_dummy_expand_value_rtx_cb): New function.
5098 (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
5099 any rtl.
5100 * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
5101 * var-tracking.c: Include pointer-set.h.
5102 (variable): Change n_var_parts to char from int. Add
5103 cur_loc_changed and in_changed_variables fields.
5104 (variable_canonicalize): Remove.
5105 (shared_var_p): New inline function.
5106 (unshare_variable): Maintain cur_loc_changed and
5107 in_changed_variables fields. If var was in changed_variables,
5108 replace it there with new_var. Just copy cur_loc instead of
5109 resetting it to something else.
5110 (variable_union): Don't recompute cur_loc. Use shared_var_p.
5111 (dataflow_set_union): Don't call variable_canonicalize.
5112 (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
5113 of their DEBUG_EXPR_TREE_DECLs.
5114 (canonicalize_loc_order_check): Verify that cur_loc is NULL
5115 and in_changed_variables and cur_loc_changed is false.
5116 (variable_merge_over_cur): Clear cur_loc, in_changed_variables
5117 and cur_loc_changed. Don't update cur_loc here.
5118 (variable_merge_over_src): Don't call variable_canonicalize.
5119 (dataflow_set_preserve_mem_locs): Use shared_var_p. When
5120 removing loc that is equal to cur_loc, clear cur_loc,
5121 set cur_loc_changed and ensure variable_was_changed is called.
5122 (dataflow_set_remove_mem_locs): Use shared_var_p. Only
5123 compare pointers in cur_loc check, if it is equal to loc,
5124 clear cur_loc and set cur_loc_changed. Don't recompute cur_loc here.
5125 (variable_different_p): Remove compare_current_location argument,
5126 don't compare cur_loc.
5127 (dataflow_set_different_1): Adjust variable_different_p caller.
5128 (variable_was_changed): If dv had some var in changed_variables
5129 already, reset in_changed_variables flag for it and propagate
5130 cur_loc_changed over to the new variable. On empty var
5131 always set cur_loc_changed. Set in_changed_variables on whatever
5132 var is added to changed_variables.
5133 (set_slot_part): Clear cur_loc_changed and in_changed_variables.
5134 Use shared_var_p. When removing loc that is equal to cur_loc,
5135 clear cur_loc and set cur_loc_changed. If cur_loc is NULL at the
5136 end, don't set it to something else, just call variable_was_changed.
5137 (delete_slot_part): Use shared_var_p. When cur_loc equals to
5138 loc being removed, clear cur_loc and set cur_loc_changed.
5139 Set cur_loc_changed if all locations have been removed.
5140 (struct expand_loc_callback_data): New type.
5141 (vt_expand_loc_callback): Add dummy mode in which no rtxes are
5142 allocated. Always create SUBREGs if simplify_subreg failed.
5143 Prefer to use cur_loc, when that fails and still in
5144 changed_variables (and seen first time) recompute it. Set
5145 cur_loc_changed of variables which had to change cur_loc and
5146 compute elcd->cur_loc_changed if any of the subexpressions used
5147 had to change cur_loc.
5148 (vt_expand_loc): Adjust to pass arguments in
5149 expand_loc_callback_data structure.
5150 (vt_expand_loc_dummy): New function.
5151 (emitted_notes): New variable.
5152 (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
5153 that weren't used for any other decl in current
5154 emit_notes_for_changes call call vt_expand_loc_dummy to update
5155 cur_loc. For -fno-var-tracking-assignments, set cur_loc to
5156 first loc_chain location if NULL before. Always use just
5157 cur_loc instead of first loc_chain location. When cur_loc_changed
5158 is false, when not --enable-checking=rtl just don't emit any note.
5159 When rtl checking, compute the note and assert it is the same
5160 as previous note. Clear cur_loc_changed and in_changed_variables
5161 at the end before removing from changed_variables.
5162 (check_changed_vars_3): New function.
5163 (emit_notes_for_changes): Traverse changed_vars to call
5164 check_changed_vars_3 on each changed var.
5165 (emit_notes_for_differences_1): Clear cur_loc_changed and
5166 in_changed_variables. Recompute cur_loc of new_var.
77514c73 5167 (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
864ddef7
JJ
5168 (vt_emit_notes): Initialize and destroy emitted_notes.
5169
c4137918
BS
51702010-03-07 Bernd Schmidt <bernd.schmidt@analog.com>
5171
5172 PR rtl-optimization/42220
5173 * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
5174 Use verify_reg_tracked to determine if we should use OP_OUT rather
5175 than OP_INOUT.
5176 (build_def_use): If we see an in-out operand for a register that we
5177 know nothing about, treat is an output if possible, fail the block if
5178 not.
5179
cd6549e8
AO
51802010-03-06 Alexandre Oliva <aoliva@redhat.com>
5181
5182 PR debug/42897
5183 * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
5184 permanently.
5185
aba09491
AO
51862010-03-06 Alexandre Oliva <aoliva@redhat.com>
5187
5188 PR debug/42897
5189 * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
5190 uses of relevant DEFs that are dead outside the loop too.
5191
60d7a09b
AO
51922010-03-06 Alexandre Oliva <aoliva@redhat.com>
5193
5194 * var-tracking.c (dataflow_set_merge): Swap src and src2.
5195 Reverted:
5196 2010-01-13 Jakub Jelinek <jakub@redhat.com>
5197 PR debug/41371
5198 * var-tracking.c (values_to_unmark): New variable.
5199 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
5200 values_to_unmark vector. Moved body to...
5201 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
5202 instead queue it into values_to_unmark vector.
5203 (vt_find_locations): Free values_to_unmark vector.
5204
eeb971c9
EB
52052010-03-05 Eric Botcazou <ebotcazou@adacore.com>
5206
5207 * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
5208 (site.exp): Export them when plugins are enabled.
5209
ccc5b640
SP
52102010-03-05 Sebastian Pop <sebastian.pop@amd.com>
5211
5212 PR middle-end/42326
5213 * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
5214 that contain scevs.
5215 (chrec_fold_multiply): Same.
5216
3e23fb2e
AP
52172010-03-04 Andrew Pinski <andrew_pinski@caviumnetworks.com>
5218
5219 PR c/43248
5220 * c-decl.c (build_compound_literal): Return early if init is
5221 an error_mark_node.
5222
76f76cd0
MJ
52232010-03-04 Martin Jambor <mjambor@suse.cz>
5224
5225 PR tree-optimization/43164
5226 PR tree-optimization/43191
5227 * tree-sra.c (type_consists_of_records_p): Reject records with
5228 zero-size bit-fields at the end.
5229
b2d244d1
MS
52302010-03-04 Mike Stump <mikestump@comcast.net>
5231
5232 * Makefile.in (TAGS): Remove *.y.
5233
9ca87236
RB
52342010-03-04 Richard Guenther <rguenther@suse.de>
5235
5236 PR tree-optimization/40761
5237 * tree-ssa-pre.c (compute_antic): Walk reverse postorder
5238 in reverse order.
5239 (my_rev_post_order_compute): New function.
5240 (init_pre): Call it.
5241
572ae476
CF
52422010-03-04 Changpeng Fang <changpeng.fang@amd.com>
5243
8c0386a4 5244 PR middle-end/43209
9ca87236
RB
5245 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
5246 decrease the cost of an IV candidate when the cost is infinite.
572ae476 5247
f8723eb6
RW
52482010-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5249
5250 * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
5251 Use '3DNow!' for the extension of that name, ensure normal space
5252 after the string.
5253 * doc/invoke.texi (i386 and x86-64 Options): Likewise.
5254
d8a60d24
JL
52552010-03-03 Jeff Law <law@redhat.com>
5256
5257 * PR middle-end/32693
5258 * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
5259 than gen_rtx_SUBREG.
5260 (extract_bit_field_1): Likewise.
5261
8ec49cff
JJ
52622010-03-03 Janis Johnson <janis187@us.ibm.com>
5263
5264 * doc/sourcebuild.texi (Test directives): Document that arguments
5265 include-opts and exclude-opts are now optional for dg-skip-if,
5266 dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
5267
2c71ac78
JM
52682010-03-03 Jason Merrill <jason@redhat.com>
5269
5270 PR c++/12909
5271 * cgraph.h (varpool_node): Add extra_name field.
5272 * varpool.c (varpool_extra_name_alias): New.
5273 (varpool_assemble_decl): Emit extra name aliases.
5274 (varpool_mark_needed_node): Look past an extra name alias.
1d5053d6
JM
5275 * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
5276 * lto-streamer-in.c (lto_input_tree): Read it.
5277 * lto-streamer-out.c (output_unreferenced_globals): Write it.
2c71ac78 5278
2587aa3b
EB
52792010-03-03 Eric Botcazou <ebotcazou@adacore.com>
5280
5281 * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
5282 (sparc*-*-solaris2*): ...this.
5283
db51bb34
JJ
52842010-03-03 Jakub Jelinek <jakub@redhat.com>
5285
7ece48b1
JJ
5286 PR debug/43229
5287 * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
5288 WIDEN_MULT_EXPR and WIDEN_SUM_EXPR. Return NULL without
5289 ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
5290 FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
5291
0508bed7
JJ
5292 PR debug/43237
5293 * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
5294 fallthrough to default handling, just with want_address 0 instead of 2.
5295 For single element lists, add_AT_loc directly, otherwise create an
5296 artificial variable DIE and stick location list to it.
5297
db51bb34
JJ
5298 PR debug/43177
5299 * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
5300 (VAL_EXPR_HAS_REVERSE): Define.
5301 (reverse_op): New function.
5302 (add_stores): For reversible operations add an extra MO_VAL_USE.
5303
7428bc26
JM
53042010-03-02 Jason Merrill <jason@redhat.com>
5305
5306 * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
5307
d1ced155
EB
53082010-03-02 Eric Botcazou <ebotcazou@adacore.com>
5309
5310 * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
5311 (sparc64-*-linux*): Likewise.
5312 (sparc64-*-solaris2*): Include assembler files before linker ones.
5313 (sparc-*-solaris2*): Simplify and reorder to match previous case.
5314 * config/sparc/gas.h: Delete.
5315 * config/sparc/sol2-64.h: Add copyright notice.
5316 * config/sparc/sol2-gas-bi.h: Likewise.
5317 * config/sparc/sol2-gld.h: Likewise.
5318 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
5319 * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
5320 * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
5321 * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
5322 (sparc_elf_asm_named_section): Rename into...
5323 (sparc_solaris_elf_asm_named_section): ...this. Always define.
5324
02d43000
UB
53252010-03-02 Uros Bizjak <ubizjak@gmail.com>
5326
5327 * config/alpha/alpha.c (override_options): Fix -mtune error message.
5328
f6c86fab
JL
53292010-03-02 Jeff Law <law@redhat.com>
5330
4e222e63 5331 PR middle-end/42431
f6c86fab
JL
5332 * reload1.c (rtx_p, substitute_stack): Declare.
5333 (substitute): Record addresses of changed rtxs.
5334 (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
5335 Restore the original rtx when complete.
5336 (reload): Free subsitute_stack when complete.
5337
500cdcb0
JJ
53382010-03-02 Janis Johnson <janis187@us.ibm.com>
5339
5340 * doc/gccint.texi (menu): Add Testsuites as a chapter.
5341 * doc/sourcebuild.texi (Testsuites): Move up a level to be a
5342 new chapter.
5343 (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
5344 LTO Testing, gcov Testing, profopt Testing, compat Testing,
5345 Torture Tests): Change from subsection to section.
5346
d9a6979d
JJ
53472010-03-02 Jakub Jelinek <jakub@redhat.com>
5348 Steven Bosscher <steven@gcc.gnu.org>
5349
02d43000
UB
5350 * var-tracking.c (vt_initialize): Scan insns in ebb chunks
5351 instead of bb.
d9a6979d 5352
61226dc8
SP
53532010-03-02 Reza Yazdani <reza.yazdani@amd.com>
5354
5355 PR middle-end/42640
5356 * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
5357 the assignment from the new induction variable to the assignment
5358 of the value from the original loop PHI function.
5359
15e7a617
JJ
53602010-03-01 Janis Johnson <janis187@us.ibm.com>
5361 Daniel Jacobowitz <dan@codesourcery.com>
5362
5363 * doc/sourcebuild.texi (Test directives): Clarify options to
5364 dg-skip-if.
5365
eb2573ee
RO
53662010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5367
5368 * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
5369 Disable cfi directives unless GCC and gas agree on using read-only
5370 .eh_frame sections for 64-bit.
5371 * configure: Regenerate.
5372
12f9ddbc
RG
53732010-03-01 Richard Guenther <rguenther@suse.de>
5374
5375 PR tree-optimization/43220
5376 * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
5377 BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
5378
f0c10f0f 53792010-03-01 Richard Guenther <rguenther@suse.de>
02d43000 5380 Martin Jambor <mjambor@suse.cz>
f0c10f0f
RG
5381
5382 PR middle-end/41250
5383 * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
5384 gimplified parameters.
5385
c40b5400
CB
53862010-03-01 Christian Bruel <christian.bruel@st.com>
5387
5388 * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
61226dc8 5389
3c775d2d
L
53902010-03-01 H.J. Lu <hongjiu.lu@intel.com>
5391
5392 * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
5393
434c8f4b
RG
53942010-03-01 Richard Guenther <rguenther@suse.de>
5395
5396 PR middle-end/43213
5397 * expr.c (expand_assignment): Use the alias-oracle to tell
5398 if the rhs aliases the result decl.
5399
291c0a12
RO
54002010-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5401
5402 PR pch/14940
5403 * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
5404 to sol_gt_pch_get_address.
5405 (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
5406 64-bit, SPARC and x86.
5407 (sol_gt_pch_get_address): New function.
5408
61226dc8 54092010-03-01 Marco Poletti <poletti.marco@gmail.com>
894e2652
SZ
5410
5411 * toplev.h (inform_n, error_n): Declare.
5412 * diagnostic.c (inform_n, error_n): New function.
5413
6c6366f6
JJ
54142010-03-01 Jakub Jelinek <jakub@redhat.com>
5415
5416 * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
5417 has no rtl yet when processing local_decls, queue it and recheck
5418 if deferred stack allocation hasn't assigned it rtl.
5419
826159e5
KK
54202010-02-28 Kaz Kojima <kkojima@gcc.gnu.org>
5421
5422 * config/sh/sh.c (unspec_bbr_uid): New.
5423 (gen_block_redirect): Use it instead of INSN_UID.
5424 (gen_far_branch): Likewise.
5425
746ecbcd
L
54262010-02-28 H.J. Lu <hongjiu.lu@intel.com>
5427
5428 * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
5429 it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
5430
02a9370c
RW
54312010-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5432
5433 * doc/invoke.texi (Warning Options, RX Options): Fix typos.
5434 (Warning Options): -Wno-conversion-null is valid for
5435 Objective-C++ as well.
5436 * doc/tm.texi (Named Address Spaces): Likewise.
5437 * doc/plugins.texi (Plugins): Replace TABs with spaces.
5438 * doc/tree-ssa.texi (Tree SSA): Likewise.
5439
91ad7e13
L
54402010-02-27 H.J. Lu <hongjiu.lu@intel.com>
5441
5442 PR bootstrap/43202
5443 * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
5444 by default. Don't set the default arch for
5445 i[34567]86-*-darwin*|x86_64-*-darwin*.
5446
55c4eeaa
L
54472010-02-27 H.J. Lu <hongjiu.lu@intel.com>
5448
5449 PR bootstrap/43202
5450 * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
5451 default. Set the default 32bit/64bit archs with $with_arch
5452 instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
5453
30bc1dca
RG
54542010-02-27 Richard Guenther <rguenther@suse.de>
5455
5456 PR tree-optimization/43186
5457 * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
5458 * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
5459 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
5460 unroller iterations.
5461
c6b9174f
L
54622010-02-27 H.J. Lu <hongjiu.lu@intel.com>
5463
5464 * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
5465 required and i[34567]86-*-* targets don't support 64bit ISA.
5466
2743db69
EB
54672010-02-26 Eric Botcazou <ebotcazou@adacore.com>
5468
5469 PR ada/43096
5470 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
5471 the same alias set.
5472
4d16c0dc
L
54732010-02-26 H.J. Lu <hongjiu.lu@intel.com>
5474
5475 * config.gcc: Set the default arch at least to Prescott for
5476 i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
5477 if SSE math is enabled.
5478
0e94b750
MLI
54792010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
5480
5481 * diagnostic.c (diagnostic_initialize): Update.
5482 (diagnostic_report_diagnostic): Test inhibit_notes_p for
5483 informative notes.
5484 * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
5485 (diagnostic_inhibit_notes): New.
5486 * toplev.c (process_options): inhibit notes with -fcompare-debug.
5487
7e1542b9
MLI
54882010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
5489
5490 PR c/20631
5491 * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
5492 * doc/standards.texi: Likewise.
5493 * doc/extend.texi: Likewise.
5494 * doc/trouble.texi: Likewise.
61226dc8 5495 * doc/cppopts.texi: Likewise.
7e1542b9
MLI
5496 * doc/install.texi: Likewise.
5497 * c.opt (std=c90,std=gnu90): New options.
5498 * c-opts.c (c_common_handle_option): Handle them.
5499
0b901e4c
MLI
55002010-02-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
5501
5502 PR c/24577
5503 * c-decl.c (undeclared_variable): Use an informative note.
5504
37530014
RG
55052010-02-26 Richard Guenther <rguenther@suse.de>
5506
5507 PR tree-optimization/43186
5508 * gimple.h (gimple_fold): Remove.
5509 * gimple.c (gimple_fold): Remove. Inline into single user ...
5510 * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
5511 Try harder for conditions.
5512
095c7b3c
JJ
55132010-02-26 Jakub Jelinek <jakub@redhat.com>
5514
5515 PR debug/43190
5516 * function.c (used_types_insert): Don't skip through named pointer
5517 types. Don't use TYPE_MAIN_VARIANT if the original type has a name
5518 and it is different from the main variant's type.
5519
a1e205cf
NC
55202010-02-26 Nick Clifton <nickc@redhat.com>
5521
5522 * config/rx/rx.md (sminsi3): Remove bogus alternative.
5523
a3af5e26
L
55242010-02-26 H.J. Lu <hongjiu.lu@intel.com>
5525
5526 * config.gcc: Support --with-fpmath=sse for x86.
5527
5528 * config/i386/ssemath.h: New.
5529
5530 * doc/install.texi (--with-fpmath=sse): Documented.
5531
2f816591
RG
55322010-02-26 Richard Guenther <rguenther@suse.de>
5533
5534 PR tree-optimization/43188
5535 * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
5536 vector types of over-aligned element type.
5537
7ce321b3
L
55382010-02-26 Uros Bizjak <ubizjak@gmail.com>
5539
5540 PR target/43175
5541 * config/i386/i386.c (expand_vec_perm_blend): Use correct
02d43000 5542 operands in V8HImode subregs. Fix operand order in VEC_MERGE rtx.
7ce321b3 5543
b55b184a
JK
55442010-02-26 Jan Kratochvil <jan.kratochvil@redhat.com>
5545
5546 * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
5547
e7140c8d
JJ
55482010-02-26 Jakub Jelinek <jakub@redhat.com>
5549
6764d92c
JJ
5550 * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
5551 * var-tracking.c: Include diagnostic.h.
5552 (debug_dv): New function.
5553 (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
5554
5a309965
JJ
5555 PR debug/43160
5556 * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
5557 (add_value_chain, add_value_chains, remove_value_chain,
5558 remove_value_chains): Handle DEBUG_EXPRs.
5559 (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
5560
e7140c8d
JJ
5561 PR debug/43161
5562 * regcprop.c (struct queued_debug_insn_change): New type.
5563 (struct value_data_entry): Add debug_insn_changes field.
5564 (struct value_data): Add n_debug_insn_changes field.
5565 (debug_insn_changes_pool): New variable.
5566 (free_debug_insn_changes, apply_debug_insn_changes,
5567 cprop_find_used_regs_1, cprop_find_used_regs): New functions.
5568 (kill_value_one_regno): Call free_debug_insn_changes if needed.
5569 (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
5570 fields.
5571 (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
5572 changes for them.
5573 (copyprop_hardreg_forward_1): Don't call apply_change_group for
5574 DEBUG_INSNs. For a real insn, if there are queued DEBUG_INSN
5575 changes, call cprop_find_used_regs via note_stores.
5576 (copyprop_hardreg_forward): When copying vd from predecessor
5577 which has any queued DEBUG_INSN changes, make sure the pointers are
5578 cleared. At the end call df_analyze and then if there are any
5579 DEBUG_INSN changes queued at the end of some basic block for still
5580 live registers, apply them.
5581 (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
5582
894b386f
UB
55832010-02-25 Uros Bizjak <ubizjak@gmail.com>
5584
5585 * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
5586 (arm*-*-*): Ditto.
5587
3fd77630
L
55882010-02-25 H.J. Lu <hongjiu.lu@intel.com>
5589
5590 * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
5591 targets. Set the default with_cpu/with_arch from arch/cpu.
5592 Allow x86-64 and native for with_cpu/with_arch.
5593
4b9c6075
NB
55942010-02-25 Nicolas Benoit <nbenoit@tuxfamily.org>
5595
5596 * ebitmap.c: Change calls to verify_popcount with calls to
5597 sbitmap_verify_popcount.
5598 (ebitmap_clear_bit): Fixed map->cacheindex test and
5599 map>cache update when bit clearing results in an empty
5600 element.
5601
2fcd8e02
MM
56022010-02-25 Michael Meissner <meissner@linux.vnet.ibm.com>
5603
5604 PR target/43154
5605 * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
5606 (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
5607 and support both V2DF and V2DI modes.
5608 (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
5609 support both V2DF and V2DI modes.
5610 (general): Delete trailing whitespace from a few patterns.
5611
5612 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
5613 V2DF/V2DI interleave high/low builtins.
5614
5615 * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
5616 new VSX builtins.
5617
5618 * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
5619 interleave high/low functions.
5620
f61ae065
GP
56212010-02-25 Gerald Pfeifer <gerald@pfeifer.com>
5622
5623 * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
5624 #pragma extern_prefix.
5625
7d5d39bb
JJ
56262010-02-25 Jakub Jelinek <jakub@redhat.com>
5627
06796564
JJ
5628 PR debug/43166
5629 * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
5630 BLKmode, assert op0 is a MEM and just adjust its mode.
5631
7d5d39bb
JJ
5632 PR debug/43165
5633 * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
5634 if bitpos isn't multiple of mode's bitsize.
5635
124e0d27
MLI
56362010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
5637
5638 * c.opt (-ftemplate-depth=): New.
5639 (-ftemplate-depth-): Deprecate.
5640 * optc-gen.awk: Handle -ftemplate-depth=.
5641 * opth-gen.awk: Likewise.
5642 * c-opts.c (c_common_handle_option): Likewise.
02d43000 5643 * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
124e0d27 5644
0e7750a0
JM
56452010-02-24 Jason Merrill <jason@redhat.com>
5646
5647 * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
5648
c26238f4
RO
56492010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5650
5651 * cfg.c (alloc_aux_for_block): Remove inline.
5652 (alloc_aux_for_edge): Likewise.
5653
bef64e0f
RO
56542010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5655
5656 * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
5657
68ba2afe
RO
56582010-02-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5659
5660 * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
5661 * config/i386/sol2-gas.h: New file.
5662 * config.gcc (i[34567]86-*-solaris2*): Use it.
5663
2d2e923f
MLI
56642010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
5665
5666 PR c/43128
5667 * c-typeck.c (ep_convert_and_check): New.
5668 (build_conditional_expr): Use it.
5669 (build_binary_op): Likewise.
5670
2e957792
JJ
56712010-02-24 Jakub Jelinek <jakub@redhat.com>
5672
a46368b2
JJ
5673 * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
5674
2e957792
JJ
5675 PR debug/43150
5676 * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
5677 bounds even for -O+.
5678 * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
5679 expr needs to have DECL_NAME set.
5680
12a54f54
NC
56812010-02-24 Nick Clifton <nickc@redhat.com>
5682
5683 * config/mep/mep.c: Include gimple.h.
5684 (mep_function_uses_sp): Delete unused function.
5685 (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
5686 parameters. Use unsigned integers to count args. Return a
5687 NULL_RTX instead of an error_mark_node. Toidy up formatting.
5688
8f40ad50
JJ
56892010-02-23 Jakub Jelinek <jakub@redhat.com>
5690
5691 PR target/43107
5692 * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
5693 greater or equal to nelt instead of 2 * nelt.
5694 (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
5695 with nelt - 1.
5696
a3b20e90
JM
56972010-02-23 Jason Merrill <jason@redhat.com>
5698
3adcf52c
JM
5699 PR debug/42800
5700 * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
5701 in cfun->local_decls even if they have register types.
5702
a3b20e90
JM
5703 PR c++/42837
5704 * stor-layout.c (place_field): Don't warn about unnecessary
5705 DECL_PACKED if the type is packed.
5706
5ead99fa
JJ
57072010-02-23 Jakub Jelinek <jakub@redhat.com>
5708
5709 PR target/43139
5710 * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
5711 GOTOFF relocs, even when the base reg isn't pic pointer.
5712
2a8e30fb
MM
57132010-02-23 Michael Matz <matz@suse.de>
5714
5715 PR debug/43077
5716 * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
5717 (expand_gimple_basic_block): Generate and use debug temps if there
5718 are debug uses left after the last real use of TERed ssa names.
5719 Unlink debug immediate uses when they are expanded.
5720
38170f34
MLI
57212010-02-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
5722
5723 PR 43123
5724 * config/i386/i386.c (override_options): Reorganise to provide
5725 better error messages.
5726
0f9c8f56
SP
57272010-02-22 Sebastian Pop <sebastian.pop@amd.com>
5728
5729 PR middle-end/43083
5730 * graphite-scop-detection.c (create_single_exit_edge): Move
5731 the call to find_single_exit_edge to....
5732 (create_sese_edges): ...here. Don't handle multiple edges
5733 exiting the function.
5734 (build_graphite_scops): Don't handle multiple edges
5735 exiting the function.
5736
57372010-02-22 Sebastian Pop <sebastian.pop@amd.com>
5738
5739 PR middle-end/43097
5740 * sese.c (get_rename): Assert that old_name is an SSA_NAME.
5741 (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
5742
57432010-02-22 Sebastian Pop <sebastian.pop@amd.com>
5744
5745 PR middle-end/43026
5746 * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
5747
a98c2819
MLI
57482010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5749
5750 PR c++/43126
5751 * c-typeck.c (convert_arguments): Print declaration location.
5752 * c-common.c (validate_nargs): Rename as
5753 builtin_function_validate_nargs.
5754 (check_builtin_function_arguments): Update.
5755
ea2edf88
RG
57562010-02-22 Richard Guenther <rguenther@suse.de>
5757
5758 PR lto/43045
5759 * tree-inline.c (declare_return_variable): Use the type of
5760 the call stmt lhs if available.
5761
669887fc
DS
57622010-02-22 Duncan Sands <baldrick@free.fr>
5763
5764 * passes.c (register_pass): Always consider all pass lists when
5765 ref_pass_instance_number is zero.
5766
9efc83f4
RG
57672010-02-22 Richard Guenther <rguenther@suse.de>
5768
5769 PR tree-optimization/42749
5770 * tree-tailcall.c (adjust_return_value_with_ops): Drop update
5771 parameter. Do arithmetic in the original type.
5772 (update_accumulator_with_ops): Likewise.
5773 (adjust_accumulator_values): Adjust.
5774
0a88561f
AK
57752010-02-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
5776
5777 * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
5778 (QI to BLKmode splitter): New splitter.
5779
5c91eb02
L
57802010-02-22 H.J. Lu <hongjiu.lu@intel.com>
5781
5782 * config/i386/i386.c (initial_ix86_tune_features): Turn on
5783 X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
5784
69e3b47f
RG
57852010-02-22 Richard Guenther <rguenther@suse.de>
5786
5787 * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
5c91eb02 5788
45df0e43
HPN
57892010-02-22 Hans-Peter Nilsson <hp@bitrange.com>
5790
5791 Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
5792 * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
5793 ($(T)crti.o, $(T)crtn.o): Remove rules.
5794
72bd130e
TB
57952010-02-21 Tobias Burnus <burnus@net-b.de>
5796
5797 PR fortran/35259
5798 * doc/invoke.texi (-fassociative-math): Document that this
5799 option is automatically enabled for Fortran.
5800
878ee0ab
DM
58012010-02-20 David S. Miller <davem@davemloft.net>
5802
5803 * configure.ac: Test if linker and assembler properly support
5804 GOTDATA_OP relocations.
5805 * configure: Rebuild.
5806 * config.in: Likewise.
5807 * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
5808 (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
5809 (movsi_high_pic): Likewise.
5810 (movdi_lo_sum_pic): Likewise.
5811 (movdi_high_pic): Likewise.
5812 (movsi_pic_gotdata_op): New pattern.
5813 (movdi_pic_gotdata_op): Likewise.
5814 * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
5815 emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
02d43000 5816
78c201a4
UB
58172010-02-20 Uros Bizjak <ubizjak@gmail.com>
5818
5819 PR target/43067
5820 * config/i386/sse.md (xop_mulv2div2di3_low): Change type
5821 attribute to ssemul.
5822 (xop_mulv2div2di3_high): Ditto.
5823
17251338
MLI
58242010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5825
5826 PR c++/35669
5827 * c.opt (Wconversion-null): New option.
5828 * doc/invoke.texi (Wconversion-null): Document.
5829
e7a84854
MLI
58302010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
5831
5832 * common.opt (Wlarger-than-): Add Undocumented.
78c201a4 5833
f233f7ed
MS
58342010-02-19 Mike Stump <mikestump@comcast.net>
5835
5836 * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
5837
d88900d7
JM
58382010-02-19 Jason Merrill <jason@redhat.com>
5839
5840 PR target/40332
5841 * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
5842 * configure: Likewise.
5843
715a4e08
AM
58442010-02-20 Alan Modra <amodra@gmail.com>
5845
5846 PR middle-end/42344
5847 * cgraph.h (cgraph_make_decl_local): Declare.
5848 * cgraph.c (cgraph_make_decl_local): New function.
5849 (cgraph_make_node_local): Use it.
5850 * cgraphunit.c (cgraph_function_versioning): Likewise.
5851 * ipa.c (function_and_variable_visibility): Likewise.
5852
ad3b056c
JJ
58532010-02-19 Jakub Jelinek <jakub@redhat.com>
5854
5855 PR bootstrap/43121
5856 * except.c (sjlj_emit_function_enter): Don't call
5857 add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
5858 directly.
5859 * rtl.h (add_reg_br_prob_note): Remove prototype.
5860
58076e21
MLI
58612010-02-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
5862
5863 PR 41779
5864 * c-common.c (conversion_warning): Remove widening conversions
5865 before checking the conversion of integers to reals.
5866
b42186f1
MS
58672010-02-19 Mike Stump <mikestump@comcast.net>
5868
c387e067
MS
5869 PR middle-end/43125
5870 * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
5871
b42186f1
MS
5872 PR objc/43061
5873 * cgraphunit.c (process_function_and_variable_attributes): Check
5874 DECL_PRESERVE_P instead of looking up attribute "used".
5875 * ipa-pure-const.c (check_decl): Likewise.
5876 * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
5877 * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
5878 * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
5879 instead of attribute "used".
5880 * config/sol2-c.c (solaris_pragma_init): Likewise.
5881 (solaris_pragma_fini): Likewise.
5882
8ac074e8
JJ
58832010-02-19 Jakub Jelinek <jakub@redhat.com>
5884
25c0cad4
JJ
5885 * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
5886 Use XCNEW instead of xcalloc.
5887 (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
5888 XNEW instead of xmalloc.
5889 (get_fields): Use XNEWVEC instead of xmalloc.
5890
e19bcb67
JJ
5891 PR debug/43084
5892 * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
5893 populate vars array.
5894 (create_new_general_access): For debug stmts just reset value.
5895 (get_stmt_accesses): For accesses within debug stmts just record them
5896 using add_access_to_acc_sites instead of preventing the peeling or
5897 counting them as accesses.
5898
8ac074e8
JJ
5899 PR middle-end/42233
5900 * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
5901
c7da0354
RG
59022010-02-19 Richard Guenther <rguenther@suse.de>
5903
5904 PR tree-optimization/42916
5905 * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
5906 instructions.
5907
e5dfb95f
AS
59082010-02-19 Andreas Schwab <schwab@linux-m68k.org>
5909
5910 * configure.ac: Replace all uses of changequote in macro arguments
5911 with proper quoting.
5912
2bdd49f4
JJ
59132010-02-19 Jakub Jelinek <jakub@redhat.com>
5914
5915 PR middle-end/42233
5916 * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
5917
604d0dbc
RG
59182010-02-19 Richard Guenther <rguenther@suse.de>
5919
5920 PR tree-optimization/42944
5921 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
5922 test for aliasing with errno.
5923
554cf330
JJ
59242010-02-19 Jakub Jelinek <jakub@redhat.com>
5925
40e90eac
JJ
5926 PR middle-end/42233
5927 * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
5928 do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
5929 * dojump.c: Include output.h.
5930 (inv): New inline function.
5931 (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
5932 do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
5933 do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
5934 do_jump_by_parts_equality, do_compare_and_jump): Add PROB
5935 argument, pass it down to other calls.
5936 (do_compare_rtx_and_jump): Likewise. If PROB is not -1,
5937 add REG_BR_PROB note to the conditional jump.
5938 * cfgexpand.c (add_reg_br_prob_note): Removed.
5939 (expand_gimple_cond): Don't call it, add the probability
5940 as last argument to jumpif_1/jumpifnot_1.
5941 * Makefile.in (dojump.o): Depend on output.h.
5942 * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
5943 callers.
5944 * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
5945 * stmt.c (do_jump_if_equal): Likewise.
5946 * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
5947 * loop-unswitch.c (compare_and_jump_seq): Likewise.
5948 * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
5949 Likewise.
5950 * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
5951 * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
5952 jumpifnot_1 callers.
5953 (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
5954 callers.
5955 (store_expr): Adjust jumpifnot caller.
5956 (store_constructor): Adjust jumpif caller.
5957
554cf330
JJ
5958 PR middle-end/42233
5959 * gimplify.c (gimple_boolify): For __builtin_expect call
5960 gimple_boolify also on its first argument.
5961
1a242e3c
UB
59622010-02-18 Uros Bizjak <ubizjak@gmail.com>
5963
5964 * configure.ac (gnu-unique-object): Wrap regexps using [] in
5965 changequote block.
5966 (__stack_chk_fail): Ditto. Remove quadrigraphs.
5967 * configure: Regenerated.
5968
86866b28
UW
59692010-02-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
5970
5971 * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
5972 lang_hooks.types_compatible_p instead of comptypes.
5973
8168ccc0
SH
59742010-02-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
5975
5976 * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
5977 (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
5978 if __prefer_thumb__ is defined.
5979
746e119f
MJ
59802010-02-18 Martin Jambor <mjambor@suse.cz>
5981
5982 PR tree-optimization/43066
5983 * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
5984 array with zero-sized element type.
5985
82cf0c8c
JJ
59862010-02-18 Jakub Jelinek <jakub@redhat.com>
5987
5988 * dwarf2out.c (add_var_loc_to_decl): Change last argument to
5989 rtx, allocate struct var_loc_node here and return it to the
5990 caller, and only if it is actually needed.
5991 (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
5992 move it earlier and return immediately if it returns NULL.
5993
ccb265d6
MP
59942010-02-17 Mikael Pettersson <mikpe@it.uu.se>
5995
5996 * config/sparc/gas.h: New file. Restore
5997 TARGET_ASM_NAMED_SECTION to its ELF default.
5998 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
5999 check !HAVE_GNU_AS.
6000 * config/sparc/sparc.c (sparc_elf_asm_named_section):
6001 Likewise. Add ATTRIBUTE_UNUSED to prototype.
6002 * config.gcc (sparc*-*-linux*): Include sparc/gas.h
6003 after sparc/sysv4.h.
6004
a30f3def
DK
60052010-02-17 Dave Korn <dave.korn.cygwin@gmail.com>
6006
6007 * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
6008
2f6c5b27
SB
60092010-02-17 Steven Bosscher <steven@gcc.gnu.org>
6010
6011 * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
6012 patterns from predicated pattern.
6013
b5e33e04
UB
60142010-02-17 Uros Bizjak <ubizjak@gmail.com>
6015
6016 PR target/43103
6017 * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
6018 for insn mnemonic suffix.
6019
a95740b3
RG
60202010-02-17 Richard Guenther <rguenther@suse.de>
6021
6022 * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
6023 to loop PHI nodes.
6024
169e464e
JJ
60252010-02-17 Jakub Jelinek <jakub@redhat.com>
6026
6027 PR debug/42918
6028 * caller-save.c (save_call_clobbered_regs): If BB ends with
6029 a DEBUG_INSN, move any notes in between last real insn and the last
6030 DEBUG_INSN after the last DEBUG_INSN.
6031
5498b6d2
JR
60322010-02-16 Joern Rennecke <joern.rennecke@embecosm.com>
6033
6034 * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
6035 Fix return type. Fix argument type. Explain meaning of return value.
6036
b09bae68
RG
60372010-02-16 Richard Guenther <rguenther@suse.de>
6038
6039 PR tree-optimization/41043
b5e33e04 6040 * tree-vrp.c (vrp_var_may_overflow): Only ask SCEV for real loops.
b09bae68
RG
6041 (vrp_visit_assignment_or_call): Do not ask SCEV for regular
6042 statements ...
6043 (vrp_visit_phi_node): ... but only for loop PHI nodes.
6044
d5dceab8 60452010-02-16 Ira Rosen <irar@il.ibm.com>
99f51320
IR
6046
6047 PR tree-optimization/43074
6048 * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
6049 * tree-vect-loop.c (vect_analyze_loop_operations): Add
6050 vectorizable cycles in hybrid SLP check.
6051 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
6052
f47e08d9
RG
60532010-02-16 Richard Guenther <rguenther@suse.de>
6054
b5e33e04 6055 * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
f47e08d9
RG
6056 (true_dependence): If memrefs_conflict_p computes must-alias
6057 trust it. Move TBAA check after offset-based disambiguation.
6058 (canon_true_dependence): Likewise.
6059
ec8c3978
JJ
60602010-02-16 Alexandre Oliva <aoliva@redhat.com>
6061
6062 * params.def (PARAM_MAX_VARTRACK_SIZE): New.
6063 * doc/invoke.texi: Document it.
6064 * var-tracking.c: Include toplev.h and params.h.
6065 (vt_find_locations): Return bool indicating success. Compute
6066 hash sizes unconditionally. Check new parameter, report.
6067 (variable_tracking_main_1): Check vt_find_locations results and
6068 retry. Renamed from...
6069 (variable_tracking_main): ... this. New wrapper to preserve
6070 flag_var_tracking_assignments.
6071 * Makefile.in (var-tracking.o): Adjust dependencies.
6072
3bf6b403 60732010-02-16 Jack Howarth <howarth@bromo.med.uc.edu>
b5e33e04 6074 Jakub Jelinek <jakub@redhat.com>
3bf6b403
JH
6075
6076 PR target/42854
6077 * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
6078 if weak_import attribute is present.
6079 * config/darwin.c (machopic_select_section): Likewise.
6080
a934eb2d
JR
60812010-02-15 Joern Rennecke <joern.rennecke@embecosm.com>
6082
6083 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
6084 (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
6085 (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
6086 (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
6087
74ca3393
EB
6088 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
6089 types.
a934eb2d
JR
6090
6091 * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
6092 Fix argument types.
6093
6094 * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
6095 Rewrite text to refer to the names.
6096
02edd2f6
SP
60972010-02-15 Sebastian Pop <sebastian.pop@amd.com>
6098
6099 * config/i386/i386-builtin-types.def
6100 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
6101 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
6102 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
6103 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
6104 * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
6105 IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
6106 IX86_BUILTIN_VPERMIL2PS256.
6107 (MULTI_ARG_4_DF2_DI_I): Defined.
6108 (MULTI_ARG_4_DF2_DI_I1): Defined.
6109 (MULTI_ARG_4_SF2_SI_I): Defined.
6110 (MULTI_ARG_4_SF2_SI_I1): Defined.
6111 (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
6112 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
6113 __builtin_ia32_vpermil2ps256.
6114 (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
6115 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
6116 MULTI_ARG_4_SF2_SI_I1. Handle builtins with 4 arguments.
6117 (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
6118 MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
6119 MULTI_ARG_4_SF2_SI_I1. Handle CODE_FOR_xop_vpermil2v2df3,
6120 CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
6121 CODE_FOR_xop_vpermil2v8sf3.
6122 * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
6123 * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
6124 * config/i386/xopintrin.h (_mm_permute2_pd): New.
6125 (_mm256_permute2_pd): New.
6126 (_mm_permute2_ps): New.
6127 (_mm256_permute2_ps): New.
6128
ac447f25
NC
61292010-02-15 Nick Clifton <nickc@redhat.com>
6130
d079b87f 6131 * config/h8300/h8300.c (h8300_push_pop): Use bool type for
ac447f25
NC
6132 boolean parameters. Use emit_jump_insn when emitting a pop
6133 instruction containing a return insn.
b5e33e04
UB
6134 (push): Use 'true' rather than '1' as second parameter to F.
6135 (h8300_expand_prologue): Likewise.
6136 Use 'true' and 'false' for boolean parameters to h8300_push_pop.
6137 (h8300_expand_epilogue): Likewise.
ac447f25 6138
313333a6
RG
61392010-02-15 Richard Guenther <rguenther@suse.de>
6140
6141 PR middle-end/43068
6142 * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
6143 if that is zero.
6144
653958e8
NC
61452010-02-15 Nick Clifton <nickc@redhat.com>
6146
6147 * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
6148 delta.
6149
0f667308
MP
61502010-02-14 Marco Poletti <poletti.marco@gmail.com>
6151
6152 * intl.c (fake_ngettext): New function.
6153 * intl.h (fake_ngettext): Declare.
6154 (ngettext): Define macro.
6155 * collect2.c (notice_translated): New function.
6156 (main): Use notice_translated and ngettext.
6157 * collect2.h (notice_translated): Declare.
6158
912eb5a4
SB
61592010-02-14 Steven Bosscher <steven@gcc.gnu.org>
6160
6161 * reorg.c (delete_computation): Comment fixes.
6162 * caller-save.c (setup_save_areas): Idem.
6163 * sel-sched-dump.c (dump_lv_set): Idem.
6164 * rtl.def: Idem.
6165
244e6c5c
AK
61662010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
6167
6168 * config/s390/s390.c (s390_sched_init): New function.
6169 (TARGET_SCHED_INIT): Target hook defined.
6170
9ab99933
DK
61712010-02-12 Dave Korn <dave.korn.cygwin@gmail.com>
6172 Jack Howarth <howarth@bromo.med.uc.edu>
6173 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
6174
6175 PR target/42982
6176 Partial revert of unintended change in fix for PR41605.
6177 * config/darwin.h: Fix typo.
6178 * config/darwin9.h: Same.
6179
ed5bdeb6
JJ
61802010-02-11 Jakub Jelinek <jakub@redhat.com>
6181
6182 * c-pch.c (pch_init): Clear v.
6183
f432760f
SP
61842010-02-11 Sebastian Pop <sebastian.pop@amd.com>
6185
6186 PR middle-end/42930
6187 * graphite-scop-detection.c (graphite_can_represent_scev): Call
6188 graphite_can_represent_init for MULT_EXPR.
6189
61902010-02-11 Sebastian Pop <sebastian.pop@amd.com>
6191
6192 PR middle-end/42914
6193 PR middle-end/42530
6194 * graphite-sese-to-poly.c (remove_phi): New.
6195 (translate_scalar_reduction_to_array): Call remove_phi.
6196
61972010-02-11 Sebastian Pop <sebastian.pop@amd.com>
6198
6199 PR middle-end/42771
6200 * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
6201 * graphite-clast-to-gimple.h (gloog): Update declaration.
6202 * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
6203 * graphite-poly.h (struct poly_bb): Add missing comments.
6204 (struct scop): Add poly_scop_p field.
6205 (POLY_SCOP_P): New.
6206 * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
6207 * graphite.c (graphite_transform_loops): Build the polyhedral
6208 representation for each scop before code generation.
6209 * sese.c (rename_variables_in_operand): Removed.
6210 (rename_variables_in_expr): Return the renamed expression.
6211 (rename_sese_parameters): New.
6212 * sese.h (rename_sese_parameters): Declared.
6213
6d892147
RG
62142010-02-11 Richard Guenther <rguenther@suse.de>
6215
6216 PR tree-optimization/42998
6217 * tree-ssa-pre.c (create_expression_by_pieces): Treat
6218 POINTER_PLUS_EXPR properly.
6219
04eadb13
SP
62202010-02-11 Sebastian Pop <sebastian.pop@amd.com>
6221 Changpeng Fang <changpeng.fang@amd.com>
6222
6223 PR middle-end/40886
6224 * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
6225 the cost of an IV candidate when the IV is used in a test against zero.
6226
6227 * gcc.dg/tree-ssa/ivopts-3.c: New.
6228
91753e21
RG
62292010-02-11 Richard Guenther <rguenther@suse.de>
6230
6231 PR lto/41664
6232 * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
6233 pointer-vs-decl case by swapping refs. Handle some cases
6234 of pointer-vs-decl disambiguations more conservatively.
6235 * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
6236 to false after expanding.
6237
f68df07c
RG
62382010-02-11 Richard Guenther <rguenther@suse.de>
6239
6240 PR driver/43021
6241 * gcc.c (process_command): Handle LTO file@offset case more
6242 appropriately.
6243
d2d36740
JJ
62442010-02-11 Jakub Jelinek <jakub@redhat.com>
6245
8f6aedba
JJ
6246 * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
6247 modifications outside of the DEBUG_INSN. Accept CLOBBERs inside
6248 of DEBUG_INSNs.
6249 (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
6250
d2d36740
JJ
6251 * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
6252 if MEM's mode size isn't DWARF2_ADDR_SIZE.
6253 (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
6254 Optimize eq/ne comparisons when both arguments are known to be
6255 zero-extended.
6256 (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
6257 Don't mask operands unnecessarily if they are known to be already
6258 zero-extended.
6259
56592e03
VM
62602010-02-10 Vladimir Makarov <vmakarov@redhat.com>
6261
6262 * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
6263 instead of loop.
6264
5418fe84
RG
62652010-02-10 Richard Guenther <rguenther@suse.de>
6266
6267 PR tree-optimization/43017
6268 * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
6269 for wrapping signed arithmetic.
6270
92e8e53a
JJ
62712010-02-10 Jakub Jelinek <jakub@redhat.com>
6272
6273 PR debug/43010
6274 * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
6275 if no debug info should be emitted for it.
6276
bd55b817
KK
62772010-02-10 Kaz Kojima <kkojima@gcc.gnu.org>
6278
6279 * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
6280 note when flag_exceptions is set.
6281
2ab43a52
DS
62822010-02-10 Duncan Sands <baldrick@free.fr>
6283
6284 * Makefile.in (PLUGIN_HEADERS): Add debug.h.
6285
d977cb9c
RG
62862010-02-10 Richard Guenther <rguenther@suse.de>
6287
6288 PR c/43007
6289 * tree.c (get_unwidened): Handle constants.
6290 * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
6291
563cb662
MJ
62922010-02-10 Martin Jambor <mjambor@suse.cz>
6293
6294 PR lto/42985
6295 * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
6296 check for variable argument counts independently.
6297
9e3c399e
CB
62982010-02-10 Christian Bruel <christian.bruel@st.com>
6299
6300 PR target/42841
6301 * config/sh/sh.c (find_barrier): Increase length for non delayed
6302 conditional branches.
01305d24 6303
e938feb4
CB
63042010-02-10 Christian Bruel <christian.bruel@st.com>
6305
6306 * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
01305d24 6307
cbb1ab10
JJ
63082010-02-10 Jakub Jelinek <jakub@redhat.com>
6309
6310 * builtins.c (set_builtin_user_assembler_name): Also handle
6311 ffs if int is smaller than word.
6312
b09495c1
VM
63132010-02-09 Vladimir Makarov <vmakarov@redhat.com>
6314
6315 PR middle-end/42973
6316 * ira-conflicts.c (get_dup): Remove.
6317 (process_reg_shuffles): Add new parameter. Use it as an
6318 additional guard for copy generation.
6319 (add_insn_allocno_copies): Rewrite.
6320
57257f0d
AM
63212010-02-09 Alexander Monakov <amonakov@ispras.ru>
6322
6323 * common.opt (fsched2-use-traces): Preserved for backward
6324 compatibility.
6325 * doc/invoke.texi: Remove the documentation about option
6326 -fsched2-use-traces.
6327 * sched-rgn.c (rest_of_handle_sched2): Remove usage of
6328 flag_sched2_use_traces.
6329 * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
6330 the backward compatibility flag section.
6331
72d182d3
RG
63322010-02-09 Richard Guenther <rguenther@suse.de>
6333
6334 PR tree-optimization/43008
6335 * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
6336 make HEAP variables initialized from global memory if they
6337 are not known builtin functions.
6338 (find_func_aliases): Adjust.
6339
9605a606
RG
63402010-02-09 Richard Guenther <rguenther@suse.de>
6341
6342 PR tree-optimization/43000
6343 * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
6344 arithmetic manually.
6345
8d9eca14
JJ
63462010-02-08 Jakub Jelinek <jakub@redhat.com>
6347
6348 PR tree-optimization/42931
6349 * tree-loop-linear.c (try_interchange_loops): Don't call
6350 double_int_mul if estimated_loop_iterations failed.
6351
d3545524
MJ
63522010-02-08 Martin Jambor <mjambor@suse.cz>
6353
6354 PR middle-end/42898
6355 * tree-sra.c (build_accesses_from_assign): Do not mark in
6356 should_scalarize_away_bitmap if stmt has volatile ops.
6357 (sra_modify_assign): Do not process assigns piecemeal if if stmt
6358 has volatile ops.
6359
8a9a2486
JR
63602010-02-08 Joern Rennecke <joern.rennecke@embecosm.com>
6361
6362 * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
6363
7bf25dd6
AN
63642010-02-07 Adam Nemet <adambnmet@gmail.com>
6365
6366 * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
6367 before the pattern.
6368
a46edbff
AP
63692010-02-07 Andrew Pinski <pinskia@gmail.com>
6370
6371 PR middle-end/42946
6372 * df-core.c (df_finish_pass): Change type of saved_flags to int.
6373
86da963e
SP
63742010-02-07 Sebastian Pop <sebastian.pop@amd.com>
6375
6376 PR middle-end/42988
6377 * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
6378 to unknown_dependence.
6379 (graphite_legal_transform_dr): Handle the unknown_dependence.
6380 (graphite_carried_dependence_level_k): Same.
6381
63822010-02-07 Sebastian Pop <sebastian.pop@amd.com>
6383
6384 * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
6385
997ac87b
RG
63862010-02-07 Richard Guenther <rguenther@suse.de>
6387
6388 PR middle-end/42991
6389 * expr.c (get_inner_reference): Always initialize *pbitsize.
6390
cb6b911a
RG
63912010-02-07 Richard Guenther <rguenther@suse.de>
6392
6393 PR middle-end/42956
6394 * gimplify.c (gimple_fold_indirect_ref): Avoid generating
6395 new ARRAY_REFs on variable size element or minimal index arrays.
6396 Complete.
6397 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
6398 gimple_fold_indirect_ref.
6399
b761dbe6
RE
64002010-02-06 Richard Earnshaw <rearnsha@arm.com>
6401
6402 PR target/42957
6403 * arm.c (arm_override_options): Just return if the user has specified
6404 an invalid fpu name.
6405
b2469a9b
JM
64062010-02-03 Jason Merrill <jason@redhat.com>
6407
6408 PR c++/42870
6409 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
6410 i386_pe_maybe_record_exported_symbol.
6411
1f65437d
SE
64122010-02-05 Steve Ellcey <sje@cup.hp.com>
6413
6414 PR target/42924
6415 * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
6416 (pa_delegitimize_address): New function.
6417
126edba2
OS
64182010-02-05 Ozkan Sezer <sezeroz@gmail.com>
6419
6420 * config/i386/msformat-c.c (ms_printf_length_specs): Set the
6421 scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
6422
532df904
RG
64232010-02-05 Richard Guenther <rguenther@suse.de>
6424
6425 PR lto/42762
6426 * lto-streamer-in.c (get_resolution): Deal with references
6427 to undefined functions.
6428
5c95f07b
RG
64292010-02-05 Richard Guenther <rguenther@suse.de>
6430
b5e33e04 6431 * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
5c95f07b
RG
6432 (fold_const_aggregate_ref): Likewise.
6433 (ccp_fold_stmt): Substitute loads.
6434 (maybe_fold_reference): Verify types before substituting.
6435 Unshare properly.
6436 (fold_gimple_assign): Unshare properly.
b5e33e04 6437 (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
5c95f07b 6438
64aa00b1
NF
64392010-02-05 Nathan Froyd <froydnj@codesourcery.com>
6440
6441 * config/rs6000/rs6000.c (rs6000_override_options): Invert check
6442 for rs6000_gen_cell_microcode.
6443
b0f19292
RG
64442010-02-04 Richard Guenther <rguenther@suse.de>
6445
6446 PR rtl-optimization/42952
6447 * dse.c (const_or_frame_p): Remove MEM handling.
6448
f7eb48b5
NC
64492010-02-04 Nick Clifton <nickc@redhat.com>
6450
6451 * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
6452 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
6453 (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
6454 (mn10300_asm_output_mi_thunk): New function.
6455 (mn10300_can_output_mu_thunk): New function.
6456 * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
6457 (FUNCTION_ARG_REGNO_P): Fix comment. Accept d0 and d1.
6458 (FUNCTION_ARG): Delete incorrect comment.
6459
2aac1924
JM
64602010-02-03 Jason Merrill <jason@redhat.com>
6461
6462 PR c++/40138
6463 * fold-const.c (operand_equal_p): Handle erroneous types.
6464
3e5f930f 64652010-02-03 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
07738b87
KP
6466
6467 * config/h8300/h8300.md (can_delay): Fix attibute condition.
6468
a7f3e500
VM
64692010-02-03 Vladimir Makarov <vmakarov@redhat.com>
6470
3e5f930f 6471 PR rtl-optimization/42941
a7f3e500
VM
6472 * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
6473 of xmalloc.
6474
59d49708
JM
64752010-02-03 Jason Merrill <jason@redhat.com>
6476
6477 PR c++/35652
6478 * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
6479
5440c0e7
AO
64802010-02-03 Alexandre Oliva <aoliva@redhat.com>
6481
6482 PR debug/42896
02d43000 6483 * cselib.h (struct cselib_val_struct): Add uid. Rename value to hash.
5440c0e7
AO
6484 (cselib_reset_table): Renamed from...
6485 (cselib_reset_table_with_next_value): ... this.
6486 (cselib_get_next_uid): Renamed from...
6487 (cselib_get_next_unknown_value): ... this.
6488 * cselib.c (next_uid): Renamed from...
6489 (next_unknown_value): ... this.
6490 (cselib_clear_table): Adjust.
6491 (cselib_reset_table): Adjust. Renamed from...
6492 (cselib_reset_table_with_next_value): ... this.
6493 (cselib_get_next_uid): Adjust. Renamed from...
6494 (cselib_get_next_unknown_value): ... this.
6495 (get_value_hash): Use hash.
6496 (cselib_hash_rtx): Likewise.
6497 (new_cselib_val): Adjust. Set and dump uid.
6498 (cselib_lookup_mem): Pass next_uid as hash.
6499 (cselib_subst_to_values): Likewise.
6500 (cselib_log_lookup): Dump uid.
6501 (cselib_lookup): Pass next_uid as hash. Adjust.
6502 (cselib_process_insn): Adjust.
6503 (cselib_init): Initialize next_uid.
6504 (cselib_finish): Adjust.
6505 (dump_cselib_table): Likewise.
6506 * dse.c (canon_address): Dump value uid.
6507 * print-rtl.c (print_rtx): Print value uid.
6508 * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
6509 (dvuid): New type.
6510 (dv_uid): New function, sort of renamed from...
6511 (dv_htab_hash): ... this, reimplemented in terms of it and...
6512 (dv_uid2hash): ... this. New.
6513 (variable_htab_eq): Drop excess assertions.
6514 (tie_break_pointers): Removed.
6515 (canon_value_cmp): Compare uids.
6516 (variable_post_merge_New_vals): Print uids.
6517 (vt_add_function_parameters): Adjust.
6518 (vt_initialize): Reset table. Adjust.
6519
e3c70387
RG
65202010-02-03 Richard Guenther <rguenther@suse.de>
6521
6522 PR tree-optimization/42944
b5e33e04 6523 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
e3c70387
RG
6524 (call_may_clobber_ref_p_1): Likewise. Properly handle
6525 malloc and calloc clobbering errno.
6526
4cad6dba
SB
65272010-02-03 Steven Bosscher <steven@gcc.gnu.org>
6528
6529 * doc/invoke.texi: Fix name of sched1 dump.
6530
6531 * opts.c (decode_options): Set flag_tree_switch_conversion
6532 only conditionally on optimize >= 2.
6533
6534 * gcse.c: Assorted comment fixes in pass description.
6535
693ee8cf
AG
65362010-02-03 Anthony Green <green@moxielogic.com>
6537
6538 * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
6539 nop padding in order to maintain alignment of storage location of
6540 target function address.
6541 (moxie_trampoline_init): Store target function address at newly
6542 aligned location.
6543 * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
6544 to 32.
6545 (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
6546
bf8e3b77
RG
65472010-02-03 Richard Guenther <rguenther@suse.de>
6548
6549 PR middle-end/42927
6550 * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
6551
bde17fdc
RO
65522010-02-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6553
6554 * config.gcc: Reenable check for obsolete targets.
6555 Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
6556 mips-sgi-irix6.[0-4]*.
6557
c9c27b72
NC
65582010-02-02 Nick Clifton <nickc@redhat.com>
6559
6560 * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
6561 constant size of 4 as being the same as 0.
6562 * doc/invoke.texi (RX Options): Document that -mmax-constant-size
6563 can take values in the range 0..4.
6564
fc15bd03
JH
65652010-02-02 Jack Howarth <howarth@bromo.med.uc.edu>
6566
6567 PR java/41991
6568 * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
6569 as _darwin10_Unwind_FindEnclosingFunction().
6570 * libgcc-libsystem.ver: New.
6571
6eeea7a7
VM
65722010-02-01 Vladimir Makarov <vmakarov@redhat.com>
6573
6574 PR target/41399
6575 * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
6576 implicitly set registers.
6577
87d05b44
RE
65782010-02-01 Richard Earnshaw <rearnsha@arm.com>
6579
6580 * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
6581 (arm_override_options): Allow automatic selection of the thread
6582 pointer register if thumb2.
6583 (legitimize_pic_address): Improve code sequences for Thumb2.
6584 (arm_call_tls_get_addr): Likewise.
6585 (legitimize_tls_address): Likewise.
6586 * arm.md (pic_load_addr_arm): Delete. Replace with ...
6587 (pic_load_addr_32bit): ... this. New named pattern.
6588 * thumb2.md (pic_load_addr_thumb2): Delete.
6589 (pic_load_dot_plus_four): Delete.
6590 (tls_load_dot_plus_four): New named pattern.
6591
cb717ac4
RO
65922010-02-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6593
6594 PR libgomp/29986
6595 * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
6596 Document fix for TLS bug.
6597
44f89620
RG
65982010-01-31 Richard Guenther <rguenther@suse.de>
6599
6600 * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
6601 conservatively correct.
6602
747b0aed
JDA
66032010-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6604
6605 PR target/42850
6606 Revert:
6607 2010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6608
6609 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
6610
362c6d2f
KG
66112010-01-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6612
6613 * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
6614
8370a62a
KT
66152010-01-31 Kai Tietz <kai.tietz@onevision.com>
6616
6617 * config.gcc: Adjust order of makefile fragments for mingw targets.
6618
61c7cbf8
RG
66192010-01-31 Richard Guenther <rguenther@suse.de>
6620
6621 PR middle-end/42898
6622 * gimplify.c (gimplify_init_constructor): For volatile LHS
6623 initialize a temporary.
6624
b0a69d20
MK
66252010-01-31 Matthias Klose <doko@ubuntu.com>
6626
6627 * configure.ac: Fix __stack_chk_fail check for cross builds configured
6628 --with-headers
6629 * configure: Regenerate.
6630
55eb4dab
EB
66312010-01-29 Eric Botcazou <ebotcazou@adacore.com>
6632
6633 * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
6634 the same alias set and their sizes different constantness.
6635 (aliasing_component_refs_p): Revert 2009-10-24 change.
6636
f9e06dbc
RO
66372010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6638
6639 * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
6640 unused.
6641
eb6b98c7
RG
66422010-01-29 Richard Guenther <rguenther@suse.de>
6643
6644 * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
6645 Assert we successfully updated the call.
6646
c23cd1d6
JJ
66472010-01-29 Jakub Jelinek <jakub@redhat.com>
6648
6649 PR rtl-optimization/42889
6650 * df.h (df_set_bb_dirty_nonlr): New prototype.
6651 * df-core.c (df_set_bb_dirty_nonlr): New function.
6652 * df-scan.c (df_insn_rescan): Call it instead of
6653 df_set_bb_dirty for DEBUG_INSNs.
6654
38bc76da
RG
66552010-01-29 Richard Guenther <rguenther@suse.de>
6656
6657 PR middle-end/37448
6658 * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
6659 quadratic behavior in most cases.
6660
d819472d
UB
66612010-01-28 Uros Bizjak <ubizjak@gmail.com>
6662
6663 PR target/42891
6664 * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
6665 in the call to gen_x86_movsicc_0_m1.
6666
3ed7d068
RG
66672010-01-28 Richard Guenther <rguenther@suse.de>
6668
6669 PR tree-optimization/42871
01305d24 6670 * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
3ed7d068 6671
830bc550
RG
66722010-01-28 Richard Guenther <rguenther@suse.de>
6673
6674 * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
6675 into call arguments.
6676
28e5ca15
RB
66772010-01-28 Richard Guenther <rguenther@suse.de>
6678
6679 PR middle-end/42883
6680 * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
6681 the forwarder if the destination is an EH landing pad.
6682
66832010-01-28 Razya Ladelsky <razya@il.ibm.com>
8adfe01d 6684
d819472d 6685 * tree-parloops.c (transform_to_exit_first_loop): Update the basic
8adfe01d
RL
6686 block list passed to gimple_duplicate_sese_tail.
6687 (parallelize_loops): Avoid parallelization when the function
6688 has_nonlocal_label.
6689 Avoid parallelization when the preheader is IRREDUCIBLE.
6690 Try to optimize when estimated_loop_iterations_int is unresolved.
6691 Add the loop's location to the dump file.
28e5ca15 6692 * tree-cfg.c (add_phi_args_after_redirect): Remove.
8adfe01d
RL
6693 (gimple_duplicate_sese_tail): Remove the check for the latch.
6694 Redirect nexits to the exit block.
6695 Remove handling of the incoming edges to the latch.
6696 Redirect the backedge from the copied latch to the exit bb.
6697
3d952fb7
MM
66982010-01-28 Michael Matz <matz@suse.de>
6699
6700 PR target/42881
6701 * config/i386/i386.c (ix86_expand_vector_init_duplicate):
6702 Wrap force_reg into a sequence, emit it before user.
6703
4fc2b1aa
ST
67042010-01-28 Stephen Thomas <stephen.thomas@arm.com>
6705
6706 * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
6707 (arm_rev): New.
6708 (arm_legacy_rev): Likewise.
6709 (thumb_legacy_rev): Likewise.
6710
0f277ad4
JJ
67112010-01-27 Jakub Jelinek <jakub@redhat.com>
6712
6713 * dwarf2out.c (mem_loc_descriptor): Remove special casing of
6714 CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
6715 on MEM's address failed, try avoid_constant_pool_reference and
6716 recurse if it returned something different.
6717 (loc_descriptor): If for MEM mem_loc_descriptor failed on the
6718 address, try avoid_constant_pool_reference and recurse if it
6719 returned something different.
6720 (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
6721 address and avoid_constant_pool_reference returned something
6722 different, don't set have_address.
6723
fb4cbb9f
AO
67242010-01-27 Alexandre Oliva <aoliva@redhat.com>
6725
6726 PR debug/42861
6727 * var-tracking.c (val_store): Add modified argument, obey it.
6728 Adjust callers.
6729 (count_uses): Move down logging of main.
6730 (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
6731 don't need resolution.
6732 (emit_notes_in_bb): Likewise.
6733
e87da263
RG
67342010-01-27 Richard Guenther <rguenther@suse.de>
6735
6736 PR middle-end/42878
6737 * tree-inline.c (remap_decl): Delay remapping of SSA name
6738 default definitions until we need them.
6739
c6d99cad
JJ
67402010-01-27 Jakub Jelinek <jakub@redhat.com>
6741
9a78eb71
JJ
6742 * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
6743 (rs6000_delegitimize_address): New function.
6744
e8d8f497
JJ
6745 * config/s390/s390.c (s390_delegitimize_address): Call
6746 delegitimize_mem_from_attrs.
6747
c6d99cad
JJ
6748 PR middle-end/42874
6749 * tree-inline.c (cannot_copy_type_1): Removed.
6750 (copy_forbidden): Don't forbid copying of functions containing
6751 records/unions with variable length fields.
6752
4f6fee0f
CB
67532010-01-27 Christian Bruel <christian.bruel@st.com>
6754
6755 Revert:
6756 PR target/42841
6757 * config/sh/sh.c (find_barrier): Increase length for non delayed
6758 conditional branches.
d819472d 6759
cdf6bfb7
MK
67602010-01-27 Matthias Klose <doko@ubuntu.com>
6761
6762 * configure.ac (gnu-unique-object): Fix ldd version check.
6763 * configure: Regenerate.
6764
31b21739
RO
67652010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6766
6767 * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
6768 HAVE_GNU_AS value.
6769 * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
6770 Test for HAVE_GNU_AS value.
6771
dc4f0670
RO
67722010-01-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6773
6774 * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
6775 * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
6776 INT64_TYPE): Define.
6777 (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
6778 (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
6779 INT_LEAST64_TYPE): Define.
6780 (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
6781 UINT_LEAST64_TYPE): Define.
6782 (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
6783 INT_FAST64_TYPE): Define.
6784 (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
6785 UINT_FAST64_TYPE): Define.
6786 (INTMAX_TYPE, UINTMAX_TYPE): Define.
6787 (INTPTR_TYPE, UINTPTR_TYPE): Define.
6788 (SIG_ATOMIC_TYPE): Define.
6789
a099f7d4
RG
67902010-01-26 Richard Guenther <rguenther@suse.de>
6791
6792 * df-scan.c (df_scan_set_bb_info): Remove assert.
6793 (df_insn_rescan_debug_internal): Merge asserts.
6794 (df_install_ref): Likewise.
6795 (df_mark_reg): Use bitmap_set_range.
6796 (df_hard_reg_used_p): Remove assert.
6797 (df_hard_reg_used_count): Likewise.
6798
0d9b0371
RG
67992010-01-26 Richard Guenther <rguenther@suse.de>
6800
6801 PR rtl-optimization/42685
6802 * web.c (web_main): Ignore DEBUG_INSNs.
6803
7a241624
JR
68042010-01-26 Joern Rennecke <amylaar@spamcop.net>
6805
6806 * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
6807
6808 (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
6809 Fix types of fndecl and arglist parameters.
6810
3333cd50
RG
68112010-01-26 Richard Guenther <rguenther@suse.de>
6812
6813 PR middle-end/42806
6814 * tree-eh.c (unsplit_eh): Skip debug insns.
6815
7f657dde
RG
68162010-01-26 Richard Guenther <rguenther@suse.de>
6817
6818 PR tree-optimization/42250
6819 * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
6820
057dd91d
JJ
68212010-01-26 Jakub Jelinek <jakub@redhat.com>
6822
6823 PR fortran/42866
6824 * omp-low.c (expand_omp_sections): Only use single_pred if
6825 l2_bb is single_pred_p.
6826
69b18163
CB
68272010-01-25 Christian Bruel <christian.bruel@st.com>
6828
6829 PR target/42841
6830 * config/sh/sh.c (find_barrier): Increase length for non delayed
6831 conditional branches.
6832 (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
6833
00f88f07
DM
68342010-01-24 David S. Miller <davem@davemloft.net>
6835
31b21739 6836 * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
00f88f07 6837 define if not using GAS.
31b21739 6838 * config/sparc/sparc.c (sparc_elf_asm_named_section):
00f88f07
DM
6839 Likewise. Delete SECTION_MERGE code, which is only applicable
6840 when using GAS.
6841
d147cbd9
MM
68422010-01-24 Mark Mitchell <mark@codesourcery.com>
6843
6844 PR c++/42748
6845 * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
6846 mangling of va_list in system headers.
6847
a90352a0
TM
68482010-01-23 Toon Moene <toon@moene.org>
6849
6850 * tree-predcom.c (combine_chains): Return NULL, not false.
6851
e96d7dd7
JR
68522010-01-23 Joern Rennecke <amylaar@spamcop.net>
6853
6854 * tree-loop-distribution.c (distribute_loop): Fix declaration and
6855 initialization of variable res to agree with return type.
6856
65c0a517
SE
68572010-01-22 Steve Ellcey <sje@cup.hp.com>
6858
6859 * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
6860 * tree-sra.c: Add include of expr.h.
6861
c47987fa
JJ
68622010-01-22 Jakub Jelinek <jakub@redhat.com>
6863
6864 * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
6865 insert the debug stmt on the single non-EH edge from the stmt.
6866
002cda0a
RH
68672010-01-22 Richard Henderson <rth@redhat.com>
6868
6869 PR tree-opt/42833
6870 * tree-sra.c (sra_modify_assign): Delay re-gimplification of
6871 the RHS until after generate_subtree_copies has insertted its
6872 code before the current statement.
6873
728d406c
JR
68742010-01-22 Joern Rennecke <amylaar@spamcop.net>
6875
6876 * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
6877
45bbb86d
JR
6878 * gcc-plugin.h (plugin_init): Use "C" likage for c++.
6879
7744b697
MJ
68802010-01-21 Martin Jambor <mjambor@suse.cz>
6881
6882 PR tree-optimization/42585
6883 * tree-sra.c (struct access): New field grp_total_scalarization.
6884 (dump_access): Dump the new field.
6885 (should_scalarize_away_bitmap): New variable.
6886 (cannot_scalarize_away_bitmap): Likewise.
6887 (sra_initialize): Allocate new bitmaps.
6888 (sra_deinitialize): Free new bitmaps.
6889 (create_access_1): New function.
6890 (create_access): Parts moved to create_access_1.
6891 (type_consists_of_records_p): New function.
6892 (completely_scalarize_record): Likewise.
6893 (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
6894 (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
6895 (sort_and_splice_var_accesses): Hint groups with a total_scalarization
6896 access.
6897 (analyze_all_variable_accesses): Completely scalarize small eligible
6898 records.
6899
fff08961
MJ
69002010-01-21 Martin Jambor <mjambor@suse.cz>
6901
6902 * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
6903
a288b143
AH
69042010-01-21 Andrew Haley <aph@redhat.com>
6905
d819472d
UB
6906 * gcc.c (process_command): Move lang_specific_driver before
6907 setting cc_libexec_prefix.
a288b143 6908
4e62a017
RG
69092010-01-21 Richard Guenther <rguenther@suse.de>
6910
6911 PR middle-end/19988
6912 * fold-const.c (negate_expr_p): Pretend only negative
6913 real constants are easily negatable.
6914
ebf0bf7f
JJ
69152010-01-20 Janis Johnson <janis187@us.ibm.com>
6916 Jason Merrill <jason@redhat.com>
6917
6918 * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
6919 (TYPE_TRANSPARENT_AGGR): this, for union and record.
6920 * calls.c (initialize argument_information): Handle it.
6921 * c-common.c (handle_transparent_union_attribute): Use new name.
6922 * c-decl.c (finish_struct): Ditto.
6923 * c-typeck.c (type_lists_compatible_p): Ditto.
6924 (convert_for_assignment): Use new name and also handle record.
6925 * function.c (aggregate_value_p): Handle it.
6926 (pass_by_reference): Ditto.
6927 (assign_parm_data_types): Ditto.
6928 * print-tree.c (print_node): Ditto.
6929 * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
6930 * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
6931 * tree.c (first_field): New fn.
6932
907c6efd
DK
69332010-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
6934
6935 PR target/42818
6936 * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
6937 even when linking statically, for now.
6938
f827f659
AO
69392010-01-20 Alexandre Oliva <aoliva@redhat.com>
6940
6941 PR debug/42715
6942 * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
6943 without a cselib val.
6944 (count_uses): Accept MO_VAL_SET with no val on stores.
6945 (add_stores): Likewise.
6946
a85caf9e
JJ
69472010-01-20 Jakub Jelinek <jakub@redhat.com>
6948
6949 * var-tracking.c (check_value_val): Add a compile time assertion.
6950 (dv_is_decl_p): Simplify.
6951 (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
6952 gcc_assert if ENABLE_CHECKING.
6953
4a4d4c08
AO
69542010-01-20 Alexandre Oliva <aoliva@redhat.com>
6955
6956 PR debug/42782
6957 * var-tracking.c: Include tree-flow.h.
6958 (mem_dies_at_call): New.
6959 (dataflow_set_preserve_mem_locs): Use it.
6960 (dataflow_set_remove_mem_locs): Likewise.
6961 (dump_var): Renamed from dump_variable. Adjust all callers.
6962 (dump_var_slot): Renamed from dump_variable_slot. Likewise.
6963 * Makefile.in (var-tracking.o): Adjust deps.
6964
50e87e30
JR
69652010-01-20 Joern Rennecke <amylaar@spamcop.net>
6966
6967 * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
6968
e9a8afaa
RG
69692010-01-20 Richard Guenther <rguenther@suse.de>
6970
6971 PR tree-optimization/42717
6972 * tree-ssa-dce.c (get_live_post_dom): Remove.
6973 (forward_edge_to_pdom): Take an arbitrary edge to copy
6974 degenerate PHI args from.
6975 (remove_dead_stmt): Use the first post-dominator even if it
6976 does not contain live statements as redirection destination.
6977
be2fd187
RG
69782010-01-20 Richard Guenther <rguenther@suse.de>
6979
6980 * tree-inline.c (estimate_num_insns): Handle EH builtins.
6981
1124098b
JJ
69822010-01-20 Jakub Jelinek <jakub@redhat.com>
6983
6984 * sel-sched.c (create_speculation_check): Remove set but not used
6985 variable twin.
6986 (try_transformation_cache): Remove set but not used variable ds.
6987 (calculate_privileged_insns): Remove set but not used variables
6988 cur_insn and min_spec_insn.
6989 (find_best_expr): Remove set but not used variable avail_n.
6990 * tree-predcom.c (base_names_in_chain_on): Remove set but not used
6991 variable e.
6992 * cgraphunit.c (assemble_thunk): Remove set but not used variable
6993 false_label.
6994 * haifa-sched.c (remove_notes): Remove set but not used variable prev.
6995 * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
6996 new_scop_exit_edge.
6997
83a5ef25
FW
69982010-01-20 Felyza Wishbringer <fwishbringer@gmail.com>
6999
7000 PR bootstrap/42786
7001 * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
7002 cpu types. Add support for *-sse3 cpu types.
7003 (x86_64-*-*): Ditto.
7004
b5c0899b
JJ
70052010-01-20 Jakub Jelinek <jakub@redhat.com>
7006
7007 PR middle-end/42803
7008 * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
7009 argument, call initializer_constant_valid_p_1 instead of
7010 initializer_constant_valid_p, pass CACHE to it, return NULL
7011 immediately if first call returns NULL.
7012 (initializer_constant_valid_p_1): New function.
7013 (initializer_constant_valid_p): Use it.
7014
5f8f3f94
TQ
70152010-01-20 Thomas Quinot <quinot@adacore.com>
7016
7017 * tree.def (PLACEHOLDER_EXPR): Fix comment.
7018
80c35b40
JJ
70192010-01-20 Jakub Jelinek <jakub@redhat.com>
7020
7021 * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
7022 of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
7023 (loc_list_from_tree): Don't handle unsigned division. Handle
7024 signed modulo using DW_OP_{over,over,div,mul,minus}.
7025 * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
7026 modulo instead of signed.
7027
c72ea086
DD
70282010-01-20 DJ Delorie <dj@redhat.com>
7029
7030 * config/h8300/h8300.c (F): Add "in_epilogue" flag.
7031 (Fpa): Pass it
7032 (h8300_emit_stack_adjustment): Propogate it.
7033 (push): Pass it.
7034 (h8300_expand_prologue): Likewise.
7035 (h8300_expand_epilogue): Likewise.
7036
b61b1f17
MM
70372010-01-19 Michael Matz <matz@suse.de>
7038
7039 PR tree-optimization/41783
7040 * tree-data-ref.c (toplevel): Include flags.h.
7041 (dump_data_dependence_relation): Also dump the inputs if the
7042 result will be unknown.
7043 (split_constant_offset_1): Look through some conversions.
7044 * tree-predcom.c (determine_roots_comp): Restart a new chain if
7045 the offset from last element is too large.
7046 (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
7047 (reassociate_to_the_same_stmt): Handle vector registers.
7048 * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
7049 (e.g. conversions).
31b21739 7050 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
b61b1f17
MM
7051 wide_prolog_niters argument, emit widening instructions.
7052 (vect_do_peeling_for_alignment): Adjust caller, use widened
7053 variant of the iteration cound.
7054 * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
7055
b3d7e191
RR
70562010-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7057
b61b1f17
MM
7058 PR target/38697
7059 * config/arm/neon-testgen.m (emit_automatics): New parameter
b3d7e191
RR
7060 features. Adjust for Fixed_return_reg feature.
7061 (test_intrinsic): Call emit_automatics with new feature.
b61b1f17 7062 * config/arm/neon.ml: Update copyright years.
b3d7e191
RR
7063 (features): New Fixed_return_reg feature.
7064 (ops): Update feature for Vget_low.
7065
2178b0f9
JJ
70662010-01-19 Jakub Jelinek <jakub@redhat.com>
7067
d6600130
JJ
7068 PR tree-optimization/42719
7069 * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
7070 stmt uses.
7071
2178b0f9
JJ
7072 PR debug/42728
7073 * fwprop.c (all_uses_available_at): Return false if def_set dest
7074 is a REG that is used in def_insn.
7075
ab7e224a
JR
70762010-01-19 Joern Rennecke <amylaar@spamcop.net>
7077
7078 * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
7079
7080 (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
7081 Add argument names.
7082
7083 (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
7084
f7154d49
JR
7085 * target.h (struct gcc_target) <secondary_reload>: Change type
7086 of last argument to secondary_reload_info *.
7087
f249b405
UB
70882010-01-18 Uros Bizjak <ubizjak@gmail.com>
7089
7090 PR target/42774
7091 * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
7092 memory references with unaligned offsets. Remove CQImode handling.
7093 (unaligned_memory_operand): Return 1 for memory references with
7094 unaligned offsets. Remove CQImode handling.
7095
e23817b3
RG
70962010-01-18 Richard Guenther <rguenther@suse.de>
7097
7098 PR middle-end/39954
7099 * cfgexpand.c (expand_call_stmt): TER pointer arguments in
7100 builtin calls.
7101
1cfd38be
RG
71022010-01-18 Richard Guenther <rguenther@suse.de>
7103
7104 PR tree-optimization/42781
7105 * tree-ssa-structalias.c (find_what_var_points_to): Skip
b5e33e04 7106 restrict processing only if the original variable was artificial.
1cfd38be 7107
72392b81
JR
71082010-01-18 Joern Rennecke <amylaar@spamcop.net>
7109
7110 * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
7111 find number of popped argument bytes.
7112
7113 (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
7114 Fix the text that describes the return value for invalid insns.
7115
7116 (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type. Fix argument list.
7117
7118 (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
7119 Clarify what 'cost of the -dependence' is. Fix quoting.
7120
0678ade0
JR
7121 * toplev.c (default_get_pch_validity): Rename argument to "sz".
7122 * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
7123
e5165811
JJ
71242010-01-17 Jakub Jelinek <jakub@redhat.com>
7125
7126 * dwarf2out.c (mem_loc_descriptor): Don't ICE on
7127 {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
7128
3b3f318a
RG
71292010-01-17 Richard Guenther <rguenther@suse.de>
7130
7131 PR middle-end/42248
7132 * function.c (split_complex_args): Take a VEC to modify.
7133 (assign_parms_augmented_arg_list): Build a VEC instead of
7134 a chain of PARM_DECLs.
7135 (assign_parms_unsplit_complex): Take a VEC of arguments.
7136 Do not fixup unmodified parms.
7137 (assign_parms): Deal with the VEC.
7138 (gimplify_parameters): Likewise.
7139
8eacd016
RG
71402010-01-17 Richard Guenther <rguenther@suse.de>
7141
7142 * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
7143 node existence check.
7144 * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
7145 * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
7146 * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
7147 * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
7148 (gimple_execute_on_growing_pred): Likewise.
7149
9adf0570
RG
71502010-01-17 Richard Guenther <rguenther@suse.de>
7151
7152 PR tree-optimization/42773
7153 * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
7154 (compute_antic_aux): Likewise.
7155 (compute_partial_antic_aux): Likewise.
7156
a90110c3
JZ
71572010-01-17 Jie Zhang <jie.zhang@analog.com>
7158
7159 PR debug/42767
7160 * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
7161 and US_TRUNCATE.
7162
914d25dc
JR
71632010-01-17 Joern Rennecke <amylaar@spamcop.net>
7164
7165 * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
7166 appearance.
7167
7168 (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
7169 Fix markup for strict argument.
7170
7171 (TARGET_SCHED_REORDER2): Fix argument types.
7172
7173 (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
7174 (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
7175
7176 (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
7177 (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
7178
7179 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
7180 Add argument name.
7181
7182 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
7183 (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
7184 (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
7185 (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
7186 (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
7187
7188 (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
7189
7190 (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
7191
7192 (TARGET_ASM_RELOC_RW_MASK): Add return type.
7193 (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
7194
7195 (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
7196
7197 (TARGET_ASM_FILE_START): Put @findex before paragraph start.
7198 Use prototype.
7199
7200 (TARGET_ASM_NAMED_SECTION): Fix argument list.
7201
7202 (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
7203 (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
7204
7205 (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
7206
7207 (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
7208
7209 (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
7210 referring to it. Fix language.
7211
7212 (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
7213
7214 (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
7215
7216 (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
7217
7218 (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
7219
7220 (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
7221 '@var{stream}. Remove stray 'and'.
7222
7223 (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
7224
7225 (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
7226
7227 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
7228
31b21739 7229 (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
914d25dc
JR
7230 misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
7231
7232 (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
7233 Fix description of return value.
7234 Rename argument "sz" to "len."
7235
7236 (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
7237 Clarify meaning of 'true' return value.
7238
7239 (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
7240
7241 (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
7242 rep_mode versus mode_rep.
7243
7244 (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
7245
7246 (TARGET_BUILTIN_DECL): Fix name.
7247
7248 (TARGET_COMMUTATIVE_P): Fix type of first argument.
7249
7250 (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
7251
7252 (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
7253
7254 (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
7255
7256 (TARGET_RELAXED_ORDERING): Use @deftypevr.
7257
7258 (TARGET_GET_DRAP_RTX): Note that this is a hook.
7259 Clarify language.
7260
5eb7ce91
JR
7261 (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
7262 Rename argument tm_fn to md_fn.
7263
d2143a2f
JR
7264 (TARGET_OPTION_PRINT): Fix argument list.
7265
8f7fd2da
HJ
72662010-01-16 Harsha Jagasia <harsha.jagasia@amd.com>
7267
7268 PR target/42664
7269 * config/i386/i386.c (ix86_fixup_binary_operands):
7270 Revert FMA4 fixup of operands.
7271
2fdb618d
RW
72722010-01-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7273
7274 PR gcc/42525
7275 * Makefile.in (write_entries_to_file, install-plugin):
7276 Use \012 instead of \n with tr.
7277
636cf8b1
RS
72782010-01-16 Richard Sandiford <r.sandiford@uk.ibm.com>
7279
7280 * configure.ac (HAVE_AS_REF): New C macro.
7281 * configure: Regenerate.
7282 * config.in: Likewise.
7283 * collect2.c (main): Only postpone SCAN_DWEH to the second pass
7284 if HAVE_AS_REF.
7285 * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
7286 if HAVE_AS_REF.
7287
b6fd8800
JR
72882010-01-16 Joern Rennecke <amylaar@spamcop.net>
7289
7290 * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
7291
7292 (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
7293
7294 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
7295
7296 (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
7297
7298 (TARGET_IN_SMALL_DATA_P): Fix argument type.
7299
7300 (TARGET_BINDS_LOCAL_P): Fix argument type.
7301
7302 (TARGET_ASM_FILE_END): Use prototype.
7303
7304 (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
7305
7306 (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
7307
7308 (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
7309
7310 (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
7311
7312 (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
7313 (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
7314
7315 (TARGET_PCH_VALID_P): Put 'const char *' in braces.
7316 (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
7317
7318 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
7319 (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
7320 (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
7321 (TARGET_ADDR_SPACE_CONVERT): Likewise.
7322
7323 (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
7324
7325 (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
7326
7327 (TARGET_INIT_BUILTINS): Use prototype.
7328
7329 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
7330 Put 'const char *' in braces. Fix parameter types.
7331 (TARGET_INVALID_CONVERSION): Fix parameter types.
7332 (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
7333 (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
7334
7335 (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
7336 Fix argument type.
7337
7338 (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
7339
7340 (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
7341
9ddb66ef
JR
73422010-01-15 Joern Rennecke <amylaar@spamcop.net>
7343
7344 * doc/tm.texi (TARGET_HELP): Fix return type.
7345
7346 (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
7347 in braces. Fix argument types.
7348
7349 (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
7350
7351 (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
7352
7353 (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
7354
7355 (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
7356 (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
7357
7358 (TARGET_MANGLE_TYPE): Fix argument types.
7359
7360 (TARGET_IRA_COVER_CLASSES): Use prototype.
7361
7362 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type. Use prototype.
7363
7364 (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
7365
7366 (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
7367
7368 (TARGET_MUST_PASS_IN_STACK): Fix argument type.
7369
7370 (TARGET_CALLEE_COPIES): Fix argument types.
7371
7372 (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
7373
7374 (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
7375
7376 (TARGET_FUNCTION_VALUE): Fix argument types.
7377
7378 (TARGET_RETURN_IN_MSB): Fix argument type.
7379
7380 (TARGET_RETURN_IN_MEMORY): Fix argument types.
7381
7382 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
7383
7384 (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
7385
7386 (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
7387 agree with return type.
7388
7389 (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
7390
4a62494d
JY
73912010-01-15 Jing Yu <jingyu@google.com>
7392
7393 PR rtl-optimization/42691
7394 * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
7395 a pseudo to a constant and are merged, and adjust comments.
7396
a1b5171b
EB
73972010-01-15 Eric Botcazou <ebotcazou@adacore.com>
7398
7399 * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
7400
1197e789
RG
74012010-01-15 Richard Guenther <rguenther@suse.de>
7402
7403 PR middle-end/42739
7404 * tree-cfgcleanup.c (remove_forwarder_block): Move destination
7405 labels of computed or non-local gotos to the destination.
7406 * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
7407 landing pad label is the first label.
7408
cbe80ff8
RG
74092010-01-15 Richard Guenther <rguenther@suse.de>
7410
7411 * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
7412
c919858d
MM
74132010-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
7414
7415 PR target/42747
7416 * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
7417 to allow generation of the xssqrtdp instruction on power7.
7418 (sqrtdf2_fpr): Ditto.
7419
5b1cbe14
JJ
74202010-01-14 Jakub Jelinek <jakub@redhat.com>
7421
ef5d1181
JJ
7422 PR middle-end/42674
7423 * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
7424 functions with noreturn attribute.
7425
5b1cbe14
JJ
7426 PR c++/42608
7427 * varasm.c (declare_weak): Add weak attribute to decl if it
7428 doesn't have one already.
7429 (assemble_external): Only add decls to weak_decls if they also
7430 have weak attribute.
7431
7d2a8452
AO
74322010-01-14 Alexandre Oliva <aoliva@redhat.com>
7433
7434 * var-tracking.c (var_reg_delete): Don't delete the association
7435 between REGs and values or one-part variables if the register
7436 isn't clobbered.
7437
d17af147
JJ
74382010-01-14 Jakub Jelinek <jakub@redhat.com>
7439
7440 PR debug/42657
7441 * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
7442 because its first operand is a non-localized variable.
7443
2f3cdcf5
MJ
74442010-01-14 Martin Jambor <mjambor@suse.cz>
7445
7446 PR tree-optimization/42706
7447 * tree-sra.c (encountered_recursive_call): New variable.
7448 (encountered_unchangable_recursive_call): Likewise.
7449 (sra_initialize): Initialize both new variables.
7450 (callsite_has_enough_arguments_p): New function.
7451 (scan_function): Call decl and flags check only for IPA-SRA, check
7452 whether there is a recursive call and whether it has enough arguments.
7453 (all_callers_have_enough_arguments_p): New function.
7454 (convert_callers): Look for recursive calls only when
7455 encountered_recursive_call is set.
7456 (ipa_early_sra): Bail out either if
7457 !all_callers_have_enough_arguments_p or
7458 encountered_unchangable_recursive_call.
7459
c02e2d5c
AM
74602010-01-14 Alexander Monakov <amonakov@ispras.ru>
7461
7462 * sel-sched.c: Add 2010 to copyright years.
7463 * sel-sched-ir.c: Likewise.
7464 * sel-sched-ir.h: Likewise.
7465
92e97cdd
MJ
74662010-01-14 Martin Jambor <mjambor@suse.cz>
7467
7468 PR tree-optimization/42714
7469 * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
7470 constructors specially.
7471
a0463099
AK
74722010-01-14 Andi Kleen <ak@linux.intel.com>
7473
7474 * config/i386/drivers-i386.c (detect_caches_intel):
7475 Add l2sizekb parameter and fill in.
7476 (host_detect_local_cpu): Add l2sizekb, fill in.
7477 Add Atom small cache heuristic.
7478
74792010-01-14 Andi Kleen <ak@linux.intel.com>
7480
7481 * config/i386/drivers-i386.c (detect_caches_cpuid4):
7482 Add level3 parameter and fill in.
7483 (detect_caches_intel): Handle level3 cache.
7484
74852010-01-14 Andi Kleen <ak@linux.intel.com>
7486
7487 * config/i386/drivers-i386.c (host_detect_local_cpu):
7488 Fix core duo detection.
7489
74902010-01-14 Andi Kleen <ak@linux.intel.com>
7491
7492 * config/i386/drivers-i386.c (host_detect_local_cpu):
7493 Fix Atom detection.
7494
dd6739e3
AM
74952010-01-14 Alexander Monakov <amonakov@ispras.ru>
7496
7497 * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
7498 (rs6000_variable_issue_1): this. Use...
7499 (rs6000_variable_issue): here. Reimplement. Print debug info.
7500
7898b93b
AM
75012010-01-14 Alexander Monakov <amonakov@ispras.ru>
7502
a0463099
AK
7503 * sel-sched-ir.c (sel_restore_other_notes): Rename to
7504 sel_restore_notes. Update all callers. Call reemit_notes
7505 for all insns.
7898b93b 7506
65b659ff
AB
75072010-01-14 Andrey Belevantsev <abel@ispras.ru>
7508
7509 PR rtl-optimization/42246
7510 * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
7511 loops.
7512
c6486552
AB
75132010-01-14 Andrey Belevantsev <abel@ispras.ru>
7514
7515 * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
7516 all successors is the same as number of successors in current region.
7517
f07013eb
AM
75182010-01-14 Alexander Monakov <amonakov@ispras.ru>
7519
7520 * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
7521 to rename is not separable. Otherwise check that its LHS is not NULL.
7522
a9ced68b
AM
75232010-01-14 Alexander Monakov <amonakov@ispras.ru>
7524
7525 * sel-sched.c (choose_best_reg_1): Loop over all regs for mode.
7526
0c94f956
AM
75272010-01-14 Alexander Monakov <amonakov@ispras.ru>
7528
7529 * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
7530 available registers when failed to discover LHS register class.
7531 Fix indentation. Update comment.
7532
136e01a3
AB
75332010-01-14 Andrey Belevantsev <abel@ispras.ru>
7534 Alexander Monakov <amonakov@ispras.ru>
7535
7536 PR rtl-optimization/42389
7537 * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
7538 to can_issue_more.
7539 (advance_state_on_fence): Likewise.
7540 (sel_target_adjust_priority): Print debug output only when
7541 sched_verbose >= 4, not 2.
7542 (get_expr_cost): Do not issue all unique insns on the next cycle.
7543 (fill_insns): Initialize can_issue_more from the value saved
7544 with the fence.
7545 * sel-sched-ir.c (flist_add): New parameter issue_more.
7546 Init FENCE_ISSUE_MORE with it.
7547 (merge_fences): Likewise.
7548 (init_fences): Update call to flist_add.
7549 (add_to_fences, add_clean_fence_to_fences)
7550 (add_dirty_fence_to_fences): Likewise.
7551 (move_fence_to_fences): Update call to merge_fences.
7552 (invoke_reorder_hooks): Do not reset can_issue_more on insns from
7553 sched groups.
7554 * sel-sched-ir.h (struct _fence): New field issue_more.
7555 (FENCE_ISSUE_MORE): New accessor macro.
7556
762bffba
AB
75572010-01-14 Andrey Belevantsev <abel@ispras.ru>
7558
7559 PR rtl-optimization/42388
7560 * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
7561 that have no predecessors nor successors. Do not call move_bb_info
7562 for empty blocks outside of current region.
7563
14f30b87
AM
75642010-01-14 Alexander Monakov <amonakov@ispras.ru>
7565
7566 PR rtl-optimization/42294
7567 * sel-sched-ir.h (struct _sel_insn_data): Update comment.
7568 * sel-sched.c (move_exprs_to_boundary): Transitively add all
7569 originators' originators.
7570
8ec4d0ad
AM
75712010-01-14 Alexander Monakov <amonakov@ispras.ru>
7572
7573 PR rtl-optimization/39453
7574 PR rtl-optimization/42246
7575 * sel-sched-ir.c (considered_for_pipelining_p): Do not test
7576 for pipelining_p.
7577 (sel_add_loop_preheaders): Add preheader to last_added_blocks.
7578
b59ab570
AM
75792010-01-14 Andrey Belevantsev <abel@ispras.ru>
7580 Alexander Monakov <amonakov@ispras.ru>
7581
7582 PR middle-end/42245
7583 * sel-sched-ir.c (sel_recompute_toporder): New. Use it...
7584 (maybe_tidy_empty_bb): ... here. Make static. Add new
7585 argument. Update all callers.
7586 (tidy_control_flow): ... and here. Recompute topological order
7587 of basic blocks in region if necessary.
7588 (sel_redirect_edge_and_branch): Change return type. Return true
7589 if topological order might have been invalidated.
7590 (purge_empty_blocks): Export and move from...
7591 * sel-sched.c (purge_empty_blocks): ... here.
7592 * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
c02e2d5c 7593 (maybe_tidy_empty_bb): Delete prototype.
b59ab570
AM
7594 (purge_empty_blocks): Declare.
7595
0666ff4e
AB
75962010-01-14 Andrey Belevantsev <abel@ispras.ru>
7597
b59ab570 7598 PR rtl-optimization/42249
0666ff4e
AB
7599 * sel-sched.c (try_replace_dest_reg): When chosen register
7600 and original register is the same, do not bail out early, but
7601 still check all original insns for validity of replacing destination
7602 register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
7603 in this case.
7604
5f8d5023
JJ
76052010-01-14 Jakub Jelinek <jakub@redhat.com>
7606
7607 PR c/42721
a0463099 7608 Port from no-undefined-overflow branch:
5f8d5023
JJ
7609 2009-03-09 Richard Guenther <rguenther@suse.de>
7610
a0463099 7611 * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
5f8d5023 7612
429c98c9
RG
76132010-01-14 Richard Guenther <rguenther@suse.de>
7614
7615 PR lto/42665
b5e33e04 7616 * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
429c98c9 7617
cd481d83
IR
76182010-01-14 Ira Rosen <irar@il.ibm.com>
7619
7620 PR tree-optimization/42709
7621 * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
7622 as scalar type in creation of constant vector operand.
7623
453897b4
RW
76242010-01-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7625
7626 PR testsuite/42414
7627 * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
7628 (check-parallel-%): Match `testsuite' directory component only
7629 at the end.
7630
5bc69b92
SZ
76312010-01-14 Shujing Zhao <pearly.zhao@oracle.com>
7632
7633 PR translation/39521
7634 * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
7635 strings with _().
7636
5db959b6
RG
76372010-01-13 Richard Guenther <rguenther@suse.de>
7638
7639 PR tree-optimization/42730
7640 * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
7641 offset zero.
7642
9540f5ef
SE
76432010-01-13 Steve Ellcey <sje@cup.hp.com>
7644
7645 PR target/pr42542
7646 * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
7647 for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
7648 them signed.
7649
84fb8ff5
BS
76502010-01-13 Bernd Schmidt <bernd.schmidt@analog.com>
7651
7652 * config/bfin/libgcc-bfin.ver: Regenerate based on current
7653 libgcc-std.ver. Add entries for ___smulsi3_highpart and
7654 ___umulsi3_highpart.
7655
6cca15ea
BS
7656 * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
7657 rather than schedule_insns if the pass is enabled.
7658
19656178
MJ
76592010-01-13 Martin Jambor <mjambor@suse.cz>
7660
7661 PR tree-optimization/42704
7662 * tree-sra.c (sra_modify_assign): Do not delete assignments to
7663 SSA_NAMEs.
7664
6dc93b16
MJ
76652010-01-13 Martin Jambor <mjambor@suse.cz>
7666
7667 PR tree-optimization/42703
7668 * tree-sra.c (analyze_access_subtree): Check that we can build a
7669 reference to the original data within the aggregate.
7670
1d21a8e5
RG
76712010-01-13 Richard Guenther <rguenther@suse.de>
7672
7673 PR tree-optimization/42705
b5e33e04 7674 * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
1d21a8e5 7675
48f30f62
RG
76762010-01-13 Richard Guenther <rguenther@suse.de>
7677
7678 PR middle-end/42716
7679 * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
7680
9e73c690
JJ
76812010-01-13 Jakub Jelinek <jakub@redhat.com>
7682
7683 PR debug/41371
7684 * var-tracking.c (values_to_unmark): New variable.
7685 (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
7686 values_to_unmark vector. Moved body to...
7687 (find_loc_in_1pdv_1): ... this. Don't clear VALUE_RECURSED_INTO,
7688 instead queue it into values_to_unmark vector.
7689 (vt_find_locations): Free values_to_unmark vector.
7690
dc2f28c5
WG
76912010-01-13 Wolfgang Gellerich <gellerich@de.ibm.com>
7692
7693 * config/s390/s390.c (override_options): Set
7694 default of max-pending-list-length to 256
7695
688a482d
RG
76962010-01-13 Richard Guenther <rguenther@suse.de>
7697
7698 PR lto/42678
7699 * tree-pass.h (PROP_gimple_lcx): New.
7700 * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
7701 * passes.c (init_optimization_passes): Move pass_lower_complex_O0
7702 before the final cleanup_eh.
7703 (dump_properties): Dump PROP_gimple_lcx.
7704 * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
7705 (tree_lower_complex_O0): Remove.
7706 (gate_no_optimization): Run if PROP_gimple_lcx is not set.
7707 (pass_lower_complex_O0): Provide PROP_gimple_lcx. Run
7708 tree_lower_complex, schedule TODO_update_ssa.
7709 * lto-streamer-out.c (output_function): Stream the functions
7710 properties.
7711 * lto-streamer-in.c (input_function): Likewise.
7712 (lto_read_body): Do not override them here.
7713
e616f54d
JM
77142010-01-12 Joseph Myers <joseph@codesourcery.com>
7715
7716 PR c/42708
7717 * c-typeck.c (build_c_cast): Fold value cast to union type before
7718 wrapping it in a CONSTRUCTOR.
7719
b4ab701f
JJ
77202010-01-12 Jakub Jelinek <jakub@redhat.com>
7721
7722 PR rtl-optimization/42699
7723 * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
7724 involved.
7725
4dde664f
RO
77262010-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7727
7728 * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
7729 SUBTARGET_WARN_UNUSED_SPEC): Move ...
7730 config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
7731 SUBTARGET_WARN_UNUSED_SPEC): ... here
7732 * config/mips/iris5.h (LIBGCC_SPEC): Define.
7733
24fe19c3
JB
77342010-01-12 Julian Brown <julian@codesourcery.com>
7735
a0463099 7736 * config/arm/neon-schedgen.ml (Utils): Don't try to
24fe19c3 7737 open missing module.
a0463099 7738 (find_with_result): New.
24fe19c3 7739
082ab5ff
JJ
77402010-01-12 Jakub Jelinek <jakub@redhat.com>
7741
4942b76b
JJ
7742 PR debug/42662
7743 * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
7744 sharing when canonicalizing ({lt,ge}u (plus a b) b).
7745
082ab5ff
JJ
7746 PR tree-optimization/42645
7747 * tree-inline.c (processing_debug_stmt): Move earlier. Make static.
7748 (remap_ssa_name): If processing_debug_stmt and name wasn't found in
7749 decl_map, set processing_debug_stmt to -1 and return name without
7750 any remapping.
7751
977f7997
DK
77522010-01-11 Dave Korn <dave.korn.cygwin@gmail.com>
7753
7754 * doc/install.texi (Specific#x-x-cygwin): Document minimum required
7755 binutils version, and reword target configuration description.
7756
2685baa1
AH
77572010-01-11 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
7758
a0463099 7759 * config/avr/avr.h (LINKER_NAME): Remove.
2685baa1 7760
3767f512
JJ
77612010-01-11 Janis Johnson <janis187@us.ibm.com>
7762
7763 PR target/42416
7764 * config/rs6000/rs6000.c (rs6000_override_options): On targets
7765 that support VSX, warn for -mno-altivec if vsx is not disabled,
7766 and disable vsx.
7767
f94e1d66
JM
77682010-01-11 Joseph Myers <joseph@codesourcery.com>
7769 Shujing Zhao <pearly.zhao@oracle.com>
a0463099 7770
f94e1d66
JM
7771 PR translation/42469
7772 * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
7773 fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
7774 character between option name and help text.
7775 * c.opt (imultilib): Likewise.
7776
06bfe1d0
RAE
77772010-01-10 Rafael Avila de Espindola <espindola@google.com>
7778
7779 * lto-streamer-out.c (output_unreferenced_globals): Output static
7780 variables.
7781
c21f33b6
SB
77822010-01-10 Steven Bosscher <steven@gcc.gnu.org>
7783
7784 PR rtl-optimization/42621
7785 * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
7786 optimizing for size.
7787 (duplicate_computed_gotos): Remove now-redundant check.
7788
30ce157e
SE
77892010-01-10 Steve Ellcey <sje@cup.hp.com>
7790
7791 PR target/37454
7792 * configure.ac: Save and restore LDFLAGS and LIBS
7793 * configure: Regenerate.
7794
ab996409
RG
77952010-01-10 Richard Guenther <rguenther@suse.de>
7796
7797 PR middle-end/42667
7798 * builtins.c (fold_builtin_strlen): Add type argument and
7799 convert the resulting length to it.
7800 (fold_builtin_1): Adjust.
7801
7234a615
JJ
78022010-01-09 Jakub Jelinek <jakub@redhat.com>
7803
7804 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
7805 sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
7806 1 insn.
7807 (num_insns_constant_wide): Adjust for that change.
7808
994ae26c
AO
78092010-01-09 Alexandre Oliva <aoliva@redhat.com>
7810
7811 PR debug/42631
7812 * web.c (union_defs): Add used argument, to combine uses of
7813 uninitialized regs.
7814 (entry_register): Adjust type and tests of used argument.
7815 (web_main): Widen used for new use. Pass it to union_defs.
7816 * df.h (union_defs): Adjust prototype.
7817
60c48e4c
AO
78182010-01-09 Alexandre Oliva <aoliva@redhat.com>
7819
7820 PR debug/42630
7821 * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
7822 uses in new incoming argument. Free body.
7823 (reset_debug_uses_in_loop): New.
7824 (analyze_insn_to_expand_var): Call the latter if the former found
7825 anything. Fix whitespace. Reject invalid dest overlaps before
7826 going through all insns in the loop.
7827
bb956f3e
AO
78282010-01-09 Alexandre Oliva <aoliva@redhat.com>
7829
7830 PR debug/42629
7831 * haifa-sched.c (dying_use_p): Debug insns don't count.
7832
5de8da9b
AO
78332010-01-09 Alexandre Oliva <aoliva@redhat.com>
7834
7835 PR middle-end/42363
7836 * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
7837 * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
7838 (verify_gimple_call): Reject LHS in noreturn calls.
7839
684f25f4
AO
78402010-01-09 Alexandre Oliva <aoliva@redhat.com>
7841
7842 PR debug/42604
7843 PR debug/42395
7844 * tree-vect-loop-manip.c (adjust_info): New type.
7845 (adjust_vec): New pointer to vector.
7846 (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
7847 (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
7848 (slpeel_update_phis_for_duplicate_loop): Use them.
7849 (slpeel_update_phi_nodes_for_guard1): Likewise.
7850 (slpeel_update_phi_nodes_for_guard2): Likewise.
7851 (slpeel_tree_peel_loop_to_edge): Likewise.
7852 (vect_update_ivs_after_vectorizer): Likewise.
7853
0e00563c
AO
78542010-01-09 Alexandre Oliva <aoliva@redhat.com>
7855
7856 * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
7857 (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
7858
0ce659eb
AO
78592010-01-09 Alexandre Oliva <aoliva@redhat.com>
7860
7861 * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
7862 bogus uninitialized warning.
7863
73c865fa
RG
78642010-01-09 Richard Guenther <rguenther@suse.de>
7865
7866 PR middle-end/42512
7867 * tree-scalar-evolution.c (interpret_loop_phi): Make sure
7868 the evolution is compatible with the initial condition.
7869
bd5c3aa5
JJ
78702010-01-09 Jakub Jelinek <jakub@redhat.com>
7871
7872 * gcc.c (process_command): Update copyright notice dates.
7873 * gcov.c (print_version): Likewise.
7874 * gcov-dump.c (print_version): Likewise.
7875 * mips-tfile.c (main): Likewise.
7876 * mips-tdump.c (main): Likewise.
7877
58f0ea2f
AH
78782010-01-08 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
7879
7880 PR target/41885
2685baa1 7881 * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
58f0ea2f
AH
7882 (rotlhi3): Delete.
7883 (rotlhi3_8): Delete.
7884 (rotlsi3): Delete.
7885 (rotlsi3_8): Delete.
7886 (rotlsi3_16): Delete.
7887 (rotlsi3_24): Delete.
7888 (rotl<mode>3): New.
7889 (*rotw<mode>3): New.
7890 (*rotb<mode>3): New.
2685baa1 7891 * config/avr/avr.c (avr_rotate_bytes): New function.
a0463099 7892 * config/avr/avr-proto.h (avr_rotate_bytes): New function.
58f0ea2f 7893
601fc26e
SE
78942010-01-08 Steve Ellcey <sje@cup.hp.com>
7895
7896 PR target/37454
7897 * configure.ac: Modify -rdynamic check.
7898 * configure: Regenerate.
7899
6a62ca52
DD
79002010-01-08 DJ Delorie <dj@redhat.com>
7901
7902 * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
7903 register popping order.
7904
c59449fa
RG
79052010-01-08 Richard Guenther <rguenther@suse.de>
7906
7907 PR lto/42528
7908 * c.opt (fsigned-char): Also let LTO handle this option.
7909 (funsigned-char): Likewise.
7910
f68a75df
RG
79112010-01-07 Richard Guenther <rguenther@suse.de>
7912
7913 * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
7914 (gimple_op): Likewise.
7915 (gimple_op_ptr): Likewise.
7916 (gimple_assign_set_lhs): Remove gcc_assert.
7917 (gimple_assign_set_rhs1): Likewise.
7918 (gimple_assign_set_rhs2): Likewise.
7919 (gimple_call_set_lhs): Likewise.
7920 (gimple_call_set_fn): Likewise.
7921 (gimple_call_set_fndecl): Likewise.
7922 (gimple_call_fndecl): Likewise.
7923 (gimple_call_return_type): Likewise.
7924 (gimple_call_set_chain): Likewise.
7925 (gimple_call_num_args): Likewise.
7926 (gimple_call_set_arg): Likewise.
7927 (gimple_cond_set_code): Likewise.
7928 (gimple_cond_set_lhs): Likewise.
7929 (gimple_cond_set_rhs): Likewise.
7930 (gimple_cond_set_true_label): Likewise.
7931 (gimple_cond_set_false_label): Likewise.
7932 (gimple_label_set_label): Likewise.
7933 (gimple_goto_set_dest): Likewise.
7934 (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
7935 (gimple_debug_bind_get_value): Likewise.
7936 (gimple_debug_bind_get_value_ptr): Likewise.
7937 (gimple_debug_bind_set_var): Likewise.
7938 (gimple_debug_bind_set_value): Likewise.
7939 (gimple_debug_bind_reset_value): Likewise.
7940 (gimple_debug_bind_has_value_p): Likewise.
7941 (gimple_return_retval_ptr): Remove gcc_assert.
7942 (gimple_return_retval): Likewise.
7943 (gimple_return_set_retval): Likewise.
7944 * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
7945 (safe_referenced_var_iterator): Remove.
7946 (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
7947 * tree-flow-inline.h (gimple_nonlocal_all): Remove.
7948 (fill_referenced_var_vec): Remove.
7949 (first_readonly_imm_use): Remove redundant gcc_assert.
7950 (phi_arg_index_from_use): Combine gcc_asserts.
7951 (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
7952 (first_imm_use_stmt): Remove redundant gcc_assert.
7953 * tree-cfg.c (verify_gimple_call): Verify function and chain
7954 operands. Verify arguments.
7955 (verify_types_in_gimple_stmt): Verify condition code and labels.
7956
617531d9
RG
79572010-01-07 Richard Guenther <rguenther@suse.de>
7958
7959 PR tree-optimization/42641
7960 * sese.c (rename_map_elt_info): Use the SSA name version, do
7961 not hash pointers.
7962
4139c7ef
JJ
79632010-01-07 Jakub Jelinek <jakub@redhat.com>
7964
7965 PR tree-optimization/42625
7966 * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
b5e33e04 7967 TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
4139c7ef 7968
01094033
DS
79692010-01-07 Duncan Sands <baldrick@free.fr>
7970
7971 * Makefile.in (PLUGIN_HEADERS): Add version.h.
7972
4b9ed9aa
UB
79732010-01-07 Uros Bizjak <ubizjak@gmail.com>
7974
7975 PR target/42511
7976 * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
7977 note itself is not function_invariant_p.
7978
f50f5566
SB
79792009-01-07 Steven Bosscher <steven@gcc.gnu.org>
7980
7981 * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
7982 Do not add the DF_NOTE problem.
7983 * store-motion.c (execute_rtl_store_motion): Likewise.
7984
d05fe940
MJ
79852010-01-07 Martin Jambor <mjambor@suse.cz>
7986
7987 PR tree-optimization/42157
7988 * tree-sra.c (compare_access_positions): Stabilize sort if both
7989 accesses have integer types, return zero immediately if they are the
7990 same.
7991
e67271bd
RH
79922010-01-06 Richard Henderson <rth@redhat.com>
7993
7994 PR middle-end/41883
7995 * haifa-sched.c (add_to_note_list): Merge into ...
7996 (concat_note_lists): ... here, and ...
7997 (unlink_other_notes, rm_other_notes): Merge into...
7998 (remove_notes): ... here. Create REG_SAVE_NOTEs for
a0463099 7999 NOTE_INSN_EPILOGUE_BEG.
e67271bd 8000
6209a13e
RG
80012010-01-06 Richard Guenther <rguenther@suse.de>
8002
8003 * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
8004 not inline regular functions into always-inline functions.
8005
5f75e477
NC
80062010-01-06 Nick Clifton <nickc@redhat.com>
8007
8008 * config/rx/rx.h (enum rx_cpu_type): Add RX200.
8009 (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
8010 used together.
8011 (OVERRIDE_OPTIONS): Delete.
8012 (OPTIMIZATION_OPTIONS): Define.
8013 (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
8014 * config/rx/rx.c (rx_handle_option): Issue an error message if
8015 -mcpu=rx200 and -fpu are used together.
8016 (rx_set_optimization_options): New function. Issue an error
8017 message if an optimization attribute attempts to reset the FPU/
8018 math optimization pairing.
8019 * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
8020 * config/rx/rx.opt: Set the default to 32-bit doubles.
8021 * config/rx/t-rx: Add multilibs for -nofpu option.
8022 * doc/invoke.texi: Update documentation of RX options.
8023
13de9095
RG
80242010-01-06 Richard Guenther <rguenther@suse.de>
8025
8026 * tree-ssa-pre.c (name_to_id): New global.
8027 (alloc_expression_id): Simplify SSA name handling.
8028 (lookup_expression_id): Likewise.
8029 (init_pre): Zero name_to_id.
8030 (fini_pre): Free it.
8031
786c3fbc
UB
80322010-01-06 Uros Bizjak <ubizjak@gmail.com>
8033
8034 * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
8035
fa1a4144
L
80362010-01-05 H.J. Lu <hongjiu.lu@intel.com>
8037
8038 PR target/42542
8039 * config/i386/sse.md (smaxv2di3): New.
8040 (umaxv2di3): Likewise.
8041 (sminv2di3): Likewise.
8042 (uminv2di3): Likewise.
8043
208384fd
EB
80442010-01-05 Eric Botcazou <ebotcazou@adacore.com>
8045
8046 PR target/42564
8047 * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
8048 * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
8049 (legitimize_tls_address): Likewise.
8050 (sparc_tls_referenced_p): Likewise.
8051 * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
8052 and adjust calls to legitimize_pic_address.
8053 (legitimate_constant_p) Use sparc_tls_referenced_p.
8054 (legitimate_pic_operand_p): Likewise.
8055 (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
8056 (sparc_tls_symbol_ref_1): Delete.
8057 (sparc_tls_referenced_p): Make static, recognize specific patterns.
8058 (legitimize_tls_address): Make static, handle CONST patterns.
8059 (legitimize_pic_address): Make static, remove unused parameter and
8060 adjust recursive calls.
8061 (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
8062 and adjust call to legitimize_pic_address.
8063 (sparc_output_mi_thunk): Likewise.
8064
4b9ed9aa 80652010-01-05 Paolo Bonzini <bonzini@gnu.rg>
43d4b97d
L
8066 H.J. Lu <hongjiu.lu@intel.com>
8067
8068 PR target/42542
8069 * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
8070 for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
8071 operands to make them signed.
8072
931c6b3e
UB
8073 Revert:
8074 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
8075
8076 PR target/42542
8077 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
8078 GTU to GT for V4SI and V2DI.
8079
8080 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
8081 (umin<mode>3): Removed.
8082 (uminv8hi3): New.
43d4b97d
L
8083 (uminv4si3): Likewise.
8084
9bf4cdf5
MJ
80852010-01-05 Martin Jambor <mjambor@suse.cz>
8086
8087 PR tree-optimization/42462
8088 * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
8089 current_function_decl to helper functions and macros.
8090
6a4d4e8a
RO
80912010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8092
8093 PR bootstrap/41771
8094 * flags.h: Don't include real.h.
8095 (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
8096 HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
8097 * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
8098 HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
8099 * dominance.c: Update copyright.
8100 * gimple.c (walk_gimple_op): Remove inline.
8101 * tree-ssa-reassoc.c: Include real.h.
8102 * Makefile.in (FLAGS_H): Remove $(REAL_H).
8103 (tree-ssa-reassoc.o): Depend on $(REAL_H).
8104
105249d1
NC
81052010-01-05 Nick Clifton <nickc@redhat.com>
8106
8107 * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
8108 register to push into the stack frame when the accumulator has to
8109 be saved during interrupts.
8110
bc3c12a2
EF
81112010-01-05 Eric Fisher <joefoxreal@gmail.com>
8112
8113 * doc/invoke.texi: Remove the documentation about option
8114 -Wunreachable-code.
8115 * common.opt (Wunreachable-code): Preserved for backward
8116 compatibility.
8117 * tree-cfg.c: Remove the implementation of -Wunreachable-code.
8118 * opts.c (common_handle_option): Add OPT_Wunreachable_code to
8119 the backward compatibility flag section.
8120
1befacc8
RG
81212010-01-05 Richard Guenther <rguenther@suse.de>
8122
8123 * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
8124
566f27e4
JJ
81252010-01-05 Jakub Jelinek <jakub@redhat.com>
8126
7604eb4e
JJ
8127 PR other/42611
8128 * cfgexpand.c (expand_one_var): Diagnose too large variables.
8129
566f27e4
JJ
8130 PR tree-optimization/42508
8131 * tree-sra.c (convert_callers): Check for recursive call
8132 by comparing cgraph nodes instead of decls.
8133 (modify_function): Call ipa_modify_formal_parameters also
8134 on all same_body aliases.
8135
8136 * cgraphunit.c (cgraph_materialize_all_clones): Compare
8137 cgraph nodes when checking for same_body aliases.
8138
5f5126d6
RG
81392010-01-05 Richard Guenther <rguenther@suse.de>
8140
8141 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
8142 allocation and lookup.
8143 (get_or_alloc_expr_for_constant): Likewise.
8144 (phi_translate): Sink allocation.
8145
a7d04a53
RG
81462010-01-04 Richard Guenther <rguenther@suse.de>
8147
8148 * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
8149 a new entry only if needed.
8150 * tree-ssa-dom.c (lookup_avail_expr): Likewise.
8151 * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
8152 hashtable lookup.
8153 * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
8154 the result array.
8155 (phi_translate): Handle CONSTANTs early.
8156
caee6ca1
MJ
81572010-01-04 Martin Jambor <mjambor@suse.cz>
8158
8159 PR tree-optimization/42398
8160 * tree-sra.c (struct access): Removed flag grp_different_types.
8161 (dump_access): Do not dump the removed flag.
8162 (sort_and_splice_var_accesses): Do not set the removed flag.
8163 (sra_modify_expr): Check for type compatibility directly.
8164
438789ff
MJ
81652010-01-04 Martin Jambor <mjambor@suse.cz>
8166
8167 PR tree-optimization/42366
8168 * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
8169 edges with variable number of parameters.
8170 * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
8171 flag instead of asserting it.
8172 (ipa_read_node_info): Read uses_analysis_done flag.
8173
9708c51d
RG
81742010-01-04 Richard Guenther <rguenther@suse.de>
8175
8176 * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
8177 iterative_hash_* as intended.
8178 (vn_reference_compute_hash): Likewise. Simplify hashing
8179 SSA names.
8180 (vn_reference_lookup_2): Likewise.
8181 (vn_nary_op_compute_hash): Likewise.
8182 (vn_phi_compute_hash): Likewise.
8183 (expressions_equal_p): Remove strange code.
8184 * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
8185 (pre_expr_hash): Likewise. Simplify hashing SSA names.
8186 (bitmap_insert_into_set_1): Take value-id as parameter.
8187 (add_to_value): Pass it.
8188 (bitmap_insert_into_set): Likewise.
8189 (bitmap_value_insert_into_set): Likewise. Remove redundant check.
8190
94b90527
JJ
81912010-01-04 Jakub Jelinek <jakub@redhat.com>
8192
8193 PR driver/42442
8194 * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
8195 (do_self_spec): For switches with SWITCH_IGNORE set set also
8196 SWITCH_IGNORE_PERMANENTLY.
8197 (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
8198 of SWITCH_IGNORE.
8199
785ca514
RAE
82002010-01-04 Rafael Avila de Espindola <espindola@google.com>
8201
8202 * lto-streamer-out.c (output_unreferenced_globals): Output the full
8203 tree of an unreferenced global var.
8204
22554cf9
L
82052010-01-04 H.J. Lu <hongjiu.lu@intel.com>
8206
8207 PR target/42542
8208 * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
8209 GTU to GT for V4SI and V2DI.
8210
8211 * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
8212 (umin<mode>3): Removed.
8213 (uminv8hi3): New.
8214 (uminv4si3): Likewise.
8215
7152f51e
L
82162010-01-04 H.J. Lu <hongjiu.lu@intel.com>
8217
8218 PR lto/42581
8219 * collect2.c (main): Turn on trace in collect2 if -v is passed
8220 to gcc with LTO.
8221
f4262155
JQ
82222010-01-03 Jerry Quinn <jlquinn@optonline.net>
8223
8224 * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR. Update
8225 description of expression operand.
8226
55bcd32b
AJ
82272010-01-03 Andrew Jenner <andrew@codesourcery.com>
8228
8229 * configure.ac: Add install-html to target_list for Make-hooks.
8230 * configure: Regenerate.
8231 * fortran/Make-lang.in (F95_HTMLFILES): New.
8232 (fortran.html): Use it.
8233 (fortran.install-html): New.
8234 * Makefile.in (install-html): Add lang.install-html.
8235 * java/Make-lang.in (JAVA_HTMLFILES): New.
8236 (java.html): Use it.
8237 (java.install-html): New.
8238 * objc/Make-lang.in (objc.install-html): New.
8239 * objcp/Make-lang.in (obj-c++.install-html): New.
8240 * cp/Make-lang.in (c++.install-html): New.
8241 * ada/gcc-interface/Make-lang.in (ada.install-html): New.
8242 * lto/Make-lang.in (lto.install-html): New.
8243
f0d61983
L
82442010-01-03 H.J. Lu <hongjiu.lu@intel.com>
8245
8246 PR lto/42520
8247 * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
8248
2ad1dda0
SB
82492009-01-03 Steven Bosscher <steven@gcc.gnu.org>
8250
8251 PR rtl-optimization/41862
8252 * store-motion.c (store_killed_in_insn, compute_store_table,
8253 remove_reachable_equiv_notes, replace_store_insn,
8254 build_store_vectors): Ignore all DEBUG_INSNs.
8255
d7fb0a6d
L
82562010-01-03 H.J. Lu <hongjiu.lu@intel.com>
8257
8258 PR lto/41564
8259 * common.opt: Add dumpdir.
8260
8261 * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
8262 isn't specified.
8263 (option_map): Add --dumpdir.
8264
8265 * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
8266
8267 * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
8268
8269 * opts.c (decode_options): Try dump_dir_name first if
8270 dump_base_name isn't an absolute path.
8271 (common_handle_option): Handle OPT_dumpdir.
8272
8273 * toplev.c (dump_dir_name): New.
8274 (print_switch_values): Also ignore -dumpdir.
8275
8276 * toplev.h (dump_dir_name): New.
8277
ba1ee228
RG
82782010-01-03 Richard Guenther <rguenther@suse.de>
8279
8280 PR tree-optimization/42589
8281 * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
8282 double-word expansion of bswap32.
8283
b0de17ef
SB
82842010-01-03 Steven Bosscher <steven@gcc.gnu.org>
8285
8286 * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
8287 with BLOCK_FOR_INSN.
8288 * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
8289 * ifcvt.c (noce_get_alt_condition, noce_try_abs,
8290 noce_process_if_block): Likewise.
8291 * gcse.c (compute_local_properties, insert_expr_in_table,
8292 insert_set_in_table, canon_list_insert, find_avail_set,
8293 pre_insert_copy_insn): Likewise.
8294
8295 * basic-block.h (BLOCK_NUM): Move from here...
8296 * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
8297
a19eb9d2
RG
82982010-01-03 Richard Guenther <rguenther@suse.de>
8299
8300 PR tree-optimization/42438
8301 * tree-ssa-pre.c (struct bb_bitmap_sets): Add
8302 contains_may_not_return_call flag.
8303 (BB_MAY_NOTRETURN): New.
8304 (valid_in_sets): Trapping nary operations are not valid
8305 in blocks that may not return.
b5e33e04 8306 (insert_into_preds_of_block): Remove check for trapping expressions.
a19eb9d2
RG
8307 (compute_avail): Compute also BB_MAY_NOTRETURN.
8308
c41b7b13
GP
83092010-01-03 Gerald Pfeifer <gerald@pfeifer.com>
8310
8311 * doc/invoke.texi: Add 2010 to copyright years.
8312
4900aa61
EB
83132010-01-03 Eric Botcazou <ebotcazou@adacore.com>
8314
8315 * config/sparc/sparc.c: Fix formatting nits.
8316
711a778c 83172010-01-02 Gerald Pfeifer <gerald@pfeifer.com>
77102854 8318 Alexander Monakov <amonakov@ispras.ru>
711a778c
GP
8319
8320 * doc/invoke.texi (Optimize Options): Reword introduction a bit.
8321
1d86f5e9
RG
83222010-01-02 Richard Guenther <rguenther@suse.de>
8323
8324 PR middle-end/42577
8325 * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
8326 (simplify_switch_using_ranges): Mark to be removed edges
8327 as non-executable.
8328
91e1a80a
JDA
83292010-01-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8330
b86799ba
JDA
8331 * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
8332
91e1a80a
JDA
8333 * collect2.c (scan_libraries): Add missing argument in call to
8334 scan_prog_file.
8335
83362010-01-02 Uros Bizjak <ubizjak@gmail.com>
8337
8338 PR target/42448
8339 * config/alpha/predicates.md (aligned_memory_operand): Return false
8340 for CQImode.
8341 (unaligned_memory_operand): Return true for CQImode.
8342 * config/alpha/alpha.c (get_aligned_mem): Assert that location
8343 doesn not cross aligned SImode word boundary.
8344
83452010-01-02 Anatoly Sokolov <aesok@post.ru>
8346
8347 * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
8348 Remove.
8349 * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
8350 avr_change_section, avr_reg_class_from_letter) : Remove declaration.
8351
83522010-01-02 Richard Guenther <rguenther@suse.de>
8353
8354 PR lto/41597
8355 * toplev.c (compile_file): Emit LTO marker properly. Change
8356 it to __gnu_lto_v1.
8357 * collect2.c (scan_prog_file): Adjust for changed LTO marker.
5a013dc4 8358
aecd4d81
RG
83592010-01-01 Richard Guenther <rguenther@suse.de>
8360
8361 PR debug/42455
02143d0b 8362 * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
aecd4d81 8363
e4a95933
RG
83642010-01-01 Richard Guenther <rguenther@suse.de>
8365
8366 PR c/42570
8367 * c-decl.c (grokdeclarator): For zero-size arrays force
8368 structural equality checks as layout_type does.
8369
0bdf1263
L
83702010-01-01 H.J. Lu <hongjiu.lu@intel.com>
8371
8372 * builtins.c: Update copyright to 2010.
8373
91539475 83742010-01-01 H.J. Lu <hongjiu.lu@intel.com>
8589115b
DK
8375
8376 PR lto/42531
91539475 8377 * lto-streamer-out.c (produce_asm): Revert the last change.
8589115b
DK
8378 (copy_function): Likewise.
8379
91539475
L
8380 * lto-streamer.c (lto_get_section_name): Skip any leading
8381 asterisk in name.
20cdc2be 8382
91539475 83832010-01-01 Richard Guenther <rguenther@suse.de>
cf9eb565 8384
91539475
L
8385 PR middle-end/42559
8386 * builtins.c (get_object_alignment): Do not use DECL_ALIGN
8387 for LABEL_DECLs.
ad41bd84
JM
8388
8389\f
91539475 8390Copyright (C) 2010 Free Software Foundation, Inc.
ad41bd84
JM
8391
8392Copying and distribution of this file, with or without modification,
8393are permitted in any medium without royalty provided the copyright
8394notice and this notice are preserved.
This page took 2.090303 seconds and 5 git commands to generate.