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