]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
2009-02-13 Paul Thomas <pault@gcc.gnu.org>
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
74a5c8eb 12009-03-28 Jan Hubicka <jh@suse.cz>
2
3 * tree-ssa-structalias.c (ipa_pta_execute): Fix bogus node->analyzed
4 test introduced by my previous patch.
5
59ce9604 62009-03-28 Richard Guenther <rguenther@suse.de>
7
8 * tree-ssa-copy.c (copy_prop_visit_phi_node): Do not leave
9 the PHIs value undefined.
10
6cb239e5 112009-03-28 Jan Hubicka <jh@suse.cz>
12
13 * tree-pass.h (pass_fixup_cfg): New pass.
14 * ipa-inline.c (inline_transform): Set
15 always_inline_functions_inlined/after_inlining.
16 * tree-optimize.c (execute_fixup_cfg): Do not set them here.
17 (pass_fixup_cfg): New pass.
18 * passes.c (init_optimization_passes): Add fixup_cfg.
19
aeb38861 202009-03-28 Richard Guenther <rguenther@suse.de>
21
22 PR tree-optimization/38458
23 * tree-ssa-copy.c (copy_prop_visit_phi_node): For the first
24 argument use the arguments copy-of value.
25
8edeb88b 262009-03-28 Richard Guenther <rguenther@suse.de>
27
28 PR tree-optimization/38180
29 * tree-ssa-ccp.c (get_default_value): Simplify.
30 (likely_value): Likewise.
31 (surely_varying_stmt_p): Properly handle VOP case.
32 (ccp_initialize): Likewise.
33 (ccp_fold): Handle propagating through *&.
34 (fold_const_aggregate_ref): Also handle decls.
35
09fc9532 362009-03-28 Jan Hubicka <jh@suse.cz>
37
38 * cgraph.c (dump_cgraph_node): Add replace output flag by process.
39 * cgraph.h (cgraph_node): Likewise.
40 * cgraphunit.c (cgraph_process_new_functions): Set process flag.
41 (cgraph_reset_node): Use process flag.
42 (cgraph_mark_functions_to_output): Likewise.
43 (cgraph_expand_function): Likewise.
44 (cgraph_expand_all_functions): Likewise.
45 (cgraph_output_in_order): Likewise.
46 * dwarf2out.c (reference_to_unused): Likewise.
47 * passes.c do_per_function_toporder): Likewise.
48
326a9581 492009-03-28 Jan Hubicka <jh@suse.cz>
50
51 Bring from lto-branch:
52 2008-09-03 Doug Kwan <dougkwan@google.com>
53
54 * cgraphbuild.c (initialize_inline_failed): Use cgraph_inline_failed_t
55 enums instead of reason strings.
56 * cgraph.c (cgraph_create_edge): Same.
57 (cgraph_inline_failed_string): New function.
58 * cgraph.h (cgraph_inline_failed_t): New enum type.
59 (cgraph_inline_failed_string): New prototype.
60 (struct cgraph_edge): Change type of INLINED_FAILED from constant
61 char pointer to cgraph_inline_failed_t.
62 (cgraph_inline_p): Adjust prototype to use cgraph_inline_failed_t.
63 (cgraph_default_inline_p): Ditto.
64 * gcc/cgraphunit.c (cgraph_inline_p): Change type of parameter REASON
65 to cgraph_inline_failed_t pointer.
66 * cif-code.def: New file.
67 * ipa-inline.c (cgraph_mark_inline_edge): Use an enum instead of a
68 reason string.
69 (cgraph_check_inline_limits): Change type of REASON to pointer to
70 cgraph_inline_failed_t. Replace reason strings with enums.
71 (cgraph_default_inline_p): Ditto.
72 (cgraph_recursive_inlining_p): Ditto.
73 (update_caller_keys): Change type of FAILED_REASON to
74 cgraph_inline_failed_t.
75 (cgraph_set_inline_failed): Change type of REASON to pointer to
76 cgraph_inline_failed_t. Call cgraph_inline_failed_string to
77 convert enums to strings for text output.
78 (cgraph_decide_inlining_of_small_function): Change FAILED_REASON
79 to be of type cgraph_inline_failed_t. Replace reason strings with
80 enums. Call cgraph_inline_failed_string to covert enums
81 to strings for text output.
82 (cgraph_decide_inlining): Replace reason strings with enums.
83 (cgraph_decide_inlining_incrementally): Change type of FAILED_REASON
84 to cgraph_inline_failed_t type. Call cgraph_inline_failed_string
85 for text output.
86 * tree-inline.c (expand_call_inline): Change type of REASON
87 to cgraph_inline_failed_t. Replace reason strings with enums.
88 Call cgraph_inline_failed_string for text output.
89 * Makefile.in (CGRAPH_H): Add cif-code.def to dependencies.
90 (cgraph.o): Ditto.
91
77b5eabc 922009-03-28 Jan Hubicka <jh@suse.cz>
93
94 * cgraph.c (cgraph_node, cgraph_remove_node, dump_cgraph_node,
95 cgraph_clone_node): Remove master clone handling.
96 (cgraph_is_master_clone, cgraph_master_clone): Remove.
97 * cgraph.h (master_clone): Remove.
98 (cgraph_is_master_clone, cgraph_master_clone): Remove.
99 * ipa-type-escape.c (type_escape_execute): Remove use of master clone.
100 (tree-ssa-structalias.c (ipa_pta_execute): Likewise.
101
cc76f102 1022009-03-28 Jan Hubicka <jh@suse.cz>
103
104 * cgraph.c (cgraph_function_body_availability): Functions declared
105 inline are always safe to assume that it is not going to be replaced.
106
63295314 1072009-03-28 Richard Guenther <rguenther@suse.de>
108
109 PR tree-optimization/38513
110 * tree-ssa-pre.c (eliminate): Remove redundant stores.
111 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle
112 EXC_PTR_EXPR and FILTER_EXPR.
113 (get_ref_from_reference_ops): Likewise.
114
d360ad90 1152009-03-28 Richard Guenther <rguenther@suse.de>
116
117 PR tree-optimization/38968
118 * tree-vect-analyze.c (vect_compute_data_ref_alignment):
119 Use FLOOR_MOD_EXPR to compute misalignment.
120
c82f3b60 1212009-03-28 Richard Guenther <rguenther@suse.de>
122
123 PR tree-optimization/37795
124 * tree.h (combine_comparisons): Declare.
125 * fold-const.c (combine_comparisons): Export.
126 * tree-ssa-ifcombine.c (ifcombine_ifandif): Optimize two successive
127 comparisons.
128 (ifcombine_iforif): Use combine_comparisons.
129
a5bfef5b 1302009-03-28 Jan Hubicka <jh@suse.cz>
131
132 * tree-eh.c (inlinable_call_p): New function.
133 (make_eh_edges): Use it.
134 (verify_eh_edges): Use it.
135 (stmt_can_throw_external, stmt_can_throw_internal): Use it.
136 * except.c (reachable_next_level): Add inlinable_function argument
137 (sjlj_find_directly_reachable_regions): Update.
138 (add_reachable_handler): Do not set saw_any_handlers.
139 (reachable_next_level): Handle MUST_NOT_THROW more curefully.
140 (foreach_reachable_handler, can_throw_internal_1, can_throw_external_1):
141 Add new inlinable call parameter.
142 (can_throw_internal, can_throw_external): Update.
143 * except.h (can_throw_internal_1, can_throw_external_1,
144 foreach_reachable_handler): Update declaration.
145
f2397fc4 1462009-03-28 Joseph Myers <joseph@codesourcery.com>
147
148 * config/arm/t-arm-coff, config/h8300/coff.h,
149 config/i386/i386-aout.h, config/i386/i386-coff.h,
150 config/libgloss.h, config/m68k/coff.h, config/m68k/m68k-aout.h,
151 config/pdp11/2bsd.h, config/rs6000/aix41.h,
152 config/rs6000/aix41.opt, config/rs6000/t-newas, config/sh/coff.h,
153 fix-header.c, fixproto, gen-protos.c, protoize.c, scan-decls.c,
154 scan-types.sh, scan.c, scan.h, sort-protos, sys-protos.h,
155 sys-types.h: Remove.
156 * Makefile.in: Remove protoize and fixproto support and references
157 in comments.
158 (SYSCALLS.c.X-warn, TARGET_GETGROUPS_T, STMP_FIXPROTO,
159 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, FIXPROTO_DEFINES):
160 Remove.
161 (ALL_HOST_OBJS): Remove $(PROTO_OBJS).
162 (MOSTLYCLEANFILES): Remove protoize$(exeext) and
163 unprotoize$(exeext).
164 (rest.encap): Don't depend on $(STMP_FIXPROTO)
165 (.PHONY): Don't depend on proto.
166 (libgcc-support): Don't depend on $(STMP_FIXPROTO).
167 (proto, PROTO_OBJS, protoize$(exeext), unprotoize$(exeext),
168 protoize.o, unprotoize.o, SYSCALLS.c.X, test-protoize-simple,
169 deduced.h, GEN_PROTOS_OBJS, build/gen-protos$(build_exeext),
170 build/gen-protos.o, build/scan.o, xsys-protos.h,
171 build/fix-header$(build_exeext), build/fix-header.o,
172 build/scan-decls.o, fixhdr.ready, stmp-fixproto,
173 stmp-install-fixproto): Remove.
174 (mostlyclean): Don't remove xsys-protos.hT, SYSCALLS.c.X,
175 SYSCALLS.c or fixproto files.
176 (install-common): Don't install protoize.
177 (install-headers-tar, install-headers-cpio, install-headers-cp):
178 Don't depend on $(STMP_FIXPROTO).
179 (install-mkheaders): Don't depend on $(STMP_FIXPROTO). Don't
180 install fixproto files or write out fixproto settings.
181 (uninstall): Don't uninstall protoize.
182 * config.gcc (use_fixproto): Remove.
183 (arm-*-coff*, armel-*-coff*, h8300-*-*, i[34567]86-*-aout*,
184 i[34567]86-*-coff*, m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd,
185 rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*, sh-*-*): Remove.
186 * config/m32r/t-linux (STMP_FIXPROTO): Remove.
187 * config/m68k/m68k.c: Remove M68K_TARGET_COFF-conditional code.
188 * config/mips/t-iris (FIXPROTO_DEFINES): Remove.
189 * config/pa/t-pa-hpux (FIXPROTO_DEFINES): Remove.
190 * config/pdp11/pdp11.c: Remove TWO_BSD-conditional code.
191 * config/t-svr4 (FIXPROTO_DEFINES): Remove.
192 * config/t-vxworks (STMP_FIXPROTO): Remove.
193 * configure.ac (AC_TYPE_GETGROUPS, TARGET_GETGROUPS_T,
194 STMP_FIXPROTO): Remove.
195 * config.in, configure: Regenerate.
196 * crtstuff.c (gid_t, uid_t): Don't undefine.
197 * doc/install.texi: Change m68k-coff to m68k-elf in example.
198 (arm-*-coff, arm-*-aout: Remove target entries.
199 (*-ibm-aix*): Mention removal of support for AIX 4.2 and older.
200 Remove mention of AIX 4.1.
201 (m68k-*-*): Remove mention of m68k-*-aout and m68k-*-coff*.
202 * doc/invoke.texi (Running Protoize): Remove.
203 * doc/trouble.texi (Actual Bugs): Remove mention of fixproto.
204 (Protoize Caveats): Remove.
205 * tsystem.h: Update comments on headers assumed to exist.
206
08ed847d 2072009-03-27 Vladimir Makarov <vmakarov@redhat.com>
208
209 * genautomata.c: Add a new year to the copyright. Add a new
210 reference.
211 (struct insn_reserv_decl): Add comments for member bypass_list.
212 (find_bypass): Remove.
213 (insert_bypass): New.
214 (process_decls): Use insert_bypass.
215 (output_internal_insn_latency_func): Output all bypasses with the
216 same input insn in one switch case.
217
218 * rtl.def (define_bypass): Describe bypass choice.
219 * doc/md.texi (define_bypass): Ditto.
220
8e353ea6 2212009-03-27 Richard Guenther <rguenther@suse.de>
222
223 * gimplify.c (mark_addressable): Export.
224 * tree-flow.h (mark_addressable): Declare.
225 * tree-ssa-loop-manip.c (create_iv): Mark the base addressable.
226 * tree-ssa.c (verify_phi_args): Verify that address taken
227 variables have TREE_ADDRESSABLE set.
228
2292009-03-27 Richard Guenther <rguenther@suse.de>
230
231 * fold-const.c (build_fold_addr_expr_with_type_1): Rename back to ...
232 (build_fold_addr_expr_with_type): ... this. Remove in_fold handling.
233 Do not mark decls TREE_ADDRESSABLE.
234 (build_fold_addr_expr): Adjust.
235 (fold_addr_expr): Remove.
236 (fold_unary): Use build_fold_addr_expr.
237 (fold_comparison): Likewise.
238 (split_address_to_core_and_offset): Likewise.
239 * coverage.c (tree_coverage_counter_addr): Mark the array decl
240 TREE_ADDRESSABLE.
241 * gimplify.c (mark_addressable): Do not exclude RESULT_DECLs.
242 (gimplify_modify_expr_to_memcpy): Mark source and destination
243 addressable.
244 * omp-low.c (create_omp_child_function): Mark the object decl
245 TREE_ADDRESSABLE.
246 (lower_rec_input_clauses): Mark the var we take the address of
247 TREE_ADDRESSABLE.
248 (lower_omp_taskreg): Mark the sender decl TREE_ADDRESSABLE.
249
16fe3089 2502009-03-27 H.J. Lu <hongjiu.lu@intel.com>
251
252 PR middle-end/39315
253 * cfgexpand.c (expand_one_stack_var_at): Change alignment
254 limit to MAX_SUPPORTED_STACK_ALIGNMENT.
255
9d1d1fab 2562009-03-27 Richard Guenther <rguenther@suse.de>
257
258 PR tree-optimization/39120
259 * tree-ssa-structalias.c (handle_rhs_call): Fill out return
260 constraints.
261 (handle_lhs_call): Process return constraints. Add escape
262 constraints if necessary.
263 (handle_const_call): Fill out return constraints. Make nested
264 case more precise. Avoid consttmp if possible.
265 (handle_pure_call): Fill out return constraints. Avoid
266 callused if possible.
267 (find_func_aliases): Simplify call handling.
268
2692009-03-27 Richard Guenther <rguenther@suse.de>
270
271 PR tree-optimization/39120
272 * tree-ssa-structalias.c (do_sd_constraint): Do not use CALLUSED
273 as a representative.
274 (solve_graph): Do propagate CALLUSED.
275 (handle_pure_call): Use a scalar constraint from CALLUSED for
276 the return value.
277 (find_what_p_points_to): CALLUSED shall not appear in poins-to
278 solutions.
279
7cfdc2f0 2802009-03-27 H.J. Lu <hongjiu.lu@intel.com>
281
282 PR c/39323
283 * c-common.c (handle_aligned_attribute): Properly check alignment
284 overflow. Use (1U << i) instead of (1 << i).
285
286 * emit-rtl.c (get_mem_align_offset): Use "unsigned int" for
287 align.
288
289 * expr.h (get_mem_align_offset): Updated.
290
291 * tree.h (tree_decl_common): Change align to "unsigned int" and
292 move it before pointer_alias_set.
293
3f863bef 2942009-03-27 H.J. Lu <hongjiu.lu@intel.com>
295 Jakub Jelinek <jakub@redhat.com>
296
297 PR target/38034
298 * config/ia64/sync.md (cmpxchg_rel_<mode>): Replace input
299 gr_register_operand with gr_reg_or_0_operand.
300 (cmpxchg_rel_di): Likewise.
301 (sync_lock_test_and_set<mode>): Likewise.
302
9680c846 3032009-03-27 H.J. Lu <hongjiu.lu@intel.com>
304
305 * jump.c (rtx_renumbered_equal_p): Use subreg_get_info.
306 (true_regnum): Likewise.
307
308 * rtlanal.c (subreg_info): Moved to ...
309 * rtl.h (subreg_info): Here. New.
310 (subreg_get_info): New.
311
312 * rtlanal.c (subreg_get_info): Make it extern.
313
0e4d11df 3142009-03-27 H.J. Lu <hongjiu.lu@intel.com>
315
316 PR target/39472
317 * config/i386/i386.c (ix86_abi): New.
318 (override_options): Handle -mabi=.
319 (ix86_function_arg_regno_p): Replace DEFAULT_ABI with
320 ix86_abi.
321 (ix86_call_abi_override): Likewise.
322 (init_cumulative_args): Likewise.
323 (function_arg_advance): Likewise.
324 (function_arg_64): Likewise.
325 (function_arg): Likewise.
326 (ix86_pass_by_reference): Likewise.
327 (ix86_function_value_regno_p): Likewise.
328 (ix86_build_builtin_va_list_abi): Likewise.
329 (setup_incoming_varargs_64): Likewise.
330 (is_va_list_char_pointer): Likewise.
331 (ix86_init_machine_status): Likewise.
332 (ix86_reg_parm_stack_space): Use enum calling_abi on
333 call_abi.
334 (ix86_function_type_abi): Return enum calling_abi. Rewrite
335 for 64bit. Replace DEFAULT_ABI with ix86_abi.
336 (ix86_function_abi): Make it static and return enum
337 calling_abi.
338 (ix86_cfun_abi): Return enum calling_abi. Replace DEFAULT_ABI
339 with ix86_abi.
340 (ix86_fn_abi_va_list): Updated.
341
342 * config/i386/i386.h (ix86_abi): New.
343 (STACK_BOUNDARY): Replace DEFAULT_ABI with ix86_abi.
344 (CONDITIONAL_REGISTER_USAGE): Likewise.
345 (CUMULATIVE_ARGS): Change call_abi type to enum calling_abi.
346 (machine_function): Likewise.
347
348 * config/i386/i386.md (untyped_call): Replace DEFAULT_ABI
349 with ix86_abi.
350 * config/i386/cygming.h (TARGET_64BIT_MS_ABI): Likewise.
351 (STACK_BOUNDARY): Likewise.
352 * config/i386/mingw32.h (EXTRA_OS_CPP_BUILTINS): Likewise.
353
354 * config/i386/i386.opt (mabi=): New.
355
356 * config/i386/i386-protos.h (ix86_cfun_abi): Changed to
357 return enum calling_abi.
358 (ix86_function_type_abi): Likewise.
359 (ix86_function_abi): Removed.
360
361 * doc/invoke.texi: Document -mabi= option for x86.
362
656ec810 3632009-03-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
364
365 * builtins.c (real_dconstp): Delete.
366 (fold_builtin_logarithm): Remove inaccurate log(e) special case.
367
cb3582e7 3682009-03-27 Dodji Seketeli <dodji@redhat.com>
369 Jakub Jelinek <jakub@redhat.com>
370
371 PR debug/37959
372 * dwarf2out.c (dwarf_attr_name): Handle DW_AT_explicit attribute.
373 (gen_subprogram_die): When a function is explicit, generate the
374 DW_AT_explicit attribute.
375 * langhooks.h (struct lang_hooks_for_decls): Add
376 function_decl_explicit_p langhook.
377 * langhooks-def.h (LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P): Define.
378 (LANG_HOOKS_DECLS): Add LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P.
379
38150ede 3802009-03-27 Jakub Jelinek <jakub@redhat.com>
381
3f95c690 382 * builtins.c (fold_builtin_memory_op): Optimize memmove
383 into memcpy if we can prove source and destination don't overlap.
384
38150ede 385 * tree-inline.c: Include gt-tree-inline.h.
386 (clone_fn_id_num): New variable.
387 (clone_function_name): New function.
388 (tree_function_versioning): Use it.
389 * Makefile.in (GTFILES): Add tree-inline.c.
390
08da3d21 3912009-03-27 Mark Mitchell <mark@codesourcery.com>
392
393 * BASE-VER: Change to 4.5.0.
394
e19b015b 3952009-03-27 Xinliang David Li <davidxl@google.com>
396
397 PR tree-optimization/39557
398 * tree-ssa.c (warn_uninitialized_vars): free postdom info.
399
b87f0847 4002009-03-27 Xinliang David Li <davidxl@google.com>
401
402 PR tree-optimization/39548
403 * tree-ssa-copy.c (copy_prop_visit_phi_node): Add copy
404 candidate check.
405
545ba0d7 4062009-03-27 H.J. Lu <hongjiu.lu@intel.com>
407
408 * c-common.c (pointer_int_sum): Use %wd on return from
409 tree_low_cst.
410
482c9a19 4112009-03-27 H.J. Lu <hongjiu.lu@intel.com>
412
413 * c-common.c (pointer_int_sum): Use HOST_WIDE_INT_PRINT_DEC
414 on return from tree_low_cst.
415
1f1d68a6 4162009-03-27 Andrew Pinski <andrew_pinski@playstation.sony.com>
417
418 PR c++/36799
419 * ginclude/stdarg.h (va_copy): Define also for __GXX_EXPERIMENTAL_CXX0X__.
420
d924b670 4212009-03-27 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
422
423 PR c++/35652
424 * builtins.h (c_strlen): Do not warn here.
425 * c-typeck.c (build_binary_op): Adjust calls to pointer_int_sum.
426 * c-common.c (pointer_int_sum): Take an explicit location.
427 Warn about offsets out of bounds.
428 * c-common.h (pointer_int_sum): Adjust declaration.
429
1ab73152 4302009-03-26 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
431
d924b670 432 * doc/invoke.texi (i386 and x86-64 Windows Options): Fix texinfo
433 markup glitch.
1ab73152 434
f4858d06 4352009-03-26 Jakub Jelinek <jakub@redhat.com>
436
437 PR c++/39554
438 * opts.c (warn_if_disallowed_function_p): Don't assume
439 get_callee_fndecl must return non-NULL.
440
d9cee1b1 4412009-03-26 Vladimir Makarov <vmakarov@redhat.com>
442
443 PR rtl-optimization/39522
444 * reload1.c (reload_as_needed): Invalidate reg_last_reload_reg too
445 when reg_reloaded_valid is set.
446
204cb876 4472009-03-26 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
448
449 * config/spu/divv2df3.c: New file.
450 * config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Add it.
451 (DPBIT_FUNCS): Filter out _div_df.
452
1fd36c3a 4532009-03-26 Bernd Schmidt <bernd.schmidt@analog.com>
454
455 * config/bfin/bfin.c (bfin_optimize_loop): If the LSETUP goes before
456 a jump insn, count that jump in the distance to the loop start.
457
dc9b0799 4582009-03-25 Kaz Kojima <kkojima@gcc.gnu.org>
459
460 PR target/39523
461 * config/sh/sh.c (calc_live_regs): Fix condition for global
462 registers except PIC_OFFSET_TABLE_REGNUM.
463
6609be22 4642009-03-25 Kai Tietz <kai.tietz@onevision.com>
465
466 PR/39518
467 * doc/invoke.texi (-mconsole): New.
468 (-mcygwin): New.
469 (-mno-cygwin): New.
470 (-mdll): New.
471 (-mnop-fun-dllimport): New.
472 (-mthread): New.
473 (-mwin32): New.
474 (-mwindows): New.
475 (sub section "i386 and x86-64 Windows Options"): New.
476
2ccb7f3f 4772009-03-25 Ralf Corsépius <ralf.corsepius@rtems.org>
478
479 * config/arm/rtems-elf.h: Remove LINK_GCC_C_SEQUENCE_SPEC.
480 * config/rs6000/t-rtems: Remove MULTILIB_EXTRA_OPTS.
481
5211387e 4822009-03-25 Richard Guenther <rguenther@suse.de>
483
484 PR middle-end/39497
485 * Makefile.in (dfp.o-warn): Use -fno-strict-aliasing instead
486 of -Wno-error.
487
686d79e0 4882009-03-25 Andrey Belevantsev <abel@ispras.ru>
489
490 * config/ia64/ia64.c (ia64_set_sched_flags): Zero spec_info->mask when
491 neither of haifa/selective schedulers are working.
492
850fc3f0 4932009-03-25 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
494
495 * doc/invoke.texi (Debugging Options): Fix description of
496 -fno-merge-debug-strings.
497
10178ded 4982009-03-24 Hans-Peter Nilsson <hp@axis.com>
499
d1640684 500 * config/cris/libgcc.ver: New version-script.
501 * config/cris/t-linux (SHLIB_MAPFILES): Use it.
502
10178ded 503 * configure.ac <GAS features, nop mnemonic>: Add pattern
504 crisv32-*-* for "nop".
505 <GAS features, Thread-local storage>: Add item for CRIS and
506 CRIS v32.
507 * configure: Regenerate.
508
416dafb3 5092009-03-24 Ira Rosen <irar@il.ibm.com>
510
511 PR tree-optimization/39529
512 * tree-vect-transform.c (vect_create_data_ref_ptr): Call
513 mark_sym_for_renaming for the tag copied to the new vector
514 pointer.
515
68ecbaec 5162009-03-24 Arthur Loiret <aloiret@debian.org>
517
518 * config.host (alpha*-*-linux*): Use driver-alpha.o and
519 alpha/x-alpha.
520 * config/alpha/linux.h (host_detect_local_cpu): Declare, add to
521 EXTRA_SPEC_FUNCTIONS.
522 (MCPU_MTUNE_NATIVE_SPECS, DRIVER_SELF_SPECS): New macros.
523 * config/alpha/driver-alpha.c, config/alpha/x-alpha: New.
524 * doc/invoke.texi (DEC Alpha Options): Document 'native' value for
525 -march and -mtune options.
526
f8873a45 5272009-03-24 Ralf Corsépius <ralf.corsepius@rtems.org>
528
529 * config/m68k/t-rtems: Add m5329 multilib.
530
ab977c1f 5312009-03-24 Dodji Seketeli <dodji@redhat.com>
532 Jakub Jelinek <jakub@redhat.com>
533
534 PR debug/39524
535 * dwarf2out.c (gen_variable_die): Avoid adding duplicate declaration
536 nodes.
537
4390875c 5382009-03-23 Jakub Jelinek <jakub@redhat.com>
539
540 PR c/39495
541 * c-parser.c (c_parser_omp_for_loop): Call c_parser_binary_expression
542 instead of c_parser_expression_conv, if original_code isn't one of the
543 4 allowed comparison codes, fail.
544
9fac1c66 5452009-03-23 Richard Guenther <rguenther@suse.de>
546
547 * cgraph.h (struct cgraph_node): Reorder fields for 64-bit hosts.
548 * tree.h (struct tree_type): Likewise.
549 * reload.h (struct insn_chain): Likewise.
550 * dwarf2out.c (struct dw_loc_descr_struct): Likewise.
551 * function.h (struct function): Likewise.
552 * tree-ssa-structalias.c (struct equiv_class_label): Likewise.
553
b7d1c9e6 5542009-03-23 Jakub Jelinek <jakub@redhat.com>
555
556 PR tree-optimization/39516
557 * lambda-code.c (perfect_nestify): Fix type of the uboundvar variable.
558
f824d860 5592009-03-23 Bingfeng Mei <bmei@broadcom.com>
560
561 * config.gcc (need_64bit_hwint): Make clear that need_64bit_hwint
562 should be set true if BITS_PER_WORD of target is bigger than 32
563
f8cf5d4c 5642009-03-22 Hans-Peter Nilsson <hp@axis.com>
565
566 * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC):
567 Translate -B-options to -rpath-link. Correct existing
568 rpath-link and conditionalize on !nostdlib.
569
8898b2ef 5702009-03-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
571
572 * doc/extend.texi (Function Attributes, Variable Attributes):
573 Fix typos.
574 * doc/invoke.texi (Debugging Options, Optimize Options)
575 (i386 and x86-64 Options, MCore Options): Likewise.
576
4b1ab129 5772009-03-20 Jakub Jelinek <jakub@redhat.com>
578
579 PR debug/37890
580 * dwarf2out.c (gen_namespace_die): Add context_die argument and use
581 it for block local namespace aliases.
582 (gen_decl_die): Pass context_die to gen_namespace_die.
583
e060ba36 5842009-03-19 Jakub Jelinek <jakub@redhat.com>
585
586 PR c/39495
587 * c-omp.c (c_finish_omp_for): Allow NE_EXPR with TREE_TYPE (decl)'s
588 minimum or maximum value.
589
42f43a38 5902009-03-19 Alexandre Oliva <aoliva@redhat.com>
591
592 * reginfo.c (globalize_reg): Recompute derived reg sets.
593
76d89866 5942009-03-19 Ozkan Sezer <sezeroz@gmail.com>
595
596 PR target/39063
597 * libgcc2.c (mprotect): Do not use signed arguments for
598 VirtualProtect, use DWORD arguments. Also fix the 'may
599 be used uninitialized' warning for the np variable.
600
99198add 6012009-03-19 Jakub Jelinek <jakub@redhat.com>
602
603 PR target/39496
604 * config/i386/i386.c (ix86_function_regparm): Don't optimize local
605 functions using regparm calling conventions when not optimizing.
606 (ix86_function_sseregparm): Similarly for sseregparm calling
607 conventions.
608
63ca8934 6092009-03-19 Li Feng <nemokingdom@gmail.com>
610
611 PR middle-end/39500
612 * tree-data-ref.c (analyze_subscript_affine_affine): There is no
613 dependence if the first conflict is after niter iterations.
614
c5fe58d7 6152009-03-19 Hans-Peter Nilsson <hp@axis.com>
616
617 PR middle-end/38609
618 * config/cris/cris.h (FRAME_POINTER_REQUIRED): Force for all
619 functions with dynamic stack-pointer adjustments.
620
d4669bca 6212009-03-19 Ben Elliston <bje@au.ibm.com>
622
623 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix -msdata-data
624 option; change to -msdata=data.
625
286c29e2 6262009-03-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
627
628 * c.opt: Unify help texts for -Wdeprecated, -Wsystem-headers,
629 and -fopenmp.
630
0e55c4d0 6312009-03-18 Eric Botcazou <ebotcazou@adacore.com>
632
633 PR target/35180
634 * config/sparc/sparc.md (do_builtin_setjmp_setup): Prettify asm output.
635
5de57ebe 6362009-03-18 Sandra Loosemore <sandra@codesourcery.com>
637
638 * doc/invoke.texi (Code Gen Options): Expand discussion of
639 -fno-common.
640
0ac758f7 6412009-03-18 Jakub Jelinek <jakub@redhat.com>
642
643 * dse.c (struct group_info): Reorder fields for 64-bit hosts.
644 * matrix-reorg.c (struct matrix_info): Likewise.
645 * tree-ssa-loop-ivopts.c (struct ivopts_data): Likewise.
646 * rtl.h (struct mem_attrs): Likewise.
647 * df.h (struct df): Likewise.
648 * tree-data-ref.h (struct data_dependence_relation): Likewise.
649 * ira-int.h (struct ira_allocno): Likewise.
650 * df-scan.c (struct df_collection_rec): Likewise.
651 * ira.c (struct equivalence): Likewise.
652 * function.c (struct temp_slot): Likewise.
653 * cfgloop.h (struct loop): Likewise.
654
f24ccada 655 PR debug/39485
656 * function.c (use_register_for_decl): When not optimizing, disregard
657 register keyword for variables with types containing methods.
658
8fa85fc5 6592009-03-18 Sebastian Pop <sebastian.pop@amd.com>
660
661 PR middle-end/39447
662 * graphite.c (exclude_component_ref): Renamed contains_component_ref_p.
663 (is_simple_operand): Call contains_component_ref_p before calling data
664 reference analysis that would fail on COMPONENT_REFs.
665
666 * tree-vrp.c (search_for_addr_array): Fix formatting.
667
a39f4102 6682009-03-18 Richard Guenther <rguenther@suse.de>
669
670 * tree-vect-transform.c (vect_loop_versioning): Fold the
671 generated comparisons.
672 * tree-vectorizer.c (set_prologue_iterations): Likewise.
673 (slpeel_tree_peel_loop_to_edge): Likewise.
674
b8048da5 6752009-03-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
676
fad6b6bb 677 PR middle-end/37805
678 * opts.c (print_specific_help): In addition to `undocumented',
679 accept `separate' and `joined' flags if passed alone. Describe
680 output by the first matched one of those.
681 (common_handle_option): Skip over empty strings.
682 * gcc.c (display_help): Fix help string for `--help='.
683 * doc/invoke.texi (Option Summary, Overall Options): With
684 `--help=', classes and qualifiers can both be repeated, but
685 only the latter can be negated. One should not pass only
686 negated qualifiers. Fix markup and examples.
687
b8048da5 688 Revert
689 2008-10-14 Jakub Jelinek <jakub@redhat.com>
690 PR middle-end/37805
691 * opts.c (common_handle_option): Don't ICE on -fhelp=joined
692 and -fhelp=separate.
693
9247818a 6942009-03-17 Jing Yu <jingyu@google.com>
695
696 PR middle-end/39378
a3b7452d 697 * function.h (struct rtl_data): Move is_thunk from here...
698 (struct function): ...to here.
699 * cp/method.c (use_thunk): Change is_thunk from crtl to cfun.
9247818a 700 * varasm.c (assemble_start_function): Change is_thunk from crtl to
701 cfun.
a3b7452d 702 * config/alpha/alpha.c (alpha_sa_mask): Change is_thunk from crtl to
703 cfun.
704 (alpha_does_function_need_gp, alpha_start_function): Likewise.
705 (alpha_output_function_end_prologue): Likewise.
706 (alpha_end_function, alpha_output_mi_thunk_osf): Likewise.
707 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likewise.
708 (rs6000_output_function_epilogue): Likewise.
709 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Likewise.
9247818a 710
d849db06 7112009-03-17 Uros Bizjak <ubizjak@gmail.com>
712
713 PR target/39482
714 * config/i386/i386.md (*truncdfsf_mixed): Avoid combining registers
715 from different units in a single alternative.
716 (*truncdfsf_i387): Ditto.
717 (*truncxfsf2_mixed): Ditto.
718 (*truncxfdf2_mixed): Ditto.
719
31334434 7202009-03-17 Jakub Jelinek <jakub@redhat.com>
721
169f8686 722 * dwarf2out.c (dwarf2out_imported_module_or_decl_1): Allow
723 non-NAMESPACE_DECL IMPORTED_DECL_ASSOCIATED_DECL.
724
4595b0f9 725 PR debug/39474
726 * tree-ssa-live.c (remove_unused_locals): Don't remove local
727 unused non-artificial variables when not optimizing.
728
157e283b 729 PR debug/39471
730 * dwarf2out.c (dwarf2out_imported_module_or_decl_1): Emit
731 DW_TAG_imported_module even if decl is IMPORTED_DECL with
732 NAMESPACE_DECL in its DECL_INITIAL.
733
979d3efc 734 PR middle-end/39443
735 * optabs.c (set_user_assembler_libfunc): New function.
736 * expr.h (set_user_assembler_libfunc): New prototype.
737 * c-common.c: Include libfuncs.h.
738 (set_builtin_user_assembler_name): Call set_user_assembler_libfunc
739 for memcmp, memset, memcpy, memmove and abort.
740 * Makefile.in (c-common.o): Depend on libfuncs.h.
741
31334434 742 PR debug/39412
743 * dwarf2out.c (gen_inlined_enumeration_type_die,
744 gen_inlined_structure_type_die, gen_inlined_union_type_die,
745 gen_tagged_type_instantiation_die): Removed.
746 (gen_decl_die): For TYPE_DECL_IS_STUB with non-NULL decl_origin
747 do nothing.
748
c158ae09 7492009-03-17 Janis Johnson <janis187@us.ibm.com>
750
751 PR testsuite/38526
752 * Makefile.in (site.exp): Rename TEST_GCC_EXEC_PREFIX and comment
753 its use.
754 (check-%): Don't set GCC_EXEC_PREFIX when invoking runtest.
755 (check-parallel-%): Ditto.
756 (check-consistency): Ditto.
757
d4138574 7582009-03-17 Kai Tietz <kai.tietz@onevision.com>
759
760 * ipa-struct-reorg.c (create_general_new_stmt): Initialize
761 local variable rhs by NULL_TREE.
762
dc8c96bb 7632009-03-17 H.J. Lu <hongjiu.lu@intel.com>
764
765 PR target/39477
d849db06 766 * doc/extend.texi: Correct register behavior for regparm on Intel 386.
dc8c96bb 767
462bc935 7682009-03-17 H.J. Lu <hongjiu.lu@intel.com>
769
770 PR target/39476
d849db06 771 * config/i386/i386.c (ix86_function_regparm): Rewrite for 64bit.
462bc935 772
7732009-03-17 H.J. Lu <hongjiu.lu@intel.com>
4543b422 774
775 PR target/39473
776 * config/i386/i386.c (ix86_expand_call): Check extra clobbers
777 for ms->sysv ABI calls only in 64bit mode.
778
779 * config/i386/i386.md (untyped_call): Support 32bit.
780
ff8d1746 7812009-03-16 H.J. Lu <hongjiu.lu@intel.com>
782
783 * doc/extend.texi: Replace x86_65 with x86_64.
784
1095b81d 7852009-03-16 Jakub Jelinek <jakub@redhat.com>
786
787 PR tree-optimization/39455
788 * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Fix types
789 mismatches for POINTER_TYPE_P (type).
790 (number_of_iterations_le): Likewise.
791
15d6a8ce 7922009-03-16 Hariharan Sandanagobalane <hariharan@picochip.com>
793
794 * config/picochip/picochip.c: Removed profiling support.
795 * config/picochip/picochip.md: Removed profiling instruction.
796 * config/picochip/picochip.h: Removed profiling builtin.
797
5bc96548 7982009-03-16 Joseph Myers <joseph@codesourcery.com>
799
800 * doc/install.texi (--with-host-libstdcxx): Document.
801
7846db34 8022009-03-14 Anatoly Sokolov <aesok@post.ru>
803
804 PR target/34299
805 * config/avr/avr.c (avr_handle_fndecl_attribute): Move code for
806 generate a warning if the function name does not begin with
807 "__vector" and the function has either the 'signal' or 'interrupt'
808 attribute, from here to ...
809 (avr_declare_function_name): ...here. New function.
810 * config/avr/avr.h (ASM_DECLARE_FUNCTION_NAME): Redefine.
811 * config/avr/avr-protos.h (avr_declare_function_name): Declare.
812
6026d749 8132009-03-14 Jakub Jelinek <jakub@redhat.com>
814
815 PR bootstrap/39454
816 * cse.c (fold_rtx): Don't modify original const_arg1 when
817 canonicalizing SHIFT_COUNT_TRUNCATED shift count, do it on a
818 separate variable instead.
819 * rtlanal.c (nonzero_bits1) <case ASHIFTRT>: Don't assume anything
820 from out of range shift counts.
821 (num_sign_bit_copies1) <case ASHIFTRT, case ASHIFT>: Similarly.
822
747c6be5 8232008-03-13 Catherine Moore <clm@codesourcery.com>
824
d849db06 825 * gcc/config/i386/x-mingw32 (host-mingw32.o): Replace
747c6be5 826 diagnostic.h with $(DIAGNOSTIC_H).
827
1f477a18 8282008-03-12 Jakub Jelinek <jakub@redhat.com>
829
830 PR target/39431
831 * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): New
832 predicate.
833 * config/i386/sync.md (sync_compare_and_swap<mode>,
834 sync_compare_and_swap_cc<mode>): For DImode with -m32 -fpic check
835 if operands[1] is cmpxchg8b_pic_memory_operand, if not force address
836 into a register.
837 (sync_double_compare_and_swapdi_pic,
838 sync_double_compare_and_swap_ccdi_pic): Require operand 1 to be
839 cmpxchg8b_pic_memory_operand instead of just memory_operand.
840
7e17a1bf 8412009-03-12 H.J. Lu <hongjiu.lu@intel.com>
842
843 PR target/39445
d849db06 844 * config/i386/i386.c (ix86_expand_push): Don't set memory alignment.
7e17a1bf 845
01a3edef 8462009-03-12 H.J. Lu <hongjiu.lu@intel.com>
847
848 PR target/39327
849 * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
850 (avx_addsubv4df3): Likewise.
851 (*avx_addsubv4sf3): Likewise.
852 (sse3_addsubv4sf3): Likewise.
853
57183b55 8542009-03-12 H.J. Lu <hongjiu.lu@intel.com>
855
856 PR target/38824
d849db06 857 * config/i386/i386.md: Compare REGNO on the new peephole2 patterns.
57183b55 858
3b95aad3 8592009-03-12 Vladimir Makarov <vmakarov@redhat.com>
860
861 PR debug/39432
862 * ira-int.h (struct allocno): Fix comment for calls_crossed_num.
863 * ira-conflicts.c (ira_build_conflicts): Prohibit call used
864 registers for allocnos created from user-defined variables.
865
8d72495d 8662009-03-11 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
867
868 PR target/39181
869 * config/spu/spu.c (spu_expand_mov): Handle invalid subregs
870 of non-integer mode as well.
871
cf219ecd 8722009-03-11 Adam Nemet <anemet@caviumnetworks.com>
873
874 * gimplify.c (gimplify_call_expr): Don't set CALL_CANNOT_INLINE_P
875 for functions for which the parameter types are unknown.
876
76cbc2a0 8772009-03-11 Jakub Jelinek <jakub@redhat.com>
878
879 PR target/39137
d849db06 880 * cfgexpand.c (get_decl_align_unit): Use LOCAL_DECL_ALIGNMENT macro.
76cbc2a0 881 * defaults.h (LOCAL_DECL_ALIGNMENT): Define if not yet defined.
882 * config/i386/i386.h (LOCAL_DECL_ALIGNMENT): Define.
883 * config/i386/i386.c (ix86_local_alignment): For
884 -m32 -mpreferred-stack-boundary=2 use 32-bit alignment for
885 long long variables on the stack to avoid dynamic realignment.
886 Allow the first argument to be a decl rather than type.
887 * doc/tm.texi (LOCAL_DECL_ALIGNMENT): Document.
888
18061948 8892009-03-11 Nick Clifton <nickc@redhat.com>
890
891 PR target/5362
a37dec0c 892 * config/mcore/mcore.opt: Remove deprecated m4align and m8align
893 options.
894 Add description to mno-lsim option.
895 * config/mcore/mcore.h: Remove comment about deprecated m4align
896 option.
897 (TARGET_DEFAULT): Remove deprecated MASK_M8ALIGN.
898 * doc/invoke.texi: Add description of mno-lsim and
899 mstack-increment options.
900
18061948 901 * config/fr30/fr30.opt: Document the -mno-lsim option.
902 * doc/invoke.texi: Add descriptions of the FR30's -msmall-model
903 and -mno-lsim options.
904
944017fd 9052009-03-11 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
906
907 * fold-const.c (fold_comparison): Only call fold_inf_compare
908 if the mode supports infinities.
909
93ef9154 9102009-03-11 Jason Merrill <jason@redhat.com>
911
912 PR debug/39086
913 * tree-nrv.c (tree_nrv): Don't do this optimization if the front
914 end already did. Notice GIMPLE_CALL modifications of the result.
915 Don't copy debug information from an ignored decl or a decl from
916 another function.
917
e927e2b8 9182009-03-10 Richard Guenther <rguenther@suse.de>
919 Nathan Froyd <froydnj@codesourcery.com>
920
921 PR middle-end/37850
d849db06 922 * libgcc2.c (__mulMODE3): Use explicit assignments to form the result.
e927e2b8 923 (__divMODE3): Likewise.
924
48855189 9252009-03-09 Jakub Jelinek <jakub@redhat.com>
926
927 PR tree-optimization/39394
928 * gimplify.c (gimplify_type_sizes): Gimplify DECL_SIZE and
929 DECL_SIZE_UNIT of variable length FIELD_DECLs.
930
af7eac22 9312009-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
932
933 * recog.c (verfiy_changes): Disallow renaming of hard regs in
934 inline asms for register asm ("") declarations.
935
4ce9876e 9362009-03-09 Eric Botcazou <ebotcazou@adacore.com>
937
938 * fold-const.c (fold_unary): Fix comment.
939
928059d5 9402009-03-07 Jan Hubicka <jh@suse.cz>
941
942 PR target/39361
0648196e 943 * tree-inline.c (setup_one_parameter): Do replacement of const
944 argument by constant in SSA form.
928059d5 945
c9b50df7 9462009-03-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
947
948 PR middle-end/38028
949 * function.c (assign_parm_setup_stack): Use STACK_SLOT_ALIGNMENT to
950 determine alignment passed to assign_stack_local.
951 (assign_parms_unsplit_complex): Likewise.
952 * except.c (sjlj_build_landing_pads): Likewise.
953
ebcb0478 9542009-03-06 Jakub Jelinek <jakub@redhat.com>
955
82eb5a11 956 PR middle-end/39360
957 * tree-flow.h (add_referenced_var): Return bool instead of void.
958 * tree-dfa.c (add_referenced_var): Return result of
959 referenced_var_check_and_insert call.
960 * tree-inline.c (expand_call_inline): Call add_referenced_var instead
961 of referenced_var_check_and_insert.
962
ebcb0478 963 PR debug/39372
d849db06 964 * dwarf2out.c (add_abstract_origin_attribute): Return origin_die.
ebcb0478 965 (gen_variable_die): Emit DW_AT_location on abstract static variable's
966 DIE, don't emit it if abstract origin already has it.
967 * tree-cfg.c (remove_useless_stmts_bind): GIMPLE_BINDs with any
968 BLOCK_NONLOCALIZED_VARS in its gimple_bind_block aren't useless.
969
6d92fc03 9702009-03-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
971
972 * genpreds.c: (needs_variable): Fix parentheses at variable name
973 detection.
974 (write_tm_constrs_h): Indent generated code.
975
1fe1c6f5 9762009-03-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
977
978 * doc/extend.texi (Function Attributes): Add documentation
979 for isr attributes.
980
5a798e1e 9812009-03-06 Jakub Jelinek <jakub@redhat.com>
982
983 PR debug/39387
984 * dwarf2out.c (dwarf2out_imported_module_or_decl_1): For IMPORTED_DECL
985 take locus from its DECL_SOURCE_LOCATION instead of input_location.
986
05f566a9 9872009-03-05 Bernd Schmidt <bernd.schmidt@analog.com>
988
989 * config/bfin/bfin.c (bfin_discover_loop): When retrying fails, mark
990 the loop as bad.
991
227f485e 9922009-03-05 Jakub Jelinek <jakub@redhat.com>
993
994 PR debug/39379
995 * tree-cfg.c (remove_useless_stmts_bind): Don't remove GIMPLE_BINDs
996 with blocks containing IMPORTED_DECLs in BLOCK_VARS.
997
a6ccab35 9982009-03-05 Uros Bizjak <ubizjak@gmail.com>
999
1000 * config/i386/i386.md (R8_REG, R9_REG): New constants.
1001 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Use named
1002 constants instead of magic numbers.
1003 (HARD_REGNO_CALLER_SAVE_MODE): Ditto.
1004 (QI_REG_P): Ditto.
1005 * config/i386/i386.c (x86_64_int_parameter_registers): Ditto.
1006 (x86_64_ms_abi_int_parameter_registers): Ditto.
1007 (x86_64_int_return_registers): Ditto.
0d22f439 1008 (ix86_maybe_switch_abi): Ditto.
a6ccab35 1009 (ix86_expand_call): Ditto for clobbered_registers array.
1010 (ix86_hard_regno_mode_ok): Ditto.
1011 (x86_extended_QIreg_mentioned_p): Ditto.
1012
ea138c98 10132009-03-05 J"orn Rennecke <joern.rennecke@arc.com>
1014
a6ccab35 1015 PR tree-optimization/39349
1595fd95 1016 * cse.c (cse_insn): Fix loop to stop at VOIDmode.
1017
ea138c98 1018 * combine.c (gen_lowpart_for_combine): Use omode when generating
1019 clobber.
1020
242753ba 10212009-03-04 J"orn Rennecke <joern.rennecke@arc.com>
1022
a6ccab35 1023 PR rtl-optimization/39235
242753ba 1024 * loop-iv.c (get_simple_loop_desc): Use XCNEW.
1025
7299be85 10262009-03-04 Zdenek Dvorak <ook@ucw.cz>
1027
1028 * graphite.c (nb_reductions_in_loop): Update simple_iv arguments.
1029
a4c8b601 10302009-03-04 Richard Guenther <rguenther@suse.de>
1031
1032 PR tree-optimization/39362
1033 * tree-ssa-sccvn.c (visit_use): Stores and copies from SSA_NAMEs
1034 that occur in abnormal PHIs should be varying.
1035
76610704 10362009-03-04 Zdenek Dvorak <ook@ucw.cz>
1037
1038 * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop):
1039 Extend comments.
1040 (simple_iv): Take loop as an argument instead of statement.
1041 * tree-scalar-evolution.h (simple_iv): Declaration changed.
1042 * tree-ssa-loop-niter.c (number_of_iterations_exit): Update calls
1043 to simple_iv.
1044 * tree-ssa-loop-ivopts.c (determine_biv_step, find_givs_in_stmt_scev):
1045 Ditto.
1046 * tree-parloops.c (loop_parallel_p, canonicalize_loop_ivs): Ditto.
1047 * matrix-reorg.c (analyze_transpose): Ditto.
1048 * tree-data-ref.c (dr_analyze_innermost): Ditto.
1049 * tree-vect-analyze.c (vect_analyze_data_refs): Ditto.
1050 * tree-predcom.c (ref_at_iteration): Ditto.
1051 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Ditto.
1052
f13e5f6d 10532009-03-04 Richard Guenther <rguenther@suse.de>
1054
1055 PR tree-optimization/39358
1056 * tree-ssa-structalias.c (do_sd_constraint): Fix check for
1057 escaped_id and callused_id.
1058 (solve_graph): Likewise.
1059
0cb9a712 10602009-03-04 Richard Guenther <rguenther@suse.de>
1061
1062 PR tree-optimization/39339
1063 * tree-sra.c (try_instantiate_multiple_fields): Make it
1064 no longer ICE on the above.
1065
cfb75cdf 10662009-03-03 Joseph Myers <joseph@codesourcery.com>
1067
1068 * emit-rtl.c (adjust_address_1): Reduce offset to a signed value
1069 that fits within Pmode.
1070
838bd0ed 10712009-03-03 Steve Ellcey <sje@cup.hp.com>
1072
1073 PR middle-end/10109
1074 * tm.texi (LIBCALL_VALUE): Update description.
1075
e5e13288 10762009-03-03 Steve Ellcey <sje@cup.hp.com>
1077
1078 PR middle-end/34443
1079 * doc/extend.texi (section): Update description.
1080
463cc256 10812009-03-03 H.J. Lu <hongjiu.lu@intel.com>
1082
1083 PR middle-end/39345
1084 * tree-inline.c (remapped_type): New.
1085 (can_be_nonlocal): Call remapped_type instead of remap_type.
1086
072866b6 10872009-03-03 Jakub Jelinek <jakub@redhat.com>
1088
1089 PR fortran/39354
1090 * gimplify.c (goa_stabilize_expr): Handle tcc_comparison,
1091 TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR.
1092
b430e8d9 10932009-03-03 Richard Guenther <rguenther@suse.de>
1094
1095 PR middle-end/39272
1096 * tree.c (tree_nonartificial_location): New function.
1097 * tree.h (tree_nonartificial_location): Declare.
1098 * builtins.c (expand_builtin_memory_chk): Provide location
1099 of the call location for artificial function pieces.
1100 (maybe_emit_chk_warning): Likewise.
1101 (maybe_emit_sprintf_chk_warning): Likewise.
1102 (maybe_emit_free_warning): Likewise.
1103 * expr.c (expand_expr_real_1): Likewise.
1104
bc79a76b 11052009-03-03 Jakub Jelinek <jakub@redhat.com>
1106
1107 PR tree-optimization/39343
1108 * tree-ssa-ccp.c (maybe_fold_offset_to_address): Don't check if
1109 COMPONENT_REF t has ARRAY_TYPE.
1110
41c18990 11112009-03-02 Sebastian Pop <sebastian.pop@amd.com>
1112
1113 PR middle-end/39335
1114 * tree-parloops.c (canonicalize_loop_ivs): Call fold_convert
1115 when the type precision of the induction variable should be
1116 larger than the type precision of nit.
1117 (gen_parallel_loop): Update use of canonicalize_loop_ivs.
1118 * graphite.c (graphite_loop_normal_form): Same.
1119 * tree-flow.h (canonicalize_loop_ivs): Update declaration.
1120
32096e82 11212009-03-02 Uros Bizjak <ubizjak@gmail.com>
1122
1123 * config/i386/i386.md (ST?_REG, MM?_REG): New constants.
1124 (*call_1_rex64_ms_sysv): Use named constants instead of magic
a6ccab35 1125 numbers to describe clobbered registers.
32096e82 1126 (*call_value_0_rex64_ms_sysv): Ditto.
a6ccab35 1127 * config/i386/mmx.md (mmx_emms): Ditto.
1128 (mmx_femms): Ditto.
32096e82 1129
b8f6667e 11302009-03-02 Richard Sandiford <rdsandiford@googlemail.com>
1131
1132 * config/mips/mips.c (mips_mdebug_abi_name): Fix the handling
1133 of ABI_64.
1134
a08dfd55 11352009-03-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1136
1137 * config/spu/spu.c (TARGET_SECTION_TYPE_FLAGS): Define.
1138 (spu_section_type_flags): New function.
1139
c81d1104 11402009-03-02 Uros Bizjak <ubizjak@gmail.com>
1141
1142 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not copy
1143 reg_class_contents of FLOAT_REGS into a temporary.
1144
ed243388 11452009-03-02 Richard Guenther <rguenther@suse.de>
c81d1104 1146 Ira Rosen <irar@il.ibm.com>
ed243388 1147
1148 PR tree-optimization/39318
1149 * tree-vect-transform.c (vectorizable_call): Transfer the EH region
1150 information to the vectorized statement.
1151
c4bb7475 11522009-03-01 Uros Bizjak <ubizjak@gmail.com>
1153
4d5fae72 1154 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Do not shadow "i"
1155 variable. Use defined names instead of magic constants for REX SSE
1156 registers.
c4bb7475 1157
d2263ebb 11582009-03-01 Richard Guenther <rguenther@suse.de>
1159
1160 PR tree-optimization/39331
1161 * omp-low.c (lower_send_shared_vars): Do not receive new
1162 values for the reference of DECL_BY_REFERENCE parms or results.
1163
4b5d70fd 11642009-03-01 Jan Hubicka <jh@suse.cz>
1165
1166 PR debug/39267
1167 * tree.h (BLOCK_NONLOCALIZED_VARS, BLOCK_NUM_NONLOCALIZED_VARS,
1168 BLOCK_NONLOCALIZED_VAR): New macros.
1169 (tree_block): Add nonlocalized_vars.
79283bdc 1170 * dwarf2out.c (gen_formal_parameter_die, gen_variable_die,
1171 gen_decl_die): Add origin argument. Allow generation of die with
1172 origin at hand only.
4b5d70fd 1173 (gen_member_die, gen_type_die_with_usage, force_decl_die,
79283bdc 1174 declare_in_namespace, gen_namescpace_die, dwarf2out_decl): Update use
1175 of gen_*.
4b5d70fd 1176 (gen_block_die): Fix checking for unused blocks.
1177 (process_scope_var): Break out from .... ; work with origins only.
1178 (decls_for_scope) ... here; process nonlocalized list.
1179 (dwarf2out_ignore_block): Look for nonlocalized vars.
79283bdc 1180 * tree-ssa-live.c (remove_unused_scope_block_p): Look for nonlocalized
1181 vars.
4b5d70fd 1182 (dump_scope_block): Dump them.
1183 * tree-inline.c (remap_decls): Handle nonlocalized vars.
1184 (remap_block): Likewise.
1185 (can_be_nonlocal): New predicate.
1186 (copy_bind_expr, copy_gimple_bind): Update use of remap_block.
1187
9af964d4 11882009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1189
1190 * configure: Regenerate.
1191
a43fd3a5 11922009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1193
e6a03973 1194 * optc-gen.awk: No need to duplicate option flags twice.
d849db06 1195 Reuse help texts for duplicate options which do not have any.
e6a03973 1196
53f9a00b 1197 * gcc.c (display_help): Document --version.
1198
0445c349 1199 * gcc.c (main): If print_help_list and verbose_flag, ensure
1200 driver output comes before subprocess output.
1201
1df76a79 1202 * optc-gen.awk: Assign all remaining fields to help string,
1203 space-separated, for multi-line help in *.opt.
1204
d7381490 1205 * doc/invoke.texi (Warning Options): -Wsync-nand is C/C++ only.
1206 -Wno-pedantic-ms-format is for MinGW targets only.
1207
a43fd3a5 1208 * doc/options.texi (Option file format): Fix bad indentation,
1209 restoring dropped sentence.
1210
3d280f42 12112009-02-28 Jan Hubicka <jh@suse.cz>
1212
1213 * tree-inline.c (tree_function_versioning): Output debug info.
1214
12e12890 12152009-02-28 Jan Hubicka <jh@suse.cz>
1216
1217 PR debug/39267
1218 * tree-inline.c (setup_one_parameter): Do not copy propagate
1219 arguments when not optimizing.
1220
5e56456b 12212009-02-28 H.J. Lu <hongjiu.lu@intel.com>
1222
1223 PR target/39327
1224 * config/i386/sse.md (avx_addsubv8sf3): Correct item bits.
1225 (avx_addsubv4df3): Likewise.
1226 (*avx_addsubv4sf3): Likewise.
1227 (sse3_addsubv4sf3): Likewise.
1228 (*avx_addsubv2df3): Likewise.
1229 (sse3_addsubv2df3): Likewise.
1230 (avx_unpckhps256): Correct item selectors.
1231 (avx_unpcklps256): Likewise.
1232 (avx_unpckhpd256): Likewise.
1233 (avx_unpcklpd256): Likewise.
1234
a8305131 12352009-02-28 Jan Hubicka <jh@suse.cz>
1236
1237 * tree-inline.c (expand_call_inline): Avoid duplicate declarations of
1238 static vars.
1239 (copy_arguments_for_versioning): If var is declared don't declare it.
1240 (tree_function_versioning): First setup substitutions and then copy
1241 args.
1242
89f29a1b 12432009-02-27 Jan Hubicka <jh@suse.cz>
1244
1245 PR debug/39267
1246 * cgraph.h (varpool_output_debug_info): Remove.
1247 * cgraphunit.c (varpool_output_debug_info): Remove.
1248 * dwarf2out.c (deferred_locations_struct): New struct
1249 (deferred_locations): New type.
1250 (deferred_locations_list): New static var.
1251 (deffer_location): New function.
1252 (gen_variable_die): Use it.
1253 (decls_for_scope): Output info on local static vars.
1254 (dwarf2out_finish): Process deferred locations.
1255 * varpool.c (varpool_output_debug_info): Remove.
1256
cee43f7e 12572009-02-27 Jan Hubicka <jh@suse.cz>
1258
1259 PR debug/39267
1260 * tree.h (TREE_PROTECTED): Fix comment.
1261 (BLOCK_HANDLER_BLOCK): Remove.
1262 (struct tree_block): Remove handler_block add body_block.
1263 (inlined_function_outer_scope_p): New.
1264 (is_body_block): Remove.
1265 * dbxout.c (dbxout_block): Remove BLOCK_HANDLER_BLOCK.
1266 * dwarf2out.c (is_inlined_entry_point): Remove.
1267 (add_high_low_attributes): Use inlined_function_outer_scope_p.
a12d48b6 1268 (gen_block_die): Use is_inlined_entry_point check. Remove body block
1269 code.
cee43f7e 1270 * langhooks.h (struct lang_hooks): Remove no_bodu_blocks.
1271 * gimplify.c (gimplify_expr): Gimplify body blocks.
a12d48b6 1272 * tree-ssa-live.c (remove_unused_scope_block_p): Allow removing wrapper
1273 block with multiple subblocks.
cee43f7e 1274 (dump_scope_block): Prettier output; dump more flags and info.
1275 (dump_scope_blocks): New.
1276 (remove_unused_locals): Use dump_scope_blocks.
1277 * tree-flow.h (dump_scope_blocks): Declare.
1278 * tree-cfg.c (execute_build_cfg): Dump scope blocks.
1279 * stmt.c (is_body_block): Remove.
1280 * tree-inline.c (remap_block): Copy BODY_BLOCK info.
1281 * langhooks-def.h (LANG_HOOKS_NO_BODY_BLOCKS): Remove.
1282
74e261f8 12832009-02-27 Sebastian Pop <sebastian.pop@amd.com>
1284
1285 PR middle-end/39308
1286 * graphite.c (graphite_loop_normal_form): Do not call
1287 number_of_iterations_exit from a gcc_assert.
1288
512d9edf 12892009-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
1290
1291 * gcc/config/s390/s390.c: (s390_swap_cmp): Look for conditional
1292 jumps if COND is NULL.
1293 (find_cond_jump): New function.
1294 (s390_z10_optimize_cmp): Handling for reg-reg compares added.
1295 * gcc/config/s390/s390.md: Remove z10_cobra attribute value.
1296
f8fff44e 12972009-02-26 Uros Bizjak <ubizjak@gmail.com>
1298
1299 * config/alpha/alpha.h (alpha_expand_mov): Return false if
1300 force_const_mem returns NULL_RTX.
1301
673c690d 13022009-02-26 Jan Hubicka <jh@suse.cz>
1303
1304 PR debug/39267
1305 * cgraph.h (varpool_output_debug_info): Remove.
1306 * cgraphunit.c (varpool_output_debug_info): Remove.
1307 * dwarf2out.c (deferred_locations_struct): New struct
1308 (deferred_locations): New type.
1309 (deferred_locations_list): New static var.
1310 (deffer_location): New function.
1311 (gen_variable_die): Use it.
1312 (decls_for_scope): Output info on local static vars.
1313 (dwarf2out_finish): Process deferred locations.
1314 * varpool.c (varpool_output_debug_info): Remove.
1315
a330630f 13162009-02-25 H.J. Lu <hongjiu.lu@intel.com>
7216a350 1317
1318 PR rtl-optimization/39241
1319 * jump.c (rtx_renumbered_equal_p): Remove 2 superfluous calls
1320 to subreg_offset_representable_p.
1321
1e176869 13222009-02-25 Paolo Bonzini <bonzini@gnu.org>
1323
1324 * regmove.c (regmove_optimize): Conform to struct rtl_opt_pass
1325 execute function prototype. Get f and nregs from max_reg_num
1326 and get_insns. Remove the first backward pass as it's dead,
1327 guard the forward pass by flag_expensive_optimizations.
1328 (rest_of_handle_regmove): Delete.
1329 (pass_regmove): Replace it with regmove_optimize.
1330
28efe441 13312009-02-25 Martin Jambor <mjambor@suse.cz>
1332
1333 PR tree-optimization/39259
1334 * tree-inline.c (initialize_cfun): Remove asserts for calls_setjmp and
a6ccab35 1335 calls_alloca function flags.
28efe441 1336 (copy_bb): Set calls_setjmp and alls_alloca function flags if such
1337 calls are detected.
1338
e7dd8234 13392009-02-25 Paolo Bonzini <bonzini@gnu.org>
1340
1341 * regmove.c (discover_flags_reg, flags_set_1, mark_flags_life_zones,
1342 flags_set_1_rtx, flags_set_1_set): Delete.
1343 (regmove_optimize): Do not call mark_flags_life_zones.
1344
3e0af691 13452009-02-24 Julian Brown <julian@codesourcery.com>
1346
1347 PR target/35965
1348 * config/arm/arm.c (require_pic_register): Only set
1349 cfun->machine->pic_reg once per function.
1350
95e9d9cd 13512009-02-24 Sandra Loosemore <sandra@codesourcery.com>
1352
1353 * doc/invoke.texi (Link Options): Document an easier way to pass
f8fff44e 1354 options that take arguments to the GNU linker using -Xlinker and -Wl.
95e9d9cd 1355
bbe1a1e9 13562009-02-24 Steve Ellcey <sje@cup.hp.com>
1357
1358 PR target/33785
1359 * doc/tm.texi (TARGET_C99_FUNCTIONS): Fix description.
1360
dbc4ace1 13612009-02-24 Richard Guenther <rguenther@suse.de>
1362
1363 PR debug/39285
1364 * dwarf2out.c (gen_enumeration_type_die): Handle CONST_DECLs.
1365
29474274 13662009-02-24 Richard Guenther <rguenther@suse.de>
7216a350 1367 Zdenek Dvorak <ook@ucw.cz>
29474274 1368
1369 PR tree-optimization/39233
1370 * tree-ssa-loop-ivopts.c (add_candidate_1): Do not except pointers
1371 from converting them to a generic type.
1372
70c06b9d 13732009-02-23 Sebastian Pop <sebastian.pop@amd.com>
1374
1375 PR tree-optimization/39260
1376 * graphite.c (harmful_stmt_in_bb): Stop a SCoP when the basic block
1377 contains a condition with a real type.
1378 (build_scop_conditions_1): Conditions are always last_stmt of a bb.
1379
a9d778f8 13802009-02-23 Jason Merrill <jason@redhat.com>
1381
1382 PR c++/38880
1383 * varasm.c (initializer_constant_valid_p) [PLUS_EXPR]: Check
1384 narrowing_initializer_constant_valid_p.
1385 (narrowing_initializer_constant_valid_p): Don't return
1386 null_pointer_node for adding a pointer to itself.
1387
8b7d416a 13882009-02-23 Jan Hubicka <jh@suse.cz>
1389
1390 PR c/12245
f8fff44e 1391 * ggc.h (htab_create_ggc): Use ggc_free to free hashtable when
1392 resizing.
8b7d416a 1393
36267649 13942009-02-23 Jan Hubicka <jh@suse.cz>
1395
f8fff44e 1396 PR tree-optimization/37709
1397 * tree.c (block_ultimate_origin): Move here from dwarf2out.
1398 * tree.h (block_ultimate_origin): Declare.
1399 * dwarf2out.c (block_ultimate_origin): Move to tree.c
36267649 1400 * tree-ssa-live.c (remove_unused_scope_block_p):
1401 Eliminate blocks containig no instructions nor live variables nor
1402 nested blocks.
1403 (dump_scope_block): New function.
1404 (remove_unused_locals): Enable removal of dead blocks by default;
f8fff44e 1405 enable dumping at TDF_DETAILS.
36267649 1406
a330630f 14072009-02-21 H.J. Lu <hongjiu.lu@intel.com>
d9984eae 1408
1409 * config/i386/i386.c (classify_argument): Don't allow COImode
1410 and OImode.
1411 (function_arg_advance_32): Don't allow OImode.
1412 (function_arg_32): Likewise.
1413 (function_value_32): Likewise.
1414 (return_in_memory_32): Likewise.
1415 (function_arg_64): Remove OImode comment.
1416
a330630f 14172009-02-21 H.J. Lu <hongjiu.lu@intel.com>
f65f962c 1418
1419 PR target/39261
1420 * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Use
1421 ix86_expand_vector_set for V4DImode in 64bit mode only.
1422 (ix86_expand_vector_init_one_var): Likewise.
1423
c08b0c04 14242009-02-21 Sebastian Pop <sebastian.pop@amd.com>
1425
1426 * graphite.c (graphite_trans_loop_block): Adjust tile size to 51.
1427
c0efe3c3 14282009-02-21 Richard Sandiford <rdsandiford@googlemail.com>
1429
71cca459 1430 PR bootstrap/39257
c0efe3c3 1431 * loop-iv.c: Revert last change.
1432 * emit-rtl.c: Likewise.
1433
a330630f 14342009-02-21 H.J. Lu <hongjiu.lu@intel.com>
6c37e539 1435
1436 PR target/39256
1437 * config/i386/i386.c (type_natural_mode): Remove an extra
1438 space in the warning message.
1439 (function_value_32): Handle 32-byte vector modes.
1440 (return_in_memory_32): Likewise.
1441
c2c24c89 14422009-02-21 Richard Sandiford <rdsandiford@googlemail.com>
1443
1444 * loop-iv.c (truncate_value): New function.
1445 (iv_subreg, get_iv_value, iv_number_of_iterations): Use it instead
1446 of lowpart_subreg.
1447 (lowpart_subreg): Move to...
1448 * emit-rtl.c: ...here.
1449
59c236cd 14502009-02-21 Danny Smith <dannysmith@users.sourceforge.net>
09869175 1451
59c236cd 1452 * config/i386/winnt.c (i386_pe_asm_output_aligned_decl_common): Revert
1453 accidental and undocumented change at revision 140860.
1454
54ad443f 14552009-02-21 Joseph Myers <joseph@codesourcery.com>
1456
1457 * config/arm/arm.c (arm_gimplify_va_arg_expr): Update prototype to
1458 take gimple_seq * arguments.
1459 (arm_mangle_type): Use CONST_CAST_TREE on type argument passed to
1460 types_compatible_p langhook.
1461
fb20d2ee 14622009-02-20 Mark Mitchell <mark@codesourcery.com>
09869175 1463 Joseph Myers <joseph@codesourcery.com>
fb20d2ee 1464
1465 * config/arm/arm.c (arm_builtin_va_list): New function.
1466 (arm_expand_builtin_va_start): Likewise.
1467 (arm_gimplify_va_arg_expr): Likewise.
1468 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
1469 (TARGET_BUILD_BUILTIN_VA_START): Likewise.
1470 (TARGET_BUILD_BUILTIN_VA_ARG_EXPR): Likewise.
1471 (va_list_type): New variable.
1472 (arm_mangle_type): Mangle va_list_type appropriately.
1473
86482d6b 14742009-02-20 Jakub Jelinek <jakub@redhat.com>
1475
1476 PR middle-end/39157
1477 * Makefile.in (loop-invariant.o): Depend on $(PARAMS_H).
1478 * params.h (LOOP_INVARIANT_MAX_BBS_IN_LOOP): Define.
1479 * params.def (loop-invariant-max-bbs-in-loop): New parameter.
1480 * opts.c (decode_options): Set loop-invariant-max-bbs-in-loop
1481 parameter to 1000 for -O1 by default.
1482 * doc/invoke.texi (loop-invariant-max-bbs-in-loop): Document new
1483 parameter.
1484 * loop-invariant.c: Include params.h.
1485 (move_loop_invariants): Don't call move_single_loop_invariants on
1486 very large loops.
1487
9a0cf170 14882009-02-20 Jaka Mocnik <jaka@xlab.si>
1489
1490 * calls.c (emit_library_call_value_1): Use slot_offset instead of
1491 offset when calculating bounds for indexing stack_usage_map. Fixes
1492 a buffer overflow with certain target setups.
1493
4681dd41 14942009-02-20 Jakub Jelinek <jakub@redhat.com>
1495
1496 PR target/39240
1497 * calls.c (expand_call): Clear try_tail_call if caller and callee
1498 disagree in promotion of function return value.
1499
2d9d8740 15002009-02-19 Jakub Jelinek <jakub@redhat.com>
1501
1502 PR target/39175
1503 * c-common.c (c_determine_visibility): If visibility changed and
1504 DECL_RTL has been already set, call make_decl_rtl to update symbol
1505 flags.
1506
e3040053 15072009-02-19 H.J. Lu <hongjiu.lu@intel.com>
1508
1509 PR c++/39188
1510 * varasm.c (assemble_variable): Don't check DECL_NAME when
1511 globalizing a variable.
1512
ad0e7a06 15132009-02-19 Joseph Myers <joseph@codesourcery.com>
1514
1515 PR c/38483
1516 * builtins.c (gimplify_va_arg_expr): Evaluate the va_list
1517 expression before any __builtin_trap call.
1518 * c-typeck.c (build_function_call): Convert and check function
1519 arguments before generating a call to a trap. Evaluate the
1520 function arguments before the trap.
1521
a7a2dd08 15222009-02-19 Uros Bizjak <ubizjak@gmail.com>
1523
1524 PR target/39228
1525 * config/i386/i386.md (isinfxf2): Split from isinf<mode>2.
1526 (UNSPEC_FXAM_MEM): New unspec.
1527 (fxam<mode>2_i387_with_temp): New insn and split pattern.
1528 (isinf<mode>2): Use MODEF mode iterator. Force operand[1] through
1529 memory using fxam<mode>2_i387_with_temp to remove excess precision.
1530
c5168a9e 15312009-02-19 Richard Guenther <rguenther@suse.de>
1532
1533 PR tree-optimization/39207
1534 PR tree-optimization/39074
1535 * tree-ssa-structalias.c (storedanything_id, var_storedanything,
1536 storedanything_tree): New.
1537 (do_ds_constraint): Simplify ANYTHING shortcutting. Update
a7a2dd08 1538 the STOREDANYTHING solution if the lhs solution contains ANYTHING.
c5168a9e 1539 (build_succ_graph): Add edges from STOREDANYTHING to all
1540 non-direct nodes.
1541 (init_base_vars): Initialize STOREDANYTHING.
1542 (compute_points_to_sets): Free substitution info after
1543 building the succ graph.
1544 (ipa_pta_execute): Likewise.
1545
1546 * tree-ssa-structalias.c (struct variable_info): Add may_have_pointers
1547 field.
1548 (do_ds_constraint): Do not add to special var or non-pointer
1549 field solutions.
1550 (type_could_have_pointers): Split out from ...
1551 (could_have_pointers): ... here. For arrays use the element type.
1552 (create_variable_info_for): Initialize may_have_pointers.
1553 (new_var_info): Likewise.
1554 (handle_lhs_call): Make the HEAP variable unknown-sized.
1555 (intra_create_variable_infos): Use a type with pointers for
1556 PARM_NOALIAS, make it unknown-sized.
1557
f36b5ce0 15582009-02-18 H.J. Lu <hongjiu.lu@intel.com>
1559
1560 PR target/39224
a7a2dd08 1561 * config/i386/i386.c (ix86_return_in_memory): Properly check ABI.
f36b5ce0 1562
807bf718 15632009-02-18 Jason Merrill <jason@redhat.com>
1564
1565 PR target/39179
1566 * tree-ssa-ccp.c (get_symbol_constant_value): Don't assume zero
1567 value if DECL_EXTERNAL.
1568 * tree-sra.c (sra_walk_gimple_assign): Likewise.
1569 * target.h (gcc_target::binds_local_p): Clarify "module".
1570 * tree.h (TREE_PUBLIC): Clarify "module".
1571
f29980e5 15722009-02-17 Xuepeng Guo <xuepeng.guo@intel.com>
1573
1574 PR target/38891
1575 * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move the hunk of
1576 initialization for MS_ABI prior to the hunk of !TARGET_MMX.
1577
58beda63 15782009-02-17 H.J. Lu <hongjiu.lu@intel.com>
1579
1580 PR target/39082
1581 * c.opt (Wabi): Support C and ObjC.
1582 (Wpsabi): New.
1583
1584 * c-opts.c (c_common_handle_option): Handle OPT_Wabi.
1585
1586 * config/i386/i386.c (classify_argument): Warn once about the ABI
1587 change when passing union with long double.
1588
1589 * doc/invoke.texi: Update -Wabi for warning psABI changes.
1590
22d77a94 15912009-02-18 Joseph Myers <joseph@codesourcery.com>
1592
1593 PR c/35447
1594 * c-parser.c (c_parser_compound_statement): Always enter and leave
1595 a scope.
1596
492e3336 15972009-02-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1598
1599 PR target/34587
1600 * config/darwin.h (SUPPORTS_INIT_PRIORITY): Define.
1601
b6eab06c 16022009-02-18 Jakub Jelinek <jakub@redhat.com>
1603
1604 PR tree-optimization/36922
1605 * tree-data-ref.c (initialize_matrix_A): Handle BIT_NOT_EXPR.
1606 * tree-scalar-evolution.c (interpret_rhs_expr, instantiate_scev_1):
1607 Likewise.
1608
4f0507c2 16092009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
1610
1611 * config/mips/mips.c (mips_override_options): Set flag_dwarf2_cfi_asm
1612 to 0 for EABI64.
1613
be83ab34 16142009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
1615
1616 * config/mips/mips.md (type): Reclassify lui_movf as "unknown".
1617
aa6a48b8 16182009-02-17 Richard Sandiford <rdsandiford@googlemail.com>
1619
1620 * config/mips/mips.c (mips_gimplify_va_arg_expr): Fix invalid
1621 tree sharing.
1622
0f604f19 16232009-02-17 Ruan Beihong <ruanbeihong@gmail.com>
1624 Richard Sandiford <rdsandiford@googlemail.com>
1625
1626 * config/mips/mips.c (CODE_FOR_loongson_biadd): Delete.
1627 * config/mips/loongson.md (reduc_uplus_<mode>): Rename to...
1628 (loongson_biadd): ...this.
1629
1ab8a912 16302009-02-17 Richard Guenther <rguenther@suse.de>
1631
1632 PR tree-optimization/39202
1633 * tree-ssa-structalias.c (do_structure_copy): Before collapsing
1634 a var make sure to follow existing collapses.
1635
aa03bd5e 16362009-02-17 Richard Guenther <rguenther@suse.de>
1637
1638 PR middle-end/39214
1639 * langhooks.c (lhd_print_error_function): Check for NULL block.
1640
f46bc821 16412009-02-17 Richard Guenther <rguenther@suse.de>
1642
1643 PR tree-optimization/39204
1644 * tree-ssa-pre.c (phi_translate_1): Lookup the value-number
1645 of the PHI arg.
1646
974645ce 16472009-02-17 Uros Bizjak <ubizjak@gmail.com>
1648
1649 * config/soft-fp/double.h: Update from glibc CVS.
1650
7197c469 16512009-02-17 Richard Guenther <rguenther@suse.de>
1652
1653 PR tree-optimization/39207
1654 * tree-ssa-structalias.c (find_what_p_points_to): Do not emit
1655 strict-aliasing warnings for pointers pointing to NULL.
1656
1646bf33 16572009-02-16 Joseph Myers <joseph@codesourcery.com>
1658
1659 PR c/35446
1660 * c-parser.c (c_parser_braced_init): Call pop_init_level when
1661 skipping until next close brace.
1662
0fb2a998 16632009-02-16 H.J. Lu <hongjiu.lu@intel.com>
1664
1665 PR target/37049
1666 * config/i386/i386.c (ix86_expand_push): Set memory alignment
1667 to function argument boundary.
1668
a1a75b07 16692009-02-16 Hariharan Sandanagobalane <hariharan@picochip.com>
1670
1671 * config/picochip/picochip.md (lea_add): Allow any nonimmediate
1672 in the lea_add. Reload eventually constraints it properly.
1673 * config/picochip/constraints.md : Remove the target constraint
1674 "b", since it is not needed anymore.
1675
320084b9 16762009-02-16 Jakub Jelinek <jakub@redhat.com>
1677
1678 * gthr-dce.h: Uglify function parameter and local variable names.
1679 * gthr-gnat.h: Likewise.
1680 * gthr-mipssde.h: Likewise.
1681 * gthr-nks.h: Likewise.
1682 * gthr-posix95.h: Likewise.
1683 * gthr-posix.h: Likewise.
1684 * gthr-rtems.h: Likewise.
1685 * gthr-single.h: Likewise.
1686 * gthr-solaris.h: Likewise.
1687 * gthr-tpf.h: Likewise.
1688 * gthr-vxworks.h: Likewise.
1689 * gthr-win32.h: Likewise.
1690
fde73de8 16912009-02-15 H.J. Lu <hongjiu.lu@intel.com>
1692
1693 PR target/39196
1694 * config/i386/i386.md: Restrict the new peephole2 to move
1695 between MMX/SSE registers.
1696
b5c49426 16972009-02-15 Richard Guenther <rguenther@suse.de>
1698
1699 Revert
1700 2009-02-13 Richard Guenther <rguenther@suse.de>
1701
1702 * configure.ac: Enable LFS.
1703 * configure: Re-generate.
1704 * config.in: Likewise.
1705
70ca06f8 17062009-02-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1707
1708 * config/spu/spu_internals.h (spu_sr, spu_sra, spu_srqw,
1709 spu_srqwbyte, spu_srqwbytebc): Define.
1710 * config/spu/spu-builtins.def (spu_sr, spu_sra, spu_srqw,
1711 spu_srqwbyte, spu_srqwbytebc): New overloaded builtins.
1712 * config/spu/spu.md ("shrqbybi_<mode>", "shrqbi_<mode>",
1713 "shrqby_<mode>"): New insn-and-split patterns.
1714 * config/spu/spu.c (expand_builtin_args): Determine and return
1715 number of operands using spu_builtin_description data.
1716 (spu_expand_builtin_1): Use it.
1717
c49d20be 17182009-02-13 Steve Ellcey <sje@cup.hp.com>
1719
1720 PR target/38056
1721 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Check
1722 TARGET_CONST_GP.
1723
c81f43ee 17242009-02-13 H.J. Lu <hongjiu.lu@intel.com>
1725
1726 PR target/39149
1727 * config/i386/i386.c (override_options): Correct warning
a6ccab35 1728 messages for -malign-loops, -malign-jumps and -malign-functions.
c81f43ee 1729
bc0a240f 17302009-02-13 H.J. Lu <hongjiu.lu@intel.com>
1731
1732 PR target/39152
1733 * config/i386/i386.md: Restrict the new peephole2 to move
1734 between the general purpose registers.
1735
79a817bf 17362009-02-13 H.J. Lu <hongjiu.lu@intel.com>
1737
1738 PR target/39162
1739 * config/i386/i386.c (type_natural_mode): Add a new argument.
a7a2dd08 1740 Return the original mode and warn ABI change if vector size is 32byte.
79a817bf 1741 (function_arg_advance): Updated.
1742 (function_arg): Likewise.
1743 (ix86_function_value): Likewise.
1744 (ix86_return_in_memory): Likewise.
1745 (ix86_sol10_return_in_memory): Likewise.
1746 (ix86_gimplify_va_arg): Likewise.
1747 (function_arg_32): Don't warn ABX ABI change here.
1748 (function_arg_64): Likewise.
1749
a330630f 17502009-02-13 Bernd Schmidt <bernd.schmidt@analog.com>
27440859 1751
1752 * loop-iv.c (implies_p): In the final case, test that operands 0
1753 of the two comparisons match.
1754
462ce619 1755 * config/bfin/bfin.c (find_prev_insn_start): New function.
1756 (bfin_optimize_loop): Use it in some cases instead of PREV_INSN.
1757 (find_next_insn_start): Move.
1758
76549266 17592009-02-13 Richard Guenther <rguenther@suse.de>
1760
1761 * configure.ac: Enable LFS.
1762 * configure: Re-generate.
1763 * config.in: Likewise.
1764
1bbf1c2f 17652009-02-13 Joseph Myers <joseph@codesourcery.com>
1766
1767 PR c/35444
1768 * c-parser.c (c_parser_parms_list_declarator): Discard pending
1769 sizes on syntax error after some arguments have been parsed.
1770
ce2801fe 17712009-02-12 Jakub Jelinek <jakub@redhat.com>
1772
1773 * doc/invoke.texi (-fira): Remove.
1774
ac502adf 17752009-02-12 H.J. Lu <hongjiu.lu@intel.com>
1776
1777 * caller-save.c: Replace regclass.c with reginfo.c in comments.
1778 * recog.c: Likewise.
1779 * rtl.h: Likewise.
1780
8b21beb2 17812009-02-12 Uros Bizjak <ubizjak@gmail.com>
1782
1783 * longlong.h (sub_ddmmss): New for ia64. Ported from GMP 4.2.
1784 (umul_ppmm): Likewise.
1785 (count_leading_zeros): Likewise.
1786 (count_trailing_zeros): Likewise.
1787 (UMUL_TIME): Likewise.
1788
17892009-02-12 H.J. Lu <hongjiu.lu@intel.com>
1790
24200b28 1791 * config.gcc (ia64*-*-linux*): Add ia64/t-fprules-softfp and
1792 soft-fp/t-softfp to tmake_file.
8b21beb2 1793
1794 * config/ia64/ia64.c (ia64_soft_fp_init_libfuncs): New.
24200b28 1795 (ia64_expand_compare): Use HPUX library for TFmode only for HPUX.
1796 (ia64_builtins) [IA64_BUILTIN_COPYSIGNQ, IA64_BUILTIN_FABSQ,
1797 IA64_BUILTIN_INFQ]: New.
8b21beb2 1798 (ia64_init_builtins): Initialize __builtin_infq,
1799 __builtin_fabsq and __builtin_copysignq if not HPUX.
1800 (ia64_expand_builtin): Handle IA64_BUILTIN_COPYSIGNQ,
1801 IA64_BUILTIN_FABSQ and IA64_BUILTIN_INFQ.
1802
1803 * config/ia64/lib1funcs.asm (__divtf3): Define only if
1804 SHARED is defined.
1805 (__fixtfti): Likewise.
1806 (__fixunstfti): Likewise.
1807 (__floattitf): Likewise.
1808
1809 * config/ia64/libgcc-glibc.ver: New.
1810 * config/ia64/t-fprules-softfp: Likewise.
1811 * config/ia64/sfp-machine.h: Likewise.
1812
1813 * config/ia64/linux.h (LIBGCC2_HAS_TF_MODE): New.
1814 (LIBGCC2_TF_CEXT): Likewise.
1815 (TF_SIZE): Likewise.
1816 (TARGET_INIT_LIBFUNCS): Likewise.
1817
24200b28 1818 * config/ia64/t-glibc (SHLINB_MAPFILES):
a7a2dd08 1819 Add $(srcdir)/config/ia64/libgcc-glibc.ver.
8b21beb2 1820
cffe3086 18212009-02-12 H.J. Lu <hongjiu.lu@intel.com>
1822
1823 * config/i386/i386.c (construct_container): Rewrite processing
1824 BLKmode with X86_64_SSE_CLASS.
1825
fbfa3312 18262009-02-12 Paolo Bonzini <bonzini@gnu.org>
1827
1828 PR target/39152
1829 * config/i386/i386.md: Replace simplify_replace_rtx with
1830 replace_rtx in the new peephole2.
1831
38b64900 18322009-02-12 Nathan Sidwell <nathan@codesourcery.com>
1833
1834 * doc/invoke.texi (Optimize Options): Stop claiming inlining and
1835 loop unrolling do not happen at -O2.
1836
674ca8bf 18372009-02-12 Michael Matz <matz@suse.de>
1838
1839 * gcc.c (ASM_DEBUG_SPEC): Check for -g0.
1840
e1b3cc49 18412009-02-12 Jakub Jelinek <jakub@redhat.com>
1842
1843 * dwarf2out.c (dwarf2out_finish): Force output of comp_unit_die
1844 for -g3.
1845
0fbcd2eb 18462009-02-12 Ben Elliston <bje@au.ibm.com>
1847
1848 * config/rs6000/rs6000.md (allocate_stack): Use _stack form of
1849 patterns when updating the back chain. Missed in the 2009-02-10
1850 change.
1851
0e86dff0 18522009-02-11 Janis Johnson <janis187@us.ibm.com>
1853
1854 * doc/extend.texi (Decimal Floating Types): Update identifier of
1855 draft TR and list of missing support.
1856
2a92826d 18572009-02-11 Jakub Jelinek <jakub@redhat.com>
1858
1859 PR middle-end/39154
1860 * gimplify.c (omp_notice_variable): If adding GOVD_SEEN
1861 bit to variable length decl's flags, add it also to its
1862 pointer replacement variable.
1863
73c5e2aa 18642009-02-11 Uros Bizjak <ubizjak@gmail.com>
1865 Jakub Jelinek <jakub@redhat.com>
1866
1867 PR target/39118
1868 * config/i386/i386.md (UNSPEC_MEMORY_BLOCKAGE): New constant.
1869 (memory_blockage): New expander.
1870 (*memory_blockage): New insn pattern.
1871 * config/i386/i386.c (ix86_expand_prologue): Use memory_blockage
1872 instead of general blockage at the end of function prologue when
1873 frame pointer is used to access red zone area. Do not emit blockage
1874 when profiling, it is emitted in generic code.
1875 (ix86_expand_epilogue): Emit memory_blockage at the beginning of
1876 function epilogue when frame pointer is used to access red zone area.
1877
486a1b16 18782009-02-11 Paolo Bonzini <bonzini@gnu.org>
1879
b899e808 1880 PR target/38824
486a1b16 1881 * config/i386/i386.md: Add two new peephole2 to avoid mov followed
1882 by arithmetic with memory operands.
1883 * config/i386/predicates.md (commutative_operator): New.
1884
560db68e 18852009-02-10 Janis Johnson <janis187@us.ibm.com>
1886
1887 * doc/extend.texi (Fixed-Point Types): Break long paragraphs into
1888 bulleted lists.
1889
892fdb03 18902009-02-10 Eric Botcazou <ebotcazou@adacore.com>
1891
1892 * alias.h (record_alias_subset): Declare.
1893 * alias.c (record_alias_subset): Make global.
1894
4ef8346d 18952009-02-10 Nick Clifton <nickc@redhat.com>
1896
1897 * tree-parloops.c: Change license to GPLv3.
1898 * ipa-struct-reorg.c: Change license to GPLv3.
1899 * ipa-struct-reorg.h: Change license to GPLv3.
1900
fc92befb 19012009-02-10 Steve Ellcey <sje@cup.hp.com>
1902
1903 PR c/39084
1904 * c-decl.c (start_struct): Return NULL on error.
1905
e15deb4b 19062009-02-10 Jakub Jelinek <jakub@redhat.com>
1907
16ccc50c 1908 PR middle-end/39124
1909 * cfgloopmanip.c (remove_path): Call remove_bbs after
1910 cancel_loop_tree, not before it.
1911
e15deb4b 1912 PR target/39139
73c5e2aa 1913 * function.h (struct function): Add has_local_explicit_reg_vars bit.
e15deb4b 1914 * gimplify.c (gimplify_bind_expr): Set it if local DECL_HARD_REGISTER
1915 VAR_DECLs were seen.
1916 * tree-ssa-live.c (remove_unused_locals): Recompute
1917 cfun->has_local_explicit_reg_vars.
1918 * tree-ssa-sink.c (statement_sink_location): Don't sink BLKmode
1919 copies or clearings if cfun->has_local_explicit_reg_vars.
1920
a9c1f295 19212009-02-10 Uros Bizjak <ubizjak@gmail.com>
1922
1923 PR target/39118
1924 * config/i386/i386.c (expand_prologue): Emit blockage at the end
1925 of function prologue when frame pointer is used to access
1926 red zone area.
1927
c85b2faf 19282009-02-10 Richard Guenther <rguenther@suse.de>
1929
1930 PR middle-end/39127
1931 * gimplify.c (gimple_regimplify_operands): Always look if
1932 we need to create a temporary.
1933
8d093dba 19342009-02-10 Richard Guenther <rguenther@suse.de>
1935
1936 PR tree-optimization/39132
1937 * tree-loop-distribution.c (todo): New global var.
1938 (generate_memset_zero): Trigger TODO_rebuild_alias.
1939 (tree_loop_distribution): Return todo.
1940
edd93683 19412009-02-10 H.J. Lu <hongjiu.lu@intel.com>
1942
1943 PR target/39119
1944 * config/i386/i386.c (x86_64_reg_class): Remove X86_64_AVX_CLASS.
1945 (x86_64_reg_class_name): Removed.
1946 (classify_argument): Return 0 if bytes > 32. Return 0 if the
1947 first one isn't X86_64_SSE_CLASS or any other ones aren't
1948 X86_64_SSEUP_CLASS when size > 16bytes. Don't turn
1949 X86_64_SSEUP_CLASS into X86_64_SSE_CLASS if the preceded one
1950 is X86_64_SSEUP_CLASS. Set AVX modes to 1 X86_64_SSE_CLASS
1951 and 3 X86_64_SSEUP_CLASS.
1952 (construct_container): Remove X86_64_AVX_CLASS. Handle 4
1953 registers with 1 X86_64_SSE_CLASS and 3 X86_64_SSEUP_CLASS.
1954
2b6975a6 19552009-02-10 Ben Elliston <bje@au.ibm.com>
1956
1957 * config/rs6000/rs6000.md (allocate_stack): Always use an update
1958 form instruction to update the stack back chain word, even if the
1959 user has disabled the generation of update instructions.
1960 (movdi_<mode>_update_stack): New.
1961 (movsi_update_stack): Likewise.
1962 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Likewise,
1963 always use an update form instruction to update the stack back
1964 chain word.
1965
a72d4b7d 19662009-02-09 Sebastian Pop <sebastian.pop@amd.com>
1967
1968 PR middle-end/38953
73c5e2aa 1969 * graphite.c (if_region_set_false_region): After moving a region in
1970 the false branch of a condition, remove the empty dummy basic block.
a72d4b7d 1971 (gloog): Remove wrong fix for PR38953.
1972
1f915911 19732009-02-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1974
1975 * config/spu/spu.c (array_to_constant): Fix (latent) wrong-code
1976 generation due to implicit sign extension.
1977
bbe1fc8f 19782009-02-09 Eric Botcazou <ebotcazou@adacore.com>
1979
1980 PR middle-end/38981
1981 * tree-ssa-coalesce.c (add_coalesce): Cap the costs of coalesce pairs
1982 at MUST_COALESCE_COST-1 instead of MUST_COALESCE_COST.
1983
fd494669 19842009-02-09 Richard Guenther <rguenther@suse.de>
1985
1986 PR middle-end/35202
1987 * convert.c (convert_to_real): Disable (float)fn((double)x)
1988 to fnf(x) conversion if errno differences may occur and
1989 -fmath-errno is set.
1990
a64bd5e4 19912009-02-07 Anatoly Sokolov <aesok@post.ru>
1992
1993 * config/avr/avr.c (avr_mcu_t): Add ata6289 device.
1994 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
1995 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
1996
9e830260 19972009-02-06 Joseph Myers <joseph@codesourcery.com>
1998
1999 PR c/35434
2000 * c-common.c (handle_alias_attribute): Disallow attribute for
2001 anything not a FUNCTION_DECL or VAR_DECL.
2002
42dc1cf5 20032009-02-06 Janis Johnson <janis187@us.ibm.com>
2004
2005 PR c/39035
2006 * real.c (do_compare): Special-case compare of zero against
2007 decimal float value.
2008
0af147a4 20092009-02-06 Joseph Myers <joseph@codesourcery.com>
2010
2011 PR c/36432
2012 * c-decl.c (grokdeclarator): Don't treat [] declarators in fields
2013 as indicating flexible array members unless the field itself is
2014 being declarared as the incomplete array.
2015
68b2f511 20162009-02-06 Jan Hubicka <jh@suse.cz>
2017
2018 PR tree-optimization/38844
2019 * ipa-inline.c (try_inline): Stop inlining recursion when edge
2020 is already inlined.
2021
dac59c04 20222009-02-06 Richard Guenther <rguenther@suse.de>
2023
2024 PR middle-end/38977
2025 * tree-cfg.c (need_fake_edge_p): Force a fake edge for
2026 fork because we may expand it as __gcov_fork.
2027
2314f2ef 20282009-02-06 Nick Clifton <nickc@redhat.com>
2029
a9c1f295 2030 * config/m32c/m32c.h (PCC_BITFIELD_TYPE_MATTERS): Define to zero.
2314f2ef 2031
3d2d7de7 20322009-02-06 Paolo Bonzini <bonzini@gnu.org>
2033
2034 PR tree-optimization/35659
2035 * tree-ssa-sccvn.c (vn_constant_eq, vn_reference_eq, vn_nary_op_eq
2036 vn_phi_eq): Shortcut if hashcode does not match.
2037 (vn_reference_op_compute_hash): Do not call iterative_hash_expr for
2038 NULL operands.
2039 * tree-ssa-pre.c (pre_expr_hash): Look at hashcode if available,
2040 and avoid iterative_hash_expr.
2041 (FOR_EACH_VALUE_ID_IN_SET): New.
2042 (value_id_compare): Remove.
2043 (sorted_array_from_bitmap_set): Use FOR_EACH_VALUE_ID_IN_SET to
2044 sort expressions by value id.
2045
07d27c98 20462009-02-05 Kaz Kojima <kkojima@gcc.gnu.org>
2047
2048 PR target/38991
2049 * config/sh/predicates.md (general_movsrc_operand): Don't check
2050 the subreg of system registers here.
2051
f014e39d 20522009-02-05 Jakub Jelinek <jakub@redhat.com>
2053
2054 PR c++/39106
2055 * cgraphunit.c (cgraph_function_versioning): Clear also DECL_VIRTUAL_P
2056 on the copied decl.
2057
99e9b19f 20582009-02-05 Paolo Bonzini <bonzini@gnu.org>
2059
2060 PR rtl-optimization/39110
2061 * rtlanal.c (rtx_addr_can_trap_p_1): Shortcut unaligned
2062 addresses, not aligned ones.
2063
707dd2b0 20642009-02-05 Daniel Berlin <dberlin@dberlin.org>
2065 Richard Guenther <rguenther@suse.de>
2066
2067 PR tree-optimization/39100
2068 * tree-ssa-structalias.c (do_ds_constraint): Actually do what the
2069 comment says and add edges.
2070
c34f8a78 20712009-02-05 Joseph Myers <joseph@codesourcery.com>
2072
2073 PR c/35435
2074 * c-common.c (handle_tls_model_attribute): Ignore attribute for
2075 non-VAR_DECLs without checking DECL_THREAD_LOCAL_P.
2076
7f28086c 20772009-02-04 Tobias Grosser <grosser@fim.uni-passau.de>
2078
2079 * graphite.c (bb_in_sese_p, sese_build_livein_liveouts_use,
2080 sese_build_livein_liveouts_bb, sese_build_livein_liveouts,
2081 register_bb_in_sese, new_sese, free_sese): Moved.
2082 (dot_scop_1, build_scop_loop_nests, build_loop_iteration_domains,
2083 outermost_loop_in_scop, build_scop_iteration_domain,
2084 expand_scalar_variables_ssa_name, get_vdef_before_scop,
2085 limit_scops): Use bb_in_sese_p instead of bb_in_scop_p.
2086 Use loop_in_sese_p instead of loop_in_scop_p.
2087 (new_graphite_bb, gloog): Do not initialize SCOP_BBS_B.
2088 (new_scop, free_scop): Remove SCOP_LOOP2CLOOG_LOOP and SCOP_BBS_B.
2089 (scopdet_basic_block_info): Fix bug in scop detection.
2090 (new_loop_to_cloog_loop_str, hash_loop_to_cloog_loop,
2091 eq_loop_to_cloog_loop): Remove.
2092 (nb_loops_around_loop_in_scop, nb_loop
2093 ref_nb_loops): Moved here...
2094 * graphite.h (ref_nb_loops): ... from here.
2095 (struct scop): Remove bbs_b bitmap and loop2cloog_loop.
2096 (loop_domain_dim, loop_iteration_vector_dim): Remove.
2097 (SCOP_BBS_B, bb_in_scop_p, loop_in_scop_p): Removed.
2098 * testsuite/gcc.dg/graphite/scop-19.c: New
2099
0eee494e 21002009-02-04 Paolo Bonzini <bonzini@gnu.org>
2101 Hans-Peter Nilsson <hp@axis.com>
2102
2103 PR rtl-optimization/37889
2104 * rtlanal.c (rtx_addr_can_trap_p_1): Add offset and size arguments.
2105 Move offset handling from PLUS to before the switch. Use new
2106 arguments when considering SYMBOL_REFs too.
2107 (rtx_addr_can_trap_p): Pass dummy offset and size.
2108 (enum may_trap_p_flags): Remove.
2109 (may_trap_p_1): Pass size from MEM_SIZE.
2110
2111 PR rtl-optimization/38921
2112 * loop-invariant.c (find_invariant_insn): Use may_trap_or_fault_p.
2113 * rtl.h (may_trap_after_code_motion_p): Delete prototype.
2114 * rtlanal.c (may_trap_after_code_motion_p): Delete.
2115 (may_trap_p, may_trap_or_fault_p): Pass 0/1 as flags.
2116
810c9e65 21172009-02-04 H.J. Lu <hongjiu.lu@intel.com>
2118
2119 AVX Programming Reference (January, 2009)
2120 * config/i386/sse.md (*vpclmulqdq): New.
2121
73d3c8f2 21222009-02-04 Jakub Jelinek <jakub@redhat.com>
2123
2124 PR tree-optimization/38977
2125 PR gcov-profile/38292
6db00048 2126 * calls.c (special_function_p): Disregard __builtin_ prefix.
73d3c8f2 2127
fe898823 21282009-02-04 Hariharan Sandanagobalane <hariharan@picochip.com>
2129
2130 * config/picochip/picochip.c (GO_IF_LEGITIMATE_ADDRESS): Disallow
2131 non-indexable addresses even before reload.
2132
51428eb1 21332009-02-03 Joseph Myers <joseph@codesourcery.com>
2134
2135 PR c/29129
2136 * c-decl.c (grokdeclarator): Mark [*] arrays in field declarators
2137 as having variable size. Do not give an error for unnamed
2138 parameters with [*] declarators. Give a warning for type names
2139 with [*] declarators and mark them as variable size.
2140 * c-parser.c (c_parser_sizeof_expression): Do not give an error
2141 for sizeof applied to [*] type names.
2142
4f4106ef 21432009-02-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
2144
2145 PR C++/36607
2146 * convert.c (convert_to_integer): Treat OFFSET_TYPE like INTEGER_TYPE.
2147
5a371c77 21482009-02-03 Jakub Jelinek <jakub@redhat.com>
2149
2150 * gcc.c (process_command): Update copyright notice dates.
2151 * gcov.c (print_version): Likewise.
2152 * gcov-dump.c (print_version): Likewise.
2153 * mips-tfile.c (main): Likewise.
2154 * mips-tdump.c (main): Likewise.
2155
e5d71db4 21562009-02-03 Joseph Myers <joseph@codesourcery.com>
2157
2158 PR c/35433
2159 * c-typeck.c (composite_type): Set TYPE_SIZE and TYPE_SIZE_UNIT
2160 for composite type involving a zero-length array type.
2161
14e882ea 21622009-02-03 Jakub Jelinek <jakub@redhat.com>
2163
fbcb9be4 2164 PR target/35318
2165 * function.c (match_asm_constraints_1): Skip over
2166 initial optional % in the constraint.
2167
14e882ea 2168 PR inline-asm/39059
2169 * c-parser.c (c_parser_postfix_expression): If fixed point is not
2170 supported, don't accept FIXED_CSTs.
2171 * c-decl.c (finish_declspecs): Error if fixed point is not supported
2172 and _Sat is used without _Fract/_Accum. Set specs->type to
2173 integer_type_node for cts_fract/cts_accum if fixed point is not
2174 supported.
2175
f4b3ca46 21762009-02-02 Catherine Moore <clm@codesourcery.com>
2177
a9c1f295 2178 * sde.h (SUBTARGET_ARM_SPEC): Don't assemble -fpic code as -mabicalls.
f4b3ca46 2179
0a959c1d 21802009-02-02 Richard Sandiford <rdsandiford@googlemail.com>
2181
2182 * config/mips/mips.h (FILE_HAS_64BIT_SYMBOLS): New macro.
2183 (ABI_HAS_64BIT_SYMBOLS): Use it.
2184 (DWARF2_ADDR_SIZE): Use it instead of ABI_HAS_64BIT_SYMBOLS.
2185
2f02c19f 21862009-02-02 Paul Brook <paul@codesourcery.com>
2187
2188 * config/arm/arm.md (arm_addsi3): Add r/r/k alternative.
2189
cde8f1c8 21902009-02-02 Jakub Jelinek <jakub@redhat.com>
2191
2192 PR inline-asm/39058
2193 * recog.h (asm_operand_ok): Add constraints argument.
2194 * recog.c (asm_operand_ok): Likewise. If it is set, for digits
2195 recurse on matching constraint.
2196 (check_asm_operands): Pass constraints as 3rd argument to
2197 asm_operand_ok. Don't look up matching constraint here.
2198 * stmt.c (expand_asm_operands): Pass NULL as 3rd argument
2199 to asm_operand_ok.
2200
e366f125 22012009-02-02 Ben Elliston <bje@au.ibm.com>
2202
2203 * doc/tm.texi (Storage Layout): Fix TARGET_ALIGN_ANON_BITFIELD and
2204 TARGET_NARROW_VOLATILE_BITFIELD macro names.
2205
a3caf955 22062009-01-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2207
a2853397 2208 * doc/install.texi (hppa*-hp-hpux*): Update binutils and linker
2209 information. Remove some obsolete information. Reorganize.
2210
a3caf955 2211 * config/pa/fptr.c: Revert license to GPL 2.
2212 * config/pa/milli64.S: Likewise.
2213
8cae609c 22142009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
2215
2216 PR target/38904
2217 * mkmap-flat.awk (END): Use pe_dll command-line arg to pass
2218 LIBRARY name in, instead of hard-coding it.
2219 * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add an
2220 extra target make frag to tmake_files according to EH model.
2221 (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
2222 * config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Add new target
2223 frags that define makefile variable EH_MODEL appropriately.
2224 * config/i386/cygming.h (DWARF2_UNWIND_INFO): Add comment.
2225 * config/i386/cygwin.h (LIBGCC_EH_EXTN): Define to nothing or
2226 to "-sjlj" according to type of EH configured.
2227 (LIBGCC_SONAME): Concatenate it to shared library base name.
2228 * config/i386/mingw32.h (LIBGCC_EH_EXTN): Define to "_dw2" or
2229 to "_sjlj" according to type of EH configured.
2230 (LIBGCC_SONAME): Concatenate it to shared library base name.
2231 * config/i386/t-cygming (SHLIB_SONAME): Use EH_MODEL.
2232 (SHLIB_LINK): Add missing semicolon to if-else construct.
2233 (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
2234 string value of "pe_dll" command-line option.
2235 * config/i386/t-cygwin (SHLIB_EH_EXTENSION): New helper.
2236 (SHLIB_SONAME): Use it when overriding t-cygming default.
2237 (SHLIB_IMPLIB): Override t-cygming default.
2238 (SHLIB_MKMAP_OPTS): Pass library name to mkmap-flat.awk as
2239 string value of "pe_dll" command-line option.
2240
27ed8c87 22412009-01-31 Dave Korn <dave.korn.cygwin@gmail.com>
2242
2243 PR target/38952
2244 * config/i386/i386.c (ix86_builtin_setjmp_frame_value): New.
6db00048 2245 (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Override default to point at it.
27ed8c87 2246
98de8b69 22472009-01-31 Richard Guenther <rguenther@suse.de>
2248
2249 PR tree-optimization/38937
2250 * tree-ssa-structalias.c (do_sd_constraint): Do not shortcut
2251 computing the transitive closure.
2252
c019af4d 22532009-01-30 Richard Guenther <rguenther@suse.de>
2254
2255 PR tree-optimization/39041
2256 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
2257 Propagate variable indices only if the types match for this stmt.
2258
709cdea6 22592009-01-30 Jakub Jelinek <jakub@redhat.com>
2260
2261 PR target/39013
2262 * c-decl.c (pop_scope): Set DECL_EXTERNAL for functions declared
2263 inline but never defined.
2264
a7a2dd08 22652009-01-30 Wolfgang Gellerich <gellerich@de.ibm.com>
26e8b800 2266
2267 * config/s390/s390.md (*insv<mode>_reg_extimm): Removed.
2268 (*insv_h_di_reg_extimm): New insn.
2269 (*insv_l<mode>_reg_extimm): New insn.
2270
22712009-01-30 Hariharan Sandanagobalane <hariharan@picochip.com>
3b31ea78 2272
2273 * config/picochip/picochip.c (flag_conserve_stack): set
2274 PARAM_LARGE_STACK_FRAME and PARAM_STACK_FRAME_GROWTH to zero under
2275 fconserve-stack. Reduce call-overhead used by inliner.
2276
26e8b800 22772009-01-30 Hariharan Sandanagobalane <hariharan@picochip.com>
c45dd88a 2278
2279 PR/38157
2280 * common.opt (flag_conserve_stack): Initialised to zero.
2281
dbc128e8 22822009-01-30 Kai Tietz <kai.tietz@onevision.com>
2283
2284 PR/39002
2285 * config/i386/i386.c (ix86_can_use_return_insn_p): Check for nsseregs.
2286 (ix86_expand_epilogue): Take nsseregs in account to use proper restore
2287 method.
2288
ac50b6ef 22892009-01-29 H.J. Lu <hongjiu.lu@intel.com>
2290
2291 * ira-color.c (allocno_reload_assign): Update comments.
2292 * regmove.c (regmove_optimize): Likewise.
2293
2294 * ra.h: Removed.
2295
3bef4012 22962009-01-29 Robert Millan <rmh@aybabtu.com>
2297
2298 * gcc/config.gcc: Recognize GNU/kOpenSolaris (*-*-kopensolaris*-gnu).
2299 * gcc/config/i386/kopensolaris-gnu.h: New file. Undefine
2300 `MD_UNWIND_SUPPORT'.
2301 * gcc/config/kopensolaris-gnu.h: New file (based on kfreebsd-gnu.h).
2302
82b19557 23032009-01-29 Kazu Hirata <kazu@codesourcery.com>
2304
2305 PR tree-optimization/39007
2306 * tree-loop-distribution.c (generate_builtin): Use
2307 recompute_dominator to compute the immediate dominator of the
2308 basic block just after the loop.
2309
a330630f 23102009-01-29 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
53ae77bf 2311
2312 * config/i386/sol2-10.h [!HAVE_AS_IX86_DIFF_SECT_DELTA]
2313 (ASM_OUTPUT_DWARF_PCREL): Define.
2314
a330630f 23152009-01-29 Vladimir Makarov <vmakarov@redhat.com>
cf709bf6 2316
2317 * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Modify description.
2318 * doc/passes.texi: Remove entries about regclass, local-alloc, and
2319 global. Modify entries about regmove and IRA.
2320
2321 * ra-conflict.c: Remove the file.
2322
2323 * reload.c (push_reload, find_dummy_reload): Remove flag_ira.
2324
2325 * tree-pass.h (pass_local_alloc, pass_global_alloc): Remove.
2326 (pass_regclass_init): Rename to pass_reginfo_init.
2327
2328 * cfgloopanal.c (estimate_reg_pressure_cost): Remove flag_ira.
2329
2330 * toplev.h (flag_ira): Remove.
2331
2332 * caller-save.c (setup_save_areas): Remove flag_ira.
2333
6db00048 2334 * ira-color.c (ira_reuse_stack_slot, ira_mark_new_stack_slot): Ditto.
cf709bf6 2335
2336 * global.c: Remove the file.
2337
2338 * opts.c: (decode_options): Remove flag_ira.
2339
2340 * hard-reg-set.h (losing_caller_save_reg_set): Remove.
2341
2342 * regmove.c: Modify file description.
2343 (find_use_as_address, try_auto_increment): Define them only if
2344 AUTO_INC_DEC is defined.
2345 (replacement_quality, replace_in_call_usage, fixup_match_1,
2346 stable_and_no_regs_but_for_p): Remove.
2347 (reg_set_in_bb): Make it static.
2348 (regmove_optimize): Remove flag_ira and code which worked for
2349 !flag_ira.
2350
2351 * local-alloc.c: Remove the file.
2352
2353 * common.opt (fira): Remove.
2354
2355 * ira.c: Include except.h.
2356 (eliminable_regset): Move from global.c.
2357 (mark_elimination): Ditto. Remove flag_ira.
2358 (reg_renumber, struct equivalence, reg_equiv, equiv_mem,
2359 equiv_mem_modified, validate_equiv_mem_from_store,
2360 validate_equiv_mem, equiv_init_varies_p, equiv_init_movable_p,
2361 contains_replace_regs, memref_referenced_p, memref_used_between_p,
2362 no_equiv, recorded_label_ref): Move from local-alloc.c.
2363 (update_equiv_regs): Ditto. Make it static.
2364 (print_insn_chain, print_insn_chains): Move it from global.c.
6db00048 2365 (pseudo_for_reload_consideration_p): Ditto. Remove flag_ira.
cf709bf6 2366 (build_insn_chain): Ditto. Make it static.
2367 (ra_init_live_subregs): Move from ra-conflict.c. Make it static.
2368 Rename to init_live_subregs.
2369 (gate_ira): Remove flag_ira.
2370
2371 * regclass.c: Rename reginfo.c. Change file description.
2372 (FORBIDDEN_INC_DEC_CLASSES): Remove.
a9c1f295 2373 (reg_class_superclasses, forbidden_inc_dec_class, in_inc_dec): Remove.
cf709bf6 2374 (init_reg_sets_1): Remove code for evaluation of
2375 reg_class_superclasses and losing_caller_save_reg_set.
2376 (init_regs): Remove init_reg_autoinc.
2377 (struct costs, costs, init_cost, ok_for_index_p_nonstrict,
2378 ok_for_base_p_nonstrict): Remove.
6db00048 2379 (regclass_init): Rename to reginfo_init. Don't initialize init_cost.
cf709bf6 2380 (pass_regclass_init): Rename to pass_reginfo_init. Modify
2381 corresponding entries.
2382 (dump_regclass, record_operand_costs, scan_one_insn,
2383 init_reg_autoinc, regclass, record_reg_classes, copy_cost,
2384 record_address_regs, auto_inc_dec_reg_p): Remove.
2385 (gt-regclass.h): Rename to gt-reginfo.h.
2386
2387 * rtl.h (dump_global_regs, retry_global_alloc,
6db00048 2388 build_insn_chain, dump_local_alloc, update_equiv_regs): Remove.
cf709bf6 2389
2390 * Makefile.in (RA_H): Remove.
2391 (OBJS-common): Remove global.o, local-alloc.o, and ra-conflict.o.
2392 Rename regclass.o to reginfo.o.
2393 (regclass.o): Rename to reginfo.o. Rename gt-regclass.h to
2394 gt-reginfo.h.
2395 (global.o, local-alloc.o, ra-conflict.o): Remove entries.
2396 (GTFILES): Rename regclass.c to reginfo.c.
2397
2398 * passes.c (init_optimization_passes): Remove pass_local_alloc and
6db00048 2399 pass_global_alloc. Rename pass_regclass_init to pass_reginfo_init.
cf709bf6 2400
2401 * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
2402 count_spilled_pseudo, find_reg, alter_reg, delete_output_reload):
2403 Remove flag_ira.
a7a2dd08 2404 (finish_spills): Ditto. Remove code for !flag_ira.
cf709bf6 2405
237805dd 24062009-01-29 Kenneth Zadeck <zadeck@naturalbridge.com>
b85ccd2c 2407
2408 PR middle-end/35854
2409 * doc/invoke.texi (rtl debug options): Complete rewrite.
2410 * auto-inc-dec.c (pass_inc_dec): Rename pass from "auto-inc-dec"
2411 to auto_inc_dec".
2412 * mode-switching.c (pass_mode_switching): Rename pass from
2413 "mode-sw" to "mode_sw".
2414 * except.c (pass_convert_to_eh_ranges): Rename pass from
2415 "eh-ranges" to "eh_ranges".
2416 * lower-subreg.c (pass_lower_subreg): Renamed pass from "subreg"
2417 to "subreg1".
2418
2419
de353418 24202009-01-29 Andrey Belevantsev <abel@ispras.ru>
2421 Alexander Monakov <amonakov@ispras.ru>
2422
2423 PR middle-end/38857
2424 * sel-sched.c (count_occurrences_1): Check that *cur_rtx is a hard
2425 register.
2426 (move_exprs_to_boundary): Change return type and pass through
2427 should_move from move_op. Relax assert. Update usage ...
2428 (schedule_expr_on_boundary): ... here. Use should_move instead of
2429 cant_move.
2430 (move_op_orig_expr_found): Indicate that insn was disconnected from
2431 stream.
2432 (code_motion_process_successors): Do not call after_merge_succs
2433 callback if original expression was not found when traversing any of
2434 the branches.
2435 (code_motion_path_driver): Change return type. Update prototype.
2436 (move_op): Update comment. Add a new parameter (should_move). Update
2437 prototype. Set *should_move based on indication provided by
2438 move_op_orig_expr_found.
2439
2fdf186f 24402009-01-28 Pat Haugen <pthaugen@us.ibm.com>
2441
2442 * doc/invoke.texi (avoid-indexed-addresses): Document new option.
2443 * config/rs6000/rs6000-protos.h (avoiding_indexed_address_p): Declare.
2444 * config/rs6000/rs6000.opt (avoid-indexed-addresses): New option.
2445 * config/rs6000/rs6000.c (rs6000_override_options): Default
2446 avoid-indexed-addresses on for Power6, off for everything else.
2447 (avoiding_indexed_address_p): New function.
2448 (rs6000_legitimize_address): Use it.
2449 (rs6000_legitimate_address): Likewise.
2450 * config/rs6000/rs6000.md (movXX_updateX): Likewise
2451
c6b3a2da 24522009-01-28 Kazu Hirata <kazu@codesourcery.com>
2453
2454 PR tree-optimization/38997
2455 * tree-loop-distribution.c (generate_memset_zero): Use
2456 POINTER_PLUS_EXPR for a pointer addition.
2457
21676467 24582009-01-28 Andreas Krebbel <krebbel1@de.ibm.com>
2459
2460 * config/s390/s390.md (bswap<mode>2): New pattern added.
2461
d3bada4b 24622009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
2463
2464 * config/s390/s390.md (*tls_load_31): Added type attribute.
2465
9925e185 24662009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
2467
2468 * config/s390/s390.md: Fix a few comments.
2469
94ab3c8a 24702009-01-28 Wolfgang Gellerich <gellerich@de.ibm.com>
2471
2472 * config/s390/s390.md (*tmsi_reg): Fixed z10prop attribute.
2473 (*tm<mode>_full): Fixed z10prop attribute.
2474 (*tst<mode>_extimm): Fixed z10prop attribute.
2475 (*tst<mode>_cconly_extimm): Fixed z10prop attribute.
2476 (*tstqiCCT_cconly): Fixed z10prop attribute.
2477 (*cmpsi_ccu_zerohi_rlsi): Fixed z10prop attribute.
2478 (*movsi_larl): Fixed z10prop attribute.
2479 (*movsi_zarch): Fixed z10prop attribute.
2480 (*movsi_eas): Fixed z10prop attribute.
2481 (*movhi): Fixed z10prop attribute.
2482 (*movqi): Fixed z10prop attribute.
2483 (*movstrictqi): Fixed z10prop attribute.
2484 (*mov<mode>): Fixed z10prop attribute.
2485 (*movcc): Fixed z10prop attribute.
2486 (*sethighpartdi_64): Fixed z10prop attribute.
2487 (*zero_extendhi<mode>2_z10): Fixed z10prop attribute.
2488 (*negdi2_sign_cc): Fixed z10prop attribute.
2489 (*negdi2_sign): Fixed z10prop attribute.
2490 (*absdi2_sign_cc): Fixed z10prop attribute.
2491 (*absdi2_sign): Fixed z10prop attribute.
2492 (*negabsdi2_sign_cc): Fixed z10prop attribute.
2493 (*negabsdi2_sign): Fixed z10prop attribute.
2494 (*cmp_and_trap_signed_int<mode>): Fixed z10prop attribute.
2495 (*cmp_and_trap_unsigned_int<mode>): Fixed z10prop attribute.
2496 (doloop_si64): Fixed z10prop attribute.
2497 (doloop_si31): Fixed z10prop attribute.
2498 (doloop_long): Fixed z10prop attribute.
2499 (indirect_jump): Fixed z10prop attribute.
2500 (nop): Fixed z10prop attribute.
2501 (main_base_64): Fixed z10prop attribute.
2502 (reload_base_64): Fixed z10prop attribute.
2503
d1b5f73a 25042009-01-28 Jakub Jelinek <jakub@redhat.com>
2505
2506 PR rtl-optimization/38740
a7a2dd08 2507 * reorg.c (gate_handle_delay_slots): Avoid dbr scheduling
2508 if !optimize.
d1b5f73a 2509 * config/mips/mips.c (mips_reorg): Likewise.
2510
3dc4c394 25112009-01-28 Richard Guenther <rguenther@suse.de>
2512
2513 PR tree-optimization/38926
2514 * tree-ssa-pre.c (add_to_value): Assert we add only expressions
2515 with the correct value id to a value.
2516 (do_regular_insertion): Use the value number of edoubleprime
2517 for the value number of the expr.
2518
2519 Revert
2520 2008-08-21 Richard Guenther <rguenther@suse.de>
6db00048 2521
c9e47fec 2522 * tree-ssa-pre.c (insert_into_preds_of_block): Before inserting
2523 a PHI ask VN if it is already available.
2524 * tree-ssa-sccvn.h (vn_phi_lookup): Declare.
2525 * tree-ssa-sccvn.c (vn_phi_lookup): Export.
3dc4c394 2526
61349811 25272009-01-28 Jakub Jelinek <jakub@redhat.com>
2528
2529 PR middle-end/38934
2530 * tree-vrp.c (extract_range_from_assert): For LE_EXPR and LT_EXPR
2531 set to varying whenever max has TREE_OVERFLOW set, similarly
2532 for GE_EXPR and GT_EXPR and TREE_OVERFLOW min.
2533
a98de126 25342009-01-28 Richard Guenther <rguenther@suse.de>
2535
2536 PR middle-end/38908
2537 * tree-ssa.c (warn_uninitialized_var): Do not warn for seemingly
2538 uninitialized aggregate uses in call arguments.
2539
7f70ef19 25402009-01-28 Paolo Bonzini <bonzini@gnu.org>
2541
2542 PR tree-optimization/38984
2543 * tree-ssa-structalias.c (get_constraints_for_1): Do not use
2544 the nothing_id variable if -fno-delete-null-pointer-checks.
2545
8d4c7d80 25462009-01-28 Uros Bizjak <ubizjak@gmail.com>
2547
2548 PR target/38988
2549 * config/i386/i386.md (set_rip_rex64): Wrap operand 1 in label_ref.
2550 (set_got_offset_rex64): Ditto.
2551
2687629f 25522009-01-27 H.J. Lu <hongjiu.lu@intel.com>
2553
2554 PR target/38941
2555 * doc/extend.texi: Improve local variable with asm reg.
2556
7a6a48c9 25572009-01-27 Adam Nemet <anemet@caviumnetworks.com>
2558
2559 * c.opt (Wpacked-bitfield-compat): Change init value to -1.
2560 * c-opts.c (c_common_post_options): If -W*packed-bitfield-compat
2561 was not supplied then set warn_packed_bitfield_compat to the
2562 default value of 1.
2563 * stor-layout.c (place_field): Check warn_packed_bitfield_compat
2564 against 1.
2565
57a28426 25662009-01-27 Richard Guenther <rguenther@suse.de>
2567
2568 PR tree-optimization/38503
2569 * cfgexpand.c (expand_gimple_basic_block): Ignore
2570 GIMPLE_CHANGE_DYNAMIC_TYPE during expansion.
2571 * tree-ssa-structalias.c (set_uids_in_ptset): Do not prune
2572 variables that cannot have TBAA applied.
2573 (compute_points_to_sets): Do not remove GIMPLE_CHANGE_DYNAMIC_TYPE
2574 statements.
2575
c9e47fec 25762009-01-27 Uros Bizjak <ubizjak@gmail.com>
9a7965a1 2577
2578 PR middle-end/38969
2579 * calls.c (initialize_argument_information): Do not wrap complex
2580 arguments in SAVE_EXPR.
2581
f1d36ba6 25822009-01-26 Andreas Tobler <a.tobler@schweiz.org>
2583
2584 * config/t-vxworks (LIBGCC2_INCLUDES): Fix typo.
c3f75928 2585 (INSTALL_LIBGCC): Revert typo commit.
f1d36ba6 2586
234294b2 25872009-01-26 Richard Guenther <rguenther@suse.de>
2588
2589 PR tree-optimization/38745
2590 * tree-ssa-alias.c (update_alias_info_1): Exclude RESULT_DECL
2591 from special handling.
2592
1fdf9a6c 25932009-01-26 Richard Guenther <rguenther@suse.de>
2594
2595 PR tree-optimization/38745
2596 * tree-ssa.c (execute_update_addresses_taken): Do not include
2597 variables that cannot possibly be a register in not_reg_needs.
2598 Do not clear TREE_ADDRESSABLE on vars that may not become
2599 registers.
2600 * tree-ssa.c (update_alias_info_1): Include those in the set
2601 of addressable vars.
2602
f0e4d727 26032009-01-26 Richard Guenther <rguenther@suse.de>
2604
2605 PR middle-end/38851
2606 * Makefile.in (tree-ssa-dse.o): Add langhooks.h.
2607 * tree-ssa-dse.c: Include langhooks.h
2608 (execute_simple_dse): Remove stores with zero size.
2609
e7e7c0fe 26102009-01-24 Jakub Jelinek <jakub@redhat.com>
2611
2612 PR c/38957
2613 * c-typeck.c (c_finish_return): Handle POINTER_PLUS_EXPR the same way
2614 as PLUS_EXPR.
2615
e6d46e27 26162009-01-24 Julian Brown <julian@codesourcery.com>
2617
2618 * config/arm/t-linux-eabi (LIB2FUNCS_STATIC_EXTRA): Add
2619 config/arm/linux-atomic.c.
2620 * config/arm/linux-atomic.c: New.
2621
9a6bab39 26222009-01-24 Eric Botcazou <ebotcazou@adacore.com>
2623
2624 * config/sparc/linux.h (DBX_REGISTER_NUMBER): Delete.
2625 * config/sparc/linux64.h (DBX_REGISTER_NUMBER): Likewise.
2626 * config/sparc/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
2627
1d86d4d7 26282009-01-24 H.J. Lu <hongjiu.lu@intel.com>
2629
2630 PR c/38938
d83d28c1 2631 * c-opts.c (c_common_handle_option): Update warn_pointer_sign
1d86d4d7 2632 properly.
2633
8db3fb7b 26342009-01-24 Sebastian Pop <sebastian.pop@amd.com>
2635
2636 PR tree-optimization/38953
2637 * graphite.c (graphite_verify): Add a call to verify_loop_closed_ssa.
2638 (scop_adjust_phis_for_liveouts): Initialize false_i to zero.
2639 (gloog): Split the exit of the scop when the scop exit is a loop exit.
2640 (graphite_transform_loops): Only call cleanup_tree_cfg if gloog
2641 changed the CFG.
2642
c52acdd2 26432009-01-24 Paul Brook <paul@codesourcery.com>
2644
2645 * config/arm/neon.md (neon_type): Move to arm.md.
2646 (neon_mov<VSTRUCT>): Add neon_type attribute.
2647 * config/arm/arm.md (neon_type): Move to here.
2648 (conds): Add "unconditioal" and use as default for NEON insns.
2649
f3d84bf8 26502009-01-24 Ben Elliston <bje@au.ibm.com>
2651
2652 * bitmap.h (BITMAP_FREE): Eliminate `implicit conversion from
2653 void *' warning from -Wc++-compat.
2654 * Makefile.in (dominance.o-warn): Remove.
2655
a330630f 26562009-01-23 Paolo Bonzini <bonzini@gnu.org>
cd30b839 2657
2658 PR tree-optimization/38932
2659 * fold-const.c (fold_unary_ignore_overflow): New.
2660 * tree.h (fold_unary_ignore_overflow): Declare.
2661 * tree-ssa-ccp.c (ccp_fold): Use fold_unary_ignore_overflow.
2662 * tree-ssa-sccvn.c (visit_reference_op_load,
2663 simplify_unary_expression): Likewise.
2664
9fd767c5 26652009-01-22 Adam Nemet <anemet@caviumnetworks.com>
2666
2667 * c-decl.c (finish_struct): Move code to set DECL_PACKED after
2668 DECL_BIT_FIELD is alreay known. Also inherit packed for bitfields
2669 regardless of their type.
2670 * c-common.c (handle_packed_attribute): Don't ignore packed on
2671 bitfields.
2672 * c.opt (Wpacked-bitfield-compat): New warning option.
2673 * stor-layout.c (place_field): Warn if offset of a field changed.
2674 * doc/extend.texi (packed): Mention the ABI change.
2675 * doc/invoke.texi (-Wpacked-bitfield-compat): Document.
2676 (Warning Options): Add it to the list.
2677
71ee8477 26782009-01-22 H.J. Lu <hongjiu.lu@intel.com>
2679
2680 * c-opts.c (c_common_post_options): Fix a typo in comments.
2681
1a07ca64 26822009-01-22 Steve Ellcey <sje@cup.hp.com>
2683
2684 PR middle-end/38615
2685 * gimplify.c (gimplify_init_constructor): Fix promotion of const
2686 variables to static.
2687 * doc/invoke.texi (-fmerge-all-constants): Update description.
2688
a6f6ff30 26892009-01-22 Uros Bizjak <ubizjak@gmail.com>
2690
2691 PR target/38931
2692 * config/i386/i386.md (*movsi_1): Use type "mmx" for alternative 2.
2693 (*movdi_1_rex64): Use type "mmx" for alternative 5.
2694
93fa3baa 26952009-01-22 Richard Earnshaw <rearnsha@arm.com>
2696
2697 * arm.h (DATA_ALIGNMENT): Align structures, unions and arrays to
2698 a word boundary.
2699 (LOCAL_ALIGNMENT): Similarly.
2700
da941808 27012009-01-22 Mark Shinwell <shinwell@codesourcery.com>
a6f6ff30 2702 Joseph Myers <joseph@codesourcery.com>
da941808 2703
2704 * config/arm/arm.c (all_architectures): Add iWMMXt2 entry.
2705 * config/arm/arm-cores.def: New ARM_CORE entry for iWMMXt2.
2706 * config/arm/arm-tune.md: Regenerate.
2707 * doc/invoke.texi (ARM Options): Document -mcpu=iwmmxt2 and
2708 -march=iwmmxt2.
2709
00bd398c 27102009-01-22 Mark Shinwell <shinwell@codesourcery.com>
2711
2712 * config/arm/bpabi.h (SUBTARGET_EXTRA_ASM_SPEC): Bump EABI
2713 version number to five.
2714
b2694749 27152009-01-22 Dodji Seketeli <dodji@redhat.com>
2716
2717 PR c++/38930
2718 * c-decl.c: (clone_underlying_type): Revert PR c++/26693 changes.
2719 * c-common.c (set_underlying_type): Likewise.
2720 (is_typedef_decl ): Likewise
2721 * tree.h: Likewise
2722 (set_underlying_type): Likewise.
2723 (is_typedef_type): Likewise.
2724
8aad8efd 27252009-01-21 Vladimir Makarov <vmakarov@redhat.com>
2726
2727 PR middle-end/38587
2728 * ira-color.c (coalesce_spill_slots): Don't coalesce allocnos
2729 crossing setjmps.
2730
8f057ffc 27312009-01-21 Dave Korn <dave.korn.cygwin@gmail.com>
2732
2733 PR bootstrap/37660
2734 * config/i386/cygwin.h (SHARED_LIBGCC_SPEC): New helper macro.
2735 (LIBGCC_SPEC): Don't define.
2736 (REAL_LIBGCC_SPEC): Define instead, using SHARED_LIBGCC_SPEC.
2737
f92492f7 27382009-01-21 Uros Bizjak <ubizjak@gmail.com>
2739
2740 PR rtl-optimization/38879
2741 * alias.c (base_alias_check): Unaligned access via AND address can
2742 alias all surrounding object types except those with sizes equal
2743 or wider than the size of unaligned access.
2744
c973dc47 27452009-01-21 Dodji Seketeli <dodji@redhat.com>
2746
2747 PR c++/26693
f92492f7 2748 * c-decl.c: (clone_underlying_type): Move this ...
c973dc47 2749 * c-common.c (set_underlying_type): ... here.
f92492f7 2750 Also, make sure the function properly sets TYPE_STUB_DECL() on
c973dc47 2751 the newly created typedef variant type.
2752 (is_typedef_decl ): New entry point.
2753 * tree.h: Added a new member member_types_needing_access_check to
2754 struct tree_decl_non_common.
2755 (set_underlying_type): New entry point.
2756 (is_typedef_type): Likewise.
2757
6e93a4c8 27582009-01-21 Bingfeng Mei <bmei@broadcom.com>
2759
2760 * alias.c (walk_mems_1, walk_mems_2, insn_alias_sets_conflict_p):
2761 Check whether two instructions have memory references that
2762 belong to conflicting alias sets. walk_mems_1 and walk_mems_2
2763 are helper functions for traversing.
2764 * alias.h (insn_alias_sets_confilict_p): New prototypes.
2765 * ddg.c (add_inter_loop_mem_dep): Call insn_alias_sets_conflict_p
2766 not to draw dependency edge for instructions with non-conflicting
2767 alias sets.
2768
a698e1ec 27692009-01-20 Joseph Myers <joseph@codesourcery.com>
2770
2771 PR other/38758
a7a2dd08 2772 * longlong.h: Update copyright years. Use soft-fp license notice.
2773 Sync __clz_tab declaration with glibc.
a698e1ec 2774
b84fdfe2 27752009-01-20 Steve Ellcey <sje@cup.hp.com>
2776
2777 PR target/30687
2778 * doc/extend.texi (syscall_linkage): New.
2779 (version_id): Modify.
2780
c4d6ac81 27812009-01-20 Andrew Pinski <andrew_pinski@playstation.sony.com>
f92492f7 2782 Richard Guenther <rguenther@suse.de>
c4d6ac81 2783
2784 PR tree-optimization/38747
2785 PR tree-optimization/38748
2786 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Disable the VCE
2787 conversion if the base address is an indirect reference and the
2788 aliasing sets could cause issues.
2789
d3399492 27902009-01-20 Sebastian Pop <sebastian.pop@amd.com>
2791
2792 * common.opt (fgraphite, fgraphite-identity): Add comment for
2793 explaining why these options are not documented.
2794
aa3f15b6 27952009-01-20 Sebastian Pop <sebastian.pop@amd.com>
2796
2797 * graphite.c (stmt_simple_for_scop_p): Also handle cases when
2798 gimple_call_lhs is NULL.
2799
a330630f 28002009-01-20 Paolo Bonzini <bonzini@gnu.org>
e077413c 2801
2802 PR target/38868
2803 * emit-rtl.c (adjust_address_1): Make sure memref is never
2804 overwritten.
2805
8c2fa2f7 28062009-01-20 Ben Elliston <bje@au.ibm.com>
2807
2808 * libgcov.c (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
f92492f7 2809 const qualifier from arg parameter. Remove unnecessary cast to char *.
8c2fa2f7 2810 * gcov-io.h (__gcov_execl, __gcov_execlp, __gcov_execle): Remove
2811 const qualifier from arg 2.
2812
94cd11b9 28132009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
2814
f92492f7 2815 * config/darwin.h: Add static-libgfortran to LINK_SPEC.
94cd11b9 2816
c950adc6 28172009-01-19 Vladimir Makarov <vmakarov@redhat.com>
2818
2819 PR c/38869
2820 * rtl.h (reinit_regs): New prototype.
2821 * regclass.c: Include ira.h.
2822 (reinit_regs): New.
2823 * Makefile.in (regclass.o): Add ira.h.
2824 * config/i386/i386.c (ix86_maybe_switch_abi): Use reinit_regs.
2825
02421213 28262009-01-18 H.J. Lu <hongjiu.lu@intel.com>
2827
2828 PR target/38736
2829 * c-common.c (handle_aligned_attribute): Use
2830 ATTRIBUTE_ALIGNED_VALUE instead of BIGGEST_ALIGNMENT for
2831 default alignment value.
2832
2833 * c-cppbuiltin.c (c_cpp_builtins): Define __BIGGEST_ALIGNMENT__.
2834
2835 * defaults.h (ATTRIBUTE_ALIGNED_VALUE): New.
2836 * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Likewise.
2837
2838 * doc/extend.texi: Update __attribute__ ((aligned)). Document
2839 __BIGGEST_ALIGNMENT__.
2840
2841 * doc/tm.texi: Document ATTRIBUTE_ALIGNED_VALUE.
2842
2ac47fdf 28432009-01-18 Richard Guenther <rguenther@suse.de>
2844
2845 PR tree-optimization/38819
2846 * tree-flow.h (operation_could_trap_helper_p): Declare.
2847 * tree-eh.c (operation_could_trap_helper_p): Export.
2848 * tree-ssa-sccvn.h (vn_nary_may_trap): Declare.
2849 * tree-ssa-sccvn.c (vn_nary_may_trap): New function.
2850 * tree-ssa-pre.c (insert_into_preds_of_block): Check if we
2851 are about to insert a possibly trapping instruction and fail
2852 in this case.
2853
b338dafb 28542009-01-18 Andreas Schwab <schwab@suse.de>
2855
2856 * doc/install.texi (Configuration): Remove obsolete paragraph
2857 about use of --with-gnu-ld with --with-gnu-as.
2858
91f54ca3 28592009-01-18 Kazu Hirata <kazu@codesourcery.com>
2860
2861 * doc/extend.texi, doc/gimple.texi, doc/invoke.texi,
2862 doc/md.texi, doc/sourcebuild.texi, doc/tm.texi: Fix typos.
2863 Follow spelling conventions.
2864
76cd80c7 28652009-01-18 Ben Elliston <bje@au.ibm.com>
2866
2867 * bitmap.c (bitmap_obstack_alloc_stat): Adjust cast to eliminate
2868 C++ warning about implicit conversion from void * to struct
2869 bitmap_head_def *.
2870 (bitmap_obstack_free): Likewise for bitmap_element *.
df1573c4 2871 * Makefile.in (bitmap.o-warn): Remove.
76cd80c7 2872
89bcc083 28732009-01-17 Dave Korn <dave.korn.cygwin@gmail.com>
2874
2875 * Makefile.in (BACKENDLIBS): Reorder to match dependencies.
2876
3c560c26 28772009-01-17 Sebastian Pop <sebastian.pop@amd.com>
2878 Tobias Grosser <tobi.grosser@amd.com>
2879
2880 * graphite.c (graphite_trans_scop_block): Do not block single
2881 nested loops.
2882
e106fc2e 28832009-01-16 Alexandre Oliva <aoliva@redhat.com>
2884
2885 * ebitmap.h (ebitmap_iter_init): Initialize all fields.
2886 * ipa-struct-reorg.c (gen_struct_type): Replace known-true
2887 test with assertion.
2888
cd6342bd 28892009-01-16 Richard Guenther <rguenther@suse.de>
2890
2891 PR tree-optimization/38835
2892 PR middle-end/36227
2893 * fold-const.c (fold_binary): Remove PTR + INT -> (INT)(PTR p+ INT)
2894 and INT + PTR -> (INT)(PTR p+ INT) folding.
2895 * tree-ssa-address.c (create_mem_ref): Properly use POINTER_PLUS_EXPR.
2896
298bbd8d 28972009-01-16 Adam Nemet <anemet@caviumnetworks.com>
2898
2899 PR target/38554
2900 * expmed.c (expand_shift): With SHIFT_COUNT_TRUNCATED, don't lift
2901 the subreg from a lowpart subreg if it is also casting the value.
2902
9e5f07d3 29032009-01-16 Sebastian Pop <sebastian.pop@amd.com>
2904 Tobias Grosser <tobi.grosser@amd.com>
2905
2906 * graphite.c (compare_prefix_loops): New.
2907 (build_scop_canonical_schedules): Rewritten.
2908 (graphite_transform_loops): Move build_scop_canonical_schedules
2909 after build_scop_iteration_domain.
2910
35fb1eb0 29112009-01-16 Sebastian Pop <sebastian.pop@amd.com>
2912 Tobias Grosser <tobi.grosser@amd.com>
2913
2914 * graphite.c (add_conditions_to_domain): Add the loops to
2915 the dimension of the iteration domain. Do copy the domain
2916 only when it exists.
2917 (build_scop_conditions_1): Do not call add_conditions_to_domain.
2918 (add_conditions_to_constraints): New.
2919 (can_generate_code_stmt, can_generate_code): Removed.
2920 (gloog): Do not call can_generate_code.
2921 (graphite_transform_loops): Call add_conditions_to_constraints
2922 after building the iteration domain.
2923
99e2edfd 29242009-01-16 Jakub Jelinek <jakub@redhat.com>
2925
2926 PR tree-optimization/38789
2927 * tree-ssa-threadedge.c
2928 (record_temporary_equivalences_from_stmts_at_dest): Ignore calls to
2929 __builtin_constant_p.
2930
237805dd 29312009-01-16 Kenneth Zadeck <zadeck@naturalbridge.com>
cff725a2 2932
2933 * dce.c (delete_unmarked_insns): Reversed the order that insns are
2934 examined before deleting them.
2935
daaa06b2 29362009-01-16 Richard Earnshaw <rearnsha@arm.com>
2937
2938 * function.c (aggregate_value_p): Correctly extract the function
2939 type from CALL_EXPR_FN lookup.
2940
237805dd 29412009-01-16 Hariharan Sandanagobalane <hariharan@picochip.com>
e262db7d 2942
2943 * config/picochip/picochip.c (picochip_override_options): Revert
2944 CFI asm flag disable commited previously.
2945
d635c475 29462009-01-15 Sebastian Pop <sebastian.pop@amd.com>
2947 Tobias Grosser <tobi.grosser@amd.com>
2948 Jan Sjodin <jan.sjodin@amd.com>
2949
2950 * graphite.c (scan_tree_for_params): On substractions negate
2951 all the coefficients of the term.
2952 (clast_to_gcc_expression_red): New. Handle reduction expressions
2953 of more than two operands.
2954 (clast_to_gcc_expression): Call clast_to_gcc_expression_red.
2955 (get_vdef_before_scop): Handle also the case of default definitions.
2956
f5b7c8a5 29572009-01-15 Richard Sandiford <rdsandiford@googlemail.com>
2958
2959 * caller-save.c (add_used_regs_1, add_used_regs): New functions.
2960 (insert_one_insn): Use them instead of REG_DEAD and REG_INC notes.
2961 Also use them when walking CALL_INSN_FUNCTION_USAGE.
2962
9e1c1bf0 29632009-01-15 H.J. Lu <hongjiu.lu@intel.com>
2964 Joey Ye <joey.ye@intel.com>
2965
2966 PR middle-end/37843
2967 * cfgexpand.c (expand_stack_alignment): Don't update stack
2968 boundary nor check incoming stack boundary here.
2969 (gimple_expand_cfg): Update stack boundary and check incoming
2970 stack boundary here.
2971
237805dd 29722009-01-15 Kenneth Zadeck <zadeck@naturalbridge.com>
66aca59d 2973
f92492f7 2974 * dce.c (find_call_stack_args, delete_unmarked_insns): Fixed comments.
66aca59d 2975
eb940a48 29762009-01-14 Jakub Jelinek <jakub@redhat.com>
2977
2978 PR rtl-optimization/38245
2979 * calls.c (expand_call): Add stack arguments to
2980 CALL_INSN_FUNCTION_USAGE even for pure calls (when
2981 ACCUMULATE_OUTGOING_ARGS) and even for args partially passed
2982 in regs and partially in memory or BLKmode arguments.
2983 (emit_library_call_value_1): Add stack arguments to
2984 CALL_INSN_FUNCTION_USAGE even for pure calls (when
2985 ACCUMULATE_OUTGOING_ARGS).
2986 * dce.c: Include tm_p.h.
2987 (find_call_stack_args): New function.
2988 (deletable_insn_p): Call it for CALL_P insns. Add ARG_STORES
2989 argument.
2990 (mark_insn): Call find_call_stack_args for CALL_Ps.
2991 (prescan_insns_for_dce): Walk insns backwards in bb rather than
2992 forwards. Allocate and free arg_stores bitmap if needed, pass it
2993 down to deletable_insn_p, don't mark stores set in arg_stores
2994 bitmap, clear the bitmap at the beginning of each bb.
2995 * Makefile.in (dce.o): Depend on $(TM_P_H).
2996
26f62ff4 29972009-01-14 Michael Meissner <gnu@the-meissners.org>
2998
2999 PR target/22599
f92492f7 3000 * config/i386/i386.c (print_operand): Add tests for 'D', 'C', 'F', 'f'
3001 to make sure the insn is a conditional test (bug 22599). Reformat a
3002 few long lines.
26f62ff4 3003
87736b69 30042009-01-14 Sebastian Pop <sebastian.pop@amd.com>
3005
3006 PR middle-end/38431
3007 * graphite.c (get_vdef_before_scop, scop_adjust_vphi): New.
3008 (scop_adjust_phis_for_liveouts): Call scop_adjust_vphi.
3009 (gloog): Do not call cleanup_tree_cfg.
3010 (graphite_transform_loops): Call cleanup_tree_cfg after all
3011 scops have been code generated.
3012
4dbb1e0c 30132009-01-14 Basile Starynkevitch <basile@starynkevitch.net>
3014 * doc/gty.texi (Invoking the garbage collector): Added new node
3015 and section documenting ggc_collect.
3016
48d49ced 30172009-01-14 Richard Guenther <rguenther@suse.de>
3018
3019 PR tree-optimization/38826
3020 PR middle-end/38477
3021 * tree-ssa-structalias.c (emit_alias_warning): Emit the pointer
3022 initialization notes only if we actually emitted a warning.
3023 (intra_create_variable_infos): Add constraints for a result decl
3024 that is passed by hidden reference.
3025 (build_pred_graph): Mark all related variables non-direct on
3026 address-taking.
3027
bef7b1de 30282009-01-14 Nick Clifton <nickc@redhat.com>
3029
3030 * ira-conflicts.c: Include addresses.h for the definition of
3031 base_reg_class.
f92492f7 3032 (ira_build_conflicts): Use base_reg_class instead of BASE_REG_CLASS.
3033 * Makefile.in: Add a dependency of ira-conflicts.o on addresses.h.
bef7b1de 3034
cab55469 30352009-01-13 Vladimir Makarov <vmakarov@redhat.com>
3036
3037 PR target/38811
3038 * Makefile.in (ira-lives.o): Add except.h.
3039
3040 * ira-lives.c: Include except.h.
3041 (process_bb_node_lives): Process can_throw_internal.
3042
cac5cd08 30432009-01-13 Jakub Jelinek <jakub@redhat.com>
3044
3045 PR rtl-optimization/38774
3046 * combine.c (simplify_set): When undoing cc_use change, don't do
3047 PUT_CODE on the newly created comparison, but instead put back the
3048 old comparison.
3049
309ef6b4 30502009-01-13 Joseph Myers <joseph@codesourcery.com>
3051
3052 * doc/invoke.texi (ARM Options): Update lists of -mcpu and -march
3053 values. Remove duplicate arm8 entry.
3054
1ffa850c 30552009-01-13 Sebastian Pop <sebastian.pop@amd.com>
3056
3057 PR tree-optimization/38786
3058 * graphite.c (expand_scalar_variables_ssa_name): New, outlined from
3059 the SSA_NAME case of expand_scalar_variables_expr.
3060 Set the type of an expression to the type of its assign statement.
3061 (expand_scalar_variables_expr): Also gather the scalar computation
3062 used to index the memory access. Do not pass loop_p.
3063 Fix comment. Stop recursion on tcc_constant or tcc_declaration.
3064 (expand_scalar_variables_stmt): Pass to expand_scalar_variables_expr
8d4c7d80 3065 the gimple_stmt_iterator where it inserts new code.
3066 Do not pass loop_p.
1ffa850c 3067 (copy_bb_and_scalar_dependences): Do not pass loop_p.
3068 (translate_clast): Update call to copy_bb_and_scalar_dependences.
3069
de540910 30702009-01-13 Sebastian Pop <sebastian.pop@amd.com>
3071
3072 * graphite.h (debug_value): Removed.
3073 * graphite.c (debug_value): Removed.
3074
3d1f6e40 30752009-01-13 Richard Earnshaw <rearnsha@arm.com>
3076
f92492f7 3077 * config/arm/arm.c (output_move_double): Don't synthesize thumb-2
3078 ldrd/strd with two 32-bit instructions.
3d1f6e40 3079
0f978633 30802009-01-13 Richard Earnshaw <rearnsha@arm.com>
3081
f92492f7 3082 * config/arm/arm.c (struct processors): Pass for speed down into
3083 cost helper functions.
0f978633 3084 (const_ok_for_op): Handle COMPARE and inequality nodes.
3085 (arm_rtx_costs_1): Rewrite.
3086 (arm_size_rtx_costs): Update prototype.
3087 (arm_rtx_costs): Pass speed down to helper functions.
3088 (arm_slowmul_rtx_costs): Rework cost calculations.
3089 (arm_fastmul_rtx_costs, arm_xscale_rtx_costs): Likewise.
3090 (arm_9e_rtx_costs): Likewise.
3091
d6c48eee 30922009-01-13 Uros Bizjak <ubizjak@gmail.com>
3093
3094 * config/alpha/alpha.c (alpha_legitimate_address_p): Explicit
f92492f7 3095 relocations of local symbols wider than UNITS_PER_WORD are not valid.
d6c48eee 3096 (alpha_legitimize_address): Do not split local symbols wider than
3097 UNITS_PER_WORD into HIGH/LO_SUM parts.
3098
91e64380 30992009-01-13 Danny Smith <dannysmith@users.sourceforge.net>
3100
3101 PR bootstrap/38580
3102 * gcc.c (process_command): Replace call to execvp with calls
3103 to pex_one and exit.
3104
4addc9bf 31052009-01-03 Anatoly Sokolov <aesok@post.ru>
3106
3107 PR target/29141
3108 * config/avr/t-avr (LIB1ASMFUNCS): Add _tablejump_elpm.
3109 * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Add
3110 variant for devices with 3-byte PC.
3111 (__tablejump_elpm__) : New.
3112
f0d0d842 31132009-01-12 Jakub Jelinek <jakub@redhat.com>
3114
3115 PR c/32041
3116 * c-parser.c (c_parser_postfix_expression): Allow `->' in
3117 offsetof member-designator, handle it as `[0].'.
3118
55e0e460 31192009-01-12 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3120
3121 * pa.c (pa_asm_output_mi_thunk): Use pc-relative branch to thunk
3122 function when not using named sections on targets with named sections
3123 if branch distance is less than 262132.
3124
afb33771 31252009-01-12 Richard Earnshaw <rearnsha@arm.com>
3126
3127 * combine.c (combine_instructions): Recompute
3128 optimize_this_for_speed_p for each BB in the main combine loop.
3129
a6c1b5f0 31302009-01-12 Tomas Bily <tbily@suse.cz>
3131
3132 PR middlend/38385
d6c48eee 3133 * tree-loop-distribution.c (prop_phis): New function.
3134 (generate_builtin): Call prop_phis.
3135 * testsuite/gcc.dg/tree-ssa/pr38385.c: New file.
a6c1b5f0 3136
3a43bfe9 31372009-01-12 Jakub Jelinek <jakub@redhat.com>
3138
3139 PR tree-optimization/38807
3140 * tree-ssa-reassoc.c (remove_visited_stmt_chain): Don't look at
3141 gimple_visited_p unless stmt is GIMPLE_ASSIGN.
3142
95fb59aa 31432009-01-11 Adam Nemet <anemet@caviumnetworks.com>
3144
3145 * expmed.c (store_bit_field_1): Properly truncate the paradoxical
3146 subreg of op0 to the original op0.
3147
237805dd 31482009-01-11 Laurent GUERBY <laurent@guerby.net>
e0b61fdb 3149
3150 * doc/sourcebuild.texi (Source Tree): Move up intl and fixinc.
3151
a32384d7 31522009-01-11 Markus Schoepflin <markus.schoepflin@comsoft.de>
3153
3154 PR debug/7055
3155 * gcc/mips-tfile.c (parse_def): Fix parsing of def strings
3156 starting with digits.
3157
a9467ac5 31582009-01-10 Jakub Jelinek <jakub@redhat.com>
3159
3160 PR target/38695
3161 * config/arm/arm.c (arm_is_long_call_p): Don't call
3162 arm_function_in_section_p if decl isn't a FUNCTION_DECL.
3163
100329af 31642009-01-09 Steven Bosscher <steven@gcc.gnu.org>
3165
3166 * regrename.c (regrename_optimize): Fix dumping.
3167 (find_oldest_value_reg): Preserve REG_POINTER.
3168 (copy_hardreg_forward_1): Likewise.
3169
51e52fe3 31702009-01-09 Diego Novillo <dnovillo@google.com>
3171
6db00048 3172 * gimple.h (struct gimple_statement_base) <uid>: Document
51e52fe3 3173 the restrictions on its use.
3174 (gimple_uid): Tidy.
3175 (gimple_set_uid): Tidy.
3176
e1e05028 31772009-01-09 Jakub Jelinek <jakub@redhat.com>
3178
3179 * config/i386/i386.c (ix86_expand_movmem, ix86_expand_setmem): Add
3180 zero guard even if align_bytes != 0 and count is smaller than
3181 size_needed.
3182
a330630f 31832009-01-09 Vladimir Makarov <vmakarov@redhat.com>
0c42b4f4 3184
3185 PR rtl-optimization/38495
d6c48eee 3186 * ira-emit.c (print_move_list, ira_debug_move_list): New functions.
0c42b4f4 3187 (add_range_and_copies_from_move_list): Print all added ranges.
3188 Add ranges to memory optimized destination.
3189
8f538fc3 31902009-01-09 Jakub Jelinek <jakub@redhat.com>
3191
ede11ffa 3192 PR target/38686
3193 PR target/38708
3194 * config/i386/i386.c (override_options): Reject
3195 -mstringop-strategy=rep_8byte with -m32.
3196 (ix86_expand_movmem): For size_needed == 1 set epilogue_size_needed
3197 to 1. Do count comparison against epilogue_size_needed at compile
3198 time even when count_exp was constant forced into register. For
3199 size_needed don't jump to epilogue, instead just avoid aligning
3200 and invoke the body algorithm. If need_zero_guard, add zero guard
3201 even if count is non-zero, but smaller than size_needed + number of
3202 bytes that could be stored for alignment.
3203 (ix86_expand_setmem): For size_needed == 1 set epilogue_size_needed
3204 to 1. If need_zero_guard, add zero guard even if count is non-zero,
3205 but smaller than size_needed + number of bytes that could be stored
3206 for alignment. Compare size_needed with epilogue_size_needed instead
3207 of desired_align - align, don't adjust size_needed, pass
3208 epilogue_size_needed to the epilogue expanders.
3209
8f538fc3 3210 PR c/35742
d6c48eee 3211 * c-pretty-print.c (pp_c_expression): Handle GOTO_EXPR like BIND_EXPR.
8f538fc3 3212
21a47bc9 32132009-01-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3214
3215 * pa.c (last_address): Change to unsigned.
3216 (update_total_code_bytes): Change argument to unsigned. Don't
3217 check if insn addresses are set.
3218 (pa_output_function_epilogue): Set last_address to UINT_MAX if insn
3219 addresses are not set.
3220 (pa_asm_output_mi_thunk): Handle wrap when updating last_address.
3221
ce090c51 32222009-01-09 Nick Clifton <nickc@redhat.com>
3223
3224 * config/sh/symbian.c: Replace uses of DECL_INLINE with
3225 DECL_DECLARED_INLINE_P.
3226
4e7cb1c5 32272009-01-09 Jakub Jelinek <jakub@redhat.com>
3228
70b6a6e8 3229 PR middle-end/38347
3230 * dojump.c (do_jump_by_parts_zero_rtx): Use mode instead of
3231 GET_MODE (op0) in operand_subword_force calls.
3232
4e7cb1c5 3233 PR middle-end/38771
3234 * fold-const.c (fold_unary): For COMPOUND_EXPR and COND_EXPR,
3235 fold_convert arg0 operands to TREE_TYPE (op0) first.
3236
d0388252 32372009-01-08 Vladimir Makarov <vmakarov@redhat.com>
3238
3239 * params.def (ira-max-conflict-table-size): Decrease default value
3240 to 1000.
3241
12c697cd 32422009-01-08 Jakub Jelinek <jakub@redhat.com>
3243
3244 PR tree-optimization/37031
3245 * lambda-code.c (lambda_collect_parameters): Call pointer_set_destroy
3246 on parameter_set.
3247 (build_access_matrix): Reserve correct size for AM_MATRIX vector,
3248 allocate it using gc instead of heap, use VEC_quick_push instead of
3249 VEC_safe_push.
3250 * graphite.c (build_access_matrix): Allocate AM_MATRIX vector using gc
3251 instead of heap, use VEC_quick_push instead of VEC_safe_push.
3252 * tree-data-ref.h (struct access_matrix): Change matrix to gc
3253 allocated vector from heap allocated.
3254 * lambda.h: Add DEF_VEC_ALLOC_P for gc allocated lambda_vector.
3255 * tree-loop-linear.c (linear_transform_loops): Allocate nest
3256 vector only after perfect_loop_nest_depth call.
3257
59835a90 32582009-01-08 Sebastian Pop <sebastian.pop@amd.com>
3259 Jan Sjodin <jan.sjodin@amd.com>
3260
3261 PR tree-optimization/38559
3262 * graphite.c (debug_value, copy_constraint,
3263 swap_constraint_variables, scale_constraint_variable, ): New.
3264 (get_lower_bound, get_upper_bound): Removed.
3265 (graphite_trans_bb_strip_mine): Clean up this code that works
3266 only for constant number of iterations. Fully copy upper and
3267 lower bound constraints, not only the constant part of them.
3268 * graphite.h (debug_value): Declared.
3269
1c48f190 32702009-01-08 Ira Rosen <irar@il.ibm.com>
3271
3272 PR tree-optimization/37194
3273 * tree-vect-transform.c (vect_estimate_min_profitable_iters):
3274 Don't add the cost of cost model guard in prologue to scalar
3275 outside cost in case of known number of iterations.
3276
9538c1d1 32772009-01-07 Nathan Froyd <froydnj@codesourcery.com>
3278 Alan Modra <amodra@bigpond.net.au>
3279
3280 * config/rs6000/rs6000.c (rs6000_legitimize_address): Check for
3281 non-word-aligned REG+CONST addressing.
3282
292add68 32832009-01-07 Uros Bizjak <ubizjak@gmail.com>
3284
3285 PR target/38706
3286 * config/alpha/alpha.c (alpha_end_function): For TARGET_ABI_OSF, call
3287 free_after_compilation when outputting a thunk.
3288 (alpha_output_mi_thunk_osf): Assert that we are processing a thunk.
3289 Do not call free_after_compilation here.
3290
bbc3ff90 32912009-01-07 Uros Bizjak <ubizjak@gmail.com>
3292
3293 * config/i386/i386.c (ix86_target_string): Use ARRAY_SIZE.
bbc3ff90 3294 (ix86_valid_target_attribute_inner_p): Ditto.
3295
145bdf6a 32962009-01-07 Jan Sjodin <jan.sjodin@amd.com>
3297
3298 PR tree-optimization/38492
3299 PR tree-optimization/38498
3300 * tree-check.c (operator_is_linear, scev_is_linear_expression): New.
3301 * tree-chrec.h (scev_is_linear_expression): Declared.
3302 * graphite.c (graphite_cannot_represent_loop_niter): New.
3303 (scopdet_basic_block_info): Call graphite_cannot_represent_loop_niter.
3304 (graphite_loop_normal_form): Use gcc_assert.
3305 (scan_tree_for_params): Use CASE_CONVERT.
3306 (phi_node_is_iv, bb_contains_non_iv_scalar_phi_nodes): New.
3307 (build_scop_conditions_1): Call bb_contains_non_iv_scalar_phi_nodes.
3308 Use gcc_assert. Discard scops that contain unhandled cases.
3309 (build_scop_conditions): Return a boolean status for unhandled cases.
3310 (strip_mine_profitable_p): Print the loop number, not its depth.
3311 (is_interchange_valid): Pass the depth of the loop nest, don't
3312 recompute it wrongly.
3313 (graphite_trans_bb_block): Same.
3314 (graphite_trans_bb_block): Print tentative of loop blocking.
3315 (graphite_trans_scop_block): Do not print that the loop has been
3316 blocked.
3317 (graphite_transform_loops): Do not handle scops that contain condition
3318 scalar phi nodes.
3319
b49a1e34 33202009-01-07 H.J. Lu <hongjiu.lu@intel.com>
3321
3322 AVX Programming Reference (December, 2008)
3323 * config/i386/avxintrin.h (_mm256_stream_si256): New.
3324 (_mm256_stream_pd): Likewise.
3325 (_mm256_stream_ps): Likewise.
3326
3327 * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTDQ256,
3328 IX86_BUILTIN_MOVNTPD256 and IX86_BUILTIN_MOVNTPS256.
3329 (ix86_special_builtin_type): Add VOID_FTYPE_PV4DI_V4DI.
3330 (bdesc_special_args): Add __builtin_ia32_movntdq256,
3331 __builtin_ia32_movntpd256 and __builtin_ia32_movntps256.
3332 (ix86_init_mmx_sse_builtins): Handle VOID_FTYPE_PV4DI_V4DI.
3333 (ix86_expand_special_args_builtin): Likewise.
3334
3335 * config/i386/sse.md (AVXMODEDI): New.
3336 (avx_movnt<mode>): Likewise.
3337 (avx_movnt<mode>): Likewise.
3338 (<sse>_movnt<mode>): Remove AVX support.
3339 (sse2_movntv2di): Likewise.
3340
4f1351a2 33412009-01-07 Richard Guenther <rguenther@suse.de>
3342
3343 PR middle-end/38751
3344 * fold-const.c (extract_muldiv): Remove obsolete comment.
3345 (fold_plusminus_mult_expr): Undo MINUS_EXPR
3346 to PLUS_EXPR canonicalization for the canonicalization.
3347
aad359a1 33482009-01-07 Gerald Pfeifer <gerald@pfeifer.com>
3349
3350 * doc/install.texi (alpha*-dec-osf*): Remove note on 32-bit
3351 hosted cross-compilers generating less efficient code.
3352
2061be83 33532009-01-06 Richard Sandiford <rdsandiford@googlemail.com>
3354
3355 * function.h (rtl_data): Add a dbr_scheduled_p field.
3356 * reorg.c (dbr_schedule): Set it.
3357 (gate_handle_delay_slots): Check it.
3358 * config/mips/mips.c (mips_base_delayed_branch): Delete.
3359 (mips_reorg): Check flag_delayed_branch instead of
3360 mips_base_delayed_branch.
3361 (mips_override_options): Don't set mips_base_delayed_branch
3362 or flag_delayed_branch.
3363
6b806743 33642009-01-06 Richard Sandiford <rdsandiford@googlemail.com>
3365
3366 PR rtl-optimization/38426.
3367 * ira.c (ira): Set current_function_is_leaf earlier.
3368
095050fc 33692009-01-06 Jakub Jelinek <jakub@redhat.com>
3370
3371 PR rtl-optimization/38722
3372 * combine.c (try_combine): Don't modify PATTERN (i3) and notes
3373 too early, only set a flag and modify after last possible
3374 undo_all point.
3375
0c87fb2b 33762009-01-06 Janis Johnson <janis187@us.ibm.com>
3377
3378 PR c/34252
3379 * ginclude/float.h: Rename DECnn_DEN to DECnn_SUBNORMAL_MIN.
3380 * real.c (decimal_single_format): Correct values of emin and emax.
3381 (decimal_double_format): Ditto.
3382 (decimal_quad_format): Ditto.
3383 * c-cppbuiltin.c (builtin_define_decimal_float_constants): Adjust
3384 computation of DECnn_MIN and DECnn_MAX for corrected values of
3385 emin and emax. Define __DECnn_SUBNORMAL_MIN__ instead of
3386 __DECnn_MIN__, and adjust its computation for the corrected value
3387 of emin.
3388
710ab45a 33892009-01-06 Jan Hubicka <jh@suse.cz>
3390
3391 PR target/38744
f92492f7 3392 * config/i386/i386.c (ix86_expand_call): Use ARRAY_SIZE.
710ab45a 3393
0a46e111 33942009-01-06 Gerald Pfeifer <gerald@pfeifer.com>
3395
3396 * doc/contrib.texi (Contributors): Slightly adjust the end note.
3397 Add Robert Clark to the list of testers.
3398
30095c10 33992009-01-06 Jan Hubicka <jh@suse.cz>
237805dd 3400 Kai Tietz <kai.tietz@onevision.com>
30095c10 3401
f92492f7 3402 * config/i386/i386.md (*msabi_syvabi): Add SSE regs clobbers.
3403 * config/i386/i386.c (ix86_expand_call): Add clobbers.
30095c10 3404
acb79b5c 34052009-01-06 Jan Hubicka <jh@suse.cz>
237805dd 3406 Kai Tietz <kai.tietz@onevision.com>
acb79b5c 3407
f92492f7 3408 * config/i386/i386.h (CONDITIONAL_CALL_USAGE): SSE regs are not used
3409 for w64 ABI.
3410 * config/i386/i386.c (struct ix86_frame): Add padding0 and nsseregs.
acb79b5c 3411 (ix86_nsaved_regs): Count only general purpose regs.
3412 (ix86_nsaved_sseregs): New.
3413 (ix86_compute_frame_layout): Update nsseregs; set preferred alignment
3414 to 16 for w64; compute padding and size of sse reg save area.
bbc3ff90 3415 (ix86_emit_save_regs, ix86_emit_save_regs_using_mov): Save only
3416 general purpose regs.
acb79b5c 3417 (ix86_emit_save_sse_regs_using_mov): New.
3418 (ix86_expand_prologue): Save SSE regs if needed.
3419 (ix86_emit_restore_regs_using_mov): Use only general purpose regs.
3420 (ix86_emit_restore_sse_regs_using_mov): New.
3421 (ix86_expand_epilogue): Save SSE regs if needed.
3422
90a81a4b 34232009-01-06 Jan Hubicka <jh@suse.cz>
237805dd 3424 Kai Tietz <kai.tietz@onevision.com>
90a81a4b 3425
f92492f7 3426 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Enable for MSABI
3427 * config/i386/i386.c (init_cumulative_args): Disallow calls of MSABI
3428 functions when accumulate outgoing args is off.
90a81a4b 3429
7521b07f 34302009-01-06 H.J. Lu <hongjiu.lu@intel.com>
3431
3432 PR bootstrap/38742
3433 * ira-color.c (ira_reuse_stack_slot): Check ENABLE_IRA_CHECKING
3434 before using pseudos_have_intersected_live_ranges_p.
3435
3436 * ira-int.h (ira_assert): Always define.
3437
dbd61cd0 34382009-01-06 H.J. Lu <hongjiu.lu@intel.com>
3439
3440 AVX Programming Reference (December, 2008)
3441 * config/i386/avxintrin.h (_mm_permute2_pd): Removed.
3442 (_mm256_permute2_pd): Likewise.
3443 (_mm_permute2_ps): Likewise.
3444 (_mm256_permute2_ps): Likewise.
3445 * config/i386/i386.md (UNSPEC_VPERMIL2): Likewise.
3446 * config/i386/sse.md (avx_vpermil2<mode>3): Likewise.
3447
3448 * config/i386/i386.c (ix86_builtins): Remove
3449 IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMIL2PS,
3450 IX86_BUILTIN_VPERMIL2PD256 and IX86_BUILTIN_VPERMIL2PS256.
3451 (ix86_builtin_type): Remove V8SF_FTYPE_V8SF_V8SF_V8SI_INT,
3452 V4DF_FTYPE_V4DF_V4DF_V4DI_INT, V4SF_FTYPE_V4SF_V4SF_V4SI_INT
3453 and V2DF_FTYPE_V2DF_V2DF_V2DI_INT.
3454 (bdesc_args): Remove __builtin_ia32_vpermil2pd,
3455 __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256 and
3456 __builtin_ia32_vpermil2ps256.
3457 (ix86_init_mmx_sse_builtins): Updated.
3458 (ix86_expand_args_builtin): Likewise.
3459
c4b36071 34602009-01-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3461
dbd61cd0 3462 * pa.c (output_call): Relocate non-jump insns in the delay slot of
3463 long absolute calls when generating PA 2.0 code.
c4b36071 3464
95c83f01 34652009-01-05 Vladimir Makarov <vmakarov@redhat.com>
3466
3467 PR rtl-optimization/38583
3468 * params.h (IRA_MAX_CONFLICT_TABLE_SIZE): New macro.
3469
3470 * params.def (ira-max-conflict-table-size): New.
3471
3472 * doc/invoke.texi (ira-max-conflict-table-size): Decribe.
3473
3474 * ira.h (ira_conflicts_p): New external definition.
3475
3476 * ira-conflicts.c (build_conflict_bit_table): Do not build too big
3477 table. Report this. Return result of building.
3478 (ira_build_conflicts): Use ira_conflicts_p. Check result of
3479 building conflict table.
3480
bbc3ff90 3481 * ira-color.c (fast_allocation): Use num instead of ira_allocnos_num.
95c83f01 3482 (ira_color): Use ira_conflicts_p.
3483
3484 * global.c: Include ira.h.
3485 (pseudo_for_reload_consideration_p, build_insn_chain): Use
3486 ira_conflicts_p.
3487
3488 * Makefile.in (global.o): Add ira.h.
3489
3490 * ira-build.c (mark_all_loops_for_removal,
3491 propagate_some_info_from_allocno): New.
3492 (remove_unnecessary_allocnos): Call
3493 propagate_some_info_from_allocno.
3494 (remove_low_level_allocnos): New.
3495 (remove_unnecessary_regions): Add parameter. Call
3496 mark_all_loops_for_removal and remove_low_level_allocnos. Pass
3497 parameter to remove_unnecessary_regions.
3498 (ira_build): Remove all regions but root if the conflict table was
3499 not built. Update conflict hard regs for allocnos crossing calls.
3500
3501 * ira.c (ira_conflicts_p): New global.
3502 (ira): Define and use ira_conflicts_p.
3503
3504 * reload1.c (compute_use_by_pseudos, reload, count_pseudo,
3505 count_spilled_pseudo, find_reg, alter_reg, finish_spills,
bbc3ff90 3506 emit_input_reload_insns, delete_output_reload): Use ira_conflicts_p.
95c83f01 3507
da279129 35082009-01-06 Ben Elliston <bje@au.ibm.com>
3509
3510 * gengtype-lex.l (YY_NO_INPUT): Define.
3511
7ec31215 35122009-01-05 Andrew Pinski <andrew_pinski@playstation.sony.com>
3513
3514 PR c/34911
da279129 3515 * c-common.c (handle_vector_size_attribute): Also reject
3516 BOOLEAN_TYPE types.
7ec31215 3517
d51c4d4c 35182009-01-05 Sebastian Pop <sebastian.pop@amd.com>
3519
3520 PR tree-optimization/38492
3521 * graphite.c (rename_map_elt, debug_rename_elt,
bbc3ff90 3522 debug_rename_map_1, debug_rename_map, new_rename_map_elt,
3523 rename_map_elt_info, eq_rename_map_elts,
3524 get_new_name_from_old_name, bb_in_sese_p): Moved around.
d51c4d4c 3525 (sese_find_uses_to_rename_use): Renamed sese_build_livein_liveouts_use.
3526 (sese_find_uses_to_rename_bb): Renamed sese_build_livein_liveouts_bb.
3527 (sese_build_livein_liveouts): New.
3528 (new_sese, free_sese): New.
3529 (new_scop): Call new_sese.
3530 (free_scop): Call free_sese.
3531 (rename_variables_from_edge, rename_phis_end_scop): Removed.
3532 (register_old_new_names): Renamed register_old_and_new_names.
3533 (register_scop_liveout_renames, add_loop_exit_phis,
3534 insert_loop_close_phis, struct igp,
3535 default_liveout_before_guard, add_guard_exit_phis,
3536 insert_guard_phis, copy_renames): New.
3537 (translate_clast): Call insert_loop_close_phis and insert_guard_phis.
3538 (sese_add_exit_phis_edge): Renamed scop_add_exit_phis_edge.
3539 (rewrite_into_sese_closed_ssa): Renamed scop_insert_phis_for_liveouts.
3540 (scop_adjust_phis_for_liveouts): New.
3541 (gloog): Call scop_adjust_phis_for_liveouts.
3542
3543 * graphite.h (struct sese): Documented. Added fields liveout,
bbc3ff90 3544 num_ver and livein.
d51c4d4c 3545 (SESE_LIVEOUT, SESE_LIVEIN, SESE_LIVEIN_VER, SESE_NUM_VER): New.
3546 (new_sese, free_sese, sese_build_livein_liveouts): Declared.
3547 (struct scop): Added field liveout_renames.
3548 (SCOP_LIVEOUT_RENAMES): New.
3549
57c0fd3c 35502009-01-05 Harsha Jagasia <harsha.jagasia@amd.com>
3551
3552 PR tree-optimization/38510
3553 * graphite.c (recompute_all_dominators): Call mark_irreducible_loops.
3554 (translate_clast): Call recompute_all_dominators before
3555 graphite_verify.
3556 (gloog): Call recompute_all_dominators before graphite_verify.
3557
35582009-01-05 Harsha Jagasia <harsha.jagasia@amd.com>
237805dd 3559 Jan Sjodin <jan.sjodin@amd.com>
57c0fd3c 3560
3561 PR tree-optimization/38500
3562 * graphite.c (create_sese_edges): Call fix_loop_structure after
3563 splitting blocks.
3564
237805dd 35652009-01-05 Joel Sherrill <joel.sherrill@oarcorp.com>
e4c85211 3566
3567 * config.gcc: Add m32r*-*-rtems*.
3568 * config/m32r/rtems.h: New file.
3569
e7ae053d 35702009-01-05 Ben Elliston <bje@au.ibm.com>
3571
3572 * Makefile.in (.po.gmo): Use mkinstalldirs, not test -d || mkdir.
3573 (.po.pox): Likewise.
3574 (po/gcc.pot): Likewise.
3575
aad5aaaf 35762009-01-04 David S. Miller <davem@davemloft.net>
3577
3578 * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED_RTX): Delete.
3579 (STARTING_FRAME_OFFSET): Always set to zero.
3580
f323bb78 35812009-01-04 Richard Sandiford <rdsandiford@googlemail.com>
3582
3583 * tree.def (LSHIFT_EXPR, RSHIFT_EXPR): Add commentary.
3584 * tree-cfg.c (verify_gimple_assign_binary): Allow shifts of
3585 fixed-point types, and vectors of the same.
3586
b73796fa 35872009-01-04 Richard Sandiford <rdsandiford@googlemail.com>
3588
3589 * config/mips/sync.md (*mb_barrier): Rename to...
3590 (*memory_barrier): ...this.
3591
c17add59 35922009-01-04 Jonathan Wakely <jwakely.gcc@gmail.com>
3593
3594 * doc/extend.texi (Function Attributes): Move @cindex after @item
6c6bce65 3595 for 'artificial' and 'flatten'. Fix grammar for 'externally_visible'
c17add59 3596 and put in alphabetical order. Fix 'target' name and put in order.
3597 * doc/invoke.texi (-Wstrict-null-sentinel, -fipa-matrix-reorg): Fix
3598 typos.
3599
dc178856 36002009-01-04 Uros Bizjak <ubizjak@gmail.com>
3601
3602 * config/s390/s390.md (UNSPEC_MB): Rename from UNSPECV_MB.
3603 (memory_barrier): Expand as unspec instead of unspec_volatile.
3604 Remove mem:BLK from insn operands. Use Pmode scratch register.
3605 (*memory_barrier): Define as unspec instead of unspec_volatile.
3606 Use (match_dup 0) as input operand.
3607
3608 * config/sparc/sparc.md (UNSPEC_MEMBAR): Rename from UNSPECV_MEMBAR.
3609 * config/sparc/sync.md (memory_barrier): Expand as unspec instead of
3610 unspec_volatile. Remove mem:BLK from insn operands. Use Pmode
3611 scratch register. Remove operand 1.
3612 (*stbar): Define as unspec instead of unspec_volatile.
3613 Use (match_dup 0) as input operand, remove (const_int 8).
3614 (*membar): Define as unspec instead of unspec_volatile.
3615 Use (match_dup 0) as input operand, remove input operand 2.
3616
3617 * config/xtensa/xtensa.md (UNSPEC_MEMW): Rename from UNSPECV_MEMW.
3618 (memory_barrier): Expand as unspec instead of unspec_volatile.
3619 Remove mem:BLK from insn operands. Use Pmode scratch register.
3620 (*memory_barrier): Define as unspec instead of unspec_volatile.
3621 Use (match_dup 0) as input operand.
3622
3623 * config/ia64/sync.md (memory_barrier): Redefine as expander pattern.
3624 Remove mem:BLK from insn operands. Use Pmode scratch register.
3625 Set volatile flag on operand 0.
3626 (*memory_barrier): New insn pattern.
3627
3628 * config/rs6000/sync.md (memory_barrier): Remove mem:BLK from
3629 insn operands.
3630 (*memory_barrier): Use (match_dup 0) as input operand.
3631
3632 * config/mips/sync.md (memory_barrier): Redefine as expander pattern.
3633 Remove mem:BLK from insn operands. Use Pmode scratch register.
3634 Set volatile flag on operand 0.
bbc3ff90 3635 (*mb_internal): New insn pattern.
dc178856 3636
3637 * config/alpha/sync.md (*memory_barrier): Rename from *mb_internal.
3638
fef299ce 36392009-01-04 Steven Bosscher <steven@gcc.gnu.org>
3640
3641 PR middle-end/38586
3642 * function.c (struct temp_slot): Move to the section of the file
3643 that deals with temp slots. Remove field 'address'.
3644 (temp_slot_address_table): New hash table of address -> temp slot.
3645 (struct temp_slot_address_entry): New struct, items for the table.
3646 (temp_slot_address_compute_hash, temp_slot_address_hash,
3647 temp_slot_address_eq, insert_temp_slot_address): Support functions
3648 for the new table.
3649 (find_temp_slot_from_address): Rewrite to use the new hash table.
3650 (remove_unused_temp_slot_addresses): Remove addresses of temp
3651 slots that have been made available.
3652 (remove_unused_temp_slot_addresses_1): Call-back for htab_traverse,
3653 worker function for remove_unused_temp_slot_addresses.
3654 (assign_stack_temp_for_type): Don't clear the temp slot address list.
3655 Add the temp slot address to the address -> temp slot map.
3656 (update_temp_slot_address): Update via insert_temp_slot_address.
3657 (free_temp_slots): Call remove_unused_temp_slot_addresses.
3658 (pop_temp_slots): Likewise.
3659 (init_temp_slots): Allocate the address -> temp slot map, or empty
3660 the map if it is already allocated.
3661 (prepare_function_start): Initialize temp slot processing.
3662
961c8f72 36632009-01-04 Steven Bosscher <steven@gcc.gnu.org>
3664
3665 PR middle-end/38584
3666 * cfgexpand.c (estimate_stack_frame_size): Simplify the estimate:
3667 Calculate the size of all stack vars assuming no packing of stack
3668 vars will happen, replacing a quadratic algorithm with a linear one.
3669
c2ef487a 36702009-01-03 Jakub Jelinek <jakub@redhat.com>
3671
3672 PR target/38707
3673 * expmed.c (store_bit_field_1): Don't modify op0 if movstrict insn
3674 can't be used.
3675
d2472193 36762009-01-03 Diego Novillo <dnovillo@google.com>
3677
3678 * doc/contrib.texi: Update contributions.
3679
062b4460 36802009-01-03 Jakub Jelinek <jakub@redhat.com>
3681
6f52ebeb 3682 PR c++/38705
3683 * builtins.c (fold_builtin_memory_op): Give up if either operand
3684 is volatile. Set srctype or desttype to non-qualified version
3685 of the other type.
3686
062b4460 3687 PR c/38700
3688 * builtins.c (fold_builtin_expect): Only check DECL_WEAK for VAR_DECLs
3689 and FUNCTION_DECLs.
3690
237805dd 36912009-01-02 Kenneth Zadeck <zadeck@naturalbridge.com>
7e009ff5 3692
3693 PR rtl-optimization/35805
3694 * df-problems.c (df_lr_finalize): Add recursive call to resolve lr
3695 problem if fast dce is able to remove any instructions.
3696 * dce.c (dce_process_block): Fix dump message.
3697
c9f77b30 36982009-01-02 Mark Mitchell <mark@codesourcery.com>
3699
3700 PR 33649
3701 * tree-ssa-pre.c (compute_antic): Correct loop bounds.
3702
e70f5f27 37032009-01-02 Jakub Jelinek <jakub@redhat.com>
3704
3705 PR middle-end/38690
3706 * tree-flow.h (op_code_prio, op_prio): New prototypes.
3707 * tree-pretty-print.c (op_code_prio): New function.
3708 (op_prio): No longer static. Use op_code_prio.
3709 * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs):
3710 Use op_prio and op_code_prio to determine if () should be
3711 printed around operand(s) or not.
3712
3713 * gimple-pretty-print.c (dump_unary_rhs, dump_binary_rhs,
3714 dump_gimple_call, dump_gimple_switch, dump_gimple_cond,
3715 dump_gimple_label, dump_gimple_try, dump_symbols, dump_gimple_phi,
3716 dump_gimple_mem_ops, dump_bb_header, dump_bb_end, pp_cfg_jump): Use
3717 pp_character instead of pp_string for single letter printing.
3718
db8edef0 37192009-01-02 Richard Sandiford <rdsandiford@googlemail.com>
3720
3721 * doc/extend.texi: Fix '#pragma GCC option' typo.
3722
237805dd 37232009-01-02 Richard Guenther <rguenther@suse.de>
6d37614e 3724
e6f4e61f 3725 * doc/install.texi (--enable-checking): Mention different
3726 default for stage1.
3727 (--enable-stage1-checking): Document.
6d37614e 3728
d3a42176 37292009-01-01 Andrew Pinski <pinskia@gmail.com>
3730
3731 PR middle-end/30142
3732 * tree-cfg.c (verify_expr): Add INDIRECT_REF case. Change MODIFY_EXPR
3733 case to be an error.
3734
5c8520a4 37352009-01-02 Ben Elliston <bje@au.ibm.com>
3736
3737 * config/fp-bit.h (pack_d): Constify argument.
3738 * config/fp-bit.c (makenan): Constify return type. Remove casts.
3739 (isnan): Constify argument.
3740 (isinf): Likewise.
3741 (iszero): Likewise.
3742 (pack_d): Likewise.
3743 (_fpadd_parts): Constify return type.
3744 (_fpmul_parts): Likewise.
3745 (_fpdiv_parts): Likewise.
3746
d241bf0d 37472009-01-01 Jakub Jelinek <jakub@redhat.com>
3748
3749 PR c/36489
3750 * c-typeck.c (add_pending_init): Add IMPLICIT argument. Only
3751 warn about overwriting initializer with side-effects or
3752 -Woverride-init if !IMPLICIT.
3753 (output_init_element): Likewise. Pass IMPLICIT down to
3754 add_pending_init.
3755 (process_init_element): Add IMPLICIT argument. Pass it down
3756 to output_init_element.
3757 (push_init_element, pop_init_level, set_designator): Adjust
3758 process_init_element callers.
3759 (set_nonincremental_init, set_nonincremental_init_from_string):
3760 Adjust add_pending_init callers.
3761 (output_pending_init_elements): Adjust output_init_element callers.
3762 * c-tree.h (process_init_element): Adjust prototype.
3763 * c-parser.c (c_parser_initelt, c_parser_initval): Adjust
3764 process_init_element callers.