Age | Commit message (Collapse) | Author | Files | Lines |
|
for gcc:
* c-format.c (replace_format_name_to_system_name): New.
(cmp_attribs): New.
(convert_format_name_to_system_name): New.
(decode_format_attr): Add use of convert_format_name_to_system_name.
(format_types_orig): Add gnu_ prefix to names.
(check_format_info_main): Special treating of \0 escaped names for
supporting multi-character format specifiers as I32, I64.
(TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Use of user defined attributes.
(gnu_target_overrides_format_attributes): New.
* c-format.h: Add structure target_ovr_attr to hold
system specific formatter names.
* config.gcc: Add for x86&x86_64 cygwin and mingw32 targets the
msformat-c.o file to c_target_objs and cxx_target_objs.
* config/i386/mingw32.h (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): New.
(TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT): New.
(TARGET_N_FORMAT_TYPES): New.
* config/i386/msformat-c.c: New.
* config/i386/t-cygming: Add build rule for msformat-c.o.
* doc/extend.texi: Add new format names gnu_* and ms_* and
further details.
* doc/tm.texi: (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): New.
for gcc/testsuite/
* gcc.dg/format/ms_array-1.c: New.
* gcc.dg/format/ms_c90-scanf-3.c: New.
* gcc.dg/format/ms_c99-strftime-1.c: New.
* gcc.dg/format/ms_no-y2k-1.c: New.
* gcc.dg/format/ms_attr-1.c: New.
* gcc.dg/format/ms_c90-scanf-4.c: New.
* gcc.dg/format/ms_c99-strftime-2.c: New.
* gcc.dg/format/ms_nonlit-1.c: New.
* gcc.dg/format/ms_c90-scanf-5.c: New.
* gcc.dg/format/ms_cast-1.c: New.
* gcc.dg/format/ms_nonlit-2.c: New.
* gcc.dg/format/ms_attr-2.c: New.
* gcc.dg/format/ms_c90-strftime-1.c: New.
* gcc.dg/format/ms_miss-1.c: New.
* gcc.dg/format/ms_nonlit-3.c: New.
* gcc.dg/format/ms_attr-3.c: New.
* gcc.dg/format/ms_c90-strftime-2.c: New.
* gcc.dg/format/ms_miss-2.c: New.
* gcc.dg/format/ms_nul-1.c: New.
* gcc.dg/format/ms_attr-4.c: New.
* gcc.dg/format/ms_c94-printf-1.c: New.
* gcc.dg/format/ms_miss-3.c: New.
* gcc.dg/format/ms_nul-2.c: New.
* gcc.dg/format/ms_attr-7.c: New.
* gcc.dg/format/ms_c94-scanf-1.c: New.
* gcc.dg/format/ms_miss-4.c: New.
* gcc.dg/format/ms_null-1.c: New.
* gcc.dg/format/ms_bitfld-1.c: New.
* gcc.dg/format/ms_c99-printf-1.c: New.
* gcc.dg/format/ms_miss-5.c: New.
* gcc.dg/format/ms_plus-1.c: New.
* gcc.dg/format/ms_branch-1.c: New.
* gcc.dg/format/ms_c99-printf-2.c: New.
* gcc.dg/format/ms_miss-6.c: New.
* gcc.dg/format/ms_sec-1.c: New.
* gcc.dg/format/ms_c90-printf-1.c: New.
* gcc.dg/format/ms_c99-printf-3.c: New.
* gcc.dg/format/ms_multattr-1.c: New.
* gcc.dg/format/ms_unnamed-1.c: New.
* gcc.dg/format/ms_c90-printf-2.c: New.
* gcc.dg/format/ms_c99-scanf-1.c: New.
* gcc.dg/format/ms_multattr-2.c: New.
* gcc.dg/format/ms_va-1.c: New.
* gcc.dg/format/ms_c90-printf-3.c: New.
* gcc.dg/format/ms_c99-scanf-2.c: New.
* gcc.dg/format/ms_multattr-3.c: New.
* gcc.dg/format/ms_warnll-1.c: New.
* gcc.dg/format/ms_c90-scanf-1.c: New.
* gcc.dg/format/ms_c99-scanf-3.c: New.
* gcc.dg/format/ms_no-exargs-1.c: New.
* gcc.dg/format/ms_zero-length-1.c: New.
* gcc.dg/format/ms_c90-scanf-2.c: New.
* gcc.dg/format/ms_c99-scanf-4.c: New.
* gcc.dg/format/ms_no-exargs-2.c: New.
* gcc.dg/format/null-1.c: Add gnu style usage for mingw.
* gcc.dg/format/miss-1.c: Likewise.
* gcc.dg/format/miss-3.c: Likewise.
* gcc.dg/format/multattr-2.c: Likewise.
* gcc.dg/format/miss-5.c: Likewise.
* gcc.dg/format/attr-2.c: Likewise.
* gcc.dg/format/attr-4.c: Likewise.
* gcc.dg/format/c90-scanf-4.c: Likewise.
* gcc.dg/format/c99-printf-3.c: Likewise.
* gcc.dg/format/multattr-1.c: Likewise.
* gcc.dg/format/miss-4.c: Likewise.
* gcc.dg/format/miss-6.c: Likewise.
* gcc.dg/format/c90-printf-3.c: Likewise.
* gcc.dg/format/attr-1.c: Likewise.
* gcc.dg/format/attr-3.c: Likewise.
* gcc.dg/format/attr-7.c: Likewise.
* gcc.dg/format/format.h: Treat mingw and gnu style.
* gcc.dg/format/sys_format.c: New.
From-SVN: r133365
|
|
on under -O3.
* doc/invoke.texi (-O3): Add -ftree-vectorize to the list of
optimizations turned on under -O3.
(ftree-vectorize): Add that the flag is turned on with -O3.
From-SVN: r133364
|
|
* regmove.c (try_auto_increment): Fix spelling error in comment.
* final.c (final_scan_insn): Likewise.
From-SVN: r133362
|
|
PR target/14552
* config/i386/mmx.md (*mov<mode>_internal_rex64"): Adjust register
allocator preferences for "y" and "r" class registers.
("*mov<mode>_internal"): Ditto.
("*movv2sf_internal_rex64"): Ditto.
("*movv2sf_internal"): Ditto.
testsuite/ChangeLog:
PR target/14552
* gcc.target/i386/pr14552.c: New test.
From-SVN: r133354
|
|
PR middle-end/35616
* calls.c (expand_call): Check overlap of arguments with call
address for sibcalls.
* gcc.dg/pr35616.c: New test.
From-SVN: r133348
|
|
PR target/35496
* stor-layout.c (update_alignment_for_field): Set minimum alignment
of the underlying type of a MS bitfield layout to the natural
alignment of the type.
From-SVN: r133343
|
|
* gcc.dg/20050811-2.c: Update dumping flags.
* gcc.dg/sms-2.c: Update dumping flags.
* gcc.dg/var-expand1.c: Update dumping flags.
* gcc.dg/var-expand3.c: Update dumping flags.
* gcc.dg/pr30957-1.c: Update dumping flags.
* gcc.dg/20050811-1.c: Update dumping flags.
* gcc.dg/cpp/cmdlne-dI-M.C: Do not xfail.
* gcc.dg/cpp/cmdlne-dM-M.C: Do not xfail.
PR other/35094
* toplev.c (decode_d_option): Handle all CPP flags.
* tree-vrp.c: Update tree_pass descriptors.
* regrename.c: Update tree_pass descriptors.
* fwprop.c: Update tree_pass descriptors.
* doc/invoke.texi: Remove documentation of dropped -d? flags.
* tree-into-ssa.c: Update tree_pass descriptors.
* tree-dump.c: Update tree_pass descriptors.
* tree-complex.c: Update tree_pass descriptors.
* tree-dump.h: Update tree_pass descriptors.
* see.c: Update tree_pass descriptors.
* cgraphbuild.c: Update tree_pass descriptors.
* tracer.c: Update tree_pass descriptors.
* tree-loop-distribution.c: Update tree_pass descriptors.
* cgraph.c: Update tree_pass descriptors.
* postreload-gcse.c: Update tree_pass descriptors.
* postreload.c: Update tree_pass descriptors.
* tree-ssa-loop-ch.c: Update tree_pass descriptors.
* tree-tailcall.c: Update tree_pass descriptors.
* tree-pass.h (tree_opt_pass): Rename to ...
(opt_pass) ... this one; add "type" field and remove letter field.
(gimple_opt_pass, rtl_opt_pass, simple_ipa_opt_pass): New.
(execute_pass_list, execute_ipa_pass_list, all_passes, all_ipa_passes,
all_lowering_passes): Update declaration.
* ipa-cp.c: Update tree_pass descriptors.
* final.c: Update tree_pass descriptors.
* omp-low.c: Update tree_pass descriptors.
* tree-ssa-dse.c: Update tree_pass descriptors.
* ipa-reference.c: Update tree_pass descriptors.
* tree-ssa-uncprop.c: Update tree_pass descriptors.
* auto-inc-dec.c: Update tree_pass descriptors.
* reorg.c: Update tree_pass descriptors.
* cgraphunit.c: Update tree_pass descriptors.
* tree-ssa-copyrename.c: Update tree_pass descriptors.
* tree-ssa-ccp.c: Update tree_pass descriptors.
* df-core.c: Update tree_pass descriptors.
* mode-switching.c: Update tree_pass descriptors.
* tree-nomudflap.c: Update tree_pass descriptors.
* modulo-sched.c: Update tree_pass descriptors.
* ipa-pure-const.c: Update tree_pass descriptors.
* cse.c: Update tree_pass descriptors.
* web.c: Update tree_pass descriptors.
* tree-stdarg.c: Update tree_pass descriptors.
* tree-ssa-math-opts.c: Update tree_pass descriptors.
* tree-ssa-dom.c: Update tree_pass descriptors.
* tree-nrv.c: Update tree_pass descriptors.
* tree-ssa-alias.c: Update tree_pass descriptors.
* loop-init.c: Update tree_pass descriptors.
* gimple-low.c: Update tree_pass descriptors.
* ipa-inline.c: Update tree_pass descriptors.
* tree-ssa-sink.c: Update tree_pass descriptors.
* global.c: Update tree_pass descriptors.
* ifcvt.c: Update tree_pass descriptors.
* jump.c: Update tree_pass descriptors.
* predict.c: Update tree_pass descriptors.
* tree-ssa-loop.c: Update tree_pass descriptors.
* recog.c: Update tree_pass descriptors.
* dse.c: Update tree_pass descriptors.
* tree-ssa-ifcombine.c: Update tree_pass descriptors.
* tree-eh.c: Update tree_pass descriptors.
* regmove.c: Update tree_pass descriptors.
* local-alloc.c
* function.c: Update tree_pass descriptors.
* tree-vectorizer.c: Update tree_pass descriptors.
* gcse.c: Update tree_pass descriptors.
* ipa-type-escape.c: Update tree_pass descriptors.
* tree-if-conv.c: Update tree_pass descriptors.
* init-regs.c: Update tree_pass descriptors.
* ipa.c: Update tree_pass descriptors.
* tree-ssa-phiopt.c: Update tree_pass descriptors.
* rtl-factoring.c: Update tree_pass descriptors.
* lower-subreg.c: Update tree_pass descriptors.
* bt-load.c: Update tree_pass descriptors.
* tree-dfa.c: Update tree_pass descriptors.
* except.c: Update tree_pass descriptors.
* emit-rtl.c: Update tree_pass descriptors.
* cfgexpand.c: Update tree_pass descriptors.
* tree-cfgcleanup.c: Update tree_pass descriptors.
* cfgcleanup.c: Update tree_pass descriptors.
* tree-ssa-pre.c: Update tree_pass descriptors.
* tree-sra.c: Update tree_pass descriptors.
* tree-mudflap.c: Update tree_pass descriptors.
* tree-ssa-copy.c: Update tree_pass descriptors.
* cfglayout.c: Update tree_pass descriptors.
* tree-ssa-forwprop.c: Update tree_pass descriptors.
* tree-ssa-dce.c: Update tree_pass descriptors.
* tree-ssa.c: Update tree_pass descriptors.
* regclass.c: Update tree_pass descriptors.
* integrate.c: Update tree_pass descriptors.
* tree-optimize.c: Update tree_pass descriptors.
* tree-ssa-phiprop.c: Update tree_pass descriptors.
* tree-object-size.c: Update tree_pass descriptors.
* combine.c: Update tree_pass descriptors.
* tree-outof-ssa.c: Update tree_pass descriptors.
* bb-reorder.c: Update tree_pass descriptors.
* stack-ptr-mod.c: Update tree_pass descriptors.
* var-tracking.c: Update tree_pass descriptors.
* tree-profile.c: Update tree_pass descriptors.
* tree-vect-generic.c: Update tree_pass descriptors.
* reg-stack.c: Update tree_pass descriptors.
* sched-rgn.c: Update tree_pass descriptors.
* tree-ssa-structalias.c: Update tree_pass descriptors.
* tree-cfg.c: Update tree_pass descriptors.
* passes.c (current_pass): Update declaration.
(finish_optimization_passes): Update.
(all_passes, all_ipa_passes, all_lowering_passes): Update declaration.
(register_one_dump_file, register_dump_files_1, next_pass_1):
Update arguments.
(init_optimization_passes): Update handling of new types.
(execute_one_pass, execute_pass_list, execute_ipa_pass_list): Update.
* ipa-struct-reorg.c: Update tree_pass descriptors.
* tree-ssa-reassoc.c: Update tree_pass descriptors.
* combine-stack-adj.c: Update tree_pass descriptors.
* cfgrtl.c: Update tree_pass descriptors.
* dce.c: Update tree_pass descriptors.
* tree-ssanames.c: Update tree_pass descriptors.
From-SVN: r133342
|
|
should be may warning)
2008-03-19 Richard Guenther <rguenther@suse.de>
PR middle-end/35609
* tree-ssa.c (always_executed): New global flag.
(warn_uninitialized_var): If !always_executed warn with "maybe"
instead of "is".
(execute_early_warn_uninitialized): Compute post-dominators.
Initialize always_executed before processing each basic block.
* gcc.dg/testsuite/uninit-15.c: New testcase.
* gcc.dg/testsuite/uninit-16.c: Likewise.
From-SVN: r133341
|
|
inheritance, large return structures and regparm or fastcall calling conventions)
PR target/35504
* config/i386/i386.c (x86_this_parameter): Calculate correct location
of "this" pointer when "regparm = N" or "fastcall" is in effect.
testsuite/ChangeLog
PR target/35504
* g++.dg/other/pr35504.C: New test.
From-SVN: r133324
|
|
gcc/
* doc/include/texinfo.tex: Update to version 2008-03-17.10.
From-SVN: r133320
|
|
2008-03-18 Paolo Bonzini <bonzini@gnu.org>
* expr.c (store_expr): Assume lang_hooks.reduce_bit_field_operations
is true.
(expand_expr_real_1) <REDUCE_BIT_FIELD>: Don't look at ignore.
(expand_expr_real_1): Assume lang_hooks.reduce_bit_field_operations
is true. Add "&& !ignore" condition to reduce_bit_field. Modify
target after ignore has been set, and move there also the commputation
of subtarget and original_target.
* langhooks-def.h (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
(LANG_HOOKS_INITIALIZER): Remove it.
* langhooks.h (struct lang_hooks): Remove reduce_bit_field_operations.
ada:
2008-03-18 Paolo Bonzini <bonzini@gnu.org>
* misc.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
cp:
2008-03-18 Paolo Bonzini <bonzini@gnu.org>
* cp-lang.c (LANG_HOOKS_REDUCE_BIT_FIELD_OPERATIONS): Delete.
From-SVN: r133316
|
|
expression with constants, note that in the VN for the lhs.
2008-03-18 Richard Guenther <rguenther@suse.de>
* tree-ssa-sccvn.c (visit_reference_op_load): If the lookup
found an expression with constants, note that in the VN for the lhs.
* tree-ssa-pre.c (eliminate): Visit COND_EXPR statements and
fold them to constants if possible. Run cleanup_cfg if done so.
(execute_pre): Return todo.
(do_pre): Likewise.
(execute_fre): Likewise.
* tree-ssa-forwprop.c (can_propagate_from): Allow propagation
of constants.
(get_prop_source_stmt): Look through pointer conversions.
* gcc.dg/tree-ssa/forwprop-4.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-16.c: Likewise.
From-SVN: r133315
|
|
* tree-pretty-print.c: Include predict.h.
(dump_generic_node): Dump predictor.
* tree.h (PREDICT_EXPR_OUTCOME, PREDICT_EXPR_PREDICTION): Update.
* tree-gimple.c (is_gimple_stmt): Add PREDICT_EXPR.
* gimple-low.c (lower_stmt): Likewise.
* expr.c (expand_expr_real): Likewise.
* predict.c (tree_bb_level_predictions): Use PREDICT_EXPRs and remove
them.
(build_predict_expr, build_predict_expr): New.
* predict.h (predictor_name, build_predict_expr): Update.
* c-typeck.c (c_finish_bc_stmt): Add prediction.
* gimplify.c (gimplify_expr): Add PREDICT_EXPR.
* predict.def (PRED_CONTINUE): Update hitrate.
* tree.def (PREDICT_EXPR): Define.
* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Mark PREDICT_EXPR;
do not handle BIND_EXPR.
* tree-inline.c (estimate_num_insns_1): PREDICT_EXPR is free.
* tree-cfg.c (verify_gimple_stmt): PREDICT_EXPR is valid.
* tree-ssa-operands.c (get_expr_operands): PREDICT_EXPR takes no
operands.
From-SVN: r133313
|
|
From-SVN: r133312
|
|
2008-03-18 Richard Guenther <rguenther@suse.de>
* tree-gimple.h (is_gimple_invariant_address): Declare.
(is_gimple_constant): Likewise.
* tree-gimple.c (is_gimple_constant): New function.
(is_gimple_invariant_address): Likewise.
(is_gimple_min_invariant): Implement in terms of is_gimple_constant
and is_gimple_invariant_address.
* tree-ssa-loop-niter.c (expand_simple_operations): Revert
previous change.
* tree-data-ref.c (get_references_in_stmt): A SSA_NAME is not
an addressable base.
* gcc.dg/tree-ssa/loop-19.c: Revert previous change.
From-SVN: r133311
|
|
PR middle-end/35611
* gimplify.c (gimplify_expr): Gimplify second operand of
OMP_ATOMIC_LOAD.
* testsuite/libgomp.c/atomic-4.c: New test.
From-SVN: r133309
|
|
presence of casts)
2008-03-17 Richard Guenther <rguenther@suse.de>
PR tree-optimization/19637
* fold-const.c (fold_unary): Remove restrictions of removing
intermediate pointer-conversions (P2)(P1)P0.
* tree-ssa-ccp.c (maybe_fold_stmt_addition): Recover from
conversion to void pointer.
(get_maxval_strlen): Handle addresses of the form &(*p)[0].
* g++.dg/tree-ssa/pr19637.C: New testcase.
From-SVN: r133291
|
|
PR debug/31510
* dbxout.c (dbxout_expand_expr, case VAR_DECL): Return NULL for
emulated thread local variables.
From-SVN: r133274
|
|
2008-03-16 Richard Guenther <rguenther@suse.de>
PR middle-end/35607
* tree-ssa-loop-niter.c (expand_simple_operations): Do not
expand TREE_INVARIANT operations that are not gimple invariant.
* gcc.c-torture/compile/pr35607.c: New testcase.
* gcc.dg/tree-ssa/loop-19.c: Use -O2 to avoid vectorization.
From-SVN: r133273
|
|
non-strict-alignment targets...
* doc/extend.texi (Alignment): Say that the ABI controls
the __alignof__ for non-strict-alignment targets rather
than being a recommendation.
From-SVN: r133271
|
|
2008-03-15 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.c (arm_unwind_emit): Suppress unused unwinding
annotations.
(arm_output_fn_unwind): Mark functions that can not be unwound.
From-SVN: r133266
|
|
2008-03-15 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.c (arm_rtx_costs_1): Add costs for ARMv6 value
extension instructions.
From-SVN: r133260
|
|
aggregate refs.
2008-03-15 Richard Guenther <rguenther@suse.de>
* tree-ssa-ccp.c (ccp_fold): Also read from constant values
and fold constant aggregate refs.
(fold_const_aggregate_ref): Handle string constants
and constructors in ARRAY_REFs. Handle INDIRECT_REF.
(evaluate_stmt): Simplify now that ccp_fold folds constant
aggregate refs.
* gcc.dg/tree-ssa/ssa-ccp-16.c: New testcase.
From-SVN: r133257
|
|
2008-03-15 Paul Brook <paul@codesourcery.com>
* config/arm/arm.md (insv): Use gen_insv_t2 and gen_insv_zero.
(extzv): Use gen_extzv_t2.
(insv_t2, insv_zero, extv, extzv_t2): New patterns.
From-SVN: r133254
|
|
2008-03-15 Richard Guenther <rguenther@suse.de>
* tree-ssa-ccp.c (get_symbol_constant_value): Export.
(fold_const_aggregate_ref): Likewise.
(get_value): Return NULL if we don't have any values.
(ccp_finalize): Set const_val to NULL after freeing it.
* tree-flow.h (get_symbol_constant_value): Declare.
(fold_const_aggregate_ref): Likewise.
* tree-ssa-sccvn.c (try_to_simplify): Use them.
* gcc.dg/pr23911.c: Adjust testcase.
* gcc.dg/tree-ssa/pr14841.c: Likewise.
* gcc.dg/tree-ssa/20030922-2.c: Likewise.
From-SVN: r133251
|
|
bounds" with void* function argument plus -O2)
2008-03-15 Richard Guenther <rguenther@suse.de>
PR middle-end/35593
* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Make sure
to not produce negative array indices if not allowed. Add
parameter to indicate that.
(maybe_fold_offset_to_component_ref): Allow negative array
indices only for the first member of a structure.
(maybe_fold_offset_to_reference): Allow negative array indices.
(maybe_fold_stmt_addition): Likewise.
* g++.dg/warn/Warray-bounds-3.C: New testcase.
From-SVN: r133249
|
|
* gcc/gcc/config/avr/avr.c (avr_arch_types): Add avr6 entry.
(avr_arch): Add ARCH_AVR6.
(avr_mcu_types): Add 'atmega2560' and 'atmega2561' entry.
(initial_elimination_offset): Initialize and use 'avr_pc_size'
instead of fixed value 2.
(print_operand_address): Use gs() asm specifier instead of pm().
(avr_assemble_integer): (Ditto.).
(avr_output_addr_vec_elt): (Ditto.).
(print_operand): Handle "!" code.
* gcc/gcc/config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Add
__AVR_3_BYTE_PC__, __AVR_2_BYTE_PC__ and __AVR_HAVE_JMP_CALL__.
(AVR_HAVE_EIJMP_EICALL): Define.
(AVR_3_BYTE_PC): Redefine.
(AVR_2_BYTE_PC): (Ditto.).
(PRINT_OPERAND_PUNCT_VALID_P): Add '!' code.
(LINK_SPEC): Add atmega2560 and atmega2561.
(CRT_BINUTILS_SPEC): Add atmega2560 (crtm2560.o) and atmega2561
(crtm2561.o).
* gcc/gcc/config/avr/avr.md (call_insn): Use eicall instead of icall
for 3 byte PC devices.
(call_value_insn): (Ditto.).
(*tablejump_enh): Use eijmp instead of ijmp for 3 byte PC devices.
(indirect_jump): Use only for for 2 byte PC devices.
(*tablejump): (Ditto.).
(*indirect_jump_avr6): Add insn.
(*tablejump_rjmp): Don't use for 3 byte PC devices.
* gcc/gcc/config/avr/libgcc.S (__prologue_saves__): Use eijmp
instead of ijmp for 3 byte PC devices.
(__tablejump2__): (Ditto.).
* gcc/gcc/config/avr/t-avr (MULITLIB_OPTIONS): Add avr6 architecture.
(MULITLIB_DIRNAMES): (Ditto.).
(MULTILIB_MATCHES): Add atmega2560 and atmega2561 to list.
Co-Authored-By: Anatoly Sokolov <aesok@post.ru>
From-SVN: r133248
|
|
* config/i386/mmx.md ("sse2_umulv1siv2di3"): Rename from
"sse2_umulsidi3". Use V1DI mode for operand 0.
("mmx_psadbw"): Use V1DI mode for operand 0.
* config/i386/i386-modes.def (V1SI): New vector mode.
* config/i386/i386.c (struct builtin_description)
[IX86_BUILTIN_PMULUDQ]: Use CODE_FOR_sse2_umulv1siv1di3.
(v1di_ftype_v8qi_v8qi): Rename from di_ftype_v8qi_v8qi.
(v1di_ftype_v2si_v2si): Rename from di_ftype_v2si_v2si.
(ix86_init_mmx_sse_builtins) [__builtin_ia32_psadbw]: Use
v1di_ftype_v8qi_v8qi type.
[__builtin_ia32_pmuludq]: Use v1di_ftype_v2si_v2si type.
From-SVN: r133243
|
|
PR middle-end/35595
* tree-ssa-pre.c (bitmap_find_leader): Handle expression
being a PHI_NODE.
From-SVN: r133237
|
|
-mno-serialize-volatile Xtensa options.
* doc/invoke.texi (Option Summary, Xtensa Options): Document
-mserialize-volatile and -mno-serialize-volatile Xtensa options.
* config/xtensa/xtensa.c (print_operand): Do not emit MEMW instructions
unless TARGET_SERIALIZE_VOLATILE is enabled.
* config/xtensa/xtensa.md (*lsiu, *ssiu): Likewise.
* config/xtensa/xtensa.h (TARGET_DEFAULT): Add MASK_SERIALIZE_VOLATILE.
* config/xtensa/xtensa.opt (mserialize_volatile): New option.
From-SVN: r133234
|
|
2008-03-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34172
* tree-flow.h (refs_may_alias_p): Declare.
(get_single_def_stmt): Likewise.
(get_single_def_stmt_from_phi): Likewise.
(get_single_def_stmt_with_phi): Likewise.
* tree-dfa.c (refs_may_alias_p): New function.
(get_single_def_stmt): Likewise.
(get_single_def_stmt_from_phi): Likewise.
(get_single_def_stmt_with_phi): Likewise.
* tree-ssa-sccvn.c (get_def_ref_stmt_vuses): New function.
(vn_reference_lookup_1): New helper function.
(vn_reference_lookup): Walk the virtual use-def chain to
continue searching for a match if the def does not alias the
reference we are looking for.
* gcc.dg/tree-ssa/ssa-fre-11.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-12.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-13.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-14.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-15.c: Likewise.
* gcc.dg/tree-ssa/20031106-4.c: Remove XFAIL.
From-SVN: r133222
|
|
* doc/install.texi (Binaries): Remove UCLA archive. Add HVCC
archive and Perzl. Update The Written Word listing.
From-SVN: r133219
|
|
stores when using x86_64 builtin function together with aggregate types.)
2008-03-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/34043
PR tree-optimization/33989
* tree-ssa-pre.c (execute_pre): Allow SCCVN to do insertion
when doing FRE.
(bitmap_find_leader): Use extra argument to verify dominance
relationship inside a basic-block.
(can_PRE_operation): Add VIEW_CONVERT_EXPR.
(find_leader_in_sets): Adjust.
(create_component_ref_by_pieces): Take extra argument for
dominance check, handle lookup failures.
(find_or_generate_expression): Likewise.
(create_expression_by_pieces): Likewise.
(insert_into_preds_of_block): Adjust.
(create_value_expr_from): If asked for, verify all operands
are in the blocks AVAIL_OUT set.
(make_values_for_stmt): Check for SSA_NAMEs that are life
over an abnormal edge.
(compute_avail): Remove such check.
(do_SCCVN_insertion): New function.
(eliminate): If we do not find a leader suitable for replacement
insert a replacement expression from SCCVN if available.
* tree-ssa-sccvn.h (run_scc_vn): Update prototype.
(struct vn_ssa_aux): Add needs_insertion flag.
* tree-ssa-sccvn.c (may_insert): New global flag.
(copy_reference_ops_from_ref): Value-number union member access
based on its size, not type and member if insertion is allowed.
(visit_reference_op_load): For a weak match from union type
punning lookup a view-converted value and insert a SSA_NAME
for that value if that is not found.
(visit_use): Make dumps shorter. Do not disallow value numbering
SSA_NAMEs that are life over an abnormal edge to constants.
(free_scc_vn): Release inserted SSA_NAMEs.
(run_scc_vn): New flag to specify whether insertion is allowed.
Process SSA_NAMEs in forward order.
* tree-ssa-loop-im.c (for_each_index): Handle invariant
ADDR_EXPRs inside VIEW_CONVERT_EXPR.
* fold-const.c (fold_unary): Fold VIEW_CONVERT_EXPRs from/to
pointer type to/from integral types that do not change the
precision to regular conversions.
* gcc.dg/tree-ssa/ssa-fre-7.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-8.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-9.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-10.c: Likewise.
* gcc.dg/tree-ssa/ssa-pre-17.c: Likewise.
From-SVN: r133218
|
|
commit commit.
* doc/extend.texi (X86 Built-in Functions): Missed fragment from
my previous commit commit.
From-SVN: r133178
|
|
the mode of return value.
* doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
__builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
__builtin_ia32_psrl?i, __builtin_ia32_psra?i, __builtin_ia32_psll?128,
__builtin_ia32_psrl?128, __builtin_ia32_psra?128]: Fix the mode of
input arguments and the mode of return value.
From-SVN: r133177
|
|
2008-02-19 Alon Dayan <alond@il.ibm.com>
Olga Golovanevsky <olga@il.ibm.com>
PR tree-optimization/35041
* gcc.dg/struct/wo_prof_double_malloc.c: New test.
2008-03-13 Alon Dayan <alond@il.ibm.com>
Olga Golovanevsky <olga@il.ibm.com>
PR tree-optimization/35041
* ipa-struct-reorg.c (find_pos_in_stmt_1): Add another option
to locate the right position in a statement.
Co-Authored-By: Olga Golovanevsky <olga@il.ibm.com>
From-SVN: r133171
|
|
system headers in extern inline functions)
PR target/34000
PR target/35553
* config/i386/xmmintrin.h: Change all static inline functions to
extern inline and add __gnu_inline__ attribute.
* config/i386/bmintrin.h: Ditto.
* config/i386/smmintrin.h: Ditto.
* config/i386/tmmintrin.h: Ditto.
* config/i386/mmintrin-common.h: Ditto.
* config/i386/ammintrin.h: Ditto.
* config/i386/emmintrin.h: Ditto.
* config/i386/pmmintrin.h: Ditto.
* config/i386/mmintrin.h: Ditto.
* config/i386/mm3dnow.h: Ditto.
testsuite/ChangeLog:
PR target/34000
PR target/35553
* g++.dg/other/i386-3.C: New test.
* gcc.target/i386/sse-13.c: Redefine extern instead of static.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/mmx-1.c: Ditto.
* gcc.target/i386/mmx-2.c: Ditto.
* gcc.target/i386/3dnow-1.c: Ditto.
* gcc.target/i386/3dnow-2.c: Ditto.
* gcc.target/i386/3dnowA-1.c: Ditto.
* gcc.target/i386/3dnowA-2.c: Ditto.
From-SVN: r133169
|
|
From-SVN: r133167
|
|
PR target/35553
* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
__SSE_USE_INLINED_FUNC__ when using -flag-keep-inline-functions
together with optimization.
* config/i386/xmmintrin.h: Use __SSE_USE_INLINED_FUNC__ instead of
__OPTIMIZE__ to choose between inlined intrinsic SSE function having
immediate arguments and its equivalent macro definition.
* config/i386/bmintrin.h: Ditto.
* config/i386/smmintrin.h: Ditto.
* config/i386/tmmintrin.h: Ditto.
* config/i386/mmintrin-common.h: Ditto.
* config/i386/ammintrin.h: Ditto.
* config/i386/emmintrin.h: Ditto.
testsuite/ChangeLog:
PR target/35553
* g++.dg/other/i386-3.C: New test.
From-SVN: r133164
|
|
PR middle-end/35185
* omp-low.c (lower_regimplify, init_tmp_var, save_tmp_var): Removed.
(lower_omp_2): New function.
(lower_omp_1, lower_omp): Rewritten.
* testsuite/libgomp.c++/pr35185.C: New test.
From-SVN: r133162
|
|
PR 35054
* doc/extend.texi (Structure-Packing Pragmas): Replace "Win32"
with the phrase "Microsoft Windows compilers".
(Push/Pop Macro Pragmas): New subsection. Document
#pragma push_macro and pragma pop_macro.
From-SVN: r133161
|
|
2008-03-12 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.c (output_move_double): Prefer LDRD to LDM.
From-SVN: r133160
|
|
2008-03-12 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/thumb2.md: Extend peephole to cover 3-arg subs.
(thumb2_alusi3_short): Exclude PLUS and MINUS.
(thumb2_addsi_shortim): Rename ...
(thumb2_addsi_short): ... to this. Allow register operands.
(thumb2_subsi_short): New pattern.
(thumb2_one_cmplsi2_short,
thumb2_negsi2_short): New patterns and peepholes.
From-SVN: r133152
|
|
2008-03-12 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.c (arm_size_rtx_costs): Use ARM costs for Thumb-2.
From-SVN: r133151
|
|
* config/i386/i386.md (int_cond): New code iterator.
(fp_cond): Ditto.
("s<code>"): Macroize expander from seq, sne, sgt, sgtu, slt, sltu,
sge, sgeu, sle and sleu expanders usign int_cond code iterator.
("s<code>"): Macroize expander from sunordered, sordered, suneq, sunge,
sungt, sunle, sunlt and sltgt expanders usign fp_cond code iterator.
("b<code>"): Macroize expander from beq, bne, bgt, bgtu, blt, bltu,
bge, bgeu, ble and bleu expanders usign int_cond code iterator.
("b<code>"): Macroize expander from bunordered, bordered, buneq, bunge,
bungt, bunle, bunlt and bltgt expanders usign fp_cond code iterator.
From-SVN: r133150
|
|
{arm,thumb}_compute_save_reg_mask.
2008-03-12 Paul Brook <paul@codesourcery.com>
gcc/
* config/arm/arm.c (use_return_insn): Use offsets->saved_regs_mask
instead of {arm,thumb}_compute_save_reg_mask.
(output_return_instruction): Ditto.
(thumb_unexpanded_epilogue): Ditto.
(thumb1_expand_prologue): Ditto.
(thumb1_output_function_prologue): Ditto.
(arm_set_return_address): Ditto.
(thumb_set_return_address): Ditto.
(arm_get_frame_offsets): Set offsets->saved_regs_mask. Push extra
regs to achieve stack alignment.
(thumb1_compute_save_reg_mask): Fix compiler warning.
(arm_output_epilogue): Use offsets->saved_regs_mask.
Adjust stack pointer by poping call clobered registers.
(arm_expand_prologue): Use offsets->saved_regs_mask.
Adjust stack pointer by pushing extra registers.
* gcc/config/arm.h (arm_stack_offsets): Add saved_regs_mask.
From-SVN: r133148
|
|
only low bits are needed)
2008-03-12 Paolo Bonzini <bonzini@gnu.org>
PR tree-opt/35422
* fold-const.c (fold_unary) <NOP_EXPR>: Distribute a narrowing
conversion to the operands of a multiplication.
testsuite:
2008-03-12 Paolo Bonzini <bonzini@gnu.org>
PR tree-opt/35422
* gcc.dg/vect/slp-7.c: Change target keywords required for vectorizing
third loop.
* gcc.target/i386/pr35422.c: New.
From-SVN: r133144
|
|
2008-03-12 Richard Guenther <rguenther@suse.de>
* Makefile.in (OBJS-common): Add tree-ssa-phiprop.o
(tree-ssa-phiprop.o): Copy dependencies from tree-ssa-forwprop.o.
* timevar.def (TV_TREE_PHIPROP): Add.
* tree-ssa-phiprop.c: Split from tree-ssa-forwprop.c, added
pass description. Use TV_TREE_PHIPROP.
* tree-ssa-forwprop.c: Remove phiprop code.
From-SVN: r133140
|
|
parallels)
PR middle-end/35549
* omp-low.c (maybe_lookup_decl): Constify first argument.
(use_pointer_for_field): Change last argument from bool to
omp_context *. Disallow shared copy-in/out in nested
parallel if decl is shared in outer parallel too.
(build_outer_var_ref, scan_sharing_clauses,
lower_rec_input_clauses, lower_copyprivate_clauses,
lower_send_clauses, lower_send_shared_vars): Adjust callers.
* testsuite/libgomp.c/pr35549.c: New test.
From-SVN: r133136
|
|
2008-03-12 Victor Kaplansky <victork@il.ibm.com>
Ira Rosen <irar@il.ibm.com>
* tree-vectorizer.c (free_stmt_vec_info): New function.
(destroy_loop_vec_info): Move code to free_stmt_vec_info().
Call free_stmt_vec_info(). Free LOOP_VINFO_STRIDED_STORES..
* tree-vectorizer.h (free_stmt_vec_info): Declare.
* tree-vect-transform.c (vectorizable_conversion): Free
vec_oprnds0 if it was allocated.
(vect_permute_store_chain): Remove unused VECs.
(vectorizable_store): Free VECs that are allocated in the..
function.
(vect_transform_strided_load, vectorizable_load): Likewise.
(vect_remove_stores): Simplify the code.
(vect_transform_loop): Move code to vect_remove_stores().
Call vect_remove_stores() and free_stmt_vec_info().
Co-Authored-By: Ira Rosen <irar@il.ibm.com>
From-SVN: r133134
|