1 2006-06-08 Steven Bosscher <steven@gcc.gnu.org>
3 * cse.c (flush_hash_table): Use VOIDmode to invalidate a REG.
4 (cse_insn): Likewise for the stack_pointer_rtx.
6 2006-06-08 Roger Sayle <roger@eyesopen.com>
8 * tree-ssa-dom.c (record_conditions): Only record "unordered"
9 conditions from floating point comparisons.
11 2006-06-08 Paolo Bonzini <bonzini@gnu.org>
14 * expmed.c (struct alg_hash_entry): Fix type of field T
15 to match synth_mult argument.
16 (NUM_ALG_HASH_ENTRIES): Make it bigger for 64-bit HOST_WIDE_INT.
18 2006-06-08 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
21 * haifa-sched.c (unlink_other_notes, unlink_line_notes): Update basic
24 2006-06-08 Richard Guenther <rguenther@suse.de>
27 * fold-const.c (negate_expr_p): We can negate BIT_NOT_EXPR
28 only, if overflow is defined and not trapping.
29 (negate_expr): Likewise.
31 2006-06-07 Zdenek Dvorak <dvorakz@suse.cz>
33 PR tree-optimization/27872
34 * tree-ssa-loop-manip.c (tree_unroll_loop): Set EDGE_IRREDUCIBLE_LOOP
35 flag on the new exit edge of the unrolled loop.
37 2006-06-07 Zdenek Dvorak <dvorakz@suse.cz>
39 PR rtl-optimization/26449
40 * loop-invariant.c (move_invariant_reg): Fail if force_operand fails.
42 2006-06-07 Andrew MacLeod <amacleod@redhat.com>
45 * tree-dfa.c (referenced_vars_dup_list): New. List of duplicate
46 referenced_variables with matching DECL_UID's.
47 (find_referenced_vars): Make sure duplicate list is empty to start.
48 (referenced_var_p): Remove.
49 (referenced_var_check_and_insert): Renamed from referenced_var_insert.
50 Check if var is in the list, and add if needed. Update the duplicate
51 list if a different var is in the list with the same DECL_UID.
52 (add_referenced_var): Call routine to check and insert.
53 * tree-ssa.c (delete_tree_ssa): Clear var_ann's on duplicates.
54 * tree-flow.h (referenced_vars_dup_list): External declaration.
56 2006-06-07 Fred Fish <fnf@specifix.com>
58 * config/mips/t-elf (MULTILIB_MATCHES): Combine two entries
61 2006-06-07 Paolo Bonzini <bonzini@gnu.org>
64 * reg-stack.c (subst_stack_regs_pat): Reorder resetting of
65 the imaginary and real parts of a clobbered register.
66 Emit insn to set the imaginary part.
68 2006-06-06 Peter Lemieszewski <lemie@us.ibm.com>
70 * config/s390/t-tpf (LIB2ADDEH): Include unwind-dw2-fde-glibc.c
71 in lieu of unwind-dw2-fde.c.
73 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
75 * config/i386/mingw32.h (GOMP_SELF_SPECS): Define.
77 2006-06-06 Ulrich Weigand <uweigand@de.ibm.com>
80 * config/rs6000/altivec.md (UNSPEC_VSLW): Remove.
81 ("altivec_vspltisw_v4sf", "altivec_vslw_v4sf"): Remove.
82 ("mulv4sf3", "absv4sf3", "negv4sf3"): Adapt users to use
83 V4SImode temporaries and operations instead.
85 2006-06-06 Joseph S. Myers <joseph@codesourcery.com>
87 * config/mips/t-linux64 (tp-bit.c): Append to tp-bit.c, not
90 2006-06-06 Mike Stump <mrs@apple.com>
92 * Makefile.in: Rename to htmldir to build_htmldir to avoid
93 installing during build.
95 2006-06-06 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>
97 * params.def (PARAM_MAX_SCHED_EXTEND_REGIONS_ITERS): Change default
99 * doc/invoke.texi (max-sched-extend-regions-iters): Document.
100 * config/ia64/ia64.c (params.h): New header.
101 (ia64_optimization_options): New function to adjust parameters.
102 * config/ia64/ia64-protos.h (ia64_optimization_options): New prototype.
103 * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): New macro.
104 * config/ia64/t-ia64 (ia64.o): Add dependence from params.h .
106 2006-06-05 Kazu Hirata <kazu@codesourcery.com>
108 * stor-layout.c (debug_rli): Fix a typo in a debug message.
110 2006-06-05 Steve Ellcey <sje@cup.hp.com>
113 * config/ia64/ia64.c (ia64_select_rtx_section): Check TARGET_NO_SDATA.
115 2006-06-05 Dorit Nuzman <dorit@il.ibm.com>
116 Victor Kaplansky <victork@il.ibm.com>
118 PR tree-optimization/26360
119 * tree-vectorizer.c (destroy_loop_vec_info): Remove (dead) pattern
122 2006-06-04 Roger Sayle <roger@eyesopen.com>
123 Andrew Pinski <pinskia@physics.uc.edu>
126 * c-common.c (c_common_truthvalue_conversion): Explicitly check
127 for LABEL_DECL before calling DECL_WEAK.
130 * c-typeck.c (build_binary_op): Likewise, explicitly check for
131 LABEL_DECL and PARM_DECL.
133 2006-06-05 Joseph S. Myers <joseph@codesourcery.com>
137 * c-decl.c (grokdeclarator): Disallow variably modified types at
138 file scope. Avoid marking shared array type of constant size as
141 2006-06-04 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
144 * c-common.c (fold_offsetof_1): Handle static members.
146 2006-06-04 Eric Christopher <echristo@apple.com>
148 * stor-layout.c (start_record_layout): Initialize remaining_in_alignment.
149 (debug_rli): Output value for remaining_in_alignment.
150 (update_alignment_for_field): Unconditionalize
151 ms_bitfield_layout_p code. Handle non-bitfield fields. Remove
152 extra alignment code.
153 (place_field): Don't realign if ms_bitfield_layout_p. Unconditionalize
154 ms_bitfield_layout_p code. Rewrite handling of structure fields.
155 * tree.h (record_layout_info_s): Remove prev_packed.
156 * doc/extend.texi (ms_struct): Add documentation of format.
158 2006-06-04 Mark Shinwell <shinwell@codesourcery.com>
160 * tree.h: Declare folding_initializer.
161 * builtins.c (fold_builtin_constant_p): Give definite answer
162 if folding inside an initializer.
163 * fold-const.c: Define folding_initializer.
164 (START_FOLD_INIT): Save and then set folding_initializer.
165 (END_FOLD_INIT): Restore folding_initializer.
167 2006-06-04 Richard Guenther <rguenther@suse.de>
169 PR tree-optimization/27039
170 * fold-const.c (fold_comparison): Handle pointer comparison
171 again for all comparison codes. Compare offsets in signed
173 (fold_binary): Move code from here.
175 2006-06-03 Roger Sayle <roger@eyesopen.com>
178 * config/i386/i386.c (construct_container): Split static issued_error
179 flag into issued_sse_arg_error, issued_sse_ret_error and
180 issued_x87_ret_error. Issue a daignostic if the x86-64 ABI
181 requires the use of x87 registers and the user explicitly
182 specified the -mno-80387 command line option.
184 2006-06-02 Geoffrey Keating <geoffk@apple.com>
186 * config/rs6000/host-darwin.c (sigaltstack): Protect prototype with
187 HAVE_DECL_SIGALTSTACK.
189 (segv_handler): Use MC_FLD.
190 * configure.ac: Check for a sigaltstack declaration.
191 Compute HAS_MCONTEXT_T_UNDERSCORES on Darwin.
192 * configure: Regenerate.
193 * config.in: Regenerate.
195 2006-06-03 J"orn Rennecke <joern.rennecke@st.com>
198 * Makefile.in (stmp-fixinc): Fix typo.
200 2006-06-02 Roger Sayle <roger@eyesopen.com>
202 * fold-const.c (fold_unary) <CONJ_EXPR>: Ensure folded expressions
203 are type correct. Clean-up.
204 <REALPART_EXPR>: Likewise. Optimize creal(~z) as creal(z).
205 <IMAGPART_EXPR>: Likewise. Optimize cimag(~z) as -cimag(z).
207 2006-06-01 DJ Delorie <dj@redhat.com>
209 * config/v850/v850.h (ASM_OUTPUT_ADDR_DIFF_ELT): Disabled the
210 shift, as we've disabled the "switch" insn that needs it.
212 2006-06-01 Per Bothner <bothner@bothner.com>
214 Suppress extra '#1 <built-in> or '#1 <command line>' on -dD output.
215 * c-opts.c (finish_options): Use internal line 0 for <command-line>.
216 * c-ppoutput.c (cb_define): Don't increment line 0.
218 2006-06-01 Pete Steinmetz <steinmtz@us.ibm.com>
220 * doc/invoke.texi: Add cpu_type power6.
221 * config.gcc: Add cpu_type power6.
222 * config/rs6000/rs6000.c (rs6000_override_options): Alias power6
223 to power5+ with Altivec.
224 * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power6.
225 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add power6.
227 2006-05-30 Anatoly Sokolov <aesok@post.ru>
229 * config/avr/avr.h (SET_ASM_OP): Define.
231 2006-06-01 Kazu Hirata <kazu@codesourcery.com>
233 * config/bfin/bfin.c: Fix comment typos.
235 2006-06-01 Paolo Bonzini <bonzini@gnu.org>
238 * doc/install.texi: Document --enable-bootstrap and
241 2006-06-01 Paolo Bonzini <bonzini@gnu.org>
243 * doc/install.texi: Document that InfoZIP can replace jar.
245 2006-05-31 Roger Sayle <roger@eyesopen.com>
247 * config/i386/i386.c (ix86_expand_fp_absneg_operator): When SSE
248 isn't available, directly generate the simpler x87 patterns without
249 the (use (const_int 0)).
250 * config/i386/i386.md (*negsf2_1): Enable pre-reload if the SSE
251 implementation isn't available.
252 (*negdf2_1): Likewise.
253 (*negxf2_1): XF mode negation is always done using the x87.
254 (*abssf2_1, *absdf2_1, *absxf2_1): Likewise^3 for fabs.
256 2006-05-31 Roger Sayle <roger@eyesopen.com>
258 * builtins.c (fold_builtin_cabs): Delete prototype. Require an
259 additional FNDECL argument. Optimize cabs(-z) and cabs(~z) as
261 (fold_builtin_decl) <BUILT_IN_CABS>: Update fold_builtin_cabs call.
263 2006-05-31 Jie Zhang <jie.zhang@analog.com>
265 * config/bfin/bfin-protos.h (bfin_hardware_loop): Declare.
266 * config/bfin/bfin.c (basic-block.h): Include.
267 (struct machine_function): New.
268 (bfin_init_machine_status): New.
269 (override_options): Initialize init_machine_status.
270 (bfin_hardware_loop): New.
271 (MAX_LOOP_DEPTH, MAX_LOOP_LENGTH): Define.
272 (DEF_VEC_P (loop_info)): New.
273 (DEF_VEC_ALLOC_P (loop_info,heap)): New.
274 (struct loop_info): New.
275 (loop_info): New typedef.
276 (struct loop_work): New.
277 (loop_work): New typedef.
278 (DEF_VEC_O (loop_work)): New.
279 (DEF_VEC_ALLOC_O (loop_work,heap)): New.
280 (bfin_dump_loops): New.
281 (bfin_bb_in_loop): New.
282 (bfin_scan_loop): New.
283 (bfin_optimize_loop): New.
284 (bfin_reorg_loops): New.
285 (bfin_reorg): Use bfin_reorg_loops.
286 * config/bfin/bfin.h (FIRST_PSEUDO_REGISTER): Adjust for adding
288 (I_REGNO_P): Simplify.
289 (DP_REGNO_P, DPREG_P): New macros.
290 (REGISTER_NAMES, FIXED_REGISTERS, CALL_USED_REGISTERS,
291 REG_ALLOC_ORDER): Add LT0, LT1, LC0, LC1, LB0, LB1.
292 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
293 Add LT_REGS, LC_REGS, LB_REGS.
294 (REG_CLASS_FROM_LETTER): Add 't' for LT_REGS, 'k' for LC_REGS,
296 (REGNO_REG_CLASS): Deal with loop registers.
297 * config/bfin/bfin.md: Add comment for 't', 'k', 'l' constraint
299 (REG_LT0, REG_LT1, REG_LC0, REG_LC1, REG_LB0, REG_LB1):
300 New constants for loop registers.
301 (UNSPEC_LSETUP_END): New.
302 (seq_insns): New define_attr. Set it for appropriate insns.
303 (movsi_insn): Add alternatives for move from/to
304 loop count registers.
305 (doloop_end): New define_expand.
306 (loop_end): New define_insn.
307 (define_split for bad doloop_end): New.
308 (lsetup_with_autoinit): New define_insn.
309 (lsetup_without_autoinit): New define_insn.
310 (rep_movsi, rep_movhi): Clobber LT1, LC1, LB1.
311 * config/bfin/predicates.md (lc_register_operand): New.
312 (lt_register_operand): New.
313 (lb_register_operand): New.
314 (nondp_register_operand): New.
315 (nondp_reg_or_memory_operand): New.
316 * doc/md.texi: Document Blackfin new 't', 'k', 'l' constraint letters.
318 2006-05-31 Jie Zhang <jie.zhang@analog.com>
320 * config/bfin/bfin.c (bfin_delegitimize_address): New.
321 (TARGET_DELEGITIMIZE_ADDRESS): Define.
323 2006-05-31 Daniel Jacobowitz <dan@codesourcery.com>
325 * Makefile.in (CATALOGS): Add po/ prefix.
326 * configure: Regenerated.
328 2006-05-31 Richard Earnshaw <richard.earnshaw@arm.com>
331 * arm.c (arm_print_operand case 'S'): Validate that the operand is
332 a shift operand before calling shift_op. Avoid redundant call of
335 2006-05-30 Naveen.H.S <naveenh@kpitcummins.com>
336 DJ Delorie <dj@redhat.com>
338 * config/m32c/m32c.c (m32c_expand_insv): Check that the value
339 we're inserting is a singlt-bit constant.
341 2006-05-30 Roger Sayle <roger@eyesopen.com>
343 * simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast
344 width to HOST_WIDE_INT to avoid comparison warnings on some targets.
346 2006-05-30 Roger Sayle <roger@eyesopen.com>
348 PR tree-optimization/23452
349 * fold-const.c (fold_mult_zconjz): New subroutine of fold_binary,
350 to optimize z * conj(z) as realpart(z)^2 + imagpart(z)^2.
351 (fold_binary) <MULT_EXPR>: Call fold_mult_zconjz for integral
352 complex values and with -ffast-math for FP complex values.
354 2006-05-30 Kazu Hirata <kazu@codesourcery.com>
356 * c-common.h: Remove the prototype for yyparse.
357 * rtl.h: Remove the prototype for init_loop.
359 2006-05-30 Andreas Krebbel <krebbel1@de.ibm.com>
361 * cse.c (validate_canon_reg, cse_insn): Don't change insns without
364 2006-05-30 Roger Sayle <roger@eyesopen.com>
366 * simplify-rtx.c (simplify_binary_operation): Unfactor the shift
368 <LSHIFTRT>: Optimize (lshiftrt (clz X) C) as (eq X 0) where C is
369 log2(GET_MODE_BITSIZE(X)) on targets with the appropriate semantics.
371 2006-05-30 Dirk Mueller <dmueller@suse.de>
374 * c-common.c (convert_and_check): Only track TREE_CONSTANT_OVERFLOW
375 for CONSTANT_CLASS_P expresisons.
377 2006-05-30 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
380 * c-typeck.c (c_expr_sizeof_type): Handle invalid types.
382 2006-05-30 Zdenek Dvorak <dvorakz@suse.cz>
384 PR tree-optimization/27779
385 * tree-data-ref.c (analyze_siv_subscript_cst_affine): Use
386 initial_condition instead of CHREC_LEFT.
388 2006-05-30 Steven Bosscher <stevenb.gcc@gmail.com>
390 * config/m32r/m32r.h (DBX_OUTPUT_SOURCE_LINE): Fix type of begin_label.
391 * config/m32r/initfini.c (__do_global_dtors, __do_global_ctors):
392 Make prototypes ISO C90.
394 2006-05-30 Mircea Namolaru <namolaru@il.ibm.com>
395 Leehod Baruch <leehod.baruch@weizmann.ac.il>
397 * see.c (see_analyze_one_def): Correct check.
398 (see_get_extension_data): Check if extension is parallel.
399 (see_get_extension_reg): Likewise.
401 2006-05-30 Uros Bizjak <uros@kss-loka.si>
404 * config/i386/i386.c (ix86_expand_int_vcond): Force cop0
405 into register for (code == GTU).
407 2006-05-29 Roger Sayle <roger@eyesopen.com>
409 PR tree-optimization/24964
410 * simplify-rtx.c (simplify_binary_operation_1): Add function comment.
411 <MULT>: Minor clean-up. Don't convert x*-1.0 into -x if we honor
412 signaling NaNs. Optimize -x*-x as x*x for all float modes, and
413 abs(x)*abs(x) as x*x for scalar floating point modes.
415 2006-05-29 Sebastian Pop <pop@cri.ensmp.fr>
418 * lambda-code.c (perfect_nestify): Don't copy statements
419 in the inner loop: move them to the inner loop header.
421 2006-05-29 Diego Novillo <dnovillo@redhat.com>
424 * c-tree.texi: Document OpenMP directives and clauses.
426 2006-05-29 Kazu Hirata <kazu@codesourcery.com>
428 * varasm.c (globalize_decl): Fix indentation.
430 2006-05-29 Diego Novillo <dnovillo@redhat.com>
433 * doc/passes.texi: Add documentation for pass_vrp, pass_ipa_pta,
434 pass_fre, pass_store_ccp, pass_copy_prop,
435 pass_store_copy_prop, pass_merge_phi, pass_nrv,
436 pass_return_slot, pass_object_size, pass_lim,
437 pass_linear_transform, pass_empty_loop, pass_complete_unroll,
438 pass_loop_prefetch and pass_stdarg.
440 2005-05-29 Bernd Schmidt <bernd.schmidt@analog.com>
442 * config/bfin/bfin.opt (mfdpic): New option.
443 * config/bfin/t-bfin-elf (EXTRA_PARTS): Add crtbeginS.o and crtendS.o.
444 (EXTRA_MULTILIB_PARTS): Likewise.
445 (CRTSTUFF_T_CFLAGS, TARGET_LIBGCC2_CFLAGS): Use -fpic.
446 (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Build one extra -mfdpic
448 * config/bfin/elf.h (STARTFILE_SPEC): Don't link in crt0.o if -shared.
449 (CRT_CALL_STATIC_FUNCTION): New.
450 * config/bfin/uclinux.h (STARTFILE_SPEC): Don't link in crt0.o if
452 (CRT_CALL_STATIC_FUNCTION): New.
453 * config/bfin/bfin.c (legitimize_pic_address): Now static. Handle
455 (n_pregs_to_save): PIC register doesn't need to be saved with FD-PIC.
456 (print_operand): Handle UNSPEC_MOVE_FDPIC and UNSPEC_FUNCDESC_GOT17M4.
457 (initialize_trampoline): Changed to handle FD-PIC code generation.
458 (expand_move): If TARGET_FDPIC, use emit_pic_move as needed.
459 (bfin_expand_call): Generate FD-PIC calls if TARGET_FDPIC.
460 (override_options): Disallow -mid-shared-library -mfdpic combination.
461 Can't do unaligned ops if FD-PIC.
462 Turn off flag_pic if trying to generate non-id-shared-library
463 non-fdpic code, since it's not supported.
464 (bfin_assemble_integer): New function.
465 (TARGET_ASM_INTEGER): Define.
466 * config/bfin/crti.s (__init, __fini): Save P3 on the stack if
468 * config/bfin/crtn.s: Restore them.
469 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __BFIN_FDPIC__
471 (DRIVER_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
472 LINK_GCC_C_SEQUENCE_SPEC, ASM_SPEC, LINK_SPEC): New macros.
473 (FDPIC_FPTR_REGNO, FDPIC_REGNO, OUR_FDPIC_REG): New macros.
474 (TRAMPOLINE_SIZE, TRAMPOLINE_TEMPLATE): Adjust for FD-PIC.
475 (CONDITIONAL_REGISTER_USAGE): If TARGET_FDPIC, FDPIC_REGNO is
477 (enum reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Add
478 FDPIC_REGS and FDPIC_FPTR_REGS.
479 (REG_CLASS_FROM_LETTER): Use 'Z' and 'Y' for them.
480 * config/bfin/bfin.md (UNSPEC_MOVE_FDPIC, UNSPEC_FUNCDESC_GOT17M4,
481 UNSPEC_VOLATILE_LOAD_FUNCDESC): New constants.
482 (load_funcdescsi): New pattern.
483 (call_symbol_fdpic, sibcall_symbol_fdpic, call_value_symbol_fdpic,
484 sibcall_value_symbol_fdpic, call_insn_fdpic, sibcall_insn_fdpic,
485 call_value_insn_fdpic, sibcall_value_insn_fdpic): New patterns.
487 2006-05-29 Kazu Hirata <kazu@codesourcery.com>
489 * gcse.c, rtlanal.c: Remove obsolete comments associated with
492 * config/bfin/bfin.h (PARM_BOUNDRY, STACK_BOUNDRY): Remove.
494 * tree-flow.h: Remove the prototype for add_type_alias.
495 * tree-ssa-alias.c (add_type_alias): Remove.
497 2006-05-28 Kazu Hirata <kazu@codesourcery.com>
499 * cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c,
500 config/fr30/fr30.md, config/i386/i386-interix.h,
501 config/i386/i386.c, config/i386/i386.md, config/sh/superh.h,
502 config/sh/superh64.h, config/v850/v850.c, df-core.c,
503 df-problems.c, df.h, except.c, final.c, haifa-sched.c,
504 lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c,
505 reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c,
506 tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos.
507 Follow spelling conventions.
508 * doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos.
509 Follow spelling conventions.
511 2006-05-27 Richard Guenther <rguenther@suse.de>
514 * fold-const.c (fold_plusminus_mult_expr): Use fold_convert
515 to produce a constant of value 1 of generic type.
517 2006-05-27 Dirk Mueller <dmueller@suse.de>
519 * cgraphunit.c (decide_is_function_needed): Fix wrong
522 2006-05-26 Ulrich Weigand <uweigand@de.ibm.com>
524 PR rtl-optimization/27661
525 * reload.c (find_reloads): When reloading a VOIDmode constant
526 as address due to an EXTRA_MEMORY_CONSTRAINT or 'o' constraint,
527 use Pmode as mode of the reload register.
529 2006-05-26 Eric Botcazou <ebotcazou@adacore.com>
531 * doc/invoke.texi (Optimize Options): Document that -funit-at-a-time
532 is enabled at -O and above.
534 2006-05-26 Steven Bosscher <steven@gcc.gnu.org>
537 * config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump
540 2006-05-25 Mark Mitchell <mark@codesourcery.com>
543 * gimplify.c (gimplify_decl_expr): Do not call gimple_add_tmp_var
544 for anonymous variables explicitly declared by front ends.
546 2006-05-25 Eric Botcazou <ebotcazou@adacore.com>
548 * tree-ssa-structalias.h (PTR_IS_REF_ALL): New macro.
549 (struct alias_info): Add new field ref_all_symbol_mem_tag.
550 * tree-ssa-alias.c (compute_may_aliases): If the program contains
551 ref-all pointers, run a finalization pass for them.
552 (compute_flow_insensitive_aliasing): Skip ref-all pointers.
553 (finalize_ref_all_pointers): New function.
554 (is_escape_site): Return ESCAPE_BAD_CAST for conversion from a
555 regular pointer type to a ref-all pointer type.
556 (get_tmt_for): Return the special memory tag for ref-all pointers.
558 2006-05-25 Richard Guenther <rguenther@suse.de>
561 * fold-const.c (fold_binary): Do not look at the stripped
562 op0 for (a OP c1) OP c2 to a OP (c1+c2) shift optimization.
564 2006-05-25 Eric Botcazou <ebotcazou@adacore.com>
566 * tree-vrp.c (extract_range_from_assert): Set the range to VARYING
567 for LT and GT if the computed range is effectively empty.
569 2006-05-24 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
572 * pa/pa-modes.def: Use mips_single_format, mips_double_format and
573 mips_quad_format formats instead of ieee_single_format,
574 ieee_double_format and ieee_quad_format formats, respectively.
576 2006-05-24 Zdenek Dvorak <dvorakz@suse.cz>
578 PR tree-optimization/27639
579 PR tree-optimization/26719
580 * tree-vrp.c (adjust_range_with_scev): Use scev_direction and adjust
581 call to scev_probably_wraps_p.
582 * tree-ssa-loop-niter.c (compare_trees, convert_step_widening,
583 used_in_pointer_arithmetic_p, convert_step): Removed.
584 (nowrap_type_p): New function.
585 (scev_probably_wraps_p): Rewritten.
586 * tree-scalar-evolution.c (instantiate_parameters_1): Do not call
587 chrec_convert if chrec_convert_aggressive might have been used.
588 * tree-chrec.c (convert_affine_scev, chrec_convert_1,
589 scev_direction): New functions.
590 (chrec_convert): Changed to a wrapper over chrec_convert_1.
591 * tree-ssa-loop-ivopts.c (idx_find_step): Use convert_affine_scev
592 instead of convert_step.
593 * tree-flow.h (scev_probably_wraps_p): Declaration changed.
594 (convert_step): Declaration removed.
595 (convert_affine_scev, nowrap_type_p, scev_direction): Declare.
597 2006-05-23 Kenneth Zadeck <zadeck@naturalbridge.com>
599 * df-core.c: Added to header comments.
600 * df.h (df_ru_bb_info, df_rd_bb_info, df_lr_bb_info,
601 df_ur_bb_info, df_urec_bb_info): Added comments.
602 * df-problems (df_ref_bitmap, ru, rd, lr, ur,
603 urec, ri problems): Fixed header comments.
604 (df_ru_transfer_function): Fixed in-out set dyslexia when copying
605 code from df_rd_transfer_function.
607 2006-05-23 Richard Sandiford <richard@codesourcery.com>
609 * libgcc2.c (LIBGCC2_MAX_UNITS_PER_WORD): New macro.
610 (LIBGCC2_UNITS_PER_WORD): Use LIBGCC2_MAX_UNITS_PER_WORD rather than
611 MIN_UNITS_PER_WORD to set the default. Also use it in the guard.
613 2006-05-23 Joseph Myers <joseph@codesourcery.com>
615 * expr.c (undefined_operand_subword_p): New.
616 (emit_move_multi_word): Do not generate move from undefined bits
617 of a paradoxical subreg.
619 2006-05-23 Richard Sandiford <richard@codesourcery.com>
621 PR rtl-optimization/27736
622 * combine.c (replaced_rhs_value): New variable.
623 (combine_instructions): Set it.
624 (distribute_notes): When distributing a note in replaced_rhs_insn,
625 check whether the value was used in replaced_rhs_value.
627 2006-05-23 Andrew MacLeod <amacleod@redhat.com>
630 * tree-ssa-loop-im.c (determine_invariantness_stmt): Use
631 add_referenced_var instead of add_referenced_tmp_var.
632 * tree-complex.c (create_one_component_var): Use add_referenced_var.
633 * tree-ssa-loop-manip.c (create_iv, tree_unroll_loop): Use
635 * tree-tailcall.c (adjust_accumulator_values, adjust_return_value,
636 tree_optimize_tail_calls_1): Use add_referenced_var.
637 * tree-ssa-loop-ivopts.c (create_new_iv): Use add_referenced_var.
638 * tree-ssa-alias.c (create_memory_tag, create_global_var, create_sft):
639 Use add_referenced_var.
640 * tree-if-conv.c (ifc_temp_var): Use add_referenced_var.
641 * gimplify.c (force_gimple_operand): Use add_referenced_var.
642 * tree-ssa-phiopt.c (conditional_replacement, abs_replacement):
643 Use add_referenced_var.
644 * tree-dfa.c (struct walk_state): Remove.
645 (find_referenced_vars): Remove walk state and vars_found hash table.
646 (make_rename_temp): Use add_referenced_var.
647 (find_vars_r): Pass less parameters to add_referenced_var.
648 (referenced_var_p): New. Is var in referenced_var hash table.
649 (referenced_var_insert): Assert var isn't already in hash table.
650 (add_referenced_var): Don't need walk_state parameter. Add var if it
651 isn't already in the hash table.
652 (add_referenced_tmp_var): Remove.
653 (find_new_referenced_vars_1): Use add_referenced_var.
654 * tree-ssa-pre.c (create_expression_by_pieces,
655 insert_into_preds_of_block, insert_extra_phis, realify_fake_stores):
656 Use add_referenced_var.
657 * tree-vect-patterns.c (vect_pattern_recog_1): Use add_referenced_var.
658 * lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression,
659 lambda_loopnest_to_gcc_loopnest, perfect_nestify): Use
661 * tree-vect-transform.c (vect_create_addr_base_for_vector_ref,
662 vect_create_data_ref_ptr, vect_create_destination_var,
663 vect_init_vector, vect_build_loop_niters,
664 vect_generate_tmps_on_preheader, vect_update_ivs_after_vectorizer,
665 vect_gen_niters_for_prolog_loop, vect_create_cond_for_align_checks):
666 Use add_referenced_var.
667 * tree-outof-ssa.c (create_temp): Use add_referenced_var.
668 * tree-flow.h (add_referenced_tmp_var): Remove prototype
669 (add_referenced_var): Add prototype.
670 * tree-ssa-structalias.c (get_constraint_for,
671 intra_create_variable_infos): Use add_referenced_var.
673 2006-05-23 Alexandre Oliva <aoliva@redhat.com>
675 * simplify-rtx.c (simplify_subreg): Adjust REG_OFFSET for
676 big-endian paradoxical subregs.
677 * var-tracking.c (struct micro_operation_def): Document that,
678 for modify micro operations, insn is the subsequent instruction.
679 (var_reg_delete_and_set, var_mem_delete_and_set): Split into...
680 (var_reg_set, var_mem_set): ... new functions.
681 (add_stores): Record subsequent insn.
682 (compute_bb_dataflow): Use new functions for MO_USE.
683 (emit_notes_in_bb): Use new functions for MO_USE. Emit use
684 notes after the insn, and modify notes before the insn known
685 to be the subsequent one.
686 (vt_initialize): Invert sorting of MO_CLOBBERs and MO_SETs.
688 2006-05-23 Kazu Hirata <kazu@codesourcery.com>
691 * config/i386/i386.c (ix86_expand_builtin): Use
692 gen_sse3_monitor64 for TARGET_64BIT.
694 2006-05-22 Kenneth Zadeck <zadeck@naturalbridge.com>
696 PR rtl-optimization/26375
697 PR rtl-optimization/26855
698 * df-problems (df_ru_bb_local_compute_process_def): Removed update
700 (df_ru_bb_local_compute): Reversed statements and removed bogus
701 comment explaining why they should be in wrong order.
702 (df_ru_dump, df_rd_dump): Enhanced debug info.
703 * modulo-sched.c (sms_schedule, tree_opt_pass pass_sms): Enhanced
705 * ddg.c (add_deps_for_def): Converted use of reaching defs to
706 reaching uses and fixed space problem.
708 2006-05-23 Jan Hubicka <jh@suse.cz>
710 * cgraphunit.c (decide_is_function_needed): Also nested functions
711 and functions declared inline can be optimized out at -O0.
713 2006-05-22 Gerald Pfeifer <gerald@pfeifer.com>
715 * doc/install.texi (Configuration): Remove reference to CrossGCC
716 FAQ which was hijacked.
719 2006-05-22 Kazu Hirata <kazu@codesourcery.com>
722 * config/i386/i386.c (ix86_expand_branch): Jump to simple if
723 ix86_compare_emitted is non-NULL.
725 2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
728 * stmt.c (expand_asm_operands): Skip asm statement with erroneous
731 2006-05-22 Richard Sandiford <richard@codesourcery.com>
733 PR rtl-optimization/25514
734 * combine.c (replaced_rhs_insn): New variable.
735 (combine_instructions): Set replaced_rhs_insn when trying to replace
736 a SET_SRC with a REG_EQUAL note.
737 (distribute_notes): Use replaced_rhs_insn when determining the live
738 range of a REG_DEAD register.
740 2006-18-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
741 Anatoly Sokolov <aesok@post.ru>
743 * config/avr/avr.c (avr_mcu_types): Add support for attiny261,
744 attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
745 attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p,
746 atmega164p, atmega324p, atmega644p, atmega644, atmega329,
747 atmega3290, atmega649, atmega6490, atmega406, atmega640,
748 atmega1280, atmega1281, at90can32, at90can64, at90usb646,
749 at90usb647, at90usb1286 and at90usb1287 devices.
750 * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
751 * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
753 2006-05-22 Richard Sandiford <richard@codesourcery.com>
755 * mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment.
757 2006-05-22 Richard Guenther <rguenther@suse.de>
760 2006-01-31 Richard Guenther <rguenther@suse.de>
761 Paolo Bonzini <bonzini@gnu.org>
763 * doc/install.texi (--disable-libgcc-math): Document.
765 2006-05-22 Richard Guenther <rguenther@suse.de>
768 2006-01-31 Richard Guenther <rguenther@suse.de>
770 * doc/invoke.texi (-msselibm): Document.
771 * target.h (expand_library_builtin): New target hook.
772 * builtins.c (expand_builtin): Use expand_library_builtin.
773 (default_expand_library_builtin): New function.
774 * gcc.c (LINK_GCC_MATH_SPEC): Define.
775 (LINK_COMMAND_SPEC): Handle %(link_gcc_math).
776 (link_gcc_math_spec): Declare.
777 (static_specs): Add link_gcc_math_spec.
778 * expr.h (default_expand_library_builtin): Declare.
779 * target-def.h (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
780 (TARGET_INITIALIZER): Add TARGET_EXPAND_LIBRARY_BUILTIN.
781 * config/i386/i386.h: Provide LINK_GCC_MATH_SPEC.
782 * config/i386/i386.opt (msselibm): New target option.
783 * config/i386/i386.c (ix86_builtin_function_variants): New array.
784 (ix86_init_sse_abi_builtins): New function.
785 (ix86_expand_library_builtin): Likewise.
786 (TARGET_EXPAND_LIBRARY_BUILTIN): Define.
787 (override_options): Handle error conditions wrt -msselibm.
788 (ix86_builtins): Add function codes for SSE2 ABI builtins.
789 (ix86_init_builtins): Call ix86_init_sse_abi_builtins.
790 * doc/extend.texi (__builtin_sse2_*): Document new target specific
793 2006-05-22 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
796 * c-common.c (self_promoting_args_p): Skip erroneous args.
799 * c-decl.c (finish_struct): Skip erroneous fields.
801 2006-05-22 Nick Clifton <nickc@redhat.com>
803 * config/cris/cris.opt (march): Remove VarExists attribute.
804 (max-stackframe=): Likewise.
806 2006-05-22 Kazu Hirata <kazu@codesourcery.com>
808 * doc/rtl.texi: Fix a typo.
809 * see.c: Fix comment typos.
811 * tree-ssa-structalias.h (alias_info): Remove num_references.
813 2006-05-21 Mike Stump <mrs@apple.com>
815 * config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas.
817 (darwin_pragma_options): Use BAD instead.
818 (darwin_pragma_unused): Likewise.
819 (darwin_pragma_ms_struct): Likewise.
821 2006-05-21 David Edelsohn <edelsohn@gnu.org>
823 * config/rs6000/rs6000.md (floatsitf2): Remove constraints.
825 2006-05-21 Kazu Hirata <kazu@codesourcery.com>
827 PR rtl-optimization/27671
828 * simplify-rtx.c (simplify_relational_operation_1): Fix
829 simplifications of (eq/ne (xor x y) y) and
832 PR tree-optimization/26622.
833 * fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert
836 2006-05-21 Bernhard Fischer <aldot@gcc.gnu.org>
838 * tree-cfg.c: Prune whitespace.
839 (debug_tree_cfg): Point to correct header containing the
842 2006-05-21 Bernhard Fischer <aldot@gcc.gnu.org>
845 * cgraphunit.c (verify_cgraph_node): Typo in error message.
847 2006-05-20 Andrew Pinski <pinskia@physics.uc.edu>
850 * cgraphunit.c (cgraph_optimize): Don't run ipa passes if error
851 or sorry count is non zero.
853 2006-05-20 Andreas Schwab <schwab@suse.de>
855 * config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab.
857 2006-05-19 Daniel Berlin <dberlin@dberlin.org>
858 Kenneth Zadeck <zadeck@naturalbridge.com>
860 PR rtl-optimization/26855
862 * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for
864 (df_scan_alloc): Added code to properly handle multiword hard
865 registers and add all_blocks parameter.
866 (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
867 code to properly handle multiword hard registers.
868 (df_rescan_blocks): Added code to remove deleted blocks from
870 (df_ref_create_structure, df_ref_record): Added code to properly
872 (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER
873 and set DF_REF_PARTIAL.
874 (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER.
875 (df_uses_record): Added DF_REF_PARTIAL for subreg.
876 (df_scan_add_problem): Added flags parameter.
877 (df_ref_create_structure): Changed switching structure.
878 (df_bb_refs_record): Fixed case where duplicate artificial refs
879 were created. Changed location of flags.
880 (df_record_entry_block_defs): Added code to make stack pointer
881 live in entry block. Refined cases where frame pointer is needed.
882 Changed location of flags.
883 (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags.
884 (df_set_state): Removed function.
885 (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove,
886 df_insn_create_insn_record, df_insn_refs_delete,
887 df_ref_create_structure): Formatting changes.
888 * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
889 df_delete_basic_block): New function.
890 (df_init): Changed location of flags.
891 (df_add_problem): Added flags parameter and the way flags are
893 (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
894 debug_df_chain): Improved debugging output.
895 (df_insn_debug, df_insn_uid_debug): Added multiword reg support.
896 (df_refs_chain_dump): Removed df parameter.
897 (df_iterative_dataflow): Added consistency check.
898 (df_prune_to_subcfg): Made public.
899 (df_analyze_problem): Added blocks_to_init parameter and made
901 (df_ref_record, df_bb_refs_record, df_mark_reg,
902 df_record_exit_block_uses): Whitespace changes.
903 (df_dump): Whitespace changes.
904 * df.h: Some reordering to remove forward references.
905 (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL,
906 DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields.
907 (df_ref_flags.DF_REF_CLOBBER): Deleted field.
908 (dataflow.flags): New field.
909 (df.flag): Deleted field.
910 (df_alloc_function): Added additional bitmap parameter.
911 (df_dependent_problem_function): New type.
912 (df_problem.changeable_flags): New field.
913 (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL,
914 DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
915 (df_mw_hardreg): New struct.
916 (DF_INSN_UID_MWS): New macro.
917 (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
919 (df_add_problem, df_ru_add_problem, df_rd_add_problem,
920 df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
921 df_ri_add_problem, df_scan_add_problem): Added flags parameter.
922 (df_set_state): Removed function.
923 (df_set_flags, df_clear_flags, df_delete_basic_block) New functions.
924 * df-problems.c (df_chain_dump): Removed df parameter.
925 (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
926 df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
928 (df_ru_alloc, df_rd_alloc): Now resets all blocks.
929 (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute,
930 df_chain_create_bb, df_create_unused_note, df_ri_bb_compute):
931 Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and
932 DF_REF_MUST_CLOBBER cases.
933 (df_ru_bb_local_compute_process_def,
934 df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
935 df_lr_bb_local_compute, df_ur_bb_local_compute,
936 df_chain_create_bb): Made subreg aware.
937 (df_ru_bb_local_compute, df_rd_bb_local_compute,
938 df_lr_bb_local_compute, df_lr_bb_local_compute,
939 df_chain_create_bb): Cleanup to use proper macros.
940 (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary
941 code to fixup bitvectors.
942 (df_ri_alloc): Cleared lifetime.
943 (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
944 df_create_unused_note): New function.
945 (df_ri_bb_compute, df_ri_compute): Added code to create/update
946 REG_DEAD and REG_UNUSED notes as well as register information.
947 (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
948 df_chains_dump): Fixed crash if problem was never run.
949 (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
950 df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
951 df_ri_add_problem): Processes flags in uniform manner.
952 (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free,
953 df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free,
954 df_rd_dump, df_urec_free_bb_info): Formatting changes.
955 (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump,
956 df_rd_free_bb_info, df_rd_bb_local_compute_process_def,
957 df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info,
958 df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info,
959 df_ur_dump, df_urec_free_bb_info, df_urec_dump,
960 df_chain_create_bb, df_ri_bb_compute): Whitespace changes.
961 * modulo-sched.c (sms_schedule): Added flag parameter to calls.
962 * see.c (see_initialize_data): Ditto.
963 * final.c (rest_of_clean_state) Added regstack_completed.
964 * rtl.h (regstack_completed): Ditto.
965 * reg-stack.c (regstack_completed): Ditto.
967 2006-05-19 Mike Stump <mrs@apple.com>
969 * c-tree.h (default_conversion): Remove.
970 * c-common.h (default_conversion): Add.
972 2006-05-19 Zdenek Dvorak <dvorakz@suse.cz>
974 * tree-vrp.c (valid_value_p): New function.
975 (adjust_range_with_scev): Fail if the value of bound is not
978 2006-05-19 Richard Sandiford <richard@codesourcery.com>
980 * config/mips/linux-unwind.h: Include <asm/unistd.h>
981 (mips_fallback_frame_state): Use syscall numbers to determine
982 the appropriate li instruction for the current ABI. Only use
983 __NR_sigreturn for o32.
985 2006-05-19 Nicolas Setton <setton@adacore.com>
987 * langhooks.h (struct lang_hooks): Add dwarf_name language hook.
988 * langhooks.c (lhd_dwarf_name): New function.
989 * langhooks-def.h (lhd_dwarf_name): Declare.
990 (LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name.
991 * dwarf2out.c (dwarf2_name): Use the dwarf_name language hook.
992 * ada/misc.c (gnat_dwarf_name): New function.
993 (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
995 2006-05-19 Richard Sandiford <richard@codesourcery.com>
997 * libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from
999 (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old
1000 MIN_UNITS_PER_WORD logic from libgcc2.h. Do nothing if
1001 LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD.
1002 * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here.
1003 Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to
1004 determine the size of Wtype, etc.
1005 * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument.
1006 (swfloatfuncs): New variable.
1007 (dwfloatfuncs): Likewise.
1008 (lib2funcs): Remove floating-point conversion functions from
1009 initial assignment. Use LIB2_SIDITI_CONV_FUNCS to determine
1010 the set of conversion routines needed. Allow entries to specify
1011 an object name, filename and word size. Update users accordingly.
1012 * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS.
1013 * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define.
1017 2006-02-08 Roger Sayle <roger@eyesopen.com>
1020 * config/fixtfdi.c: New libgcc source file.
1021 * config/fixunstfdi.c: New source file.
1022 * config/floatditf.c: New source file.
1023 * config/floatunditf.c: New souce file.
1024 * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
1025 files above instead of config/mips/_tilib.c.
1026 * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
1028 2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1030 * pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'.
1031 * pa/pa-hpux11.h (LIB_SPEC): Update comment.
1033 2006-05-18 Mike Stump <mrs@apple.com>
1035 Fix up vla, vm and [*] sematics.
1041 * c-tree.h (struct c_arg_info): Add had_vla_unspec.
1042 (c_vla_unspec_p): Add.
1043 (c_vla_type_p): Add.
1044 * c-decl.c (struct c_scope): Add had_vla_unspec.
1045 (build_array_declarator): Add support for [*].
1046 (grokdeclarator): Likewise.
1047 (grokparms): Likewise.
1048 (get_parm_info): Likewise.
1049 * c-objc-common.c (c_vla_unspec_p): Likewise.
1050 * c-objc-common.h (LANG_HOOKS_TREE_INLINING_VAR_MOD_TYPE_P): Likewise.
1051 * c-parser.c (c_parser_typeof_specifier): Evaluate arguments to
1052 typeof when argument is a variably modified type not inside sizeof or alignof.
1053 (c_parser_direct_declarator_inner): Propagate errors.
1054 (c_parser_sizeof_expression): Add support for [*].
1055 (c_parser_parms_declarator): Initialize had_vla_unspec.
1056 (c_parser_parms_list_declarator): Likewise.
1057 * c-typeck.c (c_vla_type_p): Add.
1058 (composite_type): Add support for vla compositing.
1059 (comptypes_internal): Add support for vla compatibility.
1060 (c_expr_sizeof_expr): Evaluate vla arguments.
1061 * tree.c (variably_modified_type_p): Update comment for [*].
1063 2006-05-18 Michael Matz <matz@suse.de>
1066 * config.host: Make assignments to host_xmake_file cumulative.
1067 * config.host (*-darwin*): Test $host, not $target.
1069 2006-05-12 Stuart Hastings <stuart@apple.com>
1071 * config/i386/i386.opt (-mstackrealign): New flag.
1072 * config/i386/i386.c (force_align_arg_pointer): New attribute.
1073 (ix86_handle_cconv_attribute): Emit error when
1074 force_align_arg_pointer attribute collides with too many regparms.
1075 (ix86_function_regparm): Limit regparms when used with
1076 force_align_arg_pointer attribute. (ix86_internal_arg_pointer):
1077 Support stack-realigning prologue in non-main functions. Emit
1078 warning for nested functions under -mstackrealign, emit error for
1079 nested functions with force_align_arg_pointer attribute.
1080 * doc/extend.texi (force_align_arg_pointer): Document it.
1081 * doc/invoke.texi (-mstackrealign): Document it.
1083 2006-05-17 Kazu Hirata <kazu@codesourcery.com>
1085 PR rtl-optimization/27477
1086 * combine.c (try_combine): Don't split a parallel consisting
1087 of two sets into two individual sets if both sets reference
1090 2006-05-17 H.J. Lu <hongjiu.lu@intel.com>
1092 * config/arm/arm.opt (target_fpe_name): Remove VarExists.
1093 * config/rs6000/rs6000.opt (TARGET_NO_FP_IN_TOC): Likewise.
1095 * doc/options.texi (VarExists): Updated.
1097 2006-05-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1099 * unwind-dw2.c: Add declarations for uw_update_context and
1101 * pa/hpux-unwind.h (pa_fallback_frame_state): When an export stub is
1102 detected, advance frame state and context once to skip over stub.
1104 2006-05-17 Sebastian Pop <pop@cri.ensmp.fr>
1108 * tree-loop-linear.c (linear_transform_loops): Don't test perfect_nest_p.
1109 Call rewrite_into_loop_closed_ssa only when something changed.
1110 * lambda.h (gcc_loopnest_to_lambda_loopnest): Update declaration.
1111 * lambda-code.c (can_convert_to_perfect_nest): Declared.
1112 (gcc_loopnest_to_lambda_loopnest): Removed need_perfect_nest parameter.
1113 Test for perfect_nest_p here. Fix formating.
1114 (replace_uses_equiv_to_x_with_y): Fix formating.
1115 (stmt_uses_op): Removed.
1116 (can_convert_to_perfect_nest): Removed loopivs parameter.
1117 Complete the test by checking the scalar dependences.
1118 (perfect_nestify): Remove the test for can_convert_to_perfect_nest.
1121 2005-05-17 Bernd Schmidt <bernd.schmidt@analog.com>
1124 From Dan Kegel <dank@kegel.com>:
1125 * Makefile.in: Strip "dir/../" combinations from SYSTEM_INCLUDE_DIR.
1127 2006-05-17 Eric Botcazou <ebotcazou@adacore.com>
1129 * tree.c (variably_modified_type_p) <ARRAY_TYPE>: Return true
1130 if the element type is variably modified without recursing.
1132 2006-05-17 Sebastian Pop <pop@cri.ensmp.fr>
1135 * tree-loop-linear.c (try_interchange_loops): Test for
1136 no data dependences.
1138 2006-05-17 Zdenek Dvorak <dvorakz@suse.cz>
1140 PR tree-optimization/27548
1141 * tree-scalar-evolution.c (scev_const_prop): Do not prolong life
1142 range of ssa names that appear on abnormal edges.
1143 * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Export.
1144 * tree-flow.h (contains_abnormal_ssa_name_p): Declare.
1146 2005-05-17 Bernd Schmidt <bernd.schmidt@analog.com>
1149 * expr.c (safe_from_p): Handle CONSTRUCTOR again.
1151 2006-05-17 Jakub Jelinek <jakub@redhat.com>
1154 * tree.h (OMP_PARALLEL_COMBINED): Define.
1155 * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field.
1156 (new_omp_context): Add is_combined_parallel argument.
1157 (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust
1158 new_omp_context caller.
1159 (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare):
1160 Adjust gimplify_scan_omp_clauses callers.
1161 (omp_is_private): Issue errors if iteration variable is firstprivate
1162 or reduction in the current context.
1163 * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
1164 on combined parallel workshare constructs.
1166 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1168 * Makefile.in (GCC_OBJS): Replace options.o with gcc-options.o.
1169 (gcc-options.o): New rule.
1171 * optc-gen.awk: Protect variables for gcc-options.o with
1172 #ifdef GCC_DRIVER/#endif.
1174 2006-05-16 Daniel Berlin <dberlin@dberlin.org>
1176 Fix PR tree-optimization/27373
1177 * tree-ssa-forwprop.c: (forward_propagate_addr_expr_1): Add argument.
1178 (forward_propagate_addr_expr): Update call.
1180 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1182 * doc/options.texi: Move the Negative option.
1184 2006-05-16 Richard Guenther <rguenther@suse.de>
1186 PR tree-optimization/22303
1187 * tree-ssa-ccp.c (fold_const_aggregate_ref): Handle reads
1189 (evaluate_stmt): Fall back to fold_const_aggregate_ref, if
1190 ccp_fold did not simplify the statement.
1192 2006-05-16 H.J. Lu <hongjiu.lu@intel.com>
1195 * Makefile.in (GCC_OBJS): New.
1196 (OBJS-common): Add opts-common.o.
1197 (xgcc$(exeext)): Replace gcc.o with $(GCC_OBJS).
1198 (cpp$(exeext)): Likewise.
1199 (gcc.o): Also depend on opts.h.
1200 (opts-common.o): New.
1202 * common.opt (gcoff): Add Negative(gdwarf-2).
1203 (gdwarf-2): Add Negative(gstabs).
1204 (gstabs): Add Negative(gstabs+).
1205 (gstabs+): Add Negative(gvms).
1206 (gvms): Add Negative(gxcoff).
1207 (gxcoff): Add Negative(gxcoff+).
1208 (gxcoff+): Add Negative(gcoff).
1209 * config/i386/i386.opt (m32): Add Negative(m64).
1210 (m64): Add Negative(m32).
1212 * doc/options.texi: Document the Negative option.
1214 * gcc.c: Include "opts.h".
1215 (main): Call prune_options after expandargv.
1217 * optc-gen.awk: Generate common declarations for all flag
1218 variables in options.c. Output the neg_index field.
1220 * opts.c (find_opt): Moved to ...
1221 * opts-common.c: Here. New file.
1223 * opts.h (cl_option): Add a neg_index field.
1225 (prune_options): Likewise.
1227 2006-05-16 Jakub Jelinek <jakub@redhat.com>
1230 * omp-low.c (expand_omp_parallel): Don't assert
1231 .OMP_DATA_I = &.OMP_DATA_O is the first statement in the block,
1232 instead search for it.
1235 * gimplify.c (gimplify_omp_for): Remove assertion that iteration var
1238 2006-05-16 Andreas Schwab <schwab@suse.de>
1240 * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Add missing @end
1243 2006-05-15 Roger Sayle <roger@eyesopen.com>
1246 * config/i386/i386.c (legitimate_constant_p) <CONST_DOUBLE>: TImode
1247 integer constants other than zero are only legitimate on TARGET_64BIT.
1248 <CONST_VECTOR> Only zero vectors are legitimate.
1249 (ix86_cannot_force_const_mem): Integral and vector constants can
1250 always be put in the constant pool.
1252 2006-05-16 DJ Delorie <dj@redhat.com>
1254 * crtstuff.c (__dso_handle): Set section from
1255 TARGET_LBIGCC_SDATA_SECTION if defined.
1256 * doc/tm.texi (TARGET_LIBGCC_SDATA_SECTION): Document.
1257 * config/mips/mips.h (TARGET_LIBGCC_SDATA_SECTION): Define.
1259 2006-05-16 Danny Smith <dannysmith@users.sourceforge.net>
1262 * config.host (i[34567]86-*-mingw*): Append i386/x-mingw32 to
1265 2006-05-16 Ben Elliston <bje@au.ibm.com>
1267 * tree-cfg.c (split_edge_bb_loc): Remove unused variable `src'.
1269 2006-05-15 Per Bothner <per@bothner.com>
1271 * tree.c: (last_annotated_node): Use source_locus typedef.
1272 This permits bootstrapping with --enable-mapped-location.
1274 2006-05-15 Zdenek Dvorak <dvorakz@suse.cz>
1276 PR tree-optimization/26830
1277 * tree-into-ssa.c (struct ssa_name_info): Add age field.
1278 (info_for_ssa_name, current_info_for_ssa_name_age,
1279 blocks_to_update): New variables.
1280 (get_ssa_name_ann): Use info_for_ssa_name instead of SSA_NAME_AUX.
1281 (clear_ssa_name_info, initialize_flags_in_bb,
1282 mark_block_for_update): New functions.
1283 (mark_def_sites, rewrite_stmt): Assert that blocks_to_update is NULL.
1284 (insert_phi_nodes_for, mark_use_interesting, prepare_block_for_update,
1285 prepare_def_site_for): Use mark_block_for_update.
1286 (mark_def_interesting): Assert that the processed block is marked in
1287 blocks_to_update. Do not take blocks argument.
1288 (prepare_use_sites_for, prepare_names_to_update): Do not take blocks
1290 (rewrite_update_init_block, rewrite_update_stmt): Only process
1291 blocks with statements to rewrite.
1292 (delete_update_ssa): Do not clear SSA_NAME_AUX.
1293 (update_ssa): Initialize and free blocks_to_update. Do not
1294 clear flags on statements. Do not use blocks bitmap.
1295 * tree.h (SSA_NAME_AUX): Removed.
1296 (struct tree_ssa_name): Removed aux field.
1297 * print-tree.c (print_node): Do not print SSA_NAME_AUX.
1299 2006-05-15 Richard Guenther <rguenther@suse.de>
1301 PR tree-optimization/27603
1302 * tree-ssa-loop-niter.c (infer_loop_bounds_from_undefined):
1303 Do computations in original type.
1305 2006-05-15 Mircea Namolaru <namolaru@il.ibm.com>
1307 * see.c: Code style changes such as redundant paranthesis,
1308 redundant intialization of local variables etc.
1309 (see_main): Declared now as static.
1310 * doc/invoke.texi: Update that -fsee is not enabled by
1313 2006-05-15 Jakub Jelinek <jakub@redhat.com>
1315 * omp-low.c (check_omp_nesting_restrictions): New function.
1316 (scan_omp_1): Call it.
1319 * omp-low.c (build_outer_var_ref): If VAR is reference in orphaned
1320 construct, return *VAR.
1322 2006-05-14 Kaz Kojima <kkojima@gcc.gnu.org>
1324 PR rtl-optimization/27406
1325 * bt-load.c (migrate_btr_def): Skip the block having abnormal
1328 2006-05-14 Roger Sayle <roger@eyesopen.com>
1330 PR rtl-optimization/27538
1331 * combine.c (expand_compound_operation): Call gen_lowpart
1332 before calling simplify_shift_const.
1334 2006-05-14 Roger Sayle <roger@eyesopen.com>
1336 PR rtl-optimization/22563
1337 * expmed.c (store_fixed_bit_field): When using AND and IOR to store
1338 a fixed width bitfield, always force the intermediates into psuedos.
1340 2006-05-14 Bernhard Fischer <aldot@gcc.gnu.org>
1343 * mkconfig.sh: Use operator = instead of == for test.
1345 2006-05-13 Nick Clifton <nickc@redhat.com>
1347 * dwarf2out.c (dbx_reg_number): Check return value from
1348 LEAF_REG_REMAP and only use it if it is valid.
1349 (multiple_reg_loc_descriptor): Likewise.
1351 2006-05-13 Richard Guenther <rguenther@suse.de>
1353 * config.host <i[34567]86-*-cygwin*>: Append i386/x-cygwin to
1356 2006-05-13 Steven Bosscher <stevenb.gcc@gmail.com>
1358 * df-core.c (df_bb_regno_last_use_find): Do not look for dataflow
1359 information attached to non-INSNs such as NOTEs.
1360 (df_bb_regno_first_def_find, df_bb_regno_last_def_find): Likewise.
1362 2006-05-12 Andreas Krebbel <krebbel1@de.ibm.com>
1364 * config/s390/s390.c (s390_const_ok_for_constraint_p): Disallow -4G for
1366 * config/s390/s390.md: Adjust comment describing On constraint.
1368 2006-05-11 Jan Hubicka <jh@suse.cz>
1370 * cgraphunit.c (decide_is_function_needed): Don't force always_inline
1371 to be output at -O0.
1373 2006-05-11 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1376 * fold-const.c (size_binop): Move sanity check for arguments to
1377 the beginning of the function.
1380 * fold-const.c (tree_expr_nonnegative_p): Return early on invalid
1383 2006-05-11 Richard Guenther <rguenther@suse.de>
1386 * fold-const.c (fold_unary): Handle intermediate conversion
1387 to a pointer type like intermediate conversion to an integer
1388 type in folding of (T1)(T2)var to var.
1389 Match the code to the comment in the final conversion for
1390 (T1)(T2)var to (T1)var regarding to type precision. Rather
1391 than disallow T1 being of pointer type, assert that both T1
1392 and var are of pointer type or not. Make sure not to fall
1393 over the frontends lazyness wrt array to pointer decay though.
1395 2006-05-10 Richard Earnshaw <rearnsha@arm.com>
1397 * arm.c (arm_struct_value_rtx): Delete.
1398 (TARGET_STRUCT_VALUE_RTX): Use the default definition.
1399 (arm_init_cumulative_args): Always initialize nregs to zero.
1401 2006-05-10 Richard Guenther <rguenther@suse.de>
1403 PR tree-optimization/27532
1404 * tree-object-size.c (plus_expr_object_size): Fix typo.
1406 2006-05-10 Kazu Hirata <kazu@codesourcery.com>
1409 * config/m68k/m68k.md (ashrdi_const32, ashrdi_const32_mem,
1410 ashrdi_const, ashrdi3): Use a scratch register.
1412 2006-05-10 Richard Guenther <rguenther@suse.de>
1414 PR tree-optimization/27302
1415 * fold-const.c (operand_equal_p): For two comparisons,
1416 try comparison of one comparison code swapped if that yields
1419 2006-05-10 Ben Elliston <bje@au.ibm.com>
1421 * tree-pretty-print.c (pretty_print_string): No need to handle
1422 '\0' as a special character.
1424 * tree.h: Include "hashtab.h".
1425 (iterative_hash_expr): Use hashval_t in its prototype.
1426 * Makefile.in (TREE_H): Add $(HASHTAB_H).
1428 2006-05-09 Steve Ellcey <sje@cup.hp.com>
1431 * config.gcc (hppa[12]*-*-hpux10*): Set gas to yes.
1432 (hppa*64*-*-hpux11*): Ditto.
1433 (hppa[12]*-*-hpux11*): Ditto.
1435 2006-05-09 David Edelsohn <edelsohn@gnu.org>
1438 * config/rs6000/aix41.h (TARGET_64BIT): Define.
1440 2006-05-09 Michael Matz <matz@suse.de>
1442 * config.host (<i[34567]86-*-*, x86_64-*-*>): Set
1443 host_extra_gcc_objs and host_xmake_file.
1444 (<*-*-linux*>): Don't overwrite host_xmake_file.
1445 * gcc.c (static_spec_functions): Add EXTRA_SPEC_FUNCTIONS.
1446 * config/i386/i386.h (EXTRA_SPEC_FUNCTIONS): Define.
1447 (host_detect_local_cpu): Declare.
1448 (CC1_CPU_SPEC): Add -march=native and -mtune=native cases.
1449 * config/i386/i386.c (override_options): Handle -mtune=native
1451 * config/i386/x-i386: New file.
1452 * config/i386/driver-i386.c: New file.
1453 * doc/invoke.texi (<i386 and x86-64 Options>): Describe
1456 2006-05-09 Dirk Mueller <dmueller@suse.de>
1457 Richard Guenther <rguenther@suse.de>
1460 * fold-const.c (fold_read_from_constant_string): Relax check
1461 for matching types to matching modes.
1463 2006-05-09 Zdenek Dvorak <dvorakz@suse.cz>
1465 PR rtl-optimization/27335
1466 * loop-unroll.c (peel_loops_completely): Use loops->parray to walk the
1469 2006-05-08 Chao-ying Fu <fu@mips.com>
1470 Richard Sandiford <richard@codesourcery.com>
1472 * config/mips/mips-ps-3d.md (scc_ps, s<code>_ps): New patterns.
1473 (vcondv2sf, sminv2sf3, smaxv2sf3): Likewise.
1474 * config/mips/mips.md (UNSPEC_SCC): New constant.
1475 * config/mips/mips-protos.h (mips_expand_vcondv2sf): Declare.
1476 * config/mips/mips.c (mips_reverse_fp_cond_p): New function.
1477 (mips_emit_compare): Use it.
1478 (mips_expand_vcondv2sf): New function.
1480 2006-05-08 Daniel Berlin <dberlin@dberlin.org>
1482 Fix PR tree-optimization/27093
1483 * tree-ssa-alias.c (recalculate_used_alone): Mark variables for
1484 renaming when they become not-used_alone.
1486 2006-05-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1488 * hpux-unwind.h (pa_fallback_frame_state): Handle return parameter
1489 relocation and relocation stubs.
1491 2006-05-08 Eric Christopher <echristo@apple.com>
1493 * unwind-dw2-fde-darwin.c (examine_objects): Only check data
1496 2006-05-08 Jan Hubicka <jh@suse.cz>
1499 * cgraphunit.c (decide_is_function_needed): When not optimizing even
1500 unused static functions are needed.
1502 2006-05-08 Roger Sayle <roger@eyesopen.com>
1505 * reload.c (find_reloads_toplev): Only return the simplified SUBREG
1506 of a reg_equiv_constant if the result is a legitimate constant.
1508 2006-05-08 Uros Bizjak <uros@kss-loka.si>
1511 * config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For
1512 standard 80387 constants, raise the cost to prevent
1513 compress_float_constant() to generate load from memory.
1515 2006-05-08 Kazu Hirata <kazu@codesourcery.com>
1517 * config/arm/constraints.md (c): Fix a typo.
1519 * see.c, tree-flow-inline.h, tree-phinodes.c: Fix comment
1522 2006-05-07 H.J. Lu <hongjiu.lu@intel.com>
1525 * config/i386/pmmintrin.h (_mm_monitor): Remove macro. Use
1527 (_mm_mwait): Likewise.
1529 * config/i386/sse.md (sse3_mwait): Replace "mwait\t%0, %1" with
1531 (sse3_monitor): Make it 32bit only.
1532 (sse3_monitor64): New. 64bit monitor.
1534 2006-05-07 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1537 * config/i386/i386.c (classify_argument): Skip fields with invalid
1540 2006-05-07 Richard Guenther <rguenther@suse.de>
1542 PR tree-optimization/27409
1543 * tree-ssa-structalias.c (get_constraint_for_component_ref):
1544 Do not try to find zero-sized subvars.
1546 2006-05-07 Richard Guenther <rguenther@suse.de>
1548 PR tree-optimization/27136
1549 * tree-ssa-loop-niter.c (get_val_for): Correct function
1550 comment, assert requirements.
1551 (loop_niter_by_eval): Stop processing if the iterated
1552 value did not simplify.
1554 2006-05-07 Mircea Namolaru <namolaru@il.ibm.com>
1556 * opts.c (flag_see): remove its setting at -O3.
1558 2006-05-07 Richard Earnshaw <rearnsha@arm.com>
1560 * genpeep.c (main): Make insn-peep.c depend on flags.h.
1561 * arm/constraints.md: New file.
1562 * arm.h (REG_CLASS_FROM_LETTER_P): Delete.
1563 (CONST_OK_FOR_ARM_LETTER, CONST_OK_FOR_THUMB_LETTER)
1564 (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_ARM_LETTER)
1565 (CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT_STR_ARM)
1566 (CONSTRAINT_LEN, EXTRA_CONSTRAINT_THUMB, EXTRA_CONSTRAINT_STR)
1567 (EXTRA_MEMORY_CONSTRAINT): Likewise.
1568 * arm.md: Include constraints.md.
1569 (thumb_movsi_insn): Use satisfies_constraint_J.
1570 (movhi, movqi): Use satisfies_constraint_I.
1572 2006-04-29 Anatoly Sokolov <aesok@post.ru>
1574 * config/avr/avr.h (CRT_BINUTILS_SPECS): Fixed crt* file name
1575 for atmeg a645 device.
1577 2006-05-06 Richard Guenther <rguenther@suse.de>
1579 PR tree-optimization/27151
1580 * tree-vect-transform.c (vectorizable_condition): Punt on
1581 values that have a different type than the condition.
1583 2006-05-03 Aldy Hernandez <aldyh@redhat.com>
1586 * c-parser.c (c_parser_cast_expression): Only insert casts into
1587 hash table if pointer.
1588 * function.c (used_types_insert_helper): Rename from
1590 (used_types_insert): Call used_types_insert_helper.
1591 * function.h (used_types_insert): Accept only one argument.
1593 2006-05-05 David Edelsohn <edesohn@gnu.org>
1595 * config/rs6000/rs6000.md: Mark all "X" constraints for clobbered
1596 scratch with output modifier.
1598 2006-05-04 David Edelsohn <edelsohn@gnu.org>
1601 * config/rs6000/rs6000.md (stmsi_power): Mark clobber constraint
1602 with output modifier.
1604 2006-05-04 Richard Sandiford <richard@codesourcery.com>
1607 * config/mips/mips.c (mips_symbolic_address_p): Return true
1608 for SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL, SYMBOL_TPREL,
1609 SYMBOL_GOTTPREL, and SYMBOL_TLS.
1611 2006-05-04 Richard Guenther <rguenther@suse.de>
1613 PR tree-optimization/14287
1614 PR tree-optimization/14844
1615 PR tree-optimization/19792
1616 PR tree-optimization/21608
1617 PR tree-optimization/27090
1618 * tree-ssa-pre.c (try_combine_conversion): New function.
1619 (compute_avail): After constructing the value-handle
1620 expression, use try_combine_conversion to combine NOP_EXPRs
1621 with previous value-handle expressions and use the result if it
1624 2006-05-04 Joseph S. Myers <joseph@codesourcery.com>
1626 * config/mips/linux64.h (DWARF_OFFSET_SIZE): Remove.
1628 2006-05-04 Jan Hubicka <jh@suse.cz>
1631 * cgraphunit.c (verify_cgraph_node): Fix cgraph_hash testing.
1633 2006-05-04 Bernd Schmidt <bernd.schmidt@analog.com>
1635 * config/bfin/predicates.md (const01_rtx): Tell generator programs
1636 that this only matches CONST_INTs. All users changed to VOIDmode
1639 * config/bfin/bfin.c: Include "optabs.h".
1640 (bfin_rtx_costs): Some costs for vector operations, to allow combine
1642 (enum bfin_builtins): Add a number of fractional and vector builtins.
1643 (bfin_init_builtins): Likewise.
1644 (struct builtin_description, bdesc_2arg, bdesc_1arg): New.
1645 (safe_vector_operand, bfin_expand_binop_builtin,
1646 bfin_expand_unop_builtin): New functions.
1647 (bfin_expand_builtin): Handle the new builtins.
1648 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
1651 2006-05-04 Leehod Baruch <leehod@il.ibm.com>
1654 * Makefile.in (OBJS-common): Add see.o.
1655 (see.o): Add dependencies.
1656 * common.opt (fsee): New flag for the see optimization was added.
1657 * opts.c (flag_see): Initialized.
1658 * passes.c (init_optimization_passes, pass_see): New pass.
1659 * rtl.h (see_main): Declaration as extern.
1660 * timevar.def (TV_SEE): New.
1661 * tree-pass.h (pass_see): Declaration as extern.
1662 * invoke.texi (-fsee): Document.
1663 * recog.c (validate_simplify_insn): New function.
1664 * recog.h (validate_simplify_insn): Declaration as extern.
1665 * df-problems.c (df_chain_dump): Check for NULL.
1667 2006-05-04 Kenneth Zadeck <zadeck@naturalbridge.com>
1668 Daniel Berlin <dberlin@dberlin.org>
1670 * cfgrtl.c (insert_insn_bb_end_new): New function.
1671 * basic-block.h (insert_insn_bb_end_new): Declaration as extern.
1673 2006-05-04 Leehod Baruch <leehod.baruch@weizmann.ac.il>
1675 * df.h (struct web_entry): Moved from web.c.
1676 (union_defs): Declaration as extern.
1677 (unionfind_root): Likewise.
1678 (unionfind_union): Likewise.
1679 * web.c (struct web_entry): Moved to df.h.
1680 (unionfind_root): Remove static declaration.
1681 (unionfind_union): Likewise.
1682 (union_defs): Likewise and generalize to use callback function.
1683 (web_main): Update arguments for union_defs function call.
1685 2006-05-04 Richard Guenther <rguenther@suse.de>
1687 PR tree-optimization/26447
1688 * tree-ssa-pre.c (realify_fake_stores): For necessary loads
1689 produce SSA_NAME copies before the store stmt to avoid
1690 breaking exception handling.
1692 2006-05-04 Jakub Jelinek <jakub@redhat.com>
1695 * gimplify.c (omp_is_private): If var is shared in some outer context,
1696 return false instead of true. Stop searching on parallel context
1699 2006-05-03 Alexandre Oliva <aoliva@redhat.com>
1702 * coverage.c: Use get_gcov_unsigned_t() instead of
1703 unsigned_type_node all over.
1705 2006-05-02 Andrew MacLeod <amacleod@redhat.com>
1707 PR tree-optimization/27381
1708 * tree-phinodes.c (remove_phi_arg_num): When moving a phi argument,
1709 maintain the same immediate_use links.
1710 * tree-ssa-operands.c (dump_immediate_uses_for): Show iteration marker
1711 node rather than segfaulting.
1713 2006-05-03 Jakub Jelinek <jakub@redhat.com>
1716 * gimplify.c (gimplify_scan_omp_clauses): Compare OMP_CLAUSE_CODE
1717 rather than TREE_CODE to OMP_CLAUSE_REDUCTION. Set also GOVD_SEEN
1718 bit for OMP_CLAUSE_REDUCTION_PLACEHOLDER.
1720 2006-05-02 Daniel Berlin <dberlin@dberlin.org>
1722 Fix PR tree-optimization/26626
1723 * tree-ssa-structalias.c (compute_points_to_sets): For now, solve
1725 * tree-ssa-operands.c (access_can_touch_variable): Allow
1726 typecasting through union pointers.
1728 2006-05-02 Jakub Jelinek <jakub@redhat.com>
1731 * omp-low.c (maybe_lookup_decl_in_outer_ctx): New function.
1732 (build_outer_var_ref): Use maybe_lookup_decl_in_outer_ctx
1733 to find if var will be a global variable even in the nested context.
1734 (omp_copy_decl): Only check for global variable at the end, it might
1735 be overridden in outer contexts.
1736 (scan_sharing_clauses): For global variables don't create a field.
1737 (lower_rec_input_clauses): Do nothing for global shared variables.
1738 Emit a barrier at the end of ILIST if there were any decls in both
1739 firstprivate and lastprivate clauses.
1740 (lower_send_clauses): Do nothing for global variables except for
1743 2006-05-02 Zdenek Dvorak <dvorakz@suse.cz>
1745 * tree.c (unsigned_type_for, signed_type_for): Make sure a type
1746 of the correct signedness is returned.
1748 2006-05-02 Jeff Law <law@redhat.com>
1750 PR tree-optimization/27364
1751 * tree-vrp.c (vrp_int_const_binop): Fix detection of overflow from
1752 multiply expressions.
1754 2006-05-02 Tom Tromey <tromey@redhat.com>
1756 * tree-flow-inline.h (op_iter_init_phiuse): Fixed typo.
1758 2006-05-02 Kazu Hirata <kazu@codesourcery.com>
1761 * arm.c (arm_output_mi_thunk): Use pc-relative addressing when
1762 -mthumb -fPIC are used.
1764 2006-05-02 Stanislaw Skowronek <skylark@linux-mips.org>
1765 Joshua Kinard <kumba@gentoo.org>
1768 * config/mips/mips.h (TRAMPOLINE_TEMPLATE): Avoid 32-bit moves
1769 with 64-bit pointers.
1771 2006-05-02 Paul Brook <paul@codesourcery.com>
1773 * config/arm/arm.c (add_minipool_forward_ref): Check if insn
1775 (create_fix_barrier): Check that a suitable barrier location is
1777 (arm_reorg): Include ftmp->address in allowable range of addresses.
1779 2006-05-02 David Billinghurst <David.Billinghurst@riotinto.com>
1782 * ada/env.c (__gnat_clearenv): Use unsetenv() to clear environment
1785 2006-05-02 Jakub Jelinek <jakub@redhat.com>
1788 * gimplify.c (gimplify_scan_omp_clauses): Handle INDIRECT_REF
1789 around RESULT_DECL for result passed by reference.
1790 (gimplify_expr): Call omp_notice_variable when RESULT_DECL is seen.
1791 * omp-low.c (use_pointer_for_field): Don't look at
1792 DECL_HAS_VALUE_EXPR_P for RESULT_DECLs.
1793 (scan_omp_1): Call remap_decl on RESULT_DECLs.
1794 (lower_rec_input_clauses): Don't allocate VLA memory for the second
1795 time or var for passing by reference for
1796 OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses. Allow creation of
1797 TREE_ADDRESSABLE variables when passing by reference.
1799 * omp-low.c (dump_omp_region): Fix output formatting.
1802 * omp-low.c (remove_exit_barrier): Handle NULL exit_bb.
1803 (expand_omp_parallel): Likewise.
1804 * tree-cfg.c (move_sese_region_to_fn): Likewise.
1807 * omp-low.c (lower_omp_sections): Call maybe_catch_exception
1808 on statement list containing also constructors and destructors.
1809 (lower_omp_single, lower_omp_for, lower_omp_parallel): Likewise.
1812 * except.c (duplicate_eh_regions): Fix clearing of
1813 cfun->eh->region_array entries.
1815 2006-05-01 DJ Delorie <dj@redhat.com>
1817 * configure.ac (gcc_cv_nm): Don't use an in-tree nm if
1819 (gcc_cv_objdump): Likewise.
1820 * configure: Regenerated.
1822 2006-05-01 Kazu Hirata <kazu@codesourcery.com>
1825 * config/arm/vfp.md (*arm_movdi_vfp): Correct the output
1826 templates for case 3 and 4.
1828 2006-05-01 DJ Delorie <dj@redhat.com>
1830 * vec.c: Include bconfig.h when appropriate.
1831 * Makefile.in (build/vec.o): Adjust dependencies.
1832 * mkconfig.sh: Make sure config.h isn't used for build machine
1835 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
1837 * tree-into-ssa.c (phis_to_rewrite, blocks_with_phis_to_rewrite): New
1839 (mark_phi_for_rewrite): New function.
1840 (insert_phi_nodes_for, mark_use_interesting): Call
1841 mark_phi_for_rewrite.
1842 (rewrite_update_phi_arguments): Traverse only phis in phis_to_rewrite.
1843 (update_ssa): Initialize and free phis_to_rewrite.
1845 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
1847 PR rtl-optimization/27291
1848 * loop-doloop.c (add_test, doloop_modify): Handle the case condition is
1849 folded to a constant.
1851 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
1853 PR tree-optimization/27283
1854 * tree-ssa-loop-ivopts.c (struct nfe_cache_elt): Store just trees,
1855 not whole # of iteration descriptions.
1856 (niter_for_exit): Return just # of iterations. Fail if # of iterations
1857 uses abnormal ssa name.
1858 (niter_for_single_dom_exit): Ditto.
1859 (find_induction_variables, may_eliminate_iv): Expect niter_for_exit to
1860 return just the number of iterations.
1862 2006-05-01 Zdenek Dvorak <dvorakz@suse.cz>
1864 PR tree-optimization/27144
1865 * tree-ssa-loop-niter.c (derive_constant_upper_bound): New function.
1866 (record_estimate): Only record constant upper bound.
1867 (infer_loop_bounds_from_undefined): Call
1868 compute_estimated_nb_iterations just once.
1869 (proved_non_wrapping_p): Renamed to ...
1870 (n_of_executions_at_most): ... this. Expect bound to be a constant.
1871 (convert_step_widening, scev_probably_wraps_p): Call
1872 n_of_executions_at_most instead of proved_non_wrapping_p.
1873 (substitute_in_loop_info): Do not replace values in bounds.
1874 * cfgloop.h (struct nb_iter_bound): Remove "additional" field. Update
1877 2006-05-01 Richard Henderson <rth@redhat.com>
1880 * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Move after
1881 c_parser_skip_to_pragma_eol. Convert to switch statement. Handle
1884 2006-05-01 Roger Sayle <roger@eyesopen.com>
1886 * c-typeck.c (parser_build_binary_op): Don't call the function
1887 unsigned_conversion_warning to spot operand/result type overflow.
1888 (build_binary_op): Instead, call convert_and_check instead of
1889 convert to report the problem when the operands are promoted.
1890 * c-common.c (unsigned_conversion_warning): Make static.
1891 * c-common.h (unsigned_conversion_warning): Delete prototype.
1893 2006-05-01 Richard Guenther <rguenther@suse.de>
1895 PR tree-optimization/26726
1896 * tree-ssa-loop-ivopts.c (idx_find_step): Mark source of the
1898 (find_interesting_uses_address): ... we work around here
1899 by folding INDIRECT_REFs in the substituted base.
1901 2006-05-01 Diego Novillo <dnovillo@redhat.com>
1903 * omp-low.c (dump_omp_region): Add newlines.
1905 2006-04-30 Roger Sayle <roger@eyesopen.com>
1907 * common.opt (Woverflow): New command line option.
1908 * c-common.c (constant_expression_warning): Check warn_overflow.
1909 (overflow_waring): Pass OPT_Woverflow to warning.
1910 (unsigned_conversion_warning): Likewise.
1911 (convert_and_check): Likewise.
1912 * doc/invoke.texi: Document new command line option.
1914 2006-04-30 David Edelsohn <edelsohn@gnu.org>
1916 * config/rs6000/rs6000.c (rs6000_override_options): Enable
1917 TARGET_NO_FP_IN_TOC for section anchors.
1918 (optimization_options): Enable section anchors for all
1919 non-"Objective" languages.
1921 2006-04-28 Eric Christopher <echristo@apple.com>
1923 * config/darwin-c.c (darwin_ms_struct): Move this
1924 (darwin_set_default_type_attributes): and this...
1925 * config/darwin.c: ... here.
1926 * config/darwin.h (darwin_ms_struct): Declare.
1928 2006-04-28 Andrew MacLeod <amacleod@redhat.com>
1930 * tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause.
1932 2006-04-28 Roger Sayle <roger@eyesopen.com>
1935 * c-typeck.c (struct spelling): Make I an unsigned HOST_WIDE_INT.
1936 (push_array_bounds): Delete prototype. Change BOUNDS argument to
1937 an unsigned HOST_WIDE_INT.
1938 (print_spelling): Use HOST_WIDE_INT_PRINT_UNSIGNED to output the
1940 (really_start_incremental_init): No need to call convert because
1941 bitsize_zero_node is already of type bitsizetype.
1942 (push_init_level): Extract the value of constructor_index as an
1943 unsigned HOST_WIDE_INT quantity, using tree_low_cst.
1944 (process_init_element): Likewise.
1946 2006-04-28 Joseph S. Myers <joseph@codesourcery.com>
1948 * gcc.c (process_command): Add program name to GCC_EXEC_PREFIX
1949 value before passing to make_relative_prefix.
1951 2006-04-28 Alan Modra <amodra@bigpond.net.au>
1954 * builtins.c (expand_builtin_memset): Expand val in original mode.
1956 2006-04-27 Eric Christopher <echristo@apple.com>
1958 * target-def.h (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Bracket
1959 with #ifndef/#endif.
1960 * config/darwin-c.c (darwin_ms_struct): New.
1961 (darwin_pragma_ms_struct): Ditto.
1962 (darwin_set_default_type_attributes): Ditto.
1963 * config/darwin-protos.h (darwin_pragma_ms_struct): Declare.
1964 * config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS):
1965 Register ms_struct pragma.
1966 * config/i386/darwin.h (REGISTER_TARGET_PRAGMAS): Declare.
1967 (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Ditto.
1968 * config/rs6000/rs6000.c (rs6000_set_default_type_attributes): Call
1969 darwin_set_default_type_attributes if TARGET_MACHO.
1971 2006-04-27 Andrew MacLeod <amacleod@redhat.com>
1973 PR tree-optimization/26854
1974 * tree-vrp.c (remove_range_assertions): Use new Immuse iterator.
1975 * doc/tree-ssa.texi: Update immuse iterator documentation.
1976 * tree-ssa-math-opts.c (execute_cse_reciprocals_1): Use new iterator.
1977 * tree-ssa-dom.c (propagate_rhs_into_lhs): Use new iterator.
1978 * tree-flow-inline.h (end_safe_imm_use_traverse, end_safe_imm_use_p,
1979 first_safe_imm_use, next_safe_imm_use): Remove.
1980 (end_imm_use_stmt_p): New. Check for end of immuse stmt traversal.
1981 (end_imm_use_stmt_traverse): New. Terminate immuse stmt traversal.
1982 (move_use_after_head): New. Helper function to sort immuses in a stmt.
1983 (link_use_stmts_after): New. Link all immuses in a stmt consescutively.
1984 (first_imm_use_stmt): New. Get first stmt in an immuse list.
1985 (next_imm_use_stmt): New. Get next stmt in an immuse list.
1986 (first_imm_use_on_stmt): New. Get first immuse on a stmt.
1987 (end_imm_use_on_stmt_p): New. Check for end of immuses on a stmt.
1988 (next_imm_use_on_stmt): New. Move to next immuse on a stmt.
1989 * tree-ssa-forwprop.c (forward_propagate_addr_expr): Use new iterator.
1990 * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use new iterator.
1991 (perfect_nestify): Use new iterator.
1992 * tree-vect-transform.c (vect_create_epilog_for_reduction): Use new
1994 * tree-flow.h (struct immediate_use_iterator_d): Add comments.
1995 (next_imm_name): New field in struct immediate_use_iterator_d.
1996 (FOR_EACH_IMM_USE_SAFE, BREAK_FROM_SAFE_IMM_USE): Remove.
1997 (FOR_EACH_IMM_USE_STMT, BREAK_FROM_IMM_USE_STMT,
1998 FOR_EACH_IMM_USE_ON_STMT): New immediate use iterator macros.
1999 * tree-cfg.c (replace_uses_by): Use new iterator.
2000 * tree-ssa-threadedge.c (lhs_of_dominating_assert): Use new iterator.
2001 * tree-ssa-operands.c (correct_use_link): Remove.
2002 (finalize_ssa_use_ops): No longer call correct_use_link.
2004 2006-04-27 Stuart Hastings <stuart@apple.com>
2006 * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New.
2007 * config/t-darwin (crt3.o): Use it.
2008 * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Remove
2009 'pmode', use Pmode instead of SImode for SYMBOL_REF.
2010 * config/rs6000/rs6000.md (call_indirect_nonlocal_sysv,
2011 call_nonlocal_sysv, call_value_indirect_nonlocal_sysv,
2012 call_value_nonlocal_sysv): Suffix with the "P" macro for 32/64
2015 2006-04-27 Roger Sayle <roger@eyesopen.com>
2017 * expmed.c (store_fixed_bit_field): If we're not optimizing for
2018 size, force the intermediate into a new pseudo rather instead of
2019 performing both a bitwise AND and a bitwise IOR in memory.
2021 2006-04-27 Richard Guenther <rguenther@suse.de>
2023 PR rtl-optimization/26685
2024 * params.def (PARAM_MAX_CSE_INSNS): Correct typo that named
2025 this one "max-flow-memory-locations".
2027 2006-04-27 Richard Guenther <rguenther@suse.de>
2029 PR tree-optimization/25148
2030 * tree-vrp.c (compare_values): Remove code dealing with
2031 comparisons against type min/max value. Honour overflow
2032 and negative constants in code dealing with comparisons
2033 of plus and minus expressions.
2034 (value_inside_range): Use fold_binary with LE_EXPR and
2035 GE_EXPR rather than compare_values.
2037 2006-04-27 Dirk Mueller <dmueller@suse.de>
2039 * config/i386/xmmintrin.h (_mm_shuffle_pi16): Declare
2042 2006-04-26 Kenneth Zadeck <zadeck@naturalbridge.com>
2044 * basic-block.h (safe_insert_insn_on_edge): Removed.
2045 * cfgrtl.c (mark_killed_regs, safe_insert_insn_on_edge): Removed.
2047 2006-04-26 David Edelsohn <edelsohn@gnu.org>
2048 Paolo Bonzini <bonzini@gnu.org>
2051 * combine.c (simplify_and_const_int_1): Use gen_int_mode.
2052 (simplify_and_const_int): Same.
2054 2006-04-26 Aldy Hernandez <aldyh@redhat.com>
2056 * tree-ssa-dse.c (dse_optimize_stmt): Remove unused variable USE.
2058 2006-04-26 Jakub Jelinek <jakub@redhat.com>
2061 * cgraph.c (cgraph_varpool_finalize_decl): Don't call
2062 cgraph_varpool_assemble_pending_decls if -fopenmp, unless
2063 cgraph_global_info_ready.
2066 * tree-cfg.c (find_outermost_region_in_block): Handle RESX_EXPR.
2069 * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for if
2070 either decl or init is error_mark_node.
2073 * tree-flow.h (struct omp_region): Add sched_kind.
2074 * omp-low.c (expand_parallel_call): Use region->inner->sched_kind
2075 instead of extracting omp for data.
2076 (expand_omp_for): Save extracted sched_kind.
2078 2006-04-25 Roger Sayle <roger@eyesopen.com>
2080 * expmed.c (store_bit_field): Also check whether the bitsize is
2081 valid for the machine's "insv" instruction before moving the
2082 target into a pseudo for use with the insv.
2083 * config/i386/predicates.md (const8_operand): New predicate.
2084 * config/i386/i386.md (extv, extzv, insv): Use the new
2085 const8_operand predicate where appropriate.
2087 2006-04-25 DJ Delorie <dj@redhat.com>
2089 * doc/install.texi (Specific): Clarify that this is not a list of
2090 supported hosts or targets.
2092 2006-04-25 Richard Sandiford <richard@codesourcery.com>
2094 PR rtl-optimization/26725
2095 * cfgrtl.c (rtl_redirect_edge_and_branch_force): Set the source
2096 block's BB_DIRTY flag.
2098 2006-04-25 Geoffrey Keating <geoffk@apple.com>
2100 * dwarf2out.c (size_of_locs): Don't fill dw_loc_addr if there
2103 * dwarf2asm.c (dw2_asm_output_data): Don't generate RTL just
2104 to print an integer.
2106 2006-04-25 David Edelsohn <edelsohn@gnu.org>
2108 * varasm.c (align_variable): New function.
2109 (get_block_for_decl): Apply align_variable to DECL before
2110 calculating section information.
2111 (assemble_variable): Split out alignment computation.
2113 2006-04-25 Andreas Krebbel <krebbel1@de.ibm.com>
2115 * expmed.c (store_bit_field): Handle paradoxical subregs on big endian
2118 2006-04-25 Bernd Schmidt <bernd.schmidt@analog.com>
2120 * genmodes.c (make_vector_mode): Allow making VECTOR_MODE_INT of a
2121 MODE_PARTIAL_INT mode.
2122 * config/bfin/bfin-modes.def: Add V2PDI and V2SI.
2123 * config/bfin/bfin.c (print_operand): Add macflag and mac/msu modifiers
2125 (hard_regno_mode_ok): V2PDImode is ok for accumulators.
2126 * config/bfin/bfin.h (CLASS_MAX_NREGS, HARD_REGNO_NREGS): Handle
2128 * config/bfin/predicates.md (const01_operand, vec_shift_operand):
2130 * config/bfin/bfin.md (UNSPEC_MUL_WITH_FLAG, UNSPEC_MAC_WITH_FLAG):
2132 (MACFLAG_NONE, MACFLAG_T, MACFLAG_FU, MACFLAG_TFU, MACFLAG_IS,
2133 MACFLAG_IU, MACFLAG_W32, MACFLAG_M, MACFLAG_S2RND, MACFLAG_ISS2,
2134 MACFLAG_IH): Likewise.
2135 (movstricthi_1): Renamed from "*movstricthi".
2136 (load_accumulator, load_accumulator_pair, movsi_insv, insv,
2137 ssaddsi3, sssubsi3, ssnegsi2, signbitssi2, smaxhi3, sminhi3,
2138 abshi2, neghi2, ssneghi2, signbitshi2, movhi_low2high,
2139 movhi_high2high, movhi_low2low, movhi_high2low, movhiv2hi_low,
2140 movhiv2hi_high, composev2hi, movv2hi_hi, movv2hi_hi_low,
2141 movv2hi_hi_high, ssaddhi3, sssubhi3, ssaddv2hi3, sssubv2hi3,
2142 addsubv2hi3, subaddv2hi3, ssaddsubv2hi3, sssubaddv2hi3,
2143 sublohiv2hi3, subhilov2hi3, sssublohiv2hi3, sssubhilov2hi3,
2144 addlohiv2hi3, addhilov2hi3, ssaddlohiv2hi3, ssaddhilov2hi3,
2145 mulhisi_ll, mulhisi_lh, mulhisi_hl, mulhisi_hh, ssnegv2hi2,
2146 ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3, packv2hi,
2147 flag_mulhi, flag_mulhisi_parts, flag_machi, flag_machi_acconly,
2148 flag_macinithi, flag_macinit1hi, flag_mulv2hi, flag_mulv2hi_parts,
2149 flag_macv2hi_parts, flag_macv2hi_parts_acconly,
2150 flag_macinitv2hi_parts, flag_macinit1v2hi_parts): New patterns.
2152 * doc/rtl.texi (ss_ashift): Improve wording.
2154 2006-04-24 Geoffrey Keating <geoffk@apple.com>
2156 * dwarf2out.c (verify_marks_clear): New.
2157 (prune_unused_types): Call verify_marks_clear initially, not
2160 2006-04-24 Bernd Schmidt <bernd.schmidt@analog.com>
2162 * rtl.def (SS_ASHIFT, SS_NEG): New codes.
2163 * doc/rtl.texi: Document them.
2164 * simplify-rtx.c (simplify_unary_operation,
2165 simplify_binary_operation_1): Don't abort when we see them.
2167 2006-04-24 Mark Mitchell <mark@codesourcery.com>
2170 2006-04-23 Mark Mitchell <mark@codesourcery.com>
2171 * configure.ac: Completely disregard languages that are not
2173 * configure: Regenerated.
2175 2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org>
2176 Richard Guenther <rguenther@suse.de>
2178 PR tree-optimization/27236
2179 * tree-inline.c (copy_body_r): Make sure to copy
2180 TREE_THIS_VOLATILE flag.
2182 2006-04-24 Richard Guenther <rguenther@suse.de>
2185 * tree-complex.c (update_parameter_components): Don't handle
2186 unused parameters which have no default def.
2188 2006-04-24 Andrew Pinski <pinskia@gcc.gnu.org>
2189 Richard Guenther <rguenther@suse.de>
2191 PR tree-optimization/27218
2192 * tree-inline.c (expand_call_inline): Strip useless type
2193 conversions for the return slot address.
2195 2006-04-24 Richard Guenther <rguenther@suse.de>
2197 * cfgloop.h (struct loops): Remove unused field array. Reorder
2199 (LOOP_PREFETCH): Remove.
2201 2006-04-24 Richard Guenther <rguenther@suse.de>
2203 PR tree-optimization/22525
2204 * value-prof.c (tree_mod_pow2): Remove unnecessary temporary
2205 variable, adjust types of generated expressions.
2207 2006-04-23 H.J. Lu <hongjiu.lu@intel.com>
2209 * Makefile.in (c-convert.o): Add dependency on $(TARGET_H)
2210 (tree-vect-patterns.o): Likewise.
2212 (cselib.o): Likewise.
2213 (loop-doloop.o): Likewise.
2214 (regclass.o): Likewise.
2215 (reload1.o): Likewise.
2216 (explow.o): Replace target.h with $(TARGET_H).
2217 (ipa-prop.o): Likewise.
2218 (ipa-cp.o): Likewise.
2219 (ipa-inline.o): Likewise.
2220 (reorg.o): Likewise.
2221 (reg-stack.o): Likewise.
2223 2006-04-23 Eric Botcazou <ebotcazou@adacore.com>
2225 * tree-tailcall.c (pass_tail_recursion): Use gate_tail_calls too.
2227 2006-04-23 Mark Mitchell <mark@codesourcery.com>
2229 * print-tree.c (print_node): Print DECL_BIT_FIELD_TYPE.
2231 * configure.ac: Completely disregard languages that are not
2233 * configure: Regenerated.
2236 * c-common.h (c_build_bitfield_integer_type): Declare.
2237 * c-decl.c (c_build_bitfield_integer_type): Move to ...
2238 * c-common.c (c_build_bitfield_integer_type): ... here.
2240 2006-04-23 Roger Sayle <roger@eyesopen.com>
2243 * config/fr30/fr30.md (define_split): Avoid calling gen_lowpart on
2244 a SImode SUBREG of a floating point register after no_new_pseudos.
2246 2006-04-23 Roger Sayle <roger@eyesopen.com>
2248 * config/fr30/fr30.md (addsi_small_int): Use REGNO_PTR_FRAME_P to
2249 identify potentially eliminable registers to additionally catch
2250 VIRTUAL_INCOMING_ARGS_REGNUM.
2251 (addsi3): Update the conditions on when to use addsi_small_int.
2253 2006-04-23 Roger Sayle <roger@eyesopen.com>
2256 * config/fr30/fr30.h (GO_IF_LEGITIMATE_ADDRESS): Check REGNO for
2257 STACK_POINTER_RTX and FRAME_POINTER_RTX instead of comparing the
2258 rtx to stack_pointer_rtx or frame_pointer_rtx directly.
2260 2006-04-23 Eric Botcazou <ebotcazou@adacore.com>
2262 * fold-const.c (range_predecessor): Use operand_equal_p
2263 as the predicate for equality.
2264 (range_successor): Likewise.
2266 2006-04-22 Kazu Hirata <kazu@codesourcery.com>
2269 * config/soft-fp/op-common.h: Fix a typo.
2271 2006-04-22 Frank Ch. Eigler <fche@redhat.com>
2274 * common.opt (flag_mudflap_threads): Overload flag_mudflap.
2275 * tree-mudflap.c (flag_mudflap_threads): Derive from flag_mudflap.
2277 2006-04-22 Kazu Hirata <kazu@codesourcery.com>
2279 * config/soft-fp/op-common.h, double-int.h, tree-ssa-dom.c:
2281 * doc/tm.texi: Fix a typo.
2283 2006-04-21 Geoffrey Keating <geoffk@apple.com>
2285 * dwarf2out.c (struct die_struct): Document that die_sib makes
2286 a circular linked list.
2287 (FOR_EACH_CHILD): New.
2288 (reverse_die_lists): Delete.
2289 (reverse_all_dies): Delete.
2290 (add_dwarf_attr): Correct documentation.
2291 (remove_child_with_prev): New.
2292 (remove_child_TAG): Update for change to die_struct, use
2293 remove_child_with_prev.
2294 (add_child_die): Update for change to die_struct.
2295 (splice_child_die): Use remove_child_with_prev and add_child_die.
2296 (print_die): Use FOR_EACH_CHILD.
2297 (die_checksum): Likewise.
2298 (assign_symbol_names): Likewise.
2299 (output_location_lists): Likewise.
2300 (build_abbrev_table): Likewise.
2301 (calc_die_sizes): Likewise.
2302 (mark_dies): Likewise.
2303 (unmark_dies): Likewise.
2304 (unmark_all_dies): Likewise.
2305 (output_die): Likewise.
2306 (prune_unused_types_mark): Likewise.
2307 (prune_unused_types_walk): Likewise.
2308 (same_die_p): Update for change to die_struct.
2309 (break_out_includes): Likewise.
2310 (prune_unused_types_prune): Likewise.
2311 (add_sibling_attributes): Use FOR_EACH_CHILD, simplify logic.
2312 (prune_unmark_dies): Use FOR_EACH_CHILD, don't clear die_mark if
2314 (dwarf2out_finish): Don't call reverse_all_dies.
2316 2006-04-21 Eric Christopher <echristo@apple.com>
2318 * df-core.c, tree-outof-ssa.c, config/i386/i386.c: Fix typos
2319 in comments and function names.
2321 2006-04-21 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2324 * c-typeck.c (digest_init): Robustify.
2326 * c-typeck.c (pop_init_level): Simplify.
2328 2006-04-21 Steve Ellcey <sje@cup.hp.com>
2330 * config/pa/t-pa64: Add dependencies on $(GCC_PASSES).
2332 2006-04-21 Paul Brook <paul@codesourcery.com>
2334 * config/arm/arm.c (arm_override_options): Error on iWMMXt and
2335 hardware floating point.
2337 2006-04-21 David Edelsohn <edelsohn@gnu.org>
2339 * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Add sfp to
2342 2006-04-21 Nick Clifton <nickc@redhat.com>
2344 * config/sh/t-elf (EXTRA_MULTILIB_PARTS): Include
2347 2006-04-21 Alan Modra <amodra@bigpond.net.au>
2350 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
2351 C++ lang type in traceback table for Objective-C++.
2353 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Update comment.
2355 2006-04-20 H.J. Lu <hongjiu.lu@intel.com>
2357 * config/i386/i386.c (asm_preferred_eh_data_format): Reformat.
2359 2006-04-20 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2362 * tree-mudflap.c (mudflap_finish_file): Skip function when there
2363 were errors. Remove check for erroneous objects.
2365 2006-04-20 Jeff Law <law@redhat.com>
2367 PR tree-optimization/26854
2368 * tree-ssa-dse.c (dse_optimize_stmt): Avoid num_imm_uses when
2369 checking for zero or one use.
2370 * tree-ssa-dom.c (propagate_rhs_into_lhs): Similarly.
2371 * tree-cfgcleanup.c (merge_phi_nodes): Similarly.
2372 * tree-ssa-reassoc.c (negate_value): Similarly.
2373 (reassociate_bb): Similarly.
2375 2006-04-20 Jakub Jelinek <jakub@redhat.com>
2377 * c-pretty-print.c (pp_c_direct_abstract_declarator): Print
2378 TYPE_MAX_VALUE (TYPE_DOMAIN (t)) + 1 for ARRAY_TYPE rather
2379 than plain TYPE_MAX_VALUE (TYPE_DOMAIN (t)).
2381 2006-04-20 Alan Modra <amodra@bigpond.net.au>
2383 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Consume all
2384 fp regs if the last fp arg doesn't fit in regs.
2386 2006-04-20 Kaz Kojima <kkojima@gcc.gnu.org>
2389 * config/sh/sh.md (movsicc_true+3): Tweak condition for the case
2390 that the last insn has the REG_INC note.
2392 2006-04-19 Carlos O'Donell <carlos@codesourcery.com>
2393 Nathan Sidwell <nathan@codesourcery.com>
2396 * stor-layout.c (update_alignment_for_field): Do not align
2398 (place_union_field): Place union field at the start of the union.
2399 (place_field): Move ERROR_MARK check later, and use the current
2400 allocation position to maintain monotonicity.
2402 2006-04-19 Zdenek Dvorak <dvorakz@suse.cz>
2404 * dominance.c: Include timevar.h.
2405 (calculate_dominance_info): Use TV_DOMINANCE.
2406 * timevar.def (TV_DOMINANCE): New timevar.
2407 * Makefile.in (dominance.o): Add TIMEVAR_H dependency.
2409 2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com>
2411 PR rtl-optimization/14261
2412 * ifcvt.c (noce_emit_move_insn): Call store_bit_field if the resulting
2413 move would be an INSV insn.
2414 (noce_process_if_block): Don't optimize if the destination is a
2415 ZERO_EXTRACT which can't be handled by noce_emit_move_insn.
2417 2006-04-19 Andreas Krebbel <krebbel1@de.ibm.com>
2419 * config/s390/s390.md: Add comments with the instructions emitted
2420 by an insn pattern if macros are used.
2422 2006-04-19 Alan Modra <amodra@bigpond.net.au>
2424 PR rtl-optimization/26026
2425 * fold-const.c (fold_binary): Optimize div and mod where the divisor
2426 is a known power of two shifted left a variable amount.
2428 2006-04-18 Geoffrey Keating <geoffk@apple.com>
2430 * dwarf2out.c (prune_unused_types_update_strings): Don't add strings
2431 to hash table twice when the debug_str section has SECTION_MERGE.
2433 2006-04-18 Joseph S. Myers <joseph@codesourcery.com>
2435 * config/soft-fp: New directory. From glibc.
2436 * config/soft-fp/t-softfp: New.
2437 * config/soft-fp/README: New.
2438 * mklibgcc.in: Handle LIB2FUNCS_EXCLUDE.
2439 * Makefile.in (LIB2FUNCS_EXCLUDE, SFP_MACHINE): New.
2440 (libgcc.mk): Pass LIB2FUNCS_EXCLUDE.
2441 (LIBGCC_DEPS): Add $(SFP_MACHINE).
2442 * config.gcc: Use rs6000/t-fprules-fpbit or
2443 rs6000/t-fprules-softfp and soft-fp/t-softfp together with
2445 * config/rs6000/sfp-machine.h: New. Based on glibc.
2446 * config/rs6000/t-fprules-fpbit, config/rs6000/t-fprules-softfp:
2448 * config/rs6000/t-fprules: Remove fp-bit rules.
2449 * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Use +=.
2450 * config/rs6000/t-linux64: Likewise. Remove duplicates from
2451 LIB2FUNCS_EXTRA. Remove fp-bit rules.
2452 (softfp_wrap_start, softfp_wrap_end): New.
2454 2006-04-18 DJ Delorie <dj@redhat.com>
2456 * config/m32c/m32c.h (PTRDIFF_TYPE): Define.
2458 2006-04-18 Devang Patel <dpatel@apple.com>
2460 * doc/invoke.texi (-Wuninitialized): Clarify -O connection.
2462 2006-04-18 Nick Clifton <nickc@redhat.com>
2464 * config/sh/t-symbian: Add rule to build sh-c.o
2465 * config/sh/symbian.c (sh_symbian_mark_dllexport): Replace use
2466 of DECL_NON_ADDR_CONST_P with DECL_DLLIMPORT_P.
2467 (sh_symbian_encode_section_info): Likewise.
2469 2006-04-18 Andreas Krebbel <krebbel1@de.ibm.com>
2471 * builtins.c (expand_builtin_strcmp): Cover label definition of
2472 do_libcall with HAVE_cmpstrnsi.
2474 2006-04-18 Kazu Hirata <kazu@codesourcery.com>
2476 * function.c (temp_slots_at_level, max_slot_level): Use VEC
2478 * function.h (temp_slot_p): New.
2479 (function): Change the type of x_used_temp_slots to
2480 VEC(temp_slot_p,gc) *.
2482 2006-04-18 Nick Clifton <nickc@redhat.com>
2484 * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove reference to
2485 flag_strength_reduce.
2487 * doc/tm.texi (TARGET_SECTION_TYPE_FLAGS): Fix typo.
2489 2006-04-18 Paolo Bonzini <bonzini@gnu.org>
2493 Partial revert of revision 112637
2494 2006-04-03 Paolo Bonzini <bonzini@gnu.org>
2495 Dale Johannesen <dalej@apple.com>
2498 * regclass.c (struct reg_pref): Update documentation.
2499 (regclass): Set prefclass to NO_REGS if memory is the best option.
2500 (record_reg_classes): Cope with a prefclass set to NO_REGS.
2502 2006-04-18 Paolo Bonzini <bonzini@gnu.org>
2504 PR tree-optimization/26821
2505 * tree-ssa-math-opts.c (get_constant_one): New.
2506 (insert_reciprocals): Use it.
2508 2006-04-17 Geoffrey Keating <geoffk@apple.com>
2510 * dwarf2out.c (free_AT): Delete.
2511 (remove_AT): Update string ref counts.
2512 (remove_child_TAG): Don't call free_die.
2514 (break_out_includes): Don't call free_die on DW_TAG_GNU_BINCL
2515 or DW_TAG_GNU_EINCL.
2516 (prune_unused_types_walk_attribs): Reset string refcounts.
2517 (prune_unused_types_update_strings): New.
2518 (prune_unused_types_prune): Don't make unnecessary stores. Don't
2519 call free_die. Do call prune_unused_types_update_strings.
2520 (prune_unused_types): Empty debug_str_hash.
2522 2006-04-17 Roger Sayle <roger@eyesopen.com>
2524 * expr.c (expand_assignment): Optimize away no-op moves where the
2525 source and destination are equal and have no side-effects.
2527 2006-04-17 Richard Guenther <rguenther@suse.de>
2530 * reload.c (push_reload): Guard calls to get_secondary_mem
2533 2006-04-16 Kazu Hirata <kazu@codesourcery.com>
2535 * alias.c (reg_base_value, old_reg_base_value): Change the
2536 type to VEC(rtx,gc) *.
2537 (REG_BASE_VALUE, find_base_value, record_set,
2538 init_alias_analysis): Use VEC instead of VARRAY.
2540 * alias.c (alias_sets): Change the type to
2541 VEC(alias_set_entry,gc) *.
2542 (get_alias_set_entry, new_alias_set, record_alias_subset): Use
2543 VEC instead of VARRAY.
2544 (last_alias_set): Remove.
2546 * cgraph.h (cgraph_edge_p): New.
2547 Update the prototype of cgraph_function_versioning.
2548 * cgraphunit.c (cgraph_copy_node_for_versioning,
2549 cgraph_function_versioning): Use VEC instead of VARRAY.
2550 * ipa-cp.c (ipcp_insert_stage): Likewise.
2552 2006-04-16 Roger Sayle <roger@eyesopen.com>
2555 * fold-const.c (fold_ternary): When converting "A ? B : C" into either
2556 "A op B" or "A op C", we may need to convert A to the type of B and C.
2558 2006-04-16 Adam Nemet <anemet@caviumnetworks.com>
2560 * target.h (struct gcc_target): Add mode_rep_extended.
2561 * rtlanal.c (num_sign_bit_copies_in_rep): New global.
2562 (init_num_sign_bit_copies_in_rep): Initialize it using
2564 (truncate_to_mode): Use it.
2565 (init_rtlanal): Call init_num_sign_bit_copies_in_rep.
2566 * targhooks.h (default_mode_rep_extended): Declare it.
2567 * targhooks.c (default_mode_rep_extended): Define it.
2568 * target-def.h (TARGET_MODE_REP_EXTENDED): New macro. Default to
2569 default_mode_rep_extended.
2570 (TARGET_INITIALIZER): Include it.
2571 * doc/tm.texi (Misc): Document it.
2572 * config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it.
2573 (mips_truncated_to_mode): New function.
2575 2006-04-16 Roger Sayle <roger@eyesopen.com>
2578 * expr.c (compress_float_constant): Copy the narrow constant into
2579 a new pseudo before extending it to its final width.
2581 2006-04-16 Roger Sayle <roger@eyesopen.com>
2582 Andrew Pinski <pinskia@gcc.gnu.org>
2583 Dale Johannesen <dalej@apple.com>
2586 * config/i386/i386.c (ix86_expand_vector_init_duplicate): Add
2587 special case code to implement V8HImode and V16QImode with SSE2.
2589 2006-04-15 Roger Sayle <roger@eyesopen.com>
2591 * config/i386/i386.c (ix86_va_start): Ensure all integer constant
2592 trees are constructed with a suitable tree type.
2594 2006-04-15 Roger Sayle <roger@eyesopen.com>
2596 * tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW.
2597 (integer_onep): Likewise.
2598 (integer_all_onesp): Likewise.
2599 (integer_pow2p): Likewise.
2600 (integer_nonzerop): Likewise.
2601 (real_zerop): Likewise.
2602 (real_onep): Likewise.
2603 (real_twop): Likewise.
2604 (real_minus_onep): Likewise.
2605 (int_size_in_bytes): Likewise.
2606 (host_integerp): Likewise.
2608 2006-04-15 Kazu Hirata <kazu@codesourcery.com>
2610 * cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c,
2611 jump.c, mips-tfile.c, omp-low.c, sched-int.h,
2612 tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos.
2614 * tree-ssa-structalias.h (alias_info): Remove num_references.
2616 2006-04-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2618 * pa.md (output_bb patterns): Shorten long branch alternatives by 4.
2619 (output_bvb patterns): Likewise.
2620 * pa.c (output_bb): Use 'bb' insn for long branch case.
2621 (output_bvb): Likewise use '{bvb|bb}' for long branch case.
2622 (output_dbra): Use '{comb|cmpb}' for long branch case for alternative
2623 1. Correct length operand for alternatives 1 and 2.
2624 (output_movb): Use '{comb|cmpb}' for long branch case for alternatives
2625 1, 2 and 3. Correct length operand for alternatives 1, 2 and 3.
2627 2006-04-14 Roger Sayle <roger@eyesopen.com>
2629 * tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r,
2630 is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that
2631 were accidentally reverted by r112959.
2633 2006-04-15 Jakub Jelinek <jakub@redhat.com>
2636 * except.h (eh_region_outermost): New prototype.
2637 * except.c (eh_region_outermost): New function.
2638 * tree-cfg.c (find_outermost_region_in_block): Use it.
2640 2006-04-14 Kazu Hirata <kazu@codesourcery.com>
2642 * local-alloc.c (rest_of_handle_local_alloc): Use VEC instead
2644 * reload1.c (reg_equiv_memory_loc_varray): Rename to
2645 reg_equiv_memory_loc_vec. Change the type to VEC(rtx,gc) *.
2646 (init_reload, reload): Use VEC instead of VARRAY.
2647 * reload.h: Update the prototype for
2648 reg_equiv_memory_loc_varray.
2650 2006-04-14 Alexey Starovoytov <alexey.starovoytov@sun.com>
2651 Eric Botcazou <ebotcazou@libertysurf.fr>
2653 * config/sparc/sparc.c (emit_and_preserve): Allocate space for the
2656 2005-04-13 Uros Bizjak <uros@kss-loka.si>
2659 * builtins.c (expand_builtin_int_roundingfn): Use expand_normal()
2660 to expand fallback builtin function call.
2662 2006-04-14 Alan Modra <amodra@bigpond.net.au>
2665 * builtins.c: (expand_builtin_memset): Stabilize args before expansion
2666 and emit libcall here in case the builtin fails.
2667 (expand_builtin_strcmp): Always emit the libcall here on failure.
2669 2006-04-14 Kazu Hirata <kazu@codesourcery.com>
2671 * basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY.
2672 * flow.c (reg_n_info): Change the type to
2673 VEC(reg_info_p,heap) *.
2674 * regclass.c (allocate_reg_info, free_reg_info): Use VEC
2676 * regs.h (reg_info_p): New.
2677 (REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS,
2678 REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED,
2679 REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC
2682 2006-04-13 Eric Botcazou <ebotcazou@adacore.com>
2684 * params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter,
2686 * params.h (MAX_SCHED_READY_INSNS): New macro.
2687 * haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle
2688 past MAX_SCHED_READY_INSNS during the first scheduling pass.
2689 (schedule_block): Delay insns past MAX_SCHED_READY_INSNS in
2690 the ready list for 1 cycle during the first scheduling pass.
2691 * doc/invoke.texi (--param): New parameter max-sched-ready-insns.
2693 2006-04-13 Richard Henderson <rth@redhat.com>
2696 * gimple-low.c (lower_omp_directive): Remove dead code.
2697 (lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL.
2698 * gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE.
2699 * omp-low.c (struct omp_region): Move to tree-flow.h.
2700 (root_omp_region): Export.
2701 (omp_regions, lookup_omp_region): Remove.
2702 (determine_parallel_type): Update for struct omp_region changes.
2703 (dump_omp_region): Dump regions with block numbers.
2704 (new_omp_region): Take type and block instead of stmt; malloc
2706 (free_omp_region_1, free_omp_regions): New.
2707 (expand_parallel_call): Take entry_stmt as argument; update for
2708 changes to omp_region.
2709 (remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT.
2710 (remove_exit_barriers): New.
2711 (expand_omp_parallel): Update for struct omp_region changes.
2712 (expand_omp_synch): Likewise.
2713 (expand_omp): Likewise.
2714 (expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE.
2715 (expand_omp_for_static_chunk): Likewise.
2716 (expand_omp_for): Likewise.
2717 (expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call.
2718 (expand_omp_sections): Similarly, with GOMP_sections_end.
2719 (expand_omp_single): New.
2720 (build_omp_regions_1): Update for OMP_CONTINUE.
2721 (execute_expand_omp): Call remove_exit_barriers, free_omp_regions.
2722 (lower_omp_sections): Expand with OMP_CONTINUE, do not collect
2723 OMP_SECTIONS_SECTIONS.
2724 (lower_omp_single_simple): Don't emit barrier here.
2725 (lower_omp_single_copy): Likewise.
2726 (lower_omp_single): Fix bindings, and lower to straightline now.
2727 (lower_omp_master, lower_omp_ordered): Likewise.
2728 (lower_omp_critical): Likewise.
2729 (lower_omp_for): Likewise. Emit OMP_CONTINUE.
2730 * tree-cfg.c (make_edges): Collect an omp_region tree, use it for
2731 omp edges, free it afterward.
2732 (make_omp_sections_edges): Remove.
2733 (is_ctrl_altering_stmt): Don't bother checking flag_openmp.
2734 (move_stmt_r): Handle OMP_CONTINUE.
2735 * tree-flow.h (struct omp_region): Move from omp-low.c. Switch
2736 statement pointers to basic blocks. Add type member.
2737 (root_omp_region, new_omp_region, free_omp_regions): Declare.
2738 * tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE.
2739 * tree-inline.c (estimate_num_insns_1): Likewise.
2740 * tree-pretty-print.c (dump_generic_node): Likewise.
2741 * tree-ssa-operands.c (get_expr_operands): Likewise.
2742 * tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand.
2743 (OMP_RETURN): Rename from OMP_RETURN_EXPR.
2744 (OMP_CONTINUE): New.
2745 * tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE.
2746 (OMP_SECTIONS_SECTIONS): Remove.
2747 (OMP_SECTION_LAST): New.
2748 (OMP_RETURN_NOWAIT): New.
2750 2006-04-13 Roger Sayle <roger@eyesopen.com>
2752 * fold-const.c (native_encode_vector, native_interpret_real):
2753 Correct obvious mistakes in the previous check-in.
2755 2006-04-13 Roger Sayle <roger@eyesopen.com>
2757 * fold-const.c (native_encode_expr): New function to encode
2758 the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST
2759 or VECTOR_CST into a specified buffer.
2760 (native_encode_int): New function.
2761 (native_encode_real): New function.
2762 (native_encode_complex): New function.
2763 (native_encode_vector): New function.
2764 (native_interpret_expr): Inverse of native_encode_expr to convert
2765 a target representation into an INTEGER_CST, REAL_CST etc...
2766 (native_interpret_int): New function.
2767 (native_interpret_real): New function.
2768 (native_interpret_complex): New function.
2769 (native_interpret_vector): New function.
2770 (fold_view_convert_expr): New function to constant fold/evaluate
2771 a VIEW_CONVERT_EXPR of a suitable constant expression.
2772 (fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr.
2773 Change call of build1 to fold_build1 when constructing a
2776 2006-04-13 Paolo Bonzini <bonzini@gnu.org>
2777 Ulrich Weigand <uweigand@de.ibm.com>
2780 * config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n
2783 2006-04-13 Alan Modra <amodra@bigpond.net.au>
2786 * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
2787 optimize to lo_sum for DFmode if !TARGET_FPRS.
2789 2006-04-12 Kazu Hirata <kazu@codesourcery.com>
2791 * tree-ssa-alias.c (set_initial_properties, init_alias_info,
2792 delete_alias_info, compute_flow_sensitive_aliasing,
2793 group_aliases): Use VEC instead of VARRAY.
2794 * tree-ssa-structalias.c (update_alias_info): Likewise.
2795 * tree-ssa-structalias.h (alias_info): Change the type of
2796 processed_ptrs to VEC(tree,heap) *.
2798 2006-04-12 J"orn Rennecke <joern.rennecke@st.com>
2801 * config/sh/lib1funcs.h: New file, broken out of:
2802 * config/sh/lib1funcs.asm.
2803 * config/sh/lib1funcs.h (DR00, DR01, DR20, DR21, DR40, DR41):
2805 * config/sh/lib1funcs.asm (udivsi3_i4): Use them.
2806 * config/sh/lib1funcs-Os-4-200.asm: New file.
2807 * config/sh/embed-elf.h (LIBGCC_SPEC): Use -lgcc-Os-4-200.
2808 * config/sh/t-sh (OPT_EXTRA_PARTS): New variable.
2809 (EXTRA_MULTILIB_PARTS): Include it.
2810 ($(T)sdivsi3_i4i-Os-4-200.o): New rule.
2811 ($(T)udivsi3_i4i-Os-4-200.o, $(T)libgcc-Os-4-200.a): Likewise.
2812 * config/sh/t-superh (EXTRA_MULTILIB_PARTS): Include OPT_EXTRA_PARTS.
2813 * config/sh/sh.h (OVERRIDE_OPTIONS): Recognize -mdiv=call-table for
2816 2006-04-12 Kazu Hirata <kazu@codesourcery.com>
2818 * Makefile.in (TREE_SSA_LIVE_H): Add vecprim.h.
2819 * tree-ssa-live.c (tpa_init, tpa_remove_partition, tpa_delete,
2820 tpa_compact, root_var_init, type_var_init): Use VEC instead of
2822 * tree-ssa-live.h: Include vecprim.h.
2823 (tree_partition_associator_d): Change the type of
2824 first_partition to VEC(int,heap) *.
2825 (tpa_first_partition): Use VEC instead of VARRAY.
2827 * Makefile.in (GTFILES): Move functions.h after tree.h.
2828 * function.c (reset_block_changes, record_block_change,
2829 check_block_change, free_block_changes): Use VEC instead of
2831 * function.h (function): Change the type of
2832 ib_boundaries_block to VEC(tree,gc) *.
2833 * tree-inline.c (copy_cfg_body): Initialize
2834 ib_boundaries_block to NULL instead of (varray_type) 0.
2836 2006-04-12 Roger Sayle <roger@eyesopen.com>
2838 * expr.c (emit_group_store): Correct operand order in call to
2839 subreg_lowpart_offset. Always create paradoxical SUBREGs with
2840 a SUBREG_BYTE of zero.
2842 2006-04-12 Richard Guenther <rguenther@suse.de>
2844 * profile.c (compute_branch_probabilities): Remove code
2845 encapsulated in !ir_type (), which are remanents of the
2846 removed RTL profiling code.
2847 * rtl-profile.c: Remove.
2849 2006-04-12 Alan Modra <amodra@bigpond.net.au>
2851 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Update
2852 magic NULL_RTX comment.
2853 (function_arg): Store entire fp arg to mem if any part should go
2855 (rs6000_arg_partial_bytes): Adjust for above change.
2857 2006-04-11 Roger Sayle <roger@eyesopen.com>
2859 * dwarf2out.c (output_call_frame_info): Create debug_frame_section
2860 if it hasn't been initialized by dwarf2out_init.
2862 2006-04-11 John David Anglin <dava.anglin@nrc-cnrc.gc.ca>
2864 * pa.md (MAX_12BIT_OFFSET, MAX_17BIT_OFFSET): Define and use new
2865 symbolic constants in branch patterns.
2867 2006-04-11 Roger Sayle <roger@eyesopen.com>
2869 * caller-save.c: #include "addresses.h" after #include "tm_p.h".
2871 2006-04-11 Richard Sandiford <richard@codesourcery.com>
2873 PR rtl-optimization/27073
2874 * gcse.c (try_replace_reg): Revert last change. Continue to search
2875 for both REG_EQUAL and REG_EQUIV notes, but only perform replacements
2878 2006-04-11 Eric Botcazou <ebotcazou@libertysurf.fr>
2880 * config/sparc/sparc.c (function_arg_slotno) <BLKmode>: Handle
2881 aggregate types other than record and union types.
2882 (function_arg): Likewise.
2883 (function_arg_pass_by_reference): In 64-bit mode, return 0 for
2885 (function_value): In 64-bit mode, return objects that require it
2888 2006-04-11 Roger Sayle <roger@eyesopen.com>
2890 * dwarf2out.c (premark_used_types): Remove problematic prototype.
2892 2006-04-11 Jakub Jelinek <jakub@redhat.com>
2894 * gcc.c (LINK_COMMAND_SPEC): Move link_gomp after %o.
2896 2006-04-03 Jeff Law <law@redhat.com>
2899 * tree-ssa-copy.c (may_propagate_copy): Test flow sensitive
2900 alias information too.
2902 2006-04-10 Mike Frysinger <vapier@gentoo.org>
2904 * Makefile.in (gcc-cross): Add $(exeext) to target name.
2906 2006-04-10 Aldy Hernandez <aldyh@redhat.com>
2909 * dwarf2out.c (struct die_struct): Add die_perennial_p field.
2910 (premark_used_types_helper): New.
2911 (premark_used_types): New.
2912 (gen_subprogram_die): Call premark_used_types.
2913 (prune_unused_types_walk): Do not prune perennial dies.
2914 * function.c (used_types_insert): New.
2915 * function.h (struct function): Add used_types_hash field.
2916 (used_types_insert): Add prototype.
2917 * Makefile.in (FUNCTION_H): Depend on HASHTAB_H.
2918 * c-parser.c (c_parser_cast_expression): Save casted types in used
2921 2006-04-11 Mark Mitchell <mark@codesourcery.com>
2924 * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Test
2925 rs6000_explicit_options.float_gprs.
2927 2006-04-10 Roger Sayle <roger@eyesopen.com>
2929 * config/i386/i386.c (ix86_expand_vector_init_one_nonzero): Renamed
2930 from ix86_expand_vector_init_low_nonzero. Take an additional
2931 one_var argument indicating which element is non-zero. Support
2932 one_var != 0 for V4SFmode and V4SImode by permuting the result.
2933 (ix86_expand_vector_init): Call ix86_expand_vector_init_one_nonzero
2934 with one_var instead of ix86_expand_vector_init_low_nonzero.
2936 2006-04-10 Kazu Hirata <kazu@codesourcery.com>
2938 * Makefile.in (tree-into-ssa.o, tree-outof-ssa.o,
2939 tree-ssa-live.o, tree-ssa-alias.o, function.o, df-problems.o,
2940 global.o, cfglayout.o, lambda-code.o, reg-stack.o,
2941 build/genextract.o): Depend on vecprim.h.
2942 * cfglayout.c, df-problems.c, function.c, genextract.c,
2943 global.c, lambda-code.c, reg-stack.c, tree-into-ssa.c,
2944 tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Include
2948 2006-04-10 Geoffrey Keating <geoffk@apple.com>
2950 * dwarf2out.c (struct dw_attr_struct): Remove dw_attr_next.
2951 Declare VECs of this type.
2952 (struct die_struct): Make field die_attr a VEC of dw_attr_struct.
2953 (remove_children): Delete.
2954 (add_dwarf_attr): Use VEC routines.
2955 (add_AT_flag): Update for changes to add_dwarf_attr.
2956 (add_AT_int): Likewise.
2957 (add_AT_unsigned): Likewise.
2958 (add_AT_long_long): Likewise.
2959 (add_AT_vec): Likewise.
2960 (add_AT_string): Likewise.
2961 (add_AT_die_ref): Likewise.
2962 (add_AT_fde_ref): Likewise.
2963 (add_AT_loc): Likewise.
2964 (add_AT_loc_list): Likewise.
2965 (add_AT_addr): Likewise.
2966 (add_AT_lbl_id): Likewise.
2967 (add_AT_lineptr): Likewise.
2968 (add_AT_macptr): Likewise.
2969 (add_AT_offset): Likewise.
2970 (add_AT_range_list): Likewise.
2971 (get_AT): Use VEC_iterate.
2972 (remove_AT): Use VEC_ordered_remove.
2973 (free_die): Fold remove_children into here; have it use VEC_iterate.
2974 (print_die): Use VEC_iterate on attrs.
2975 (reverse_die_lists): Don't reverse attr lists.
2976 (die_checksum): Use VEC_iterate on attrs.
2977 (same_die_p): Likewise.
2978 (output_location_lists): Likewise.
2979 (build_abbrev_table): Likewise.
2980 (size_of_die): Likewise.
2981 (unmark_all_dies): Likewise.
2982 (output_abbrev_section): Likewise.
2983 (output_die): Likewise.
2984 (prune_unused_types_walk_attribs): Likewise.
2986 2006-04-10 Eric Botcazou <ebotcazou@libertysurf.fr>
2988 * doc/install.texi (*-*-solaris2*): Point to the configure page.
2990 2006-04-10 Jakub Jelinek <jakub@redhat.com>
2993 * dwarf2out.c (is_symbol_die): Return true also for namespaces.
2995 2006-04-09 Roger Sayle <roger@eyesopen.com>
2997 * expr.c (store_constructor): Don't bother clearing target if
2998 we're about to assign a vector to it using vec_init_optab.
3000 2006-04-10 Daniel Berlin <dberlin@dberlin.org>
3002 * tree-ssa-alias.c (lhs_may_store_to): New function.
3003 (recalculate_used_alone): Handle LHS of calls.
3005 2006-04-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3009 * config.gcc (hppa*64*-*-hpux11*): Add 'libgcc_stub.a' to extra_parts.
3010 * pa64-hpux.h (LIB_SPEC): Correct typo. Don't append milli.a.
3011 (LINK_GCC_C_SEQUENCE_SPEC): Define. Append milli.a here.
3012 (PA_CXA_FINALIZE_STUB, PA_JV_REGISTERCLASSES_STUB): Delete defines.
3013 (PA_INIT_FINI_HACK): Rename to PA_CRTBEGIN_HACK.
3014 (PA_CRTBEGIN_HACK): Ensure __do_global_ctors_aux is placed in text
3015 section. Delete PA_CXA_FINALIZE_STUB and PA_JV_REGISTERCLASSES_STUB
3016 stubs. Add ".align 8" directives before all ".dword" directives.
3017 (GTHREAD_USE_WEAK): Revise comment.
3018 (TARGET_ATTRIBUTE_WEAK): Define.
3019 * pa/t-pa64 (LIBGCCSTUB_OBJS): Add new rules for stublib.c, rfi-stub.o,
3020 dfi-stub.o, cxaf-stub.o and jvrc-stub.o.
3021 * stublib.c: New file.
3026 * pa.md (cbranch patterns): Revise arguments used in calls to
3027 output_cbranch, output_bb and output_bvd. Add long branch length
3029 (fbranch patterns): Handle long branches.
3030 (jump): Revise length check. Revise arguments for output_lbranch call.
3031 Add long branch length attributes.
3032 (decrement_and_branch_until_zero): Add long branch length attributes.
3033 (output_movb, output_parallel_addb and output_parallel_movb patterns):
3034 Likewise. Revise arguments for output_parallel_addb and
3035 output_parallel_movb calls.
3036 * pa-protos.h (output_cbranch, output_lbranch, output_bb, output_bvb,
3037 output_parallel_movb and output_parallel_addb): Update prototypes.
3038 * pa.c (output_cbranch): Revise arguments. Correct handling of
3039 nullification in long branches.
3040 (output_lbranch): Add new argument to control extraction of delay
3042 (output_bb): Handle long branches.
3043 (output_bvb, output_dbra, output_movb, output_parallel_movb,
3044 output_parallel_addb): Likewise.
3046 2006-04-09 Richard Sandiford <richard@codesourcery.com>
3048 PR rtl-optimization/27073
3049 * gcse.c (try_replace_reg): Just propagate into REG_EQUAL notes,
3052 2006-04-08 Daniel Berlin <dberlin@dberlin.org>
3054 * tree.h (tree_memory_tag): Add old_used_alone.
3055 (SMT_OLD_USED_ALONE): New macro.
3056 * tree-ssa-alias.c (recalculate_used_alone): Stop
3057 marking things for renaming unnecessarily.
3059 2006-04-08 Kazu Hirata <kazu@codesourcery.com>
3061 * builtins.c, config/arm/arm.c, config/i386/cygwin.h,
3062 config/i386/i386.c, config/ia64/ia64.c, config/s390/fixdfdi.h,
3063 config/sh/sh.c, config/sh/sh.h, df-scan.c, except.c,
3064 haifa-sched.c, optabs.c, rtl.h, sched-deps.c, sched-int.h,
3065 sched-rgn.c, tree-inline.h, tree-ssa-dom.c,
3066 tree-ssa-loop-prefetch.c, tree-ssa-operands.c,
3067 tree-vect-patterns.c, tree-vrp.c: Fix comment typos. Follow
3068 spelling convensions.
3069 * config/ia64/ia64.opt, doc/contrib.texi, doc/invoke.texi,
3070 doc/passes.texi, doc/tm.texi, doc/tree-ssa.texi: Fix comment
3071 typos. Follow spelling conventions.
3073 2006-04-07 DJ Delorie <dj@redhat.com>
3075 * config/m32c/m32c.c (m32c_function_arg): Structures are always
3076 passed on the stack.
3077 (m32c_init_cumulative_args): When a function returns a structure,
3078 always pass the pointer to that return area on the stack.
3079 (m32c_function_arg_advance): Don't increment the parameter number
3080 if we're processing the returned structure pointer.
3081 (pushm_info): Reverse order of registers.
3083 2006-04-07 Sebastian Pop <pop@cri.ensmp.fr>
3085 * tree-ssa-loop-niter.c (inverse, number_of_iterations_ne,
3086 assert_no_overflow_lt, assert_loop_rolls_lt, number_of_iterations_lt,
3087 number_of_iterations_le, number_of_iterations_cond, find_loop_niter,
3088 estimate_numbers_of_iterations_loop): Use build_int_cst instead of
3090 * tree-chrec.c (chrec_fold_multiply_poly_poly,
3091 chrec_fold_multiply): Same.
3092 * tree-ssa-loop-ivopts.c (strip_offset_1, force_expr_to_var_cost,
3093 force_expr_to_var_cost): Same.
3094 * tree-mudflap.c (mf_xform_derefs_1): Same.
3095 * tree-ssa-loop-prefetch.c (idx_analyze_ref): Same.
3097 2006-04-07 David Edelsohn <edelsohn@gnu.org>
3099 * config/rs6000/rs6000.c (rs6000_rtx_costs) <CONST_DOUBLE>: Do not
3100 treat CONST_DOUBLE as INTVAL. and64_2_operands require an extra
3103 2006-04-07 Jan Hubicka <jh@suse.cz>
3105 * ipa-inline.c (cgraph_early_inlining): Collect garbage.
3107 2006-04-07 Richard Guenther <rguenther@suse.de>
3109 PR tree-optimization/26135
3110 * tree-ssa-copy.c (stmt_may_generate_copy): Handle memory
3111 loads for store copy-prop.
3112 (copy_prop_visit_stmt): Likewise.
3114 2006-04-05 Robert Millan <robertmh@gnu.org>
3116 * config/i386/linux.h: Add a comment to mark macros that are
3117 being overriden in config/k*bsd-gnu.h.
3118 * config/kfreebsd-gnu.h: Redefine GLIBC_DYNAMIC_LINKER instead of
3120 * config/knetbsd-gnu.h: Ditto.
3122 2006-04-06 Jan Hubicka <jh@suse.cz>
3126 * coverage.c (coverage_checksum_string): Reorganize loop to not read
3129 2006-04-06 Mike Stump <mrs@apple.com>
3131 * builtins.c (expand_builtin_longjmp):Use #ifdef instead of #if
3132 for HAVE_nonlocal_goto to be consistent.
3133 (expand_builtin_nonlocal_goto): Likewise.
3134 (expand_builtin_strcmp): Use #ifdef instead of #if
3135 for HAVE_cmpstrnsi to be consistent.
3137 2006-04-05 DJ Delorie <dj@redhat.com>
3139 * config/m32c/m32c.h (INCOMING_FRAME_SP_OFFSET): Adjust for m16c
3142 2006-04-05 Bernd Schmidt <bernd.schmidt@analog.com>
3144 * config/bfin/bfin.c (bfin_legitimate_address_p): Disallow
3145 got-relative addressing for anything but SImode.
3147 * config/bfin/lib1funcs.asm (modsi): P1/P2 can be call-clobbered
3148 even if the calling function doesn't modify them.
3150 2006-04-05 Richard Guenther <rguenther@suse.de>
3152 PR tree-optimization/26919
3153 * ipa-inline.c (cgraph_decide_inlining_incrementally): Fix argument
3154 to cgraph_estimate_size_after_inlining.
3156 2006-04-05 Alan Modra <amodra@bigpond.net.au>
3158 * reload.c (find_dummy_reload): Fix typo in 2006-04-03 change.
3160 2006-04-05 Sebastian Pop <pop@cri.ensmp.fr>
3162 PR tree-optimization/26996
3163 * tree-scalar-evolution.c (analyze_scalar_evolution_1): Don't analyze
3164 VECTOR_TYPE variables.
3166 2006-04-05 Richard Guenther <rguenther@suse.de>
3168 PR tree-optimization/26763
3169 * fold-const.c (fold_comparison): Move folding of
3170 PTR + CST CMP PTR + CST ...
3171 (fold_binary): ... here. Fold only for EQ_EXPR and NE_EXPR.
3173 2006-04-05 Gerald Pfeifer <gerald@pfeifer.com>
3175 * doc/install.texi (Prerequisites): Refine some wording on
3176 bootstrapping and ksh.
3177 Move the version numbers of DejaGnu here from the testing section
3178 and fix casing of names.
3179 Fix markup and clarify wording for autogen requirements.
3180 Refer to GCJ instead of just java.
3181 Refer to SVN instead of CVS.
3182 Describe diffutils as useful instead of necessary.
3183 (Downloading the source): Refer to SVN instead of CVS.
3184 Adjust a link to our web site accordingly.
3185 (Configuration): Fix casing of Bison.
3186 (Building): Refer to SVN instead of CVS.
3187 Fix a sentence on the use of Bison and remove duplicate (and
3188 incorrect) version number of Bison requirement.
3189 Remove one redundant list of packages needed for building.
3190 (Specific): Avoid reference to CVS.
3192 2006-04-04 Eric Christopher <echristo@apple.com>
3194 * config/rs6000/rs6000.c (TARGET_MS_BITFIELD_LAYOUT_P): Define.
3195 (TARGET_USE_MS_BITFIELD_LAYOUT): Ditto.
3196 (rs6000_handle_struct_attribute): New.
3197 (rs6000_ms_bitfield_layout_p): Ditto.
3199 2006-04-04 Geoffrey Keating <geoffk@apple.com>
3201 * config/darwin-crt3.c (atexit): Pass &__dso_handle rather than
3202 NULL for dso parameter to atexit_common.
3204 2006-04-04 Eric Christopher <echristo@apple.com>
3206 * config/i386/i386.c (machopic_output_stub): Output \t
3207 between instructions and operands.
3209 2006-04-04 David Edelsohn <edelsohn@gnu.org>
3211 * config/rs6000/rs6000.c (num_insns_constant_wide): Change
3212 satisfies_constraint_[IL] to explicit tests on value.
3214 2006-04-04 Sebastian Pop <pop@cri.ensmp.fr>
3216 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
3217 set_nb_iterations_in_loop): Use build_int_cst instead of
3219 * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Use
3220 build_int_cst instead of convert.
3222 2006-04-04 Carlos O'Donell <carlos@codesourcery.com>
3224 * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document
3225 new value 2 for incoming.
3226 * function.c (expand_function_start): Call struct_value_rtx
3228 * config/sparc/sparc.md: Comment updated_return.
3229 * config/sparc/sparc.opt: Add -mstd-struct-return option.
3230 * config/sparc/sparc.c (sparc_struct_value_rtx): Use standard
3231 struct return if sparc_std_struct_return and incoming is 2.
3232 (print_operand): Do not adjust return if
3233 sparc_std_struct_return.
3235 2006-04-04 Roger Sayle <roger@eyesopen.com>
3237 * builtins.c (fold_builtin_sprintf): Use fold_convert instead of
3238 convert in the middle-end.
3239 * expr.c (store_expr, store_constructor, get_inner_reference,
3240 expand_expr_real_1, string_constant, try_casesi, try_tablejump):
3242 * tree.c (build_range_type): Likewise.
3244 2006-04-04 Tom Tromey <tromey@redhat.com>
3246 * doc/install.texi (Prerequisites): Mention jar.
3248 2006-04-04 Daniel Berlin <dberlin@dberlin.org>
3250 * doc/tree-ssa.texi (Preserving the virtual ssa form): New
3253 2006-04-04 Matthias Klose <doko@debian.org>
3255 * Makefile.in (unprotoize.o): Same dependencies as for protoize.o.
3256 * Makefile.in (s-macro_list): Conform to POSIX rules in single quoted
3259 2006-04-03 Geoffrey Keating <geoffk@apple.com>
3261 * doc/extend.texi (Function Attributes): Rewrite visibility
3262 attribute documentation.
3263 * doc/invoke.texi (C++ Dialect Options): Rewrite
3264 -fvisibility-inlines-hidden documentation to describe something
3265 entirely different, although in practise compatible.
3266 (Code Gen Options): Warn about system headers in -fvisibility=
3269 * doc/extend.texi (Other Builtins): Document that
3270 __builtin_nan is a compile-time constant only when its argument
3273 2006-04-03 Adam Nemet <anemet@caviumnetworks.com>
3275 * simplify-rtx.c (simplify_unary_operation_1) <TRUNCATE>: When
3276 trying to remove TRUNCATE check if all bits outside the new mode
3277 are identical to the sign bit.
3279 2006-04-03 Jeff Law <law@redhat.com>
3281 * tree-ssa-dom.c (propagate_rhs_into_lhs): Avoid useless folding
3282 and operand scanning in some common cases.
3284 2006-04-03 Paolo Bonzini <bonzini@gnu.org>
3285 Dale Johannesen <dalej@apple.com>
3288 * regclass.c (struct reg_pref): Update documentation.
3289 (regclass): Set prefclass to NO_REGS if memory is the best option.
3290 (record_reg_classes): Cope with a prefclass set to NO_REGS.
3291 * reload.c (find_reloads): Take PREFERRED_OUTPUT_RELOAD_CLASS
3292 into account. For non-registers, equate an empty preferred
3293 reload class to a `!' in the constraint; move the if clause to
3294 do so after those that reject the insn.
3295 (push_reload): Allow PREFERRED_*_RELOAD_CLASS to liberally
3297 (find_dummy_reload): Likewise.
3298 * doc/tm.texi (Register Classes): Document what it means
3299 if PREFERRED_*_RELOAD_CLASS return NO_REGS.
3300 * config/i386/i386.c (ix86_preferred_reload_class): Force
3301 using SSE registers (and return NO_REGS for floating-point
3302 constants) if math is done with SSE.
3303 (ix86_preferred_output_reload_class): New.
3304 * config/i386/i386-protos.h (ix86_preferred_output_reload_class): New.
3305 * config/i386/i386.h (PREFERRED_OUTPUT_RELOAD_CLASS): New.
3306 * config/i386/i386.md: Remove # register preferences.
3308 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
3311 * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
3312 chrec_is_positive, set_nb_iterations_in_loop): Use a variable for
3313 the type of nb_iter.
3314 (instantiate_parameters_1): Convert the operands before calling
3315 chrec_fold_minus, chrec_fold_plus, or chrec_fold_multiply.
3316 * tree-data-ref.c (can_use_analyze_subscript_affine_affine): Same.
3318 2006-04-02 Roger Sayle <roger@eyesopen.com>
3320 * builtins.c (dummy_object): Use build_int_cst instead of convert.
3321 * tree-ssa-ccp.c (maybe_fold_stmt_addition): Use fold_convert
3323 * dojump.c (do_jump): Likewise.
3324 * expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE, ARGS_SIZE_TREE): Likewise.
3325 * gimplify.c (gimple_boolify, gimplify_init_constructor,
3326 gimplify_boolean_expr): Likewise.
3327 * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
3328 * varasm.c (array_size_for_constructor): Likewise.
3329 * tree-object-size.c (compute_object_offset): Likewise.
3331 2006-04-02 Roger Sayle <roger@eyesopen.com>
3334 * expr.c (emit_group_store): Check whether simplify_gen_subreg returns
3335 NULL_RTX, indicating it couldn't create a valid paradoxical subreg.
3337 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
3339 PR tree-optimization/26939
3340 * tree-chrec.c (chrec_merge): Use eq_evolutions_p.
3342 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
3344 * tree-scalar-evolution.c (add_to_evolution_1): Pass an extra argument
3345 at_stmt. Convert the type of operands before calling
3346 build_polynomial_chrec.
3347 (add_to_evolution): Pass an extra argument at_stmt. Adjust the call to
3349 (follow_ssa_edge_in_rhs): Adjust call to add_to_evolution.
3350 (instantiate_parameters_1): Convert the type of operands before calling
3351 build_polynomial_chrec.
3352 * tree-chrec.c (chrec_fold_poly_cst, chrec_fold_plus_poly_poly,
3353 chrec_fold_multiply_poly_poly, chrec_replace_initial_condition,
3354 reset_evolution_in_loop): Insert asserts to check the types of the
3356 (chrec_type): Moved...
3357 (eq_evolutions_p): Use operand_equal_p.
3358 * tree-chrec.h (build_polynomial_chrec): Insert an assert to check
3359 the types of the operands.
3360 (chrec_type): ...here.
3361 * tree-data-ref.c (create_data_ref): Convert the operands before
3362 calling chrec_replace_initial_condition.
3363 (same_access_functions, analyze_subscript_affine_affine,
3364 analyze_miv_subscript, all_chrecs_equal_p): Use eq_evolutions_p.
3365 (compute_subscript_distance, analyze_ziv_subscript,
3366 analyze_siv_subscript_cst_affine, compute_overlap_steps_for_affine_1_2,
3367 analyze_miv_subscript): Convert the operands before calling
3368 chrec_fold_minus or chrec_fold_plus.
3370 2006-04-02 Sebastian Pop <pop@cri.ensmp.fr>
3372 * tree-data-ref.c (compute_all_dependences): Use a pointer to
3373 the dependence_relations vector.
3374 (compute_data_dependences_for_loop): Adjust call to
3375 compute_all_dependences.
3377 2006-04-01 Roger Sayle <roger@eyesopen.com>
3378 Richard Henderson <rth@redhat.com>
3380 * gimplify.c (gimplify_scan_omp_clauses) <OMP_CLAUSE_IF>: Call
3381 gimple_boolify on the condition before calling gimplify_expr.
3383 2006-03-31 Bob Wilson <bob.wilson@acm.org>
3385 * config/xtensa/lib1funcs.asm: Rename abi_entry/abi_return macros
3386 to leaf_entry/leaf_return. Change leaf_entry to add 16 bytes to
3387 the frame size. Update to use the new macros.
3388 * config/xtensa/ieee754-sf.S: Use new leaf_entry/leaf_return macros.
3389 * config/xtensa/ieee754-df.S: Likewise.
3391 2006-03-31 Richard Henderson <rth@redhat.com>
3393 * tree-cfg.c (make_ctrl_stmt_edges, make_exit_edges): Merge into...
3394 (make_edges): ... here. Control fallthru creation with a local
3395 variable. Do not play with fake edges.
3396 (make_omp_sections_edges): Don't set EDGE_ABNORMAL.
3397 (make_goto_expr_edges): Don't play with fake edges. Make for_call
3400 2006-04-01 Joseph S. Myers <joseph@codesourcery.com>
3402 * dwarf2.h (DW64_CIE_ID): Define.
3403 * dwarf2out.c (DWARF_CIE_ID): Define.
3404 (output_call_frame_info): Output 0xffffffff before standard 8-byte
3405 length header. Use DWARF_CIE_ID.
3406 (value_format): Use DW_FORM_data4 or DW_FORM_data8 for
3407 dw_val_class_loc_list depending on DWARF_OFFSET_SIZE.
3409 2006-03-31 Kaz Kojima <kkojima@gcc.gnu.org>
3411 * config/sh/linux-atomic.asm: New file.
3412 * config/sh/t-linux (LIB2FUNCS_EXTRA): Add linux-atomic.asm.
3414 2006-03-31 DJ Delorie <dj@redhat.com>
3416 * config/m32c/cond.md: Set condition flags properly throughout.
3417 * config/m32c/minmax.md: Likewise.
3418 * config/m32c/prologue.md: Likewise.
3419 * config/m32c/bitops.md: Likewise.
3420 * config/m32c/muldiv.md: Likewise.
3421 * config/m32c/mov.md: Likewise.
3422 * config/m32c/addsub.md: Likewise.
3423 * config/m32c/m32c.md: Likewise.
3424 * config/m32c/jump.md: Likewise.
3425 * config/m32c/shift.md: Likewise.
3427 * config/m32c/cond.md (cmp<mode>): Call m32c_output_compare to
3428 conditionally output the pattern for this.
3429 * config/m32c/m32c.c (flags_needed_for_conditional): New.
3430 (m32c_compare_redundant): New.
3431 (m32c_output_compare): New.
3432 * config/m32c/m32c-protos.h (m32c_output_compare): New.
3434 * config/m32c/m32c.c (m32c_prepare_shift): Fix logic to clobber
3435 dest, not src. Allow other 4-byte modes.
3437 2006-03-30 Denis Chertykov <denisc@overta.ru>
3439 * doc/md.texi: Refer to avr/constraints.md instead of
3442 2006-03-30 Roger Sayle <roger@eyesopen.com>
3444 * expr.c (emit_group_store): Make BYTEPOS a HOST_WIDE_INT to
3445 signed vs. unsigned comparison failures on some hosts.
3447 2006-03-31 Alan Modra <amodra@bigpond.net.au>
3450 * config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Limit 2003-12-08
3451 change to FLOAT_REGS.
3453 * config/rs6000/rs6000.c (rs6000_explicit_options): Add ieee.
3454 (rs6000_override_options): Use it.
3455 (rs6000_handle_option): Set it. Set rs6000_explicit_options.abi
3456 only for -mabi=spe/no-spe and -mabi=altivec.
3458 2006-03-30 Geoffrey Keating <geoffk@apple.com>
3460 * config/darwin.h (LINK_COMMAND_SPEC): Don't try to protect %S with
3463 2006-03-30 Carlos O'Donell <carlos@codesourcery.com>
3465 * Makefile.in: Rename docdir to gcc_docdir.
3467 2006-03-30 Roger Sayle <roger@eyesopen.com>
3470 * expr.c (emit_group_store): Optimize group stores into a pseudo
3471 register by using a paradoxical subreg to initialize the destination
3472 if the first or last member of the group specifies a "low part".
3474 2006-03-30 Maxim Kuvyrkov <mkuvyrkov@ispras.ru>