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