]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
emit-rtl.c (adjust_address_1): Reduce offset to a signed value that fits within Pmode.
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
a6fe9ed4
JM
12009-03-03 Joseph Myers <joseph@codesourcery.com>
2
3 * emit-rtl.c (adjust_address_1): Reduce offset to a signed value
4 that fits within Pmode.
5
dc672951
SE
62009-03-03 Steve Ellcey <sje@cup.hp.com>
7
8 PR middle-end/10109
9 * tm.texi (LIBCALL_VALUE): Update description.
10
8b9d598f
SE
112009-03-03 Steve Ellcey <sje@cup.hp.com>
12
13 PR middle-end/34443
14 * doc/extend.texi (section): Update description.
15
13e4e36e
L
162009-03-03 H.J. Lu <hongjiu.lu@intel.com>
17
18 PR middle-end/39345
19 * tree-inline.c (remapped_type): New.
20 (can_be_nonlocal): Call remapped_type instead of remap_type.
21
067dd3c9
JJ
222009-03-03 Jakub Jelinek <jakub@redhat.com>
23
24 PR fortran/39354
25 * gimplify.c (goa_stabilize_expr): Handle tcc_comparison,
26 TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
27
9bd9f738
RG
282009-03-03 Richard Guenther <rguenther@suse.de>
29
30 PR middle-end/39272
31 * tree.c (tree_nonartificial_location): New function.
32 * tree.h (tree_nonartificial_location): Declare.
33 * builtins.c (expand_builtin_memory_chk): Provide location
34 of the call location for artificial function pieces.
35 (maybe_emit_chk_warning): Likewise.
36 (maybe_emit_sprintf_chk_warning): Likewise.
37 (maybe_emit_free_warning): Likewise.
38 * expr.c (expand_expr_real_1): Likewise.
39
f07049c8
JJ
402009-03-03 Jakub Jelinek <jakub@redhat.com>
41
42 PR tree-optimization/39343
43 * tree-ssa-ccp.c (maybe_fold_offset_to_address): Don't check if
44 COMPONENT_REF t has ARRAY_TYPE.
45
7d4fba4a
SP
462009-03-02 Sebastian Pop <sebastian.pop@amd.com>
47
48 PR middle-end/39335
49 * tree-parloops.c (canonicalize_loop_ivs): Call fold_convert
50 when the type precision of the induction variable should be
51 larger than the type precision of nit.
52 (gen_parallel_loop): Update use of canonicalize_loop_ivs.
53 * graphite.c (graphite_loop_normal_form): Same.
54 * tree-flow.h (canonicalize_loop_ivs): Update declaration.
55
78168632
UB
562009-03-02 Uros Bizjak <ubizjak@gmail.com>
57
58 * config/i386/i386.md (ST?_REG, MM?_REG): New constants.
59 (*call_1_rex64_ms_sysv): Use named constants instead of magic
60 numbers to describe clobbbered registers.
61 (*call_value_0_rex64_ms_sysv): Ditto.
62 * config/i386/mmx.md (emms): Ditto.
63 (femms): Ditto.
64
63553059
RS
652009-03-02 Richard Sandiford <rdsandiford@googlemail.com>
66
67 * config/mips/mips.c (mips_mdebug_abi_name): Fix the handling
68 of ABI_64.
69
500a1f85
UW
702009-03-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
71
72 * config/spu/spu.c (TARGET_SECTION_TYPE_FLAGS): Define.
73 (spu_section_type_flags): New function.
74
962aae34
UB
752009-03-02 Uros Bizjak <ubizjak@gmail.com>
76
77 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not copy
78 reg_class_contents of FLOAT_REGS into a temporary.
79
6dfb529c 802009-03-02 Richard Guenther <rguenther@suse.de>
962aae34 81 Ira Rosen <irar@il.ibm.com>
6dfb529c
RG
82
83 PR tree-optimization/39318
84 * tree-vect-transform.c (vectorizable_call): Transfer the EH region
85 information to the vectorized statement.
86
6b5629db
UB
872009-03-01 Uros Bizjak <ubizjak@gmail.com>
88
434426d2
UB
89 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not shadow "i"
90 variable. Use defined names instead of magic constants for REX SSE
91 registers.
6b5629db 92
14e5b285
RG
932009-03-01 Richard Guenther <rguenther@suse.de>
94
95 PR tree-optimization/39331
96 * omp-low.c (lower_send_shared_vars): Do not receive new
97 values for the reference of DECL_BY_REFERENCE parms or results.
98
526d73ab
JH
992009-03-01 Jan Hubicka <jh@suse.cz>
100
101 PR debug/39267
102 * tree.h (BLOCK_NONLOCALIZED_VARS, BLOCK_NUM_NONLOCALIZED_VARS,
103 BLOCK_NONLOCALIZED_VAR): New macros.
104 (tree_block): Add nonlocalized_vars.
f4ea99bd
EB
105 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die,
106 gen_decl_die): Add origin argument. Allow generation of die with
107 origin at hand only.
526d73ab 108 (gen_member_die, gen_type_die_with_usage, force_decl_die,
f4ea99bd
EB
109 declare_in_namespace, gen_namescpace_die, dwarf2out_decl): Update use
110 of gen_*.
526d73ab
JH
111 (gen_block_die): Fix checking for unused blocks.
112 (process_scope_var): Break out from .... ; work with origins only.
113 (decls_for_scope) ... here; process nonlocalized list.
114 (dwarf2out_ignore_block): Look for nonlocalized vars.
f4ea99bd
EB
115 * tree-ssa-live.c (remove_unused_scope_block_p): Look for nonlocalized
116 vars.
526d73ab
JH
117 (dump_scope_block): Dump them.
118 * tree-inline.c (remap_decls): Handle nonlocalized vars.
119 (remap_block): Likewise.
120 (can_be_nonlocal): New predicate.
121 (copy_bind_expr, copy_gimple_bind): Update use of remap_block.
122
7a9d3fe8
RW
1232009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
124
125 * configure: Regenerate.
126
b3cdf3cb
RW
1272009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
128
a16d1645
RW
129 * optc-gen.awk: No need to duplicate option flags twice.
130 Reuse help texts for duplicate options which do not have
131 any.
132
1156c176
RW
133 * gcc.c (display_help): Document --version.
134
033505fc
RW
135 * gcc.c (main): If print_help_list and verbose_flag, ensure
136 driver output comes before subprocess output.
137
4d077054
RW
138 * optc-gen.awk: Assign all remaining fields to help string,
139 space-separated, for multi-line help in *.opt.
140
a072f1cf
RW
141 * doc/invoke.texi (Warning Options): -Wsync-nand is C/C++ only.
142 -Wno-pedantic-ms-format is for MinGW targets only.
143
b3cdf3cb
RW
144 * doc/options.texi (Option file format): Fix bad indentation,
145 restoring dropped sentence.
146
a3aadcc5
JH
1472009-02-28 Jan Hubicka <jh@suse.cz>
148
149 * tree-inline.c (tree_function_versioning): Output debug info.
150
1cf5abb3
JH
1512009-02-28 Jan Hubicka <jh@suse.cz>
152
153 PR debug/39267
154 * tree-inline.c (setup_one_parameter): Do not copy propagate
155 arguments when not optimizing.
156
c4d3f42f
L
1572009-02-28 H.J. Lu <hongjiu.lu@intel.com>
158
159 PR target/39327
160 * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
161 (avx_addsubv4df3): Likewise.
162 (*avx_addsubv4sf3): Likewise.
163 (sse3_addsubv4sf3): Likewise.
164 (*avx_addsubv2df3): Likewise.
165 (sse3_addsubv2df3): Likewise.
166 (avx_unpckhps256): Correct item selectors.
167 (avx_unpcklps256): Likewise.
168 (avx_unpckhpd256): Likewise.
169 (avx_unpcklpd256): Likewise.
170
eb50f5f4
JH
1712009-02-28 Jan Hubicka <jh@suse.cz>
172
173 * tree-inline.c (expand_call_inline): Avoid duplicate declarations of
174 static vars.
175 (copy_arguments_for_versioning): If var is declared don't declare it.
176 (tree_function_versioning): First setup substitutions and then copy
177 args.
178
26140130
JH
1792009-02-27 Jan Hubicka <jh@suse.cz>
180
181 PR debug/39267
182 * cgraph.h (varpool_output_debug_info): Remove.
183 * cgraphunit.c (varpool_output_debug_info): Remove.
184 * dwarf2out.c (deferred_locations_struct): New struct
185 (deferred_locations): New type.
186 (deferred_locations_list): New static var.
187 (deffer_location): New function.
188 (gen_variable_die): Use it.
189 (decls_for_scope): Output info on local static vars.
190 (dwarf2out_finish): Process deferred locations.
191 * varpool.c (varpool_output_debug_info): Remove.
192
cff7525f
JH
1932009-02-27 Jan Hubicka <jh@suse.cz>
194
195 PR debug/39267
196 * tree.h (TREE_PROTECTED): Fix comment.
197 (BLOCK_HANDLER_BLOCK): Remove.
198 (struct tree_block): Remove handler_block add body_block.
199 (inlined_function_outer_scope_p): New.
200 (is_body_block): Remove.
201 * dbxout.c (dbxout_block): Remove BLOCK_HANDLER_BLOCK.
202 * dwarf2out.c (is_inlined_entry_point): Remove.
203 (add_high_low_attributes): Use inlined_function_outer_scope_p.
f10a1c6c
EB
204 (gen_block_die): Use is_inlined_entry_point check. Remove body block
205 code.
cff7525f
JH
206 * langhooks.h (struct lang_hooks): Remove no_bodu_blocks.
207 * gimplify.c (gimplify_expr): Gimplify body blocks.
f10a1c6c
EB
208 * tree-ssa-live.c (remove_unused_scope_block_p): Allow removing wrapper
209 block with multiple subblocks.
cff7525f
JH
210 (dump_scope_block): Prettier output; dump more flags and info.
211 (dump_scope_blocks): New.
212 (remove_unused_locals): Use dump_scope_blocks.
213 * tree-flow.h (dump_scope_blocks): Declare.
214 * tree-cfg.c (execute_build_cfg): Dump scope blocks.
215 * stmt.c (is_body_block): Remove.
216 * tree-inline.c (remap_block): Copy BODY_BLOCK info.
217 * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): Remove.
218
c20993b9
SP
2192009-02-27 Sebastian Pop <sebastian.pop@amd.com>
220
221 PR middle-end/39308
222 * graphite.c (graphite_loop_normal_form): Do not call
223 number_of_iterations_exit from a gcc_assert.
224
e3cba5e5
AK
2252009-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
226
227 * gcc/config/s390/s390.c: (s390_swap_cmp): Look for conditional
228 jumps if COND is NULL.
229 (find_cond_jump): New function.
230 (s390_z10_optimize_cmp): Handling for reg-reg compares added.
231 * gcc/config/s390/s390.md: Remove z10_cobra attribute value.
232
9dadeeb8
UB
2332009-02-26 Uros Bizjak <ubizjak@gmail.com>
234
235 * config/alpha/alpha.h (alpha_expand_mov): Return false if
236 force_const_mem returns NULL_RTX.
237
625d3251
EB
2382009-02-26 Jan Hubicka <jh@suse.cz>
239
240 PR debug/39267
241 * cgraph.h (varpool_output_debug_info): Remove.
242 * cgraphunit.c (varpool_output_debug_info): Remove.
243 * dwarf2out.c (deferred_locations_struct): New struct
244 (deferred_locations): New type.
245 (deferred_locations_list): New static var.
246 (deffer_location): New function.
247 (gen_variable_die): Use it.
248 (decls_for_scope): Output info on local static vars.
249 (dwarf2out_finish): Process deferred locations.
250 * varpool.c (varpool_output_debug_info): Remove.
251
38432148 2522009-02-25 H.J. Lu <hongjiu.lu@intel.com>
8592acaf
L
253
254 PR rtl-optimization/39241
255 * jump.c (rtx_renumbered_equal_p): Remove 2 superfluous calls
256 to subreg_offset_representable_p.
257
62d049cf
PB
2582009-02-25 Paolo Bonzini <bonzini@gnu.org>
259
260 * regmove.c (regmove_optimize): Conform to struct rtl_opt_pass
261 execute function prototype. Get f and nregs from max_reg_num
262 and get_insns. Remove the first backward pass as it's dead,
263 guard the forward pass by flag_expensive_optimizations.
264 (rest_of_handle_regmove): Delete.
265 (pass_regmove): Replace it with regmove_optimize.
266
f618d33e
MJ
2672009-02-25 Martin Jambor <mjambor@suse.cz>
268
269 PR tree-optimization/39259
270 * tree-inline.c (initialize_cfun): Remove asserts for calls_setjmp and
271 alls_alloca function flags.
272 (copy_bb): Set calls_setjmp and alls_alloca function flags if such
273 calls are detected.
274
c8a05f7c
PB
2752009-02-25 Paolo Bonzini <bonzini@gnu.org>
276
277 * regmove.c (discover_flags_reg, flags_set_1, mark_flags_life_zones,
278 flags_set_1_rtx, flags_set_1_set): Delete.
279 (regmove_optimize): Do not call mark_flags_life_zones.
280
6d2538f5
JB
2812009-02-24 Julian Brown <julian@codesourcery.com>
282
283 PR target/35965
284 * config/arm/arm.c (require_pic_register): Only set
285 cfun->machine->pic_reg once per function.
286
a2fa6772
SL
2872009-02-24 Sandra Loosemore <sandra@codesourcery.com>
288
289 * doc/invoke.texi (Link Options): Document an easier way to pass
9dadeeb8 290 options that take arguments to the GNU linker using -Xlinker and -Wl.
a2fa6772 291
5472de36
SE
2922009-02-24 Steve Ellcey <sje@cup.hp.com>
293
294 PR target/33785
295 * doc/tm.texi (TARGET_C99_FUNCTIONS): Fix description.
296
844216f3
RG
2972009-02-24 Richard Guenther <rguenther@suse.de>
298
299 PR debug/39285
300 * dwarf2out.c (gen_enumeration_type_die): Handle CONST_DECLs.
301
71adbef3 3022009-02-24 Richard Guenther <rguenther@suse.de>
8592acaf 303 Zdenek Dvorak <ook@ucw.cz>
71adbef3
RG
304
305 PR tree-optimization/39233
306 * tree-ssa-loop-ivopts.c (add_candidate_1): Do not except pointers
307 from converting them to a generic type.
308
f1a558e0
SP
3092009-02-23 Sebastian Pop <sebastian.pop@amd.com>
310
311 PR tree-optimization/39260
312 * graphite.c (harmful_stmt_in_bb): Stop a SCoP when the basic block
313 contains a condition with a real type.
314 (build_scop_conditions_1): Conditions are always last_stmt of a bb.
315
d8028f2c
JM
3162009-02-23 Jason Merrill <jason@redhat.com>
317
318 PR c++/38880
319 * varasm.c (initializer_constant_valid_p) [PLUS_EXPR]: Check
320 narrowing_initializer_constant_valid_p.
321 (narrowing_initializer_constant_valid_p): Don't return
322 null_pointer_node for adding a pointer to itself.
323
9283b513
JH
3242009-02-23 Jan Hubicka <jh@suse.cz>
325
326 PR c/12245
9dadeeb8
UB
327 * ggc.h (htab_create_ggc): Use ggc_free to free hashtable when
328 resizing.
9283b513 329
61e04322
JH
3302009-02-23 Jan Hubicka <jh@suse.cz>
331
9dadeeb8
UB
332 PR tree-optimization/37709
333 * tree.c (block_ultimate_origin): Move here from dwarf2out.
334 * tree.h (block_ultimate_origin): Declare.
335 * dwarf2out.c (block_ultimate_origin): Move to tree.c
61e04322
JH
336 * tree-ssa-live.c (remove_unused_scope_block_p):
337 Eliminate blocks containig no instructions nor live variables nor
338 nested blocks.
339 (dump_scope_block): New function.
340 (remove_unused_locals): Enable removal of dead blocks by default;
9dadeeb8 341 enable dumping at TDF_DETAILS.
61e04322 342
38432148 3432009-02-21 H.J. Lu <hongjiu.lu@intel.com>
5339d3ea
L
344
345 * config/i386/i386.c (classify_argument): Don't allow COImode
346 and OImode.
347 (function_arg_advance_32): Don't allow OImode.
348 (function_arg_32): Likewise.
349 (function_value_32): Likewise.
350 (return_in_memory_32): Likewise.
351 (function_arg_64): Remove OImode comment.
352
38432148 3532009-02-21 H.J. Lu <hongjiu.lu@intel.com>
f161e158
L
354
355 PR target/39261
356 * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Use
357 ix86_expand_vector_set for V4DImode in 64bit mode only.
358 (ix86_expand_vector_init_one_var): Likewise.
359
dcd739a6
SP
3602009-02-21 Sebastian Pop <sebastian.pop@amd.com>
361
362 * graphite.c (graphite_trans_loop_block): Adjust tile size to 51.
363
6c3b938d
RS
3642009-02-21 Richard Sandiford <rdsandiford@googlemail.com>
365
8e361f23 366 PR bootstrap/39257
6c3b938d
RS
367 * loop-iv.c: Revert last change.
368 * emit-rtl.c: Likewise.
369
38432148 3702009-02-21 H.J. Lu <hongjiu.lu@intel.com>
4c64d3dd
L
371
372 PR target/39256
373 * config/i386/i386.c (type_natural_mode): Remove an extra
374 space in the warning message.
375 (function_value_32): Handle 32-byte vector modes.
376 (return_in_memory_32): Likewise.
377
2ec62529
RS
3782009-02-21 Richard Sandiford <rdsandiford@googlemail.com>
379
380 * loop-iv.c (truncate_value): New function.
381 (iv_subreg, get_iv_value, iv_number_of_iterations): Use it instead
382 of lowpart_subreg.
383 (lowpart_subreg): Move to...
384 * emit-rtl.c: ...here.
385
ecb8c3cc 3862009-02-21 Danny Smith <dannysmith@users.sourceforge.net>
f814e489 387
ecb8c3cc
DS
388 * config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common): Revert
389 accidental and undocumented change at revision 140860.
390
ae46a823
JM
3912009-02-21 Joseph Myers <joseph@codesourcery.com>
392
393 * config/arm/arm.c (arm_gimplify_va_arg_expr): Update prototype to
394 take gimple_seq * arguments.
395 (arm_mangle_type): Use CONST_CAST_TREE on type argument passed to
396 types_compatible_p langhook.
397
07d8efe3 3982009-02-20 Mark Mitchell <mark@codesourcery.com>
f814e489 399 Joseph Myers <joseph@codesourcery.com>
07d8efe3
MM
400
401 * config/arm/arm.c (arm_builtin_va_list): New function.
402 (arm_expand_builtin_va_start): Likewise.
403 (arm_gimplify_va_arg_expr): Likewise.
404 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
405 (TARGET_BUILD_BUILTIN_VA_START): Likewise.
406 (TARGET_BUILD_BUILTIN_VA_ARG_EXPR): Likewise.
407 (va_list_type): New variable.
408 (arm_mangle_type): Mangle va_list_type appropriately.
409
b1fb9f56
JJ
4102009-02-20 Jakub Jelinek <jakub@redhat.com>
411
412 PR middle-end/39157
413 * Makefile.in (loop-invariant.o): Depend on $(PARAMS_H).
414 * params.h (LOOP_INVARIANT_MAX_BBS_IN_LOOP): Define.
415 * params.def (loop-invariant-max-bbs-in-loop): New parameter.
416 * opts.c (decode_options): Set loop-invariant-max-bbs-in-loop
417 parameter to 1000 for -O1 by default.
418 * doc/invoke.texi (loop-invariant-max-bbs-in-loop): Document new
419 parameter.
420 * loop-invariant.c: Include params.h.
421 (move_loop_invariants): Don't call move_single_loop_invariants on
422 very large loops.
423
5bc0807c
JM
4242009-02-20 Jaka Mocnik <jaka@xlab.si>
425
426 * calls.c (emit_library_call_value_1): Use slot_offset instead of
427 offset when calculating bounds for indexing stack_usage_map. Fixes
428 a buffer overflow with certain target setups.
429
c69cd1f5
JJ
4302009-02-20 Jakub Jelinek <jakub@redhat.com>
431
432 PR target/39240
433 * calls.c (expand_call): Clear try_tail_call if caller and callee
434 disagree in promotion of function return value.
435
09812622
JJ
4362009-02-19 Jakub Jelinek <jakub@redhat.com>
437
438 PR target/39175
439 * c-common.c (c_determine_visibility): If visibility changed and
440 DECL_RTL has been already set, call make_decl_rtl to update symbol
441 flags.
442
68017cb4
L
4432009-02-19 H.J. Lu <hongjiu.lu@intel.com>
444
445 PR c++/39188
446 * varasm.c (assemble_variable): Don't check DECL_NAME when
447 globalizing a variable.
448
ab4194da
JM
4492009-02-19 Joseph Myers <joseph@codesourcery.com>
450
451 PR c/38483
452 * builtins.c (gimplify_va_arg_expr): Evaluate the va_list
453 expression before any __builtin_trap call.
454 * c-typeck.c (build_function_call): Convert and check function
455 arguments before generating a call to a trap. Evaluate the
456 function arguments before the trap.
457
6b67572e
UB
4582009-02-19 Uros Bizjak <ubizjak@gmail.com>
459
460 PR target/39228
461 * config/i386/i386.md (isinfxf2): Split from isinf<mode>2.
462 (UNSPEC_FXAM_MEM): New unspec.
463 (fxam<mode>2_i387_with_temp): New insn and split pattern.
464 (isinf<mode>2): Use MODEF mode iterator. Force operand[1] through
465 memory using fxam<mode>2_i387_with_temp to remove excess precision.
466
9e39dba6
RG
4672009-02-19 Richard Guenther <rguenther@suse.de>
468
469 PR tree-optimization/39207
470 PR tree-optimization/39074
471 * tree-ssa-structalias.c (storedanything_id, var_storedanything,
472 storedanything_tree): New.
473 (do_ds_constraint): Simplify ANYTHING shortcutting. Update
6b67572e 474 the STOREDANYTHING solution if the lhs solution contains ANYTHING.
9e39dba6
RG
475 (build_succ_graph): Add edges from STOREDANYTHING to all
476 non-direct nodes.
477 (init_base_vars): Initialize STOREDANYTHING.
478 (compute_points_to_sets): Free substitution info after
479 building the succ graph.
480 (ipa_pta_execute): Likewise.
481
482 * tree-ssa-structalias.c (struct variable_info): Add may_have_pointers
483 field.
484 (do_ds_constraint): Do not add to special var or non-pointer
485 field solutions.
486 (type_could_have_pointers): Split out from ...
487 (could_have_pointers): ... here. For arrays use the element type.
488 (create_variable_info_for): Initialize may_have_pointers.
489 (new_var_info): Likewise.
490 (handle_lhs_call): Make the HEAP variable unknown-sized.
491 (intra_create_variable_infos): Use a type with pointers for
492 PARM_NOALIAS, make it unknown-sized.
493
fd7b2603
L
4942009-02-18 H.J. Lu <hongjiu.lu@intel.com>
495
496 PR target/39224
6b67572e 497 * config/i386/i386.c (ix86_return_in_memory): Properly check ABI.
fd7b2603 498
98b80692
JM
4992009-02-18 Jason Merrill <jason@redhat.com>
500
501 PR target/39179
502 * tree-ssa-ccp.c (get_symbol_constant_value): Don't assume zero
503 value if DECL_EXTERNAL.
504 * tree-sra.c (sra_walk_gimple_assign): Likewise.
505 * target.h (gcc_target::binds_local_p): Clarify "module".
506 * tree.h (TREE_PUBLIC): Clarify "module".
507
0705d3f4
L
5082009-02-17 Xuepeng Guo <xuepeng.guo@intel.com>
509
510 PR target/38891
511 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move the hunk of
512 initialization for MS_ABI prior to the hunk of !TARGET_MMX.
513
bce08d50
L
5142009-02-17 H.J. Lu <hongjiu.lu@intel.com>
515
516 PR target/39082
517 * c.opt (Wabi): Support C and ObjC.
518 (Wpsabi): New.
519
520 * c-opts.c (c_common_handle_option): Handle OPT_Wabi.
521
522 * config/i386/i386.c (classify_argument): Warn once about the ABI
523 change when passing union with long double.
524
525 * doc/invoke.texi: Update -Wabi for warning psABI changes.
526
5600f233
JM
5272009-02-18 Joseph Myers <joseph@codesourcery.com>
528
529 PR c/35447
530 * c-parser.c (c_parser_compound_statement): Always enter and leave
531 a scope.
532
8cd01fe6
JDA
5332009-02-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
534
535 PR target/34587
536 * config/darwin.h (SUPPORTS_INIT_PRIORITY): Define.
537
418df9d7
JJ
5382009-02-18 Jakub Jelinek <jakub@redhat.com>
539
540 PR tree-optimization/36922
541 * tree-data-ref.c (initialize_matrix_A): Handle BIT_NOT_EXPR.
542 * tree-scalar-evolution.c (interpret_rhs_expr, instantiate_scev_1):
543 Likewise.
544
082d2ebb
RS
5452009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
546
547 * config/mips/mips.c (mips_override_options): Set flag_dwarf2_cfi_asm
548 to 0 for EABI64.
549
17de576c
RS
5502009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
551
552 * config/mips/mips.md (type): Reclassify lui_movf as "unknown".
553
6d8d5435
RS
5542009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
555
556 * config/mips/mips.c (mips_gimplify_va_arg_expr): Fix invalid
557 tree sharing.
558
e69ff910
RB
5592009-02-17 Ruan Beihong <ruanbeihong@gmail.com>
560 Richard Sandiford <rdsandiford@googlemail.com>
561
562 * config/mips/mips.c (CODE_FOR_loongson_biadd): Delete.
563 * config/mips/loongson.md (reduc_uplus_<mode>): Rename to...
564 (loongson_biadd): ...this.
565
6b24ee26
RG
5662009-02-17 Richard Guenther <rguenther@suse.de>
567
568 PR tree-optimization/39202
569 * tree-ssa-structalias.c (do_structure_copy): Before collapsing
570 a var make sure to follow existing collapses.
571
91ab2c86
RG
5722009-02-17 Richard Guenther <rguenther@suse.de>
573
574 PR middle-end/39214
575 * langhooks.c (lhd_print_error_function): Check for NULL block.
576
73a63870
RG
5772009-02-17 Richard Guenther <rguenther@suse.de>
578
579 PR tree-optimization/39204
580 * tree-ssa-pre.c (phi_translate_1): Lookup the value-number
581 of the PHI arg.
582
0e08f686
UB
5832009-02-17 Uros Bizjak <ubizjak@gmail.com>
584
585 * config/soft-fp/double.h: Update from glibc CVS.
586
a60b7ddb
RG
5872009-02-17 Richard Guenther <rguenther@suse.de>
588
589 PR tree-optimization/39207
590 * tree-ssa-structalias.c (find_what_p_points_to): Do not emit
591 strict-aliasing warnings for pointers pointing to NULL.
592
a47e20fd
JM
5932009-02-16 Joseph Myers <joseph@codesourcery.com>
594
595 PR c/35446
596 * c-parser.c (c_parser_braced_init): Call pop_init_level when
597 skipping until next close brace.
598
50aab7dc
L
5992009-02-16 H.J. Lu <hongjiu.lu@intel.com>
600
601 PR target/37049
602 * config/i386/i386.c (ix86_expand_push): Set memory alignment
603 to function argument boundary.
604
68e53db0
HS
6052009-02-16 Hariharan Sandanagobalane <hariharan@picochip.com>
606
607 * config/picochip/picochip.md (lea_add): Allow any nonimmediate
608 in the lea_add. Reload eventually constraints it properly.
609 * config/picochip/constraints.md : Remove the target constraint
610 "b", since it is not needed anymore.
611
09e361bb
JJ
6122009-02-16 Jakub Jelinek <jakub@redhat.com>
613
614 * gthr-dce.h: Uglify function parameter and local variable names.
615 * gthr-gnat.h: Likewise.
616 * gthr-mipssde.h: Likewise.
617 * gthr-nks.h: Likewise.
618 * gthr-posix95.h: Likewise.
619 * gthr-posix.h: Likewise.
620 * gthr-rtems.h: Likewise.
621 * gthr-single.h: Likewise.
622 * gthr-solaris.h: Likewise.
623 * gthr-tpf.h: Likewise.
624 * gthr-vxworks.h: Likewise.
625 * gthr-win32.h: Likewise.
626
47f5a48f
L
6272009-02-15 H.J. Lu <hongjiu.lu@intel.com>
628
629 PR target/39196
630 * config/i386/i386.md: Restrict the new peephole2 to move
631 between MMX/SSE registers.
632
68c9ab45
RG
6332009-02-15 Richard Guenther <rguenther@suse.de>
634
635 Revert
636 2009-02-13 Richard Guenther <rguenther@suse.de>
637
638 * configure.ac: Enable LFS.
639 * configure: Re-generate.
640 * config.in: Likewise.
641
d7815554
UW
6422009-02-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
643
644 * config/spu/spu_internals.h (spu_sr, spu_sra, spu_srqw,
645 spu_srqwbyte, spu_srqwbytebc): Define.
646 * config/spu/spu-builtins.def (spu_sr, spu_sra, spu_srqw,
647 spu_srqwbyte, spu_srqwbytebc): New overloaded builtins.
648 * config/spu/spu.md ("shrqbybi_<mode>", "shrqbi_<mode>",
649 "shrqby_<mode>"): New insn-and-split patterns.
650 * config/spu/spu.c (expand_builtin_args): Determine and return
651 number of operands using spu_builtin_description data.
652 (spu_expand_builtin_1): Use it.
653
c208436c
SE
6542009-02-13 Steve Ellcey <sje@cup.hp.com>
655
656 PR target/38056
657 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Check
658 TARGET_CONST_GP.
659
c2e7ba7e
L
6602009-02-13 H.J. Lu <hongjiu.lu@intel.com>
661
662 PR target/39149
663 * config/i386/i386.c (override_options): Correct warning
6b67572e 664 messages for -malign-loops, -malign-jumps and -malign-functions.
c2e7ba7e 665
72f4e3a7
L
6662009-02-13 H.J. Lu <hongjiu.lu@intel.com>
667
668 PR target/39152
669 * config/i386/i386.md: Restrict the new peephole2 to move
670 between the general purpose registers.
671
53f648e2
L
6722009-02-13 H.J. Lu <hongjiu.lu@intel.com>
673
674 PR target/39162
675 * config/i386/i386.c (type_natural_mode): Add a new argument.
6b67572e 676 Return the original mode and warn ABI change if vector size is 32byte.
53f648e2
L
677 (function_arg_advance): Updated.
678 (function_arg): Likewise.
679 (ix86_function_value): Likewise.
680 (ix86_return_in_memory): Likewise.
681 (ix86_sol10_return_in_memory): Likewise.
682 (ix86_gimplify_va_arg): Likewise.
683 (function_arg_32): Don't warn ABX ABI change here.
684 (function_arg_64): Likewise.
685
38432148 6862009-02-13 Bernd Schmidt <bernd.schmidt@analog.com>
b1c92d54
BS
687
688 * loop-iv.c (implies_p): In the final case, test that operands 0
689 of the two comparisons match.
690
dd2139e7
BS
691 * config/bfin/bfin.c (find_prev_insn_start): New function.
692 (bfin_optimize_loop): Use it in some cases instead of PREV_INSN.
693 (find_next_insn_start): Move.
694
601b3e1a
RG
6952009-02-13 Richard Guenther <rguenther@suse.de>
696
697 * configure.ac: Enable LFS.
698 * configure: Re-generate.
699 * config.in: Likewise.
700
f007042e
JM
7012009-02-13 Joseph Myers <joseph@codesourcery.com>
702
703 PR c/35444
704 * c-parser.c (c_parser_parms_list_declarator): Discard pending
705 sizes on syntax error after some arguments have been parsed.
706
3f238e8b
JJ
7072009-02-12 Jakub Jelinek <jakub@redhat.com>
708
709 * doc/invoke.texi (-fira): Remove.
710
328e13b7
L
7112009-02-12 H.J. Lu <hongjiu.lu@intel.com>
712
713 * caller-save.c: Replace regclass.c with reginfo.c in comments.
714 * recog.c: Likewise.
715 * rtl.h: Likewise.
716
c252db20
L
7172009-02-12 Uros Bizjak <ubizjak@gmail.com>
718
719 * longlong.h (sub_ddmmss): New for ia64. Ported from GMP 4.2.
720 (umul_ppmm): Likewise.
721 (count_leading_zeros): Likewise.
722 (count_trailing_zeros): Likewise.
723 (UMUL_TIME): Likewise.
724
7252009-02-12 H.J. Lu <hongjiu.lu@intel.com>
726
ba181049
UB
727 * config.gcc (ia64*-*-linux*): Add ia64/t-fprules-softfp and
728 soft-fp/t-softfp to tmake_file.
c252db20
L
729
730 * config/ia64/ia64.c (ia64_soft_fp_init_libfuncs): New.
ba181049
UB
731 (ia64_expand_compare): Use HPUX library for TFmode only for HPUX.
732 (ia64_builtins) [IA64_BUILTIN_COPYSIGNQ, IA64_BUILTIN_FABSQ,
733 IA64_BUILTIN_INFQ]: New.
c252db20
L
734 (ia64_init_builtins): Initialize __builtin_infq,
735 __builtin_fabsq and __builtin_copysignq if not HPUX.
736 (ia64_expand_builtin): Handle IA64_BUILTIN_COPYSIGNQ,
737 IA64_BUILTIN_FABSQ and IA64_BUILTIN_INFQ.
738
739 * config/ia64/lib1funcs.asm (__divtf3): Define only if
740 SHARED is defined.
741 (__fixtfti): Likewise.
742 (__fixunstfti): Likewise.
743 (__floattitf): Likewise.
744
745 * config/ia64/libgcc-glibc.ver: New.
746 * config/ia64/t-fprules-softfp: Likewise.
747 * config/ia64/sfp-machine.h: Likewise.
748
749 * config/ia64/linux.h (LIBGCC2_HAS_TF_MODE): New.
750 (LIBGCC2_TF_CEXT): Likewise.
751 (TF_SIZE): Likewise.
752 (TARGET_INIT_LIBFUNCS): Likewise.
753
ba181049 754 * config/ia64/t-glibc (SHLINB_MAPFILES):
6b67572e 755 Add $(srcdir)/config/ia64/libgcc-glibc.ver.
c252db20 756
f13eae6a
L
7572009-02-12 H.J. Lu <hongjiu.lu@intel.com>
758
759 * config/i386/i386.c (construct_container): Rewrite processing
760 BLKmode with X86_64_SSE_CLASS.
761
12019aec
L
7622009-02-12 Paolo Bonzini <bonzini@gnu.org>
763
764 PR target/39152
765 * config/i386/i386.md: Replace simplify_replace_rtx with
766 replace_rtx in the new peephole2.
767
28c11eb3
NS
7682009-02-12 Nathan Sidwell <nathan@codesourcery.com>
769
770 * doc/invoke.texi (Optimize Options): Stop claiming inlining and
771 loop unrolling do not happen at -O2.
772
c7b94907
MM
7732009-02-12 Michael Matz <matz@suse.de>
774
775 * gcc.c (ASM_DEBUG_SPEC): Check for -g0.
776
61e98967
JJ
7772009-02-12 Jakub Jelinek <jakub@redhat.com>
778
779 * dwarf2out.c (dwarf2out_finish): Force output of comp_unit_die
780 for -g3.
781
a2a237b5
BE
7822009-02-12 Ben Elliston <bje@au.ibm.com>
783
784 * config/rs6000/rs6000.md (allocate_stack): Use _stack form of
785 patterns when updating the back chain. Missed in the 2009-02-10
786 change.
787
853eda8d
JJ
7882009-02-11 Janis Johnson <janis187@us.ibm.com>
789
790 * doc/extend.texi (Decimal Floating Types): Update identifier of
791 draft TR and list of missing support.
792
3ad6b266
JJ
7932009-02-11 Jakub Jelinek <jakub@redhat.com>
794
795 PR middle-end/39154
796 * gimplify.c (omp_notice_variable): If adding GOVD_SEEN
797 bit to variable length decl's flags, add it also to its
798 pointer replacement variable.
799
b058b753
UB
8002009-02-11 Uros Bizjak <ubizjak@gmail.com>
801 Jakub Jelinek <jakub@redhat.com>
802
803 PR target/39118
804 * config/i386/i386.md (UNSPEC_MEMORY_BLOCKAGE): New constant.
805 (memory_blockage): New expander.
806 (*memory_blockage): New insn pattern.
807 * config/i386/i386.c (ix86_expand_prologue): Use memory_blockage
808 instead of general blockage at the end of function prologue when
809 frame pointer is used to access red zone area. Do not emit blockage
810 when profiling, it is emitted in generic code.
811 (ix86_expand_epilogue): Emit memory_blockage at the beginning of
812 function epilogue when frame pointer is used to access red zone area.
813
bab64f23
PB
8142009-02-11 Paolo Bonzini <bonzini@gnu.org>
815
0ce6dcfa 816 PR target/38824
bab64f23
PB
817 * config/i386/i386.md: Add two new peephole2 to avoid mov followed
818 by arithmetic with memory operands.
819 * config/i386/predicates.md (commutative_operator): New.
820
8fd94bda
JJ
8212009-02-10 Janis Johnson <janis187@us.ibm.com>
822
823 * doc/extend.texi (Fixed-Point Types): Break long paragraphs into
824 bulleted lists.
825
794511d2
EB
8262009-02-10 Eric Botcazou <ebotcazou@adacore.com>
827
828 * alias.h (record_alias_subset): Declare.
829 * alias.c (record_alias_subset): Make global.
830
6da7fc87
NC
8312009-02-10 Nick Clifton <nickc@redhat.com>
832
833 * tree-parloops.c: Change license to GPLv3.
834 * ipa-struct-reorg.c: Change license to GPLv3.
835 * ipa-struct-reorg.h: Change license to GPLv3.
836
a03813c8
SE
8372009-02-10 Steve Ellcey <sje@cup.hp.com>
838
839 PR c/39084
840 * c-decl.c (start_struct): Return NULL on error.
841
fc3103e7
JJ
8422009-02-10 Jakub Jelinek <jakub@redhat.com>
843
9b43d37b
JJ
844 PR middle-end/39124
845 * cfgloopmanip.c (remove_path): Call remove_bbs after
846 cancel_loop_tree, not before it.
847
fc3103e7 848 PR target/39139
b058b753 849 * function.h (struct function): Add has_local_explicit_reg_vars bit.
fc3103e7
JJ
850 * gimplify.c (gimplify_bind_expr): Set it if local DECL_HARD_REGISTER
851 VAR_DECLs were seen.
852 * tree-ssa-live.c (remove_unused_locals): Recompute
853 cfun->has_local_explicit_reg_vars.
854 * tree-ssa-sink.c (statement_sink_location): Don't sink BLKmode
855 copies or clearings if cfun->has_local_explicit_reg_vars.
856
dbf9ee15
UB
8572009-02-10 Uros Bizjak <ubizjak@gmail.com>
858
859 PR target/39118
860 * config/i386/i386.c (expand_prologue): Emit blockage at the end
861 of function prologue when frame pointer is used to access
862 red zone area.
863
bdec4dc7
RG
8642009-02-10 Richard Guenther <rguenther@suse.de>
865
866 PR middle-end/39127
867 * gimplify.c (gimple_regimplify_operands): Always look if
868 we need to create a temporary.
869
7cae94fc
RG
8702009-02-10 Richard Guenther <rguenther@suse.de>
871
872 PR tree-optimization/39132
873 * tree-loop-distribution.c (todo): New global var.
874 (generate_memset_zero): Trigger TODO_rebuild_alias.
875 (tree_loop_distribution): Return todo.
876
a8800687
L
8772009-02-10 H.J. Lu <hongjiu.lu@intel.com>
878
879 PR target/39119
880 * config/i386/i386.c (x86_64_reg_class): Remove X86_64_AVX_CLASS.
881 (x86_64_reg_class_name): Removed.
882 (classify_argument): Return 0 if bytes > 32. Return 0 if the
883 first one isn't X86_64_SSE_CLASS or any other ones aren't
884 X86_64_SSEUP_CLASS when size > 16bytes. Don't turn
885 X86_64_SSEUP_CLASS into X86_64_SSE_CLASS if the preceded one
886 is X86_64_SSEUP_CLASS. Set AVX modes to 1 X86_64_SSE_CLASS
887 and 3 X86_64_SSEUP_CLASS.
888 (construct_container): Remove X86_64_AVX_CLASS. Handle 4
889 registers with 1 X86_64_SSE_CLASS and 3 X86_64_SSEUP_CLASS.
890
d4bacef0
BE
8912009-02-10 Ben Elliston <bje@au.ibm.com>
892
893 * config/rs6000/rs6000.md (allocate_stack): Always use an update
894 form instruction to update the stack back chain word, even if the
895 user has disabled the generation of update instructions.
896 (movdi_<mode>_update_stack): New.
897 (movsi_update_stack): Likewise.
898 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Likewise,
899 always use an update form instruction to update the stack back
900 chain word.
901
01d7d2f3
SP
9022009-02-09 Sebastian Pop <sebastian.pop@amd.com>
903
904 PR middle-end/38953
b058b753
UB
905 * graphite.c (if_region_set_false_region): After moving a region in
906 the false branch of a condition, remove the empty dummy basic block.
01d7d2f3
SP
907 (gloog): Remove wrong fix for PR38953.
908
e41e2ab4
UW
9092009-02-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
910
911 * config/spu/spu.c (array_to_constant): Fix (latent) wrong-code
912 generation due to implicit sign extension.
913
4bb07c5d
EB
9142009-02-09 Eric Botcazou <ebotcazou@adacore.com>
915
916 PR middle-end/38981
917 * tree-ssa-coalesce.c (add_coalesce): Cap the costs of coalesce pairs
918 at MUST_COALESCE_COST-1 instead of MUST_COALESCE_COST.
919
f060a261
RG
9202009-02-09 Richard Guenther <rguenther@suse.de>
921
922 PR middle-end/35202
923 * convert.c (convert_to_real): Disable (float)fn((double)x)
924 to fnf(x) conversion if errno differences may occur and
925 -fmath-errno is set.
926
5a7e237c
AS
9272009-02-07 Anatoly Sokolov <aesok@post.ru>
928
929 * config/avr/avr.c (avr_mcu_t): Add ata6289 device.
930 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
931 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
932
feab5a67
JM
9332009-02-06 Joseph Myers <joseph@codesourcery.com>
934
935 PR c/35434
936 * c-common.c (handle_alias_attribute): Disallow attribute for
937 anything not a FUNCTION_DECL or VAR_DECL.
938
90ef2296
JJ
9392009-02-06 Janis Johnson <janis187@us.ibm.com>
940
941 PR c/39035
942 * real.c (do_compare): Special-case compare of zero against
943 decimal float value.
944
1de2c900
JM
9452009-02-06 Joseph Myers <joseph@codesourcery.com>
946
947 PR c/36432
948 * c-decl.c (grokdeclarator): Don't treat [] declarators in fields
949 as indicating flexible array members unless the field itself is
950 being declarared as the incomplete array.
951
e901811a
JH
9522009-02-06 Jan Hubicka <jh@suse.cz>
953
954 PR tree-optimization/38844
955 * ipa-inline.c (try_inline): Stop inlining recursion when edge
956 is already inlined.
957
3cfa762b
RG
9582009-02-06 Richard Guenther <rguenther@suse.de>
959
960 PR middle-end/38977
961 * tree-cfg.c (need_fake_edge_p): Force a fake edge for
962 fork because we may expand it as __gcov_fork.
963
8506528c
NC
9642009-02-06 Nick Clifton <nickc@redhat.com>
965
dbf9ee15 966 * config/m32c/m32c.h (PCC_BITFIELD_TYPE_MATTERS): Define to zero.
8506528c 967
85169114
PB
9682009-02-06 Paolo Bonzini <bonzini@gnu.org>
969
970 PR tree-optimization/35659
971 * tree-ssa-sccvn.c (vn_constant_eq, vn_reference_eq, vn_nary_op_eq
972 vn_phi_eq): Shortcut if hashcode does not match.
973 (vn_reference_op_compute_hash): Do not call iterative_hash_expr for
974 NULL operands.
975 * tree-ssa-pre.c (pre_expr_hash): Look at hashcode if available,
976 and avoid iterative_hash_expr.
977 (FOR_EACH_VALUE_ID_IN_SET): New.
978 (value_id_compare): Remove.
979 (sorted_array_from_bitmap_set): Use FOR_EACH_VALUE_ID_IN_SET to
980 sort expressions by value id.
981
6d39673d
KK
9822009-02-05 Kaz Kojima <kkojima@gcc.gnu.org>
983
984 PR target/38991
985 * config/sh/predicates.md (general_movsrc_operand): Don't check
986 the subreg of system registers here.
987
e6e1c050
JJ
9882009-02-05 Jakub Jelinek <jakub@redhat.com>
989
990 PR c++/39106
991 * cgraphunit.c (cgraph_function_versioning): Clear also DECL_VIRTUAL_P
992 on the copied decl.
993
65a74b5d
PB
9942009-02-05 Paolo Bonzini <bonzini@gnu.org>
995
996 PR rtl-optimization/39110
997 * rtlanal.c (rtx_addr_can_trap_p_1): Shortcut unaligned
998 addresses, not aligned ones.
999
08e14b2a
DB
10002009-02-05 Daniel Berlin <dberlin@dberlin.org>
1001 Richard Guenther <rguenther@suse.de>
1002
1003 PR tree-optimization/39100
1004 * tree-ssa-structalias.c (do_ds_constraint): Actually do what the
1005 comment says and add edges.
1006
5006381c
JM
10072009-02-05 Joseph Myers <joseph@codesourcery.com>
1008
1009 PR c/35435
1010 * c-common.c (handle_tls_model_attribute): Ignore attribute for
1011 non-VAR_DECLs without checking DECL_THREAD_LOCAL_P.
1012
b0789219
TG
10132009-02-04 Tobias Grosser <grosser@fim.uni-passau.de>
1014
1015 * graphite.c (bb_in_sese_p, sese_build_livein_liveouts_use,
1016 sese_build_livein_liveouts_bb, sese_build_livein_liveouts,
1017 register_bb_in_sese, new_sese, free_sese): Moved.
1018 (dot_scop_1, build_scop_loop_nests, build_loop_iteration_domains,
1019 outermost_loop_in_scop, build_scop_iteration_domain,
1020 expand_scalar_variables_ssa_name, get_vdef_before_scop,
1021 limit_scops): Use bb_in_sese_p instead of bb_in_scop_p.
1022 Use loop_in_sese_p instead of loop_in_scop_p.
1023 (new_graphite_bb, gloog): Do not initialize SCOP_BBS_B.
1024 (new_scop, free_scop): Remove SCOP_LOOP2CLOOG_LOOP and SCOP_BBS_B.
1025 (scopdet_basic_block_info): Fix bug in scop detection.
1026 (new_loop_to_cloog_loop_str, hash_loop_to_cloog_loop,
1027 eq_loop_to_cloog_loop): Remove.
1028 (nb_loops_around_loop_in_scop, nb_loop
1029 ref_nb_loops): Moved here...
1030 * graphite.h (ref_nb_loops): ... from here.
1031 (struct scop): Remove bbs_b bitmap and loop2cloog_loop.
1032 (loop_domain_dim, loop_iteration_vector_dim): Remove.
1033 (SCOP_BBS_B, bb_in_scop_p, loop_in_scop_p): Removed.
1034 * testsuite/gcc.dg/graphite/scop-19.c: New
1035
48e8382e
PB
10362009-02-04 Paolo Bonzini <bonzini@gnu.org>
1037 Hans-Peter Nilsson <hp@axis.com>
1038
1039 PR rtl-optimization/37889
1040 * rtlanal.c (rtx_addr_can_trap_p_1): Add offset and size arguments.
1041 Move offset handling from PLUS to before the switch. Use new
1042 arguments when considering SYMBOL_REFs too.
1043 (rtx_addr_can_trap_p): Pass dummy offset and size.
1044 (enum may_trap_p_flags): Remove.
1045 (may_trap_p_1): Pass size from MEM_SIZE.
1046
1047 PR rtl-optimization/38921
1048 * loop-invariant.c (find_invariant_insn): Use may_trap_or_fault_p.
1049 * rtl.h (may_trap_after_code_motion_p): Delete prototype.
1050 * rtlanal.c (may_trap_after_code_motion_p): Delete.
1051 (may_trap_p, may_trap_or_fault_p): Pass 0/1 as flags.
1052
69349ea5
L
10532009-02-04 H.J. Lu <hongjiu.lu@intel.com>
1054
1055 AVX Programming Reference (January, 2009)
1056 * config/i386/sse.md (*vpclmulqdq): New.
1057
b545e411
JJ
10582009-02-04 Jakub Jelinek <jakub@redhat.com>
1059
1060 PR tree-optimization/38977
1061 PR gcov-profile/38292
bf9b2cc9 1062 * calls.c (special_function_p): Disregard __builtin_ prefix.
b545e411 1063
5b43bf05
HS
10642009-02-04 Hariharan Sandanagobalane <hariharan@picochip.com>
1065
1066 * config/picochip/picochip.c (GO_IF_LEGITIMATE_ADDRESS): Disallow
1067 non-indexable addresses even before reload.
1068
062c4bb3
JM
10692009-02-03 Joseph Myers <joseph@codesourcery.com>
1070
1071 PR c/29129
1072 * c-decl.c (grokdeclarator): Mark [*] arrays in field declarators
1073 as having variable size. Do not give an error for unnamed
1074 parameters with [*] declarators. Give a warning for type names
1075 with [*] declarators and mark them as variable size.
1076 * c-parser.c (c_parser_sizeof_expression): Do not give an error
1077 for sizeof applied to [*] type names.
1078
6175f578
AP
10792009-02-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
1080
1081 PR C++/36607
1082 * convert.c (convert_to_integer): Treat OFFSET_TYPE like INTEGER_TYPE.
1083
d4f4bc84
JJ
10842009-02-03 Jakub Jelinek <jakub@redhat.com>
1085
1086 * gcc.c (process_command): Update copyright notice dates.
1087 * gcov.c (print_version): Likewise.
1088 * gcov-dump.c (print_version): Likewise.
1089 * mips-tfile.c (main): Likewise.
1090 * mips-tdump.c (main): Likewise.
1091
f6294de7
JM
10922009-02-03 Joseph Myers <joseph@codesourcery.com>
1093
1094 PR c/35433
1095 * c-typeck.c (composite_type): Set TYPE_SIZE and TYPE_SIZE_UNIT
1096 for composite type involving a zero-length array type.
1097
754ccf7c
JJ
10982009-02-03 Jakub Jelinek <jakub@redhat.com>
1099
70f16287
JJ
1100 PR target/35318
1101 * function.c (match_asm_constraints_1): Skip over
1102 initial optional % in the constraint.
1103
754ccf7c
JJ
1104 PR inline-asm/39059
1105 * c-parser.c (c_parser_postfix_expression): If fixed point is not
1106 supported, don't accept FIXED_CSTs.
1107 * c-decl.c (finish_declspecs): Error if fixed point is not supported
1108 and _Sat is used without _Fract/_Accum. Set specs->type to
1109 integer_type_node for cts_fract/cts_accum if fixed point is not
1110 supported.
1111
965fdadf
CM
11122009-02-02 Catherine Moore <clm@codesourcery.com>
1113
dbf9ee15 1114 * sde.h (SUBTARGET_ARM_SPEC): Don't assemble -fpic code as -mabicalls.
965fdadf 1115
2e8a796f
RS
11162009-02-02 Richard Sandiford <rdsandiford@googlemail.com>
1117
1118 * config/mips/mips.h (FILE_HAS_64BIT_SYMBOLS): New macro.
1119 (ABI_HAS_64BIT_SYMBOLS): Use it.
1120 (DWARF2_ADDR_SIZE): Use it instead of ABI_HAS_64BIT_SYMBOLS.
1121
e0079468
PB
11222009-02-02 Paul Brook <paul@codesourcery.com>
1123
1124 * config/arm/arm.md (arm_addsi3): Add r/r/k alternative.
1125
eca72963
JJ
11262009-02-02 Jakub Jelinek <jakub@redhat.com>
1127
1128 PR inline-asm/39058
1129 * recog.h (asm_operand_ok): Add constraints argument.
1130 * recog.c (asm_operand_ok): Likewise. If it is set, for digits
1131 recurse on matching constraint.
1132 (check_asm_operands): Pass constraints as 3rd argument to
1133 asm_operand_ok. Don't look up matching constraint here.
1134 * stmt.c (expand_asm_operands): Pass NULL as 3rd argument
1135 to asm_operand_ok.
1136
b5bde9ff
BE
11372009-02-02 Ben Elliston <bje@au.ibm.com>
1138
1139 * doc/tm.texi (Storage Layout): Fix TARGET_ALIGN_ANON_BITFIELD and
1140 TARGET_NARROW_VOLATILE_BITFIELD macro names.
1141
30f3e427
JDA
11422009-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1143
be7659ba
JDA
1144 * doc/install.texi (hppa*-hp-hpux*): Update binutils and linker
1145 information. Remove some obsolete information. Reorganize.
1146
30f3e427
JDA
1147 * config/pa/fptr.c: Revert license to GPL 2.
1148 * config/pa/milli64.S: Likewise.
1149
3cbfaf98
DK
11502009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
1151
1152 PR target/38904
1153 * mkmap-flat.awk (END): Use pe_dll command-line arg to pass
1154 LIBRARY name in, instead of hard-coding it.
1155 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add an
1156 extra target make frag to tmake_files according to EH model.
1157 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
1158 * config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Add new target
1159 frags that define makefile variable EH_MODEL appropriately.
1160 * config/i386/cygming.h (DWARF2_UNWIND_INFO): Add comment.
1161 * config/i386/cygwin.h (LIBGCC_EH_EXTN): Define to nothing or
1162 to "-sjlj" according to type of EH configured.
1163 (LIBGCC_SONAME): Concatenate it to shared library base name.
1164 * config/i386/mingw32.h (LIBGCC_EH_EXTN): Define to "_dw2" or
1165 to "_sjlj" according to type of EH configured.
1166 (LIBGCC_SONAME): Concatenate it to shared library base name.
1167 * config/i386/t-cygming (SHLIB_SONAME): Use EH_MODEL.
1168 (SHLIB_LINK): Add missing semicolon to if-else construct.
1169 (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
1170 string value of "pe_dll" command-line option.
1171 * config/i386/t-cygwin (SHLIB_EH_EXTENSION): New helper.
1172 (SHLIB_SONAME): Use it when overriding t-cygming default.
1173 (SHLIB_IMPLIB): Override t-cygming default.
1174 (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
1175 string value of "pe_dll" command-line option.
1176
8d0b6068
DK
11772009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
1178
1179 PR target/38952
1180 * config/i386/i386.c (ix86_builtin_setjmp_frame_value): New.
bf9b2cc9 1181 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Override default to point at it.
8d0b6068 1182
14c28276
RG
11832009-01-31 Richard Guenther <rguenther@suse.de>
1184
1185 PR tree-optimization/38937
1186 * tree-ssa-structalias.c (do_sd_constraint): Do not shortcut
1187 computing the transitive closure.
1188
5f4d82c2
RG
11892009-01-30 Richard Guenther <rguenther@suse.de>
1190
1191 PR tree-optimization/39041
1192 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
1193 Propagate variable indices only if the types match for this stmt.
1194
d0728ae0
JJ
11952009-01-30 Jakub Jelinek <jakub@redhat.com>
1196
1197 PR target/39013
1198 * c-decl.c (pop_scope): Set DECL_EXTERNAL for functions declared
1199 inline but never defined.
1200
6b67572e 12012009-01-30 Wolfgang Gellerich <gellerich@de.ibm.com>
9fec758d
WG
1202
1203 * config/s390/s390.md (*insv<mode>_reg_extimm): Removed.
1204 (*insv_h_di_reg_extimm): New insn.
1205 (*insv_l<mode>_reg_extimm): New insn.
1206
12072009-01-30 Hariharan Sandanagobalane <hariharan@picochip.com>
9e8be1e4
HS
1208
1209 * config/picochip/picochip.c (flag_conserve_stack): set
1210 PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under
1211 fconserve-stack. Reduce call-overhead used by inliner.
1212
9fec758d 12132009-01-30 Hariharan Sandanagobalane <hariharan@picochip.com>
df9198ab
HS
1214
1215 PR/38157
1216 * common.opt (flag_conserve_stack): Initialised to zero.
1217
7f1c539c
KT
12182009-01-30 Kai Tietz <kai.tietz@onevision.com>
1219
1220 PR/39002
1221 * config/i386/i386.c (ix86_can_use_return_insn_p): Check for nsseregs.
1222 (ix86_expand_epilogue): Take nsseregs in account to use proper restore
1223 method.
1224
3631be48
L
12252009-01-29 H.J. Lu <hongjiu.lu@intel.com>
1226
1227 * ira-color.c (allocno_reload_assign): Update comments.
1228 * regmove.c (regmove_optimize): Likewise.
1229
1230 * ra.h: Removed.
1231
416ac4d4
RM
12322009-01-29 Robert Millan <rmh@aybabtu.com>
1233
1234 * gcc/config.gcc: Recognize GNU/kOpenSolaris (*-*-kopensolaris*-gnu).
1235 * gcc/config/i386/kopensolaris-gnu.h: New file. Undefine
1236 `MD_UNWIND_SUPPORT'.
1237 * gcc/config/kopensolaris-gnu.h: New file (based on kfreebsd-gnu.h).
1238
d5e54bc1
KH
12392009-01-29 Kazu Hirata <kazu@codesourcery.com>
1240
1241 PR tree-optimization/39007
1242 * tree-loop-distribution.c (generate_builtin): Use
1243 recompute_dominator to compute the immediate dominator of the
1244 basic block just after the loop.
1245
38432148 12462009-01-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
e9e077fa
RO
1247
1248 * config/i386/sol2-10.h [!HAVE_AS_IX86_DIFF_SECT_DELTA]
1249 (ASM_OUTPUT_DWARF_PCREL): Define.
1250
38432148 12512009-01-29 Vladimir Makarov <vmakarov@redhat.com>
2af2dbdc
VM
1252
1253 * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
1254 * doc/passes.texi: Remove entries about regclass, local-alloc, and
1255 global. Modify entries about regmove and IRA.
1256
1257 * ra-conflict.c: Remove the file.
1258
1259 * reload.c (push_reload, find_dummy_reload): Remove flag_ira.
1260
1261 * tree-pass.h (pass_local_alloc, pass_global_alloc): Remove.
1262 (pass_regclass_init): Rename to pass_reginfo_init.
1263
1264 * cfgloopanal.c (estimate_reg_pressure_cost): Remove flag_ira.
1265
1266 * toplev.h (flag_ira): Remove.
1267
1268 * caller-save.c (setup_save_areas): Remove flag_ira.
1269
bf9b2cc9 1270 * ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot): Ditto.
2af2dbdc
VM
1271
1272 * global.c: Remove the file.
1273
1274 * opts.c: (decode_options): Remove flag_ira.
1275
1276 * hard-reg-set.h (losing_caller_save_reg_set): Remove.
1277
1278 * regmove.c: Modify file description.
1279 (find_use_as_address, try_auto_increment): Define them only if
1280 AUTO_INC_DEC is defined.
1281 (replacement_quality, replace_in_call_usage, fixup_match_1,
1282 stable_and_no_regs_but_for_p): Remove.
1283 (reg_set_in_bb): Make it static.
1284 (regmove_optimize): Remove flag_ira and code which worked for
1285 !flag_ira.
1286
1287 * local-alloc.c: Remove the file.
1288
1289 * common.opt (fira): Remove.
1290
1291 * ira.c: Include except.h.
1292 (eliminable_regset): Move from global.c.
1293 (mark_elimination): Ditto. Remove flag_ira.
1294 (reg_renumber, struct equivalence, reg_equiv, equiv_mem,
1295 equiv_mem_modified, validate_equiv_mem_from_store,
1296 validate_equiv_mem, equiv_init_varies_p, equiv_init_movable_p,
1297 contains_replace_regs, memref_referenced_p, memref_used_between_p,
1298 no_equiv, recorded_label_ref): Move from local-alloc.c.
1299 (update_equiv_regs): Ditto. Make it static.
1300 (print_insn_chain, print_insn_chains): Move it from global.c.
bf9b2cc9 1301 (pseudo_for_reload_consideration_p): Ditto. Remove flag_ira.
2af2dbdc
VM
1302 (build_insn_chain): Ditto. Make it static.
1303 (ra_init_live_subregs): Move from ra-conflict.c. Make it static.
1304 Rename to init_live_subregs.
1305 (gate_ira): Remove flag_ira.
1306
1307 * regclass.c: Rename reginfo.c. Change file description.
1308 (FORBIDDEN_INC_DEC_CLASSES): Remove.
dbf9ee15 1309 (reg_class_superclasses, forbidden_inc_dec_class, in_inc_dec): Remove.
2af2dbdc
VM
1310 (init_reg_sets_1): Remove code for evaluation of
1311 reg_class_superclasses and losing_caller_save_reg_set.
1312 (init_regs): Remove init_reg_autoinc.
1313 (struct costs, costs, init_cost, ok_for_index_p_nonstrict,
1314 ok_for_base_p_nonstrict): Remove.
bf9b2cc9 1315 (regclass_init): Rename to reginfo_init. Don't initialize init_cost.
2af2dbdc
VM
1316 (pass_regclass_init): Rename to pass_reginfo_init. Modify
1317 corresponding entries.
1318 (dump_regclass, record_operand_costs, scan_one_insn,
1319 init_reg_autoinc, regclass, record_reg_classes, copy_cost,
1320 record_address_regs, auto_inc_dec_reg_p): Remove.
1321 (gt-regclass.h): Rename to gt-reginfo.h.
1322
1323 * rtl.h (dump_global_regs, retry_global_alloc,
bf9b2cc9 1324 build_insn_chain, dump_local_alloc, update_equiv_regs): Remove.
2af2dbdc
VM
1325
1326 * Makefile.in (RA_H): Remove.
1327 (OBJS-common): Remove global.o, local-alloc.o, and ra-conflict.o.
1328 Rename regclass.o to reginfo.o.
1329 (regclass.o): Rename to reginfo.o. Rename gt-regclass.h to
1330 gt-reginfo.h.
1331 (global.o, local-alloc.o, ra-conflict.o): Remove entries.
1332 (GTFILES): Rename regclass.c to reginfo.c.
1333
1334 * passes.c (init_optimization_passes): Remove pass_local_alloc and
bf9b2cc9 1335 pass_global_alloc. Rename pass_regclass_init to pass_reginfo_init.
2af2dbdc
VM
1336
1337 * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
1338 count_spilled_pseudo, find_reg, alter_reg, delete_output_reload):
1339 Remove flag_ira.
6b67572e 1340 (finish_spills): Ditto. Remove code for !flag_ira.
2af2dbdc 1341
c95b2534 13422009-01-29 Kenneth Zadeck <zadeck@naturalbridge.com>
00b251a0
KZ
1343
1344 PR middle-end/35854
1345 * doc/invoke.texi (rtl debug options): Complete rewrite.
1346 * auto-inc-dec.c (pass_inc_dec): Rename pass from "auto-inc-dec"
1347 to auto_inc_dec".
1348 * mode-switching.c (pass_mode_switching): Rename pass from
1349 "mode-sw" to "mode_sw".
1350 * except.c (pass_convert_to_eh_ranges): Rename pass from
1351 "eh-ranges" to "eh_ranges".
1352 * lower-subreg.c (pass_lower_subreg): Renamed pass from "subreg"
1353 to "subreg1".
1354
1355
72a54528
AM
13562009-01-29 Andrey Belevantsev <abel@ispras.ru>
1357 Alexander Monakov <amonakov@ispras.ru>
1358
1359 PR middle-end/38857
1360 * sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
1361 register.
1362 (move_exprs_to_boundary): Change return type and pass through
1363 should_move from move_op. Relax assert. Update usage ...
1364 (schedule_expr_on_boundary): ... here. Use should_move instead of
1365 cant_move.
1366 (move_op_orig_expr_found): Indicate that insn was disconnected from
1367 stream.
1368 (code_motion_process_successors): Do not call after_merge_succs
1369 callback if original expression was not found when traversing any of
1370 the branches.
1371 (code_motion_path_driver): Change return type. Update prototype.
1372 (move_op): Update comment. Add a new parameter (should_move). Update
1373 prototype. Set *should_move based on indication provided by
1374 move_op_orig_expr_found.
1375
001b9eb6
PH
13762009-01-28 Pat Haugen <pthaugen@us.ibm.com>
1377
1378 * doc/invoke.texi (avoid-indexed-addresses): Document new option.
1379 * config/rs6000/rs6000-protos.h (avoiding_indexed_address_p): Declare.
1380 * config/rs6000/rs6000.opt (avoid-indexed-addresses): New option.
1381 * config/rs6000/rs6000.c (rs6000_override_options): Default
1382 avoid-indexed-addresses on for Power6, off for everything else.
1383 (avoiding_indexed_address_p): New function.
1384 (rs6000_legitimize_address): Use it.
1385 (rs6000_legitimate_address): Likewise.
1386 * config/rs6000/rs6000.md (movXX_updateX): Likewise
1387
59dc4898
KH
13882009-01-28 Kazu Hirata <kazu@codesourcery.com>
1389
1390 PR tree-optimization/38997
1391 * tree-loop-distribution.c (generate_memset_zero): Use
1392 POINTER_PLUS_EXPR for a pointer addition.
1393
07da44ab
AK
13942009-01-28 Andreas Krebbel <krebbel1@de.ibm.com>
1395
1396 * config/s390/s390.md (bswap<mode>2): New pattern added.
1397
cdc15d23
WG
13982009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
1399
1400 * config/s390/s390.md (*tls_load_31): Added type attribute.
1401
d46f24b6
WG
14022009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
1403
1404 * config/s390/s390.md: Fix a few comments.
1405
729e750f
WG
14062009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
1407
1408 * config/s390/s390.md (*tmsi_reg): Fixed z10prop attribute.
1409 (*tm<mode>_full): Fixed z10prop attribute.
1410 (*tst<mode>_extimm): Fixed z10prop attribute.
1411 (*tst<mode>_cconly_extimm): Fixed z10prop attribute.
1412 (*tstqiCCT_cconly): Fixed z10prop attribute.
1413 (*cmpsi_ccu_zerohi_rlsi): Fixed z10prop attribute.
1414 (*movsi_larl): Fixed z10prop attribute.
1415 (*movsi_zarch): Fixed z10prop attribute.
1416 (*movsi_eas): Fixed z10prop attribute.
1417 (*movhi): Fixed z10prop attribute.
1418 (*movqi): Fixed z10prop attribute.
1419 (*movstrictqi): Fixed z10prop attribute.
1420 (*mov<mode>): Fixed z10prop attribute.
1421 (*movcc): Fixed z10prop attribute.
1422 (*sethighpartdi_64): Fixed z10prop attribute.
1423 (*zero_extendhi<mode>2_z10): Fixed z10prop attribute.
1424 (*negdi2_sign_cc): Fixed z10prop attribute.
1425 (*negdi2_sign): Fixed z10prop attribute.
1426 (*absdi2_sign_cc): Fixed z10prop attribute.
1427 (*absdi2_sign): Fixed z10prop attribute.
1428 (*negabsdi2_sign_cc): Fixed z10prop attribute.
1429 (*negabsdi2_sign): Fixed z10prop attribute.
1430 (*cmp_and_trap_signed_int<mode>): Fixed z10prop attribute.
1431 (*cmp_and_trap_unsigned_int<mode>): Fixed z10prop attribute.
1432 (doloop_si64): Fixed z10prop attribute.
1433 (doloop_si31): Fixed z10prop attribute.
1434 (doloop_long): Fixed z10prop attribute.
1435 (indirect_jump): Fixed z10prop attribute.
1436 (nop): Fixed z10prop attribute.
1437 (main_base_64): Fixed z10prop attribute.
1438 (reload_base_64): Fixed z10prop attribute.
1439
c7789bfb
JJ
14402009-01-28 Jakub Jelinek <jakub@redhat.com>
1441
1442 PR rtl-optimization/38740
6b67572e
UB
1443 * reorg.c (gate_handle_delay_slots): Avoid dbr scheduling
1444 if !optimize.
c7789bfb
JJ
1445 * config/mips/mips.c (mips_reorg): Likewise.
1446
de081cfd
RG
14472009-01-28 Richard Guenther <rguenther@suse.de>
1448
1449 PR tree-optimization/38926
1450 * tree-ssa-pre.c (add_to_value): Assert we add only expressions
1451 with the correct value id to a value.
1452 (do_regular_insertion): Use the value number of edoubleprime
1453 for the value number of the expr.
1454
1455 Revert
1456 2008-08-21 Richard Guenther <rguenther@suse.de>
bf9b2cc9 1457
d748c406
UB
1458 * tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
1459 a PHI ask VN if it is already available.
1460 * tree-ssa-sccvn.h (vn_phi_lookup): Declare.
1461 * tree-ssa-sccvn.c (vn_phi_lookup): Export.
de081cfd 1462
a9d386a1
JJ
14632009-01-28 Jakub Jelinek <jakub@redhat.com>
1464
1465 PR middle-end/38934
1466 * tree-vrp.c (extract_range_from_assert): For LE_EXPR and LT_EXPR
1467 set to varying whenever max has TREE_OVERFLOW set, similarly
1468 for GE_EXPR and GT_EXPR and TREE_OVERFLOW min.
1469
97a170cd
RG
14702009-01-28 Richard Guenther <rguenther@suse.de>
1471
1472 PR middle-end/38908
1473 * tree-ssa.c (warn_uninitialized_var): Do not warn for seemingly
1474 uninitialized aggregate uses in call arguments.
1475
89ebafc6
PB
14762009-01-28 Paolo Bonzini <bonzini@gnu.org>
1477
1478 PR tree-optimization/38984
1479 * tree-ssa-structalias.c (get_constraints_for_1): Do not use
1480 the nothing_id variable if -fno-delete-null-pointer-checks.
1481
bef3c57b
UB
14822009-01-28 Uros Bizjak <ubizjak@gmail.com>
1483
1484 PR target/38988
1485 * config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref.
1486 (set_got_offset_rex64): Ditto.
1487
0c6390fa
L
14882009-01-27 H.J. Lu <hongjiu.lu@intel.com>
1489
1490 PR target/38941
1491 * doc/extend.texi: Improve local variable with asm reg.
1492
bee6fa6d
AN
14932009-01-27 Adam Nemet <anemet@caviumnetworks.com>
1494
1495 * c.opt (Wpacked-bitfield-compat): Change init value to -1.
1496 * c-opts.c (c_common_post_options): If -W*packed-bitfield-compat
1497 was not supplied then set warn_packed_bitfield_compat to the
1498 default value of 1.
1499 * stor-layout.c (place_field): Check warn_packed_bitfield_compat
1500 against 1.
1501
b5c3dfbb
RG
15022009-01-27 Richard Guenther <rguenther@suse.de>
1503
1504 PR tree-optimization/38503
1505 * cfgexpand.c (expand_gimple_basic_block): Ignore
1506 GIMPLE_CHANGE_DYNAMIC_TYPE during expansion.
1507 * tree-ssa-structalias.c (set_uids_in_ptset): Do not prune
1508 variables that cannot have TBAA applied.
1509 (compute_points_to_sets): Do not remove GIMPLE_CHANGE_DYNAMIC_TYPE
1510 statements.
1511
d748c406 15122009-01-27 Uros Bizjak <ubizjak@gmail.com>
576de5cb
UB
1513
1514 PR middle-end/38969
1515 * calls.c (initialize_argument_information): Do not wrap complex
1516 arguments in SAVE_EXPR.
1517
9112bb38
AT
15182009-01-26 Andreas Tobler <a.tobler@schweiz.org>
1519
1520 * config/t-vxworks (LIBGCC2_INCLUDES): Fix typo.
5efb79fc 1521 (INSTALL_LIBGCC): Revert typo commit.
9112bb38 1522
4757704f
RG
15232009-01-26 Richard Guenther <rguenther@suse.de>
1524
1525 PR tree-optimization/38745
1526 * tree-ssa-alias.c (update_alias_info_1): Exclude RESULT_DECL
1527 from special handling.
1528
e3e6cff4
RG
15292009-01-26 Richard Guenther <rguenther@suse.de>
1530
1531 PR tree-optimization/38745
1532 * tree-ssa.c (execute_update_addresses_taken): Do not include
1533 variables that cannot possibly be a register in not_reg_needs.
1534 Do not clear TREE_ADDRESSABLE on vars that may not become
1535 registers.
1536 * tree-ssa.c (update_alias_info_1): Include those in the set
1537 of addressable vars.
1538
dc874b53
RG
15392009-01-26 Richard Guenther <rguenther@suse.de>
1540
1541 PR middle-end/38851
1542 * Makefile.in (tree-ssa-dse.o): Add langhooks.h.
1543 * tree-ssa-dse.c: Include langhooks.h
1544 (execute_simple_dse): Remove stores with zero size.
1545
849421a3
JJ
15462009-01-24 Jakub Jelinek <jakub@redhat.com>
1547
1548 PR c/38957
1549 * c-typeck.c (c_finish_return): Handle POINTER_PLUS_EXPR the same way
1550 as PLUS_EXPR.
1551
82f70421
JB
15522009-01-24 Julian Brown <julian@codesourcery.com>
1553
1554 * config/arm/t-linux-eabi (LIB2FUNCS_STATIC_EXTRA): Add
1555 config/arm/linux-atomic.c.
1556 * config/arm/linux-atomic.c: New.
1557
863412d6
EB
15582009-01-24 Eric Botcazou <ebotcazou@adacore.com>
1559
1560 * config/sparc/linux.h (DBX_REGISTER_NUMBER): Delete.
1561 * config/sparc/linux64.h (DBX_REGISTER_NUMBER): Likewise.
1562 * config/sparc/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
1563
8c684300
L
15642009-01-24 H.J. Lu <hongjiu.lu@intel.com>
1565
1566 PR c/38938
93f1527a 1567 * c-opts.c (c_common_handle_option): Update warn_pointer_sign
8c684300
L
1568 properly.
1569
b840fb02
SP
15702009-01-24 Sebastian Pop <sebastian.pop@amd.com>
1571
1572 PR tree-optimization/38953
1573 * graphite.c (graphite_verify): Add a call to verify_loop_closed_ssa.
1574 (scop_adjust_phis_for_liveouts): Initialize false_i to zero.
1575 (gloog): Split the exit of the scop when the scop exit is a loop exit.
1576 (graphite_transform_loops): Only call cleanup_tree_cfg if gloog
1577 changed the CFG.
1578
ecee559f
PB
15792009-01-24 Paul Brook <paul@codesourcery.com>
1580
1581 * config/arm/neon.md (neon_type): Move to arm.md.
1582 (neon_mov<VSTRUCT>): Add neon_type attribute.
1583 * config/arm/arm.md (neon_type): Move to here.
1584 (conds): Add "unconditioal" and use as default for NEON insns.
1585
61ad0914
BE
15862009-01-24 Ben Elliston <bje@au.ibm.com>
1587
1588 * bitmap.h (BITMAP_FREE): Eliminate `implicit conversion from
1589 void *' warning from -Wc++-compat.
1590 * Makefile.in (dominance.o-warn): Remove.
1591
38432148 15922009-01-23 Paolo Bonzini <bonzini@gnu.org>
9bacafeb
PB
1593
1594 PR tree-optimization/38932
1595 * fold-const.c (fold_unary_ignore_overflow): New.
1596 * tree.h (fold_unary_ignore_overflow): Declare.
1597 * tree-ssa-ccp.c (ccp_fold): Use fold_unary_ignore_overflow.
1598 * tree-ssa-sccvn.c (visit_reference_op_load,
1599 simplify_unary_expression): Likewise.
1600
2cd36c22
AN
16012009-01-22 Adam Nemet <anemet@caviumnetworks.com>
1602
1603 * c-decl.c (finish_struct): Move code to set DECL_PACKED after
1604 DECL_BIT_FIELD is alreay known. Also inherit packed for bitfields
1605 regardless of their type.
1606 * c-common.c (handle_packed_attribute): Don't ignore packed on
1607 bitfields.
1608 * c.opt (Wpacked-bitfield-compat): New warning option.
1609 * stor-layout.c (place_field): Warn if offset of a field changed.
1610 * doc/extend.texi (packed): Mention the ABI change.
1611 * doc/invoke.texi (-Wpacked-bitfield-compat): Document.
1612 (Warning Options): Add it to the list.
1613
e4e624ab
L
16142009-01-22 H.J. Lu <hongjiu.lu@intel.com>
1615
1616 * c-opts.c (c_common_post_options): Fix a typo in comments.
1617
d0ea0759
SE
16182009-01-22 Steve Ellcey <sje@cup.hp.com>
1619
1620 PR middle-end/38615
1621 * gimplify.c (gimplify_init_constructor): Fix promotion of const
1622 variables to static.
1623 * doc/invoke.texi (-fmerge-all-constants): Update description.
1624
87673f84
UB
16252009-01-22 Uros Bizjak <ubizjak@gmail.com>
1626
1627 PR target/38931
1628 * config/i386/i386.md (*movsi_1): Use type "mmx" for alternative 2.
1629 (*movdi_1_rex64): Use type "mmx" for alternative 5.
1630
96339268
RE
16312009-01-22 Richard Earnshaw <rearnsha@arm.com>
1632
1633 * arm.h (DATA_ALIGNMENT): Align structures, unions and arrays to
1634 a word boundary.
1635 (LOCAL_ALIGNMENT): Similarly.
1636
442dc742 16372009-01-22 Mark Shinwell <shinwell@codesourcery.com>
87673f84 1638 Joseph Myers <joseph@codesourcery.com>
442dc742
MS
1639
1640 * config/arm/arm.c (all_architectures): Add iWMMXt2 entry.
1641 * config/arm/arm-cores.def: New ARM_CORE entry for iWMMXt2.
1642 * config/arm/arm-tune.md: Regenerate.
1643 * doc/invoke.texi (ARM Options): Document -mcpu=iwmmxt2 and
1644 -march=iwmmxt2.
1645
9b34732e
MS
16462009-01-22 Mark Shinwell <shinwell@codesourcery.com>
1647
1648 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Bump EABI
1649 version number to five.
1650
03c2a308
DS
16512009-01-22 Dodji Seketeli <dodji@redhat.com>
1652
1653 PR c++/38930
1654 * c-decl.c: (clone_underlying_type): Revert PR c++/26693 changes.
1655 * c-common.c (set_underlying_type): Likewise.
1656 (is_typedef_decl ): Likewise
1657 * tree.h: Likewise
1658 (set_underlying_type): Likewise.
1659 (is_typedef_type): Likewise.
1660
1240d76e
VM
16612009-01-21 Vladimir Makarov <vmakarov@redhat.com>
1662
1663 PR middle-end/38587
1664 * ira-color.c (coalesce_spill_slots): Don't coalesce allocnos
1665 crossing setjmps.
1666
b8a1087d
DK
16672009-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
1668
1669 PR bootstrap/37660
1670 * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): New helper macro.
1671 (LIBGCC_SPEC): Don't define.
1672 (REAL_LIBGCC_SPEC): Define instead, using SHARED_LIBGCC_SPEC.
1673
435da628
UB
16742009-01-21 Uros Bizjak <ubizjak@gmail.com>
1675
1676 PR rtl-optimization/38879
1677 * alias.c (base_alias_check): Unaligned access via AND address can
1678 alias all surrounding object types except those with sizes equal
1679 or wider than the size of unaligned access.
1680
d597b3ce
DS
16812009-01-21 Dodji Seketeli <dodji@redhat.com>
1682
1683 PR c++/26693
435da628 1684 * c-decl.c: (clone_underlying_type): Move this ...
d597b3ce 1685 * c-common.c (set_underlying_type): ... here.
435da628 1686 Also, make sure the function properly sets TYPE_STUB_DECL() on
d597b3ce
DS
1687 the newly created typedef variant type.
1688 (is_typedef_decl ): New entry point.
1689 * tree.h: Added a new member member_types_needing_access_check to
1690 struct tree_decl_non_common.
1691 (set_underlying_type): New entry point.
1692 (is_typedef_type): Likewise.
1693
71a6fe66
BM
16942009-01-21 Bingfeng Mei <bmei@broadcom.com>
1695
1696 * alias.c (walk_mems_1, walk_mems_2, insn_alias_sets_conflict_p):
1697 Check whether two instructions have memory references that
1698 belong to conflicting alias sets. walk_mems_1 and walk_mems_2
1699 are helper functions for traversing.
1700 * alias.h (insn_alias_sets_confilict_p): New prototypes.
1701 * ddg.c (add_inter_loop_mem_dep): Call insn_alias_sets_conflict_p
1702 not to draw dependency edge for instructions with non-conflicting
1703 alias sets.
1704
5a248274
JM
17052009-01-20 Joseph Myers <joseph@codesourcery.com>
1706
1707 PR other/38758
6b67572e
UB
1708 * longlong.h: Update copyright years. Use soft-fp license notice.
1709 Sync __clz_tab declaration with glibc.
5a248274 1710
4b84f3de
SE
17112009-01-20 Steve Ellcey <sje@cup.hp.com>
1712
1713 PR target/30687
1714 * doc/extend.texi (syscall_linkage): New.
1715 (version_id): Modify.
1716
37348bf1 17172009-01-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
435da628 1718 Richard Guenther <rguenther@suse.de>
37348bf1
AP
1719
1720 PR tree-optimization/38747
1721 PR tree-optimization/38748
1722 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Disable the VCE
1723 conversion if the base address is an indirect reference and the
1724 aliasing sets could cause issues.
1725
d0a58904
SP
17262009-01-20 Sebastian Pop <sebastian.pop@amd.com>
1727
1728 * common.opt (fgraphite, fgraphite-identity): Add comment for
1729 explaining why these options are not documented.
1730
71e7afb2
SP
17312009-01-20 Sebastian Pop <sebastian.pop@amd.com>
1732
1733 * graphite.c (stmt_simple_for_scop_p): Also handle cases when
1734 gimple_call_lhs is NULL.
1735
38432148 17362009-01-20 Paolo Bonzini <bonzini@gnu.org>
09efeca1
PB
1737
1738 PR target/38868
1739 * emit-rtl.c (adjust_address_1): Make sure memref is never
1740 overwritten.
1741
cbb8dee3
BE
17422009-01-20 Ben Elliston <bje@au.ibm.com>
1743
1744 * libgcov.c (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
435da628 1745 const qualifier from arg parameter. Remove unnecessary cast to char *.
cbb8dee3
BE
1746 * gcov-io.h (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
1747 const qualifier from arg 2.
1748
72c66596
IS
17492009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
1750
435da628 1751 * config/darwin.h: Add static-libgfortran to LINK_SPEC.
72c66596 1752
f68211cd
VM
17532009-01-19 Vladimir Makarov <vmakarov@redhat.com>
1754
1755 PR c/38869
1756 * rtl.h (reinit_regs): New prototype.
1757 * regclass.c: Include ira.h.
1758 (reinit_regs): New.
1759 * Makefile.in (regclass.o): Add ira.h.
1760 * config/i386/i386.c (ix86_maybe_switch_abi): Use reinit_regs.
1761
6e4f1168
L
17622009-01-18 H.J. Lu <hongjiu.lu@intel.com>
1763
1764 PR target/38736
1765 * c-common.c (handle_aligned_attribute): Use
1766 ATTRIBUTE_ALIGNED_VALUE instead of BIGGEST_ALIGNMENT for
1767 default alignment value.
1768
1769 * c-cppbuiltin.c (c_cpp_builtins): Define __BIGGEST_ALIGNMENT__.
1770
1771 * defaults.h (ATTRIBUTE_ALIGNED_VALUE): New.
1772 * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Likewise.
1773
1774 * doc/extend.texi: Update __attribute__ ((aligned)). Document
1775 __BIGGEST_ALIGNMENT__.
1776
1777 * doc/tm.texi: Document ATTRIBUTE_ALIGNED_VALUE.
1778
890065bf
RG
17792009-01-18 Richard Guenther <rguenther@suse.de>
1780
1781 PR tree-optimization/38819
1782 * tree-flow.h (operation_could_trap_helper_p): Declare.
1783 * tree-eh.c (operation_could_trap_helper_p): Export.
1784 * tree-ssa-sccvn.h (vn_nary_may_trap): Declare.
1785 * tree-ssa-sccvn.c (vn_nary_may_trap): New function.
1786 * tree-ssa-pre.c (insert_into_preds_of_block): Check if we
1787 are about to insert a possibly trapping instruction and fail
1788 in this case.
1789
a729d731
AS
17902009-01-18 Andreas Schwab <schwab@suse.de>
1791
1792 * doc/install.texi (Configuration): Remove obsolete paragraph
1793 about use of --with-gnu-ld with --with-gnu-as.
1794
a640c13b
KH
17952009-01-18 Kazu Hirata <kazu@codesourcery.com>
1796
1797 * doc/extend.texi, doc/gimple.texi, doc/invoke.texi,
1798 doc/md.texi, doc/sourcebuild.texi, doc/tm.texi: Fix typos.
1799 Follow spelling conventions.
1800
dba2cc0c
BE
18012009-01-18 Ben Elliston <bje@au.ibm.com>
1802
1803 * bitmap.c (bitmap_obstack_alloc_stat): Adjust cast to eliminate
1804 C++ warning about implicit conversion from void * to struct
1805 bitmap_head_def *.
1806 (bitmap_obstack_free): Likewise for bitmap_element *.
bc127c63 1807 * Makefile.in (bitmap.o-warn): Remove.
dba2cc0c 1808
2207a498
DK
18092009-01-17 Dave Korn <dave.korn.cygwin@gmail.com>
1810
1811 * Makefile.in (BACKENDLIBS): Reorder to match dependencies.
1812
8137e465
SP
18132009-01-17 Sebastian Pop <sebastian.pop@amd.com>
1814 Tobias Grosser <tobi.grosser@amd.com>
1815
1816 * graphite.c (graphite_trans_scop_block): Do not block single
1817 nested loops.
1818
5be1c58c
AO
18192009-01-16 Alexandre Oliva <aoliva@redhat.com>
1820
1821 * ebitmap.h (ebitmap_iter_init): Initialize all fields.
1822 * ipa-struct-reorg.c (gen_struct_type): Replace known-true
1823 test with assertion.
1824
786ce82d
RG
18252009-01-16 Richard Guenther <rguenther@suse.de>
1826
1827 PR tree-optimization/38835
1828 PR middle-end/36227
1829 * fold-const.c (fold_binary): Remove PTR + INT -> (INT)(PTR p+ INT)
1830 and INT + PTR -> (INT)(PTR p+ INT) folding.
1831 * tree-ssa-address.c (create_mem_ref): Properly use POINTER_PLUS_EXPR.
1832
c1cb09ad
AN
18332009-01-16 Adam Nemet <anemet@caviumnetworks.com>
1834
1835 PR target/38554
1836 * expmed.c (expand_shift): With SHIFT_COUNT_TRUNCATED, don't lift
1837 the subreg from a lowpart subreg if it is also casting the value.
1838
bcab4e19
SP
18392009-01-16 Sebastian Pop <sebastian.pop@amd.com>
1840 Tobias Grosser <tobi.grosser@amd.com>
1841
1842 * graphite.c (compare_prefix_loops): New.
1843 (build_scop_canonical_schedules): Rewritten.
1844 (graphite_transform_loops): Move build_scop_canonical_schedules
1845 after build_scop_iteration_domain.
1846
0b040072
SP
18472009-01-16 Sebastian Pop <sebastian.pop@amd.com>
1848 Tobias Grosser <tobi.grosser@amd.com>
1849
1850 * graphite.c (add_conditions_to_domain): Add the loops to
1851 the dimension of the iteration domain. Do copy the domain
1852 only when it exists.
1853 (build_scop_conditions_1): Do not call add_conditions_to_domain.
1854 (add_conditions_to_constraints): New.
1855 (can_generate_code_stmt, can_generate_code): Removed.
1856 (gloog): Do not call can_generate_code.
1857 (graphite_transform_loops): Call add_conditions_to_constraints
1858 after building the iteration domain.
1859
56c6a499
JJ
18602009-01-16 Jakub Jelinek <jakub@redhat.com>
1861
1862 PR tree-optimization/38789
1863 * tree-ssa-threadedge.c
1864 (record_temporary_equivalences_from_stmts_at_dest): Ignore calls to
1865 __builtin_constant_p.
1866
c95b2534 18672009-01-16 Kenneth Zadeck <zadeck@naturalbridge.com>
cd3f1729
KZ
1868
1869 * dce.c (delete_unmarked_insns): Reversed the order that insns are
1870 examined before deleting them.
1871
c433cb14
RE
18722009-01-16 Richard Earnshaw <rearnsha@arm.com>
1873
1874 * function.c (aggregate_value_p): Correctly extract the function
1875 type from CALL_EXPR_FN lookup.
1876
c95b2534 18772009-01-16 Hariharan Sandanagobalane <hariharan@picochip.com>
27d62fa4
HS
1878
1879 * config/picochip/picochip.c (picochip_override_options): Revert
1880 CFI asm flag disable commited previously.
1881
c77bb78f
SP
18822009-01-15 Sebastian Pop <sebastian.pop@amd.com>
1883 Tobias Grosser <tobi.grosser@amd.com>
1884 Jan Sjodin <jan.sjodin@amd.com>
1885
1886 * graphite.c (scan_tree_for_params): On substractions negate
1887 all the coefficients of the term.
1888 (clast_to_gcc_expression_red): New. Handle reduction expressions
1889 of more than two operands.
1890 (clast_to_gcc_expression): Call clast_to_gcc_expression_red.
1891 (get_vdef_before_scop): Handle also the case of default definitions.
1892
574af2d6
RS
18932009-01-15 Richard Sandiford <rdsandiford@googlemail.com>
1894
1895 * caller-save.c (add_used_regs_1, add_used_regs): New functions.
1896 (insert_one_insn): Use them instead of REG_DEAD and REG_INC notes.
1897 Also use them when walking CALL_INSN_FUNCTION_USAGE.
1898
e939805b
L
18992009-01-15 H.J. Lu <hongjiu.lu@intel.com>
1900 Joey Ye <joey.ye@intel.com>
1901
1902 PR middle-end/37843
1903 * cfgexpand.c (expand_stack_alignment): Don't update stack
1904 boundary nor check incoming stack boundary here.
1905 (gimple_expand_cfg): Update stack boundary and check incoming
1906 stack boundary here.
1907
c95b2534 19082009-01-15 Kenneth Zadeck <zadeck@naturalbridge.com>
750900db 1909
435da628 1910 * dce.c (find_call_stack_args, delete_unmarked_insns): Fixed comments.
750900db 1911
0196c95e
JJ
19122009-01-14 Jakub Jelinek <jakub@redhat.com>
1913
1914 PR rtl-optimization/38245
1915 * calls.c (expand_call): Add stack arguments to
1916 CALL_INSN_FUNCTION_USAGE even for pure calls (when
1917 ACCUMULATE_OUTGOING_ARGS) and even for args partially passed
1918 in regs and partially in memory or BLKmode arguments.
1919 (emit_library_call_value_1): Add stack arguments to
1920 CALL_INSN_FUNCTION_USAGE even for pure calls (when
1921 ACCUMULATE_OUTGOING_ARGS).
1922 * dce.c: Include tm_p.h.
1923 (find_call_stack_args): New function.
1924 (deletable_insn_p): Call it for CALL_P insns. Add ARG_STORES
1925 argument.
1926 (mark_insn): Call find_call_stack_args for CALL_Ps.
1927 (prescan_insns_for_dce): Walk insns backwards in bb rather than
1928 forwards. Allocate and free arg_stores bitmap if needed, pass it
1929 down to deletable_insn_p, don't mark stores set in arg_stores
1930 bitmap, clear the bitmap at the beginning of each bb.
1931 * Makefile.in (dce.o): Depend on $(TM_P_H).
1932
6df6bcfa
MM
19332009-01-14 Michael Meissner <gnu@the-meissners.org>
1934
1935 PR target/22599
435da628
UB
1936 * config/i386/i386.c (print_operand): Add tests for 'D', 'C', 'F', 'f'
1937 to make sure the insn is a conditional test (bug 22599). Reformat a
1938 few long lines.
6df6bcfa 1939
765ec70c
SP
19402009-01-14 Sebastian Pop <sebastian.pop@amd.com>
1941
1942 PR middle-end/38431
1943 * graphite.c (get_vdef_before_scop, scop_adjust_vphi): New.
1944 (scop_adjust_phis_for_liveouts): Call scop_adjust_vphi.
1945 (gloog): Do not call cleanup_tree_cfg.
1946 (graphite_transform_loops): Call cleanup_tree_cfg after all
1947 scops have been code generated.
1948
7de2b688
BS
19492009-01-14 Basile Starynkevitch <basile@starynkevitch.net>
1950 * doc/gty.texi (Invoking the garbage collector): Added new node
1951 and section documenting ggc_collect.
1952
10bd6c5c
RG
19532009-01-14 Richard Guenther <rguenther@suse.de>
1954
1955 PR tree-optimization/38826
1956 PR middle-end/38477
1957 * tree-ssa-structalias.c (emit_alias_warning): Emit the pointer
1958 initialization notes only if we actually emitted a warning.
1959 (intra_create_variable_infos): Add constraints for a result decl
1960 that is passed by hidden reference.
1961 (build_pred_graph): Mark all related variables non-direct on
1962 address-taking.
1963
9c7c70ee
NC
19642009-01-14 Nick Clifton <nickc@redhat.com>
1965
1966 * ira-conflicts.c: Include addresses.h for the definition of
1967 base_reg_class.
435da628
UB
1968 (ira_build_conflicts): Use base_reg_class instead of BASE_REG_CLASS.
1969 * Makefile.in: Add a dependency of ira-conflicts.o on addresses.h.
9c7c70ee 1970
cf0c2a60
VM
19712009-01-13 Vladimir Makarov <vmakarov@redhat.com>
1972
1973 PR target/38811
1974 * Makefile.in (ira-lives.o): Add except.h.
1975
1976 * ira-lives.c: Include except.h.
1977 (process_bb_node_lives): Process can_throw_internal.
1978
d3302fd3
JJ
19792009-01-13 Jakub Jelinek <jakub@redhat.com>
1980
1981 PR rtl-optimization/38774
1982 * combine.c (simplify_set): When undoing cc_use change, don't do
1983 PUT_CODE on the newly created comparison, but instead put back the
1984 old comparison.
1985
7ab23fd0
JM
19862009-01-13 Joseph Myers <joseph@codesourcery.com>
1987
1988 * doc/invoke.texi (ARM Options): Update lists of -mcpu and -march
1989 values. Remove duplicate arm8 entry.
1990
f9344488
SP
19912009-01-13 Sebastian Pop <sebastian.pop@amd.com>
1992
1993 PR tree-optimization/38786
1994 * graphite.c (expand_scalar_variables_ssa_name): New, outlined from
1995 the SSA_NAME case of expand_scalar_variables_expr.
1996 Set the type of an expression to the type of its assign statement.
1997 (expand_scalar_variables_expr): Also gather the scalar computation
1998 used to index the memory access. Do not pass loop_p.
1999 Fix comment. Stop recursion on tcc_constant or tcc_declaration.
2000 (expand_scalar_variables_stmt): Pass to expand_scalar_variables_expr
bef3c57b
UB
2001 the gimple_stmt_iterator where it inserts new code.
2002 Do not pass loop_p.
f9344488
SP
2003 (copy_bb_and_scalar_dependences): Do not pass loop_p.
2004 (translate_clast): Update call to copy_bb_and_scalar_dependences.
2005
2d8bb84d
SP
20062009-01-13 Sebastian Pop <sebastian.pop@amd.com>
2007
2008 * graphite.h (debug_value): Removed.
2009 * graphite.c (debug_value): Removed.
2010
ff128632
RE
20112009-01-13 Richard Earnshaw <rearnsha@arm.com>
2012
435da628
UB
2013 * config/arm/arm.c (output_move_double): Don't synthesize thumb-2
2014 ldrd/strd with two 32-bit instructions.
ff128632 2015
d5a0a47b
RE
20162009-01-13 Richard Earnshaw <rearnsha@arm.com>
2017
435da628
UB
2018 * config/arm/arm.c (struct processors): Pass for speed down into
2019 cost helper functions.
d5a0a47b
RE
2020 (const_ok_for_op): Handle COMPARE and inequality nodes.
2021 (arm_rtx_costs_1): Rewrite.
2022 (arm_size_rtx_costs): Update prototype.
2023 (arm_rtx_costs): Pass speed down to helper functions.
2024 (arm_slowmul_rtx_costs): Rework cost calculations.
2025 (arm_fastmul_rtx_costs, arm_xscale_rtx_costs): Likewise.
2026 (arm_9e_rtx_costs): Likewise.
2027
26d5bf5b
UB
20282009-01-13 Uros Bizjak <ubizjak@gmail.com>
2029
2030 * config/alpha/alpha.c (alpha_legitimate_address_p): Explicit
435da628 2031 relocations of local symbols wider than UNITS_PER_WORD are not valid.
26d5bf5b
UB
2032 (alpha_legitimize_address): Do not split local symbols wider than
2033 UNITS_PER_WORD into HIGH/LO_SUM parts.
2034
5d14e3d5
DS
20352009-01-13 Danny Smith <dannysmith@users.sourceforge.net>
2036
2037 PR bootstrap/38580
2038 * gcc.c (process_command): Replace call to execvp with calls
2039 to pex_one and exit.
2040
33faafca
AS
20412009-01-03 Anatoly Sokolov <aesok@post.ru>
2042
2043 PR target/29141
2044 * config/avr/t-avr (LIB1ASMFUNCS): Add _tablejump_elpm.
2045 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Add
2046 variant for devices with 3-byte PC.
2047 (__tablejump_elpm__) : New.
2048
634b5df5
JJ
20492009-01-12 Jakub Jelinek <jakub@redhat.com>
2050
2051 PR c/32041
2052 * c-parser.c (c_parser_postfix_expression): Allow `->' in
2053 offsetof member-designator, handle it as `[0].'.
2054
2842bb86
JDA
20552009-01-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2056
2057 * pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
2058 function when not using named sections on targets with named sections
2059 if branch distance is less than 262132.
2060
76ee70f6
RE
20612009-01-12 Richard Earnshaw <rearnsha@arm.com>
2062
2063 * combine.c (combine_instructions): Recompute
2064 optimize_this_for_speed_p for each BB in the main combine loop.
2065
f56e675d
TB
20662009-01-12 Tomas Bily <tbily@suse.cz>
2067
2068 PR middlend/38385
26d5bf5b
UB
2069 * tree-loop-distribution.c (prop_phis): New function.
2070 (generate_builtin): Call prop_phis.
2071 * testsuite/gcc.dg/tree-ssa/pr38385.c: New file.
f56e675d 2072
c2152239
JJ
20732009-01-12 Jakub Jelinek <jakub@redhat.com>
2074
2075 PR tree-optimization/38807
2076 * tree-ssa-reassoc.c (remove_visited_stmt_chain): Don't look at
2077 gimple_visited_p unless stmt is GIMPLE_ASSIGN.
2078
0e510b3e
AN
20792009-01-11 Adam Nemet <anemet@caviumnetworks.com>
2080
2081 * expmed.c (store_bit_field_1): Properly truncate the paradoxical
2082 subreg of op0 to the original op0.
2083
c95b2534 20842009-01-11 Laurent GUERBY <laurent@guerby.net>
10270471
LG
2085
2086 * doc/sourcebuild.texi (Source Tree): Move up intl and fixinc.
2087
53a7ff9a
MS
20882009-01-11 Markus Schoepflin <markus.schoepflin@comsoft.de>
2089
2090 PR debug/7055
2091 * gcc/mips-tfile.c (parse_def): Fix parsing of def strings
2092 starting with digits.
2093
b3a796bc
JJ
20942009-01-10 Jakub Jelinek <jakub@redhat.com>
2095
2096 PR target/38695
2097 * config/arm/arm.c (arm_is_long_call_p): Don't call
2098 arm_function_in_section_p if decl isn't a FUNCTION_DECL.
2099
b21b850e
SB
21002009-01-09 Steven Bosscher <steven@gcc.gnu.org>
2101
2102 * regrename.c (regrename_optimize): Fix dumping.
2103 (find_oldest_value_reg): Preserve REG_POINTER.
2104 (copy_hardreg_forward_1): Likewise.
2105
e0e10d3a
DN
21062009-01-09 Diego Novillo <dnovillo@google.com>
2107
bf9b2cc9 2108 * gimple.h (struct gimple_statement_base) <uid>: Document
e0e10d3a
DN
2109 the restrictions on its use.
2110 (gimple_uid): Tidy.
2111 (gimple_set_uid): Tidy.
2112
c9da2ae8
JJ
21132009-01-09 Jakub Jelinek <jakub@redhat.com>
2114
2115 * config/i386/i386.c (ix86_expand_movmem, ix86_expand_setmem): Add
2116 zero guard even if align_bytes != 0 and count is smaller than
2117 size_needed.
2118
38432148 21192009-01-09 Vladimir Makarov <vmakarov@redhat.com>
a174c19c
VM
2120
2121 PR rtl-optimization/38495
26d5bf5b 2122 * ira-emit.c (print_move_list, ira_debug_move_list): New functions.
a174c19c
VM
2123 (add_range_and_copies_from_move_list): Print all added ranges.
2124 Add ranges to memory optimized destination.
2125
260fda3d
JJ
21262009-01-09 Jakub Jelinek <jakub@redhat.com>
2127
6f6278ad
JJ
2128 PR target/38686
2129 PR target/38708
2130 * config/i386/i386.c (override_options): Reject
2131 -mstringop-strategy=rep_8byte with -m32.
2132 (ix86_expand_movmem): For size_needed == 1 set epilogue_size_needed
2133 to 1. Do count comparison against epilogue_size_needed at compile
2134 time even when count_exp was constant forced into register. For
2135 size_needed don't jump to epilogue, instead just avoid aligning
2136 and invoke the body algorithm. If need_zero_guard, add zero guard
2137 even if count is non-zero, but smaller than size_needed + number of
2138 bytes that could be stored for alignment.
2139 (ix86_expand_setmem): For size_needed == 1 set epilogue_size_needed
2140 to 1. If need_zero_guard, add zero guard even if count is non-zero,
2141 but smaller than size_needed + number of bytes that could be stored
2142 for alignment. Compare size_needed with epilogue_size_needed instead
2143 of desired_align - align, don't adjust size_needed, pass
2144 epilogue_size_needed to the epilogue expanders.
2145
260fda3d 2146 PR c/35742
26d5bf5b 2147 * c-pretty-print.c (pp_c_expression): Handle GOTO_EXPR like BIND_EXPR.
260fda3d 2148
67b846fa
JDA
21492009-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2150
2151 * pa.c (last_address): Change to unsigned.
2152 (update_total_code_bytes): Change argument to unsigned. Don't
2153 check if insn addresses are set.
2154 (pa_output_function_epilogue): Set last_address to UINT_MAX if insn
2155 addresses are not set.
2156 (pa_asm_output_mi_thunk): Handle wrap when updating last_address.
2157
91c82473
NC
21582009-01-09 Nick Clifton <nickc@redhat.com>
2159
2160 * config/sh/symbian.c: Replace uses of DECL_INLINE with
2161 DECL_DECLARED_INLINE_P.
2162
4017e262
JJ
21632009-01-09 Jakub Jelinek <jakub@redhat.com>
2164
0a49e5c2
JJ
2165 PR middle-end/38347
2166 * dojump.c (do_jump_by_parts_zero_rtx): Use mode instead of
2167 GET_MODE (op0) in operand_subword_force calls.
2168
4017e262
JJ
2169 PR middle-end/38771
2170 * fold-const.c (fold_unary): For COMPOUND_EXPR and COND_EXPR,
2171 fold_convert arg0 operands to TREE_TYPE (op0) first.
2172
7cd06356
VM
21732009-01-08 Vladimir Makarov <vmakarov@redhat.com>
2174
2175 * params.def (ira-max-conflict-table-size): Decrease default value
2176 to 1000.
2177
96867bbd
JJ
21782009-01-08 Jakub Jelinek <jakub@redhat.com>
2179
2180 PR tree-optimization/37031
2181 * lambda-code.c (lambda_collect_parameters): Call pointer_set_destroy
2182 on parameter_set.
2183 (build_access_matrix): Reserve correct size for AM_MATRIX vector,
2184 allocate it using gc instead of heap, use VEC_quick_push instead of
2185 VEC_safe_push.
2186 * graphite.c (build_access_matrix): Allocate AM_MATRIX vector using gc
2187 instead of heap, use VEC_quick_push instead of VEC_safe_push.
2188 * tree-data-ref.h (struct access_matrix): Change matrix to gc
2189 allocated vector from heap allocated.
2190 * lambda.h: Add DEF_VEC_ALLOC_P for gc allocated lambda_vector.
2191 * tree-loop-linear.c (linear_transform_loops): Allocate nest
2192 vector only after perfect_loop_nest_depth call.
2193
68f61c3d
SP
21942009-01-08 Sebastian Pop <sebastian.pop@amd.com>
2195 Jan Sjodin <jan.sjodin@amd.com>
2196
2197 PR tree-optimization/38559
2198 * graphite.c (debug_value, copy_constraint,
2199 swap_constraint_variables, scale_constraint_variable, ): New.
2200 (get_lower_bound, get_upper_bound): Removed.
2201 (graphite_trans_bb_strip_mine): Clean up this code that works
2202 only for constant number of iterations. Fully copy upper and
2203 lower bound constraints, not only the constant part of them.
2204 * graphite.h (debug_value): Declared.
2205
82567e33
IR
22062009-01-08 Ira Rosen <irar@il.ibm.com>
2207
2208 PR tree-optimization/37194
2209 * tree-vect-transform.c (vect_estimate_min_profitable_iters):
2210 Don't add the cost of cost model guard in prologue to scalar
2211 outside cost in case of known number of iterations.
2212
7da13f1d
NF
22132009-01-07 Nathan Froyd <froydnj@codesourcery.com>
2214 Alan Modra <amodra@bigpond.net.au>
2215
2216 * config/rs6000/rs6000.c (rs6000_legitimize_address): Check for
2217 non-word-aligned REG+CONST addressing.
2218
c0f64575
UB
22192009-01-07 Uros Bizjak <ubizjak@gmail.com>
2220
2221 PR target/38706
2222 * config/alpha/alpha.c (alpha_end_function): For TARGET_ABI_OSF, call
2223 free_after_compilation when outputting a thunk.
2224 (alpha_output_mi_thunk_osf): Assert that we are processing a thunk.
2225 Do not call free_after_compilation here.
2226
301b6a4e
UB
22272009-01-07 Uros Bizjak <ubizjak@gmail.com>
2228
2229 * config/i386/i386.c (ix86_target_string): Use ARRAY_SIZE.
301b6a4e
UB
2230 (ix86_valid_target_attribute_inner_p): Ditto.
2231
6a114766
JS
22322009-01-07 Jan Sjodin <jan.sjodin@amd.com>
2233
2234 PR tree-optimization/38492
2235 PR tree-optimization/38498
2236 * tree-check.c (operator_is_linear, scev_is_linear_expression): New.
2237 * tree-chrec.h (scev_is_linear_expression): Declared.
2238 * graphite.c (graphite_cannot_represent_loop_niter): New.
2239 (scopdet_basic_block_info): Call graphite_cannot_represent_loop_niter.
2240 (graphite_loop_normal_form): Use gcc_assert.
2241 (scan_tree_for_params): Use CASE_CONVERT.
2242 (phi_node_is_iv, bb_contains_non_iv_scalar_phi_nodes): New.
2243 (build_scop_conditions_1): Call bb_contains_non_iv_scalar_phi_nodes.
2244 Use gcc_assert. Discard scops that contain unhandled cases.
2245 (build_scop_conditions): Return a boolean status for unhandled cases.
2246 (strip_mine_profitable_p): Print the loop number, not its depth.
2247 (is_interchange_valid): Pass the depth of the loop nest, don't
2248 recompute it wrongly.
2249 (graphite_trans_bb_block): Same.
2250 (graphite_trans_bb_block): Print tentative of loop blocking.
2251 (graphite_trans_scop_block): Do not print that the loop has been
2252 blocked.
2253 (graphite_transform_loops): Do not handle scops that contain condition
2254 scalar phi nodes.
2255
65b82caa
L
22562009-01-07 H.J. Lu <hongjiu.lu@intel.com>
2257
2258 AVX Programming Reference (December, 2008)
2259 * config/i386/avxintrin.h (_mm256_stream_si256): New.
2260 (_mm256_stream_pd): Likewise.
2261 (_mm256_stream_ps): Likewise.
2262
2263 * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTDQ256,
2264 IX86_BUILTIN_MOVNTPD256 and IX86_BUILTIN_MOVNTPS256.
2265 (ix86_special_builtin_type): Add VOID_FTYPE_PV4DI_V4DI.
2266 (bdesc_special_args): Add __builtin_ia32_movntdq256,
2267 __builtin_ia32_movntpd256 and __builtin_ia32_movntps256.
2268 (ix86_init_mmx_sse_builtins): Handle VOID_FTYPE_PV4DI_V4DI.
2269 (ix86_expand_special_args_builtin): Likewise.
2270
2271 * config/i386/sse.md (AVXMODEDI): New.
2272 (avx_movnt<mode>): Likewise.
2273 (avx_movnt<mode>): Likewise.
2274 (<sse>_movnt<mode>): Remove AVX support.
2275 (sse2_movntv2di): Likewise.
2276
cef158f9
RG
22772009-01-07 Richard Guenther <rguenther@suse.de>
2278
2279 PR middle-end/38751
2280 * fold-const.c (extract_muldiv): Remove obsolete comment.
2281 (fold_plusminus_mult_expr): Undo MINUS_EXPR
2282 to PLUS_EXPR canonicalization for the canonicalization.
2283
246cb5be
GP
22842009-01-07 Gerald Pfeifer <gerald@pfeifer.com>
2285
2286 * doc/install.texi (alpha*-dec-osf*): Remove note on 32-bit
2287 hosted cross-compilers generating less efficient code.
2288
84b9b872
RS
22892009-01-06 Richard Sandiford <rdsandiford@googlemail.com>
2290
2291 * function.h (rtl_data): Add a dbr_scheduled_p field.
2292 * reorg.c (dbr_schedule): Set it.
2293 (gate_handle_delay_slots): Check it.
2294 * config/mips/mips.c (mips_base_delayed_branch): Delete.
2295 (mips_reorg): Check flag_delayed_branch instead of
2296 mips_base_delayed_branch.
2297 (mips_override_options): Don't set mips_base_delayed_branch
2298 or flag_delayed_branch.
2299
ace984c8
RS
23002009-01-06 Richard Sandiford <rdsandiford@googlemail.com>
2301
2302 PR rtl-optimization/38426.
2303 * ira.c (ira): Set current_function_is_leaf earlier.
2304
7ad7809b
JJ
23052009-01-06 Jakub Jelinek <jakub@redhat.com>
2306
2307 PR rtl-optimization/38722
2308 * combine.c (try_combine): Don't modify PATTERN (i3) and notes
2309 too early, only set a flag and modify after last possible
2310 undo_all point.
2311
c52ec948
JJ
23122009-01-06 Janis Johnson <janis187@us.ibm.com>
2313
2314 PR c/34252
2315 * ginclude/float.h: Rename DECnn_DEN to DECnn_SUBNORMAL_MIN.
2316 * real.c (decimal_single_format): Correct values of emin and emax.
2317 (decimal_double_format): Ditto.
2318 (decimal_quad_format): Ditto.
2319 * c-cppbuiltin.c (builtin_define_decimal_float_constants): Adjust
2320 computation of DECnn_MIN and DECnn_MAX for corrected values of
2321 emin and emax. Define __DECnn_SUBNORMAL_MIN__ instead of
2322 __DECnn_MIN__, and adjust its computation for the corrected value
2323 of emin.
2324
300240e1
JH
23252009-01-06 Jan Hubicka <jh@suse.cz>
2326
2327 PR target/38744
435da628 2328 * config/i386/i386.c (ix86_expand_call): Use ARRAY_SIZE.
300240e1 2329
271c069e
GP
23302009-01-06 Gerald Pfeifer <gerald@pfeifer.com>
2331
2332 * doc/contrib.texi (Contributors): Slightly adjust the end note.
2333 Add Robert Clark to the list of testers.
2334
64e4c301 23352009-01-06 Jan Hubicka <jh@suse.cz>
c95b2534 2336 Kai Tietz <kai.tietz@onevision.com>
64e4c301 2337
435da628
UB
2338 * config/i386/i386.md (*msabi_syvabi): Add SSE regs clobbers.
2339 * config/i386/i386.c (ix86_expand_call): Add clobbers.
64e4c301 2340
7650b83e 23412009-01-06 Jan Hubicka <jh@suse.cz>
c95b2534 2342 Kai Tietz <kai.tietz@onevision.com>
7650b83e 2343
435da628
UB
2344 * config/i386/i386.h (CONDITIONAL_CALL_USAGE): SSE regs are not used
2345 for w64 ABI.
2346 * config/i386/i386.c (struct ix86_frame): Add padding0 and nsseregs.
7650b83e
JH
2347 (ix86_nsaved_regs): Count only general purpose regs.
2348 (ix86_nsaved_sseregs): New.
2349 (ix86_compute_frame_layout): Update nsseregs; set preferred alignment
2350 to 16 for w64; compute padding and size of sse reg save area.
301b6a4e
UB
2351 (ix86_emit_save_regs, ix86_emit_save_regs_using_mov): Save only
2352 general purpose regs.
7650b83e
JH
2353 (ix86_emit_save_sse_regs_using_mov): New.
2354 (ix86_expand_prologue): Save SSE regs if needed.
2355 (ix86_emit_restore_regs_using_mov): Use only general purpose regs.
2356 (ix86_emit_restore_sse_regs_using_mov): New.
2357 (ix86_expand_epilogue): Save SSE regs if needed.
2358
9aa5c1b2 23592009-01-06 Jan Hubicka <jh@suse.cz>
c95b2534 2360 Kai Tietz <kai.tietz@onevision.com>
9aa5c1b2 2361
435da628
UB
2362 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Enable for MSABI
2363 * config/i386/i386.c (init_cumulative_args): Disallow calls of MSABI
2364 functions when accumulate outgoing args is off.
9aa5c1b2 2365
f7556aae
L
23662009-01-06 H.J. Lu <hongjiu.lu@intel.com>
2367
2368 PR bootstrap/38742
2369 * ira-color.c (ira_reuse_stack_slot): Check ENABLE_IRA_CHECKING
2370 before using pseudos_have_intersected_live_ranges_p.
2371
2372 * ira-int.h (ira_assert): Always define.
2373
e47b7d04
L
23742009-01-06 H.J. Lu <hongjiu.lu@intel.com>
2375
2376 AVX Programming Reference (December, 2008)
2377 * config/i386/avxintrin.h (_mm_permute2_pd): Removed.
2378 (_mm256_permute2_pd): Likewise.
2379 (_mm_permute2_ps): Likewise.
2380 (_mm256_permute2_ps): Likewise.
2381 * config/i386/i386.md (UNSPEC_VPERMIL2): Likewise.
2382 * config/i386/sse.md (avx_vpermil2<mode>3): Likewise.
2383
2384 * config/i386/i386.c (ix86_builtins): Remove
2385 IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMIL2PS,
2386 IX86_BUILTIN_VPERMIL2PD256 and IX86_BUILTIN_VPERMIL2PS256.
2387 (ix86_builtin_type): Remove V8SF_FTYPE_V8SF_V8SF_V8SI_INT,
2388 V4DF_FTYPE_V4DF_V4DF_V4DI_INT, V4SF_FTYPE_V4SF_V4SF_V4SI_INT
2389 and V2DF_FTYPE_V2DF_V2DF_V2DI_INT.
2390 (bdesc_args): Remove __builtin_ia32_vpermil2pd,
2391 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256 and
2392 __builtin_ia32_vpermil2ps256.
2393 (ix86_init_mmx_sse_builtins): Updated.
2394 (ix86_expand_args_builtin): Likewise.
2395
44b86471
JDA
23962009-01-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2397
e47b7d04
L
2398 * pa.c (output_call): Relocate non-jump insns in the delay slot of
2399 long absolute calls when generating PA 2.0 code.
44b86471 2400
311aab06
VM
24012009-01-05 Vladimir Makarov <vmakarov@redhat.com>
2402
2403 PR rtl-optimization/38583
2404 * params.h (IRA_MAX_CONFLICT_TABLE_SIZE): New macro.
2405
2406 * params.def (ira-max-conflict-table-size): New.
2407
2408 * doc/invoke.texi (ira-max-conflict-table-size): Decribe.
2409
2410 * ira.h (ira_conflicts_p): New external definition.
2411
2412 * ira-conflicts.c (build_conflict_bit_table): Do not build too big
2413 table. Report this. Return result of building.
2414 (ira_build_conflicts): Use ira_conflicts_p. Check result of
2415 building conflict table.
2416
301b6a4e 2417 * ira-color.c (fast_allocation): Use num instead of ira_allocnos_num.
311aab06
VM
2418 (ira_color): Use ira_conflicts_p.
2419
2420 * global.c: Include ira.h.
2421 (pseudo_for_reload_consideration_p, build_insn_chain): Use
2422 ira_conflicts_p.
2423
2424 * Makefile.in (global.o): Add ira.h.
2425
2426 * ira-build.c (mark_all_loops_for_removal,
2427 propagate_some_info_from_allocno): New.
2428 (remove_unnecessary_allocnos): Call
2429 propagate_some_info_from_allocno.
2430 (remove_low_level_allocnos): New.
2431 (remove_unnecessary_regions): Add parameter. Call
2432 mark_all_loops_for_removal and remove_low_level_allocnos. Pass
2433 parameter to remove_unnecessary_regions.
2434 (ira_build): Remove all regions but root if the conflict table was
2435 not built. Update conflict hard regs for allocnos crossing calls.
2436
2437 * ira.c (ira_conflicts_p): New global.
2438 (ira): Define and use ira_conflicts_p.
2439
2440 * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
2441 count_spilled_pseudo, find_reg, alter_reg, finish_spills,
301b6a4e 2442 emit_input_reload_insns, delete_output_reload): Use ira_conflicts_p.
311aab06 2443
5641785f
BE
24442009-01-06 Ben Elliston <bje@au.ibm.com>
2445
2446 * gengtype-lex.l (YY_NO_INPUT): Define.
2447
e4e5261f
AP
24482009-01-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
2449
2450 PR c/34911
5641785f
BE
2451 * c-common.c (handle_vector_size_attribute): Also reject
2452 BOOLEAN_TYPE types.
e4e5261f 2453
7b10257f
SP
24542009-01-05 Sebastian Pop <sebastian.pop@amd.com>
2455
2456 PR tree-optimization/38492
2457 * graphite.c (rename_map_elt, debug_rename_elt,
301b6a4e
UB
2458 debug_rename_map_1, debug_rename_map, new_rename_map_elt,
2459 rename_map_elt_info, eq_rename_map_elts,
2460 get_new_name_from_old_name, bb_in_sese_p): Moved around.
7b10257f
SP
2461 (sese_find_uses_to_rename_use): Renamed sese_build_livein_liveouts_use.
2462 (sese_find_uses_to_rename_bb): Renamed sese_build_livein_liveouts_bb.
2463 (sese_build_livein_liveouts): New.
2464 (new_sese, free_sese): New.
2465 (new_scop): Call new_sese.
2466 (free_scop): Call free_sese.
2467 (rename_variables_from_edge, rename_phis_end_scop): Removed.
2468 (register_old_new_names): Renamed register_old_and_new_names.
2469 (register_scop_liveout_renames, add_loop_exit_phis,
2470 insert_loop_close_phis, struct igp,
2471 default_liveout_before_guard, add_guard_exit_phis,
2472 insert_guard_phis, copy_renames): New.
2473 (translate_clast): Call insert_loop_close_phis and insert_guard_phis.
2474 (sese_add_exit_phis_edge): Renamed scop_add_exit_phis_edge.
2475 (rewrite_into_sese_closed_ssa): Renamed scop_insert_phis_for_liveouts.
2476 (scop_adjust_phis_for_liveouts): New.
2477 (gloog): Call scop_adjust_phis_for_liveouts.
2478
2479 * graphite.h (struct sese): Documented. Added fields liveout,
301b6a4e 2480 num_ver and livein.
7b10257f
SP
2481 (SESE_LIVEOUT, SESE_LIVEIN, SESE_LIVEIN_VER, SESE_NUM_VER): New.
2482 (new_sese, free_sese, sese_build_livein_liveouts): Declared.
2483 (struct scop): Added field liveout_renames.
2484 (SCOP_LIVEOUT_RENAMES): New.
2485
9761fcc7
HJ
24862009-01-05 Harsha Jagasia <harsha.jagasia@amd.com>
2487
2488 PR tree-optimization/38510
2489 * graphite.c (recompute_all_dominators): Call mark_irreducible_loops.
2490 (translate_clast): Call recompute_all_dominators before
2491 graphite_verify.
2492 (gloog): Call recompute_all_dominators before graphite_verify.
2493
24942009-01-05 Harsha Jagasia <harsha.jagasia@amd.com>
c95b2534 2495 Jan Sjodin <jan.sjodin@amd.com>
9761fcc7
HJ
2496
2497 PR tree-optimization/38500
2498 * graphite.c (create_sese_edges): Call fix_loop_structure after
2499 splitting blocks.
2500
c95b2534 25012009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
48a01864
JS
2502
2503 * config.gcc: Add m32r*-*-rtems*.
2504 * config/m32r/rtems.h: New file.
2505
fc0cd180
BE
25062009-01-05 Ben Elliston <bje@au.ibm.com>
2507
2508 * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir.
2509 (.po.pox): Likewise.
2510 (po/gcc.pot): Likewise.
2511
3106d8e5
DM
25122009-01-04 David S. Miller <davem@davemloft.net>
2513
2514 * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_RTX): Delete.
2515 (STARTING_FRAME_OFFSET): Always set to zero.
2516
0009b473
RS
25172009-01-04 Richard Sandiford <rdsandiford@googlemail.com>
2518
2519 * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Add commentary.
2520 * tree-cfg.c (verify_gimple_assign_binary): Allow shifts of
2521 fixed-point types, and vectors of the same.
2522
4f24c6d6
RS
25232009-01-04 Richard Sandiford <rdsandiford@googlemail.com>
2524
2525 * config/mips/sync.md (*mb_barrier): Rename to...
2526 (*memory_barrier): ...this.
2527
1df48f5c
JW
25282009-01-04 Jonathan Wakely <jwakely.gcc@gmail.com>
2529
2530 * doc/extend.texi (Function Attributes): Move @cindex after @item
eefe5da0 2531 for 'artificial' and 'flatten'. Fix grammar for 'externally_visible'
1df48f5c
JW
2532 and put in alphabetical order. Fix 'target' name and put in order.
2533 * doc/invoke.texi (-Wstrict-null-sentinel, -fipa-matrix-reorg): Fix
2534 typos.
2535
1a8c13b3
UB
25362009-01-04 Uros Bizjak <ubizjak@gmail.com>
2537
2538 * config/s390/s390.md (UNSPEC_MB): Rename from UNSPECV_MB.
2539 (memory_barrier): Expand as unspec instead of unspec_volatile.
2540 Remove mem:BLK from insn operands. Use Pmode scratch register.
2541 (*memory_barrier): Define as unspec instead of unspec_volatile.
2542 Use (match_dup 0) as input operand.
2543
2544 * config/sparc/sparc.md (UNSPEC_MEMBAR): Rename from UNSPECV_MEMBAR.
2545 * config/sparc/sync.md (memory_barrier): Expand as unspec instead of
2546 unspec_volatile. Remove mem:BLK from insn operands. Use Pmode
2547 scratch register. Remove operand 1.
2548 (*stbar): Define as unspec instead of unspec_volatile.
2549 Use (match_dup 0) as input operand, remove (const_int 8).
2550 (*membar): Define as unspec instead of unspec_volatile.
2551 Use (match_dup 0) as input operand, remove input operand 2.
2552
2553 * config/xtensa/xtensa.md (UNSPEC_MEMW): Rename from UNSPECV_MEMW.
2554 (memory_barrier): Expand as unspec instead of unspec_volatile.
2555 Remove mem:BLK from insn operands. Use Pmode scratch register.
2556 (*memory_barrier): Define as unspec instead of unspec_volatile.
2557 Use (match_dup 0) as input operand.
2558
2559 * config/ia64/sync.md (memory_barrier): Redefine as expander pattern.
2560 Remove mem:BLK from insn operands. Use Pmode scratch register.
2561 Set volatile flag on operand 0.
2562 (*memory_barrier): New insn pattern.
2563
2564 * config/rs6000/sync.md (memory_barrier): Remove mem:BLK from
2565 insn operands.
2566 (*memory_barrier): Use (match_dup 0) as input operand.
2567
2568 * config/mips/sync.md (memory_barrier): Redefine as expander pattern.
2569 Remove mem:BLK from insn operands. Use Pmode scratch register.
2570 Set volatile flag on operand 0.
301b6a4e 2571 (*mb_internal): New insn pattern.
1a8c13b3
UB
2572
2573 * config/alpha/sync.md (*memory_barrier): Rename from *mb_internal.
2574
fb0703f7
SB
25752009-01-04 Steven Bosscher <steven@gcc.gnu.org>
2576
2577 PR middle-end/38586
2578 * function.c (struct temp_slot): Move to the section of the file
2579 that deals with temp slots. Remove field 'address'.
2580 (temp_slot_address_table): New hash table of address -> temp slot.
2581 (struct temp_slot_address_entry): New struct, items for the table.
2582 (temp_slot_address_compute_hash, temp_slot_address_hash,
2583 temp_slot_address_eq, insert_temp_slot_address): Support functions
2584 for the new table.
2585 (find_temp_slot_from_address): Rewrite to use the new hash table.
2586 (remove_unused_temp_slot_addresses): Remove addresses of temp
2587 slots that have been made available.
2588 (remove_unused_temp_slot_addresses_1): Call-back for htab_traverse,
2589 worker function for remove_unused_temp_slot_addresses.
2590 (assign_stack_temp_for_type): Don't clear the temp slot address list.
2591 Add the temp slot address to the address -> temp slot map.
2592 (update_temp_slot_address): Update via insert_temp_slot_address.
2593 (free_temp_slots): Call remove_unused_temp_slot_addresses.
2594 (pop_temp_slots): Likewise.
2595 (init_temp_slots): Allocate the address -> temp slot map, or empty
2596 the map if it is already allocated.
2597 (prepare_function_start): Initialize temp slot processing.
2598
b5a430f3
SB
25992009-01-04 Steven Bosscher <steven@gcc.gnu.org>
2600
2601 PR middle-end/38584
2602 * cfgexpand.c (estimate_stack_frame_size): Simplify the estimate:
2603 Calculate the size of all stack vars assuming no packing of stack
2604 vars will happen, replacing a quadratic algorithm with a linear one.
2605
5d560619
JJ
26062009-01-03 Jakub Jelinek <jakub@redhat.com>
2607
2608 PR target/38707
2609 * expmed.c (store_bit_field_1): Don't modify op0 if movstrict insn
2610 can't be used.
2611
953a7caa
DN
26122009-01-03 Diego Novillo <dnovillo@google.com>
2613
2614 * doc/contrib.texi: Update contributions.
2615
5f26a230
JJ
26162009-01-03 Jakub Jelinek <jakub@redhat.com>
2617
493aa551
JJ
2618 PR c++/38705
2619 * builtins.c (fold_builtin_memory_op): Give up if either operand
2620 is volatile. Set srctype or desttype to non-qualified version
2621 of the other type.
2622
5f26a230
JJ
2623 PR c/38700
2624 * builtins.c (fold_builtin_expect): Only check DECL_WEAK for VAR_DECLs
2625 and FUNCTION_DECLs.
2626
c95b2534 26272009-01-02 Kenneth Zadeck <zadeck@naturalbridge.com>
fafe34f9
KZ
2628
2629 PR rtl-optimization/35805
2630 * df-problems.c (df_lr_finalize): Add recursive call to resolve lr
2631 problem if fast dce is able to remove any instructions.
2632 * dce.c (dce_process_block): Fix dump message.
2633
0b355794
MM
26342009-01-02 Mark Mitchell <mark@codesourcery.com>
2635
2636 PR 33649
2637 * tree-ssa-pre.c (compute_antic): Correct loop bounds.
2638
0cf0d02b
JJ
26392009-01-02 Jakub Jelinek <jakub@redhat.com>
2640
2641 PR middle-end/38690
2642 * tree-flow.h (op_code_prio, op_prio): New prototypes.
2643 * tree-pretty-print.c (op_code_prio): New function.
2644 (op_prio): No longer static. Use op_code_prio.
2645 * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs):
2646 Use op_prio and op_code_prio to determine if () should be
2647 printed around operand(s) or not.
2648
2649 * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
2650 dump_gimple_call, dump_gimple_switch, dump_gimple_cond,
2651 dump_gimple_label, dump_gimple_try, dump_symbols, dump_gimple_phi,
2652 dump_gimple_mem_ops, dump_bb_header, dump_bb_end, pp_cfg_jump): Use
2653 pp_character instead of pp_string for single letter printing.
2654
e3606f3b
RS
26552009-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2656
2657 * doc/extend.texi: Fix '#pragma GCC option' typo.
2658
c95b2534 26592009-01-02 Richard Guenther <rguenther@suse.de>
00f39bd5 2660
a5f061dc
RG
2661 * doc/install.texi (--enable-checking): Mention different
2662 default for stage1.
2663 (--enable-stage1-checking): Document.
00f39bd5 2664
26de0bcb
AP
26652009-01-01 Andrew Pinski <pinskia@gmail.com>
2666
2667 PR middle-end/30142
2668 * tree-cfg.c (verify_expr): Add INDIRECT_REF case. Change MODIFY_EXPR
2669 case to be an error.
2670
7a7d8fab
BE
26712009-01-02 Ben Elliston <bje@au.ibm.com>
2672
2673 * config/fp-bit.h (pack_d): Constify argument.
2674 * config/fp-bit.c (makenan): Constify return type. Remove casts.
2675 (isnan): Constify argument.
2676 (isinf): Likewise.
2677 (iszero): Likewise.
2678 (pack_d): Likewise.
2679 (_fpadd_parts): Constify return type.
2680 (_fpmul_parts): Likewise.
2681 (_fpdiv_parts): Likewise.
2682
b295aee2
JJ
26832009-01-01 Jakub Jelinek <jakub@redhat.com>
2684
2685 PR c/36489
2686 * c-typeck.c (add_pending_init): Add IMPLICIT argument. Only
2687 warn about overwriting initializer with side-effects or
2688 -Woverride-init if !IMPLICIT.
2689 (output_init_element): Likewise. Pass IMPLICIT down to
2690 add_pending_init.
2691 (process_init_element): Add IMPLICIT argument. Pass it down
2692 to output_init_element.
2693 (push_init_element, pop_init_level, set_designator): Adjust
2694 process_init_element callers.
2695 (set_nonincremental_init, set_nonincremental_init_from_string):
2696 Adjust add_pending_init callers.
2697 (output_pending_init_elements): Adjust output_init_element callers.
2698 * c-tree.h (process_init_element): Adjust prototype.
2699 * c-parser.c (c_parser_initelt, c_parser_initval): Adjust
2700 process_init_element callers.