1. 02 Mar, 2006 12 commits
    • tree-vrp.c (execute_vrp): Return value. · c2924966
      2006-03-02  Daniel Berlin <dberlin@dberlin.org>
      
      	* gcc/tree-vrp.c (execute_vrp): Return value.
      	* gcc/regrename.c (rest_of_handle_regrename): Ditto.
      	* gcc/tree-into-ssa.c (rewrite_into_ssa): Ditto.
      	* gcc/tree-complex.c (tree_lower_complex): Ditto.
      	(tree_lower_complex_O0): Ditto.
      	* gcc/tracer.c (rest_of_handle_tracer): Ditto.
      	* gcc/postreload-gcse.c (rest_of_handle_gcse2): Ditto.
      	* gcc/postreload.c (rest_of_handle_postreload): Ditto.
      	* gcc/tree-tailcall.c (execute_tail_recursion): Ditto.
      	(execute_tail_calls): Ditto.
      	* gcc/tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
      	* gcc/tree.h (init_function_for_compilation): Ditto.
      	* gcc/ipa-cp.c (ipcp_driver): Ditto.
      	* gcc/tree-scalar-evolution.c (scev_const_prop): Ditto.
      	* gcc/tree-scalar-evolution.h (scev_const_prop): Ditto.
      	* gcc/final.c (compute_alignments): Ditto.
      	(rest_of_handle_final): Ditto.
      	(rest_of_handle_shorten_branches): Ditto.
      	(rest_of_clean_state): Ditto.
      	* gcc/omp-low.c (execute_expand_omp): Ditto.
      	(execute_lower_omp): Ditto.
      	* gcc/tree-ssa-dse.c (tree_ssa_dse): Ditto.
      	* gcc/ipa-reference.c (static_execute): Ditto.
      	* gcc/tree-ssa-uncprop.c (tree_ssa_uncprop): Ditto.
      	* gcc/reorg.c (rest_of_handle_delay_slots): Ditto.
      	(rest_of_handle_machine_reorg): Ditto.
      	* gcc/cgraphunit.c (rebuild_cgraph_edges): Ditto.
      	* gcc/flow.c (recompute_reg_usage): Ditto.
      	(rest_of_handle_remove_death_notes): Ditto.
      	(rest_of_handle_life): Ditto.
      	(rest_of_handle_flow2): Ditto.
      	* gcc/tree-ssa-copyrename.c (rename_ssa_copies): Ditto.
      	* gcc/tree-ssa-ccp.c (do_ssa_ccp): Ditto.
      	(do_ssa_store_ccp): Ditto.
      	(execute_fold_all_builtins): Ditto.
      	* gcc/mode-switching.c (rest_of_handle_mode_switching): Ditto.
      	* gcc/modulo-sched.c (rest_of_handle_sms): Ditto.
      	* gcc/ipa-pure-const.c (static_execute): Ditto.
      	* gcc/cse.c (rest_of_handle_cse): Ditto.
      	(rest_of_handle_cse2): Ditto.
      	* gcc/web.c (rest_of_handle_web): Ditto.
      	* gcc/tree-stdarg.c (execute_optimize_stdarg): Ditto.
      	* gcc/tree-ssa-math-opts.c (execute_cse_reciprocals): Ditto.
      	* gcc/tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
      	* gcc/tree-nrv.c (tree_nrv): Ditto.
      	(execute_return_slot_opt): Ditto.
      	* gcc/tree-ssa-alias.c (compute_may_aliases): Ditto.
      	(create_structure_vars): Ditto.
      	* gcc/loop-init.c (rtl_loop_init): Ditto.
      	(rtl_loop_done): Ditto.
      	(rtl_move_loop_invariants): Ditto.
      	(rtl_unswitch): Ditto.
      	(rtl_unroll_and_peel_loops): Ditto.
      	(rtl_doloop): Ditto.
      	* gcc/gimple-low.c (lower_function_body): Ditto.
      	(mark_used_blocks): Ditto.
      	* gcc/tree-ssa-sink.c (execute_sink_code): Ditto.
      	* gcc/ipa-inline.c (cgraph_decide_inlining): Ditto.
      	(cgraph_early_inlining): Ditto.
      	* gcc/global.c (rest_of_handle_global_alloc): Ditto.
      	* gcc/jump.c (cleanup_barriers): Ditto.
      	(purge_line_number_notes): Ditto.
      	* gcc/ifcvt.c (rest_of_handle_if_conversion): Ditto.
      	(rest_of_handle_if_after_reload): Ditto.
      	* gcc/tree-ssa-loop.c (tree_ssa_loop_init): Ditto.
      	(tree_ssa_loop_im): Ditto.
      	(tree_ssa_loop_unswitch): Ditto.
      	(tree_vectorize): Ditto.
      	(tree_linear_transform): Ditto.
      	(tree_ssa_loop_ivcanon): Ditto.
      	(tree_ssa_empty_loop): Ditto.
      	(tree_ssa_loop_bounds): Ditto.
      	(tree_complete_unroll): Ditto.
      	(tree_ssa_loop_prefetch): Ditto.
      	(tree_ssa_loop_ivopts): Ditto.
      	(tree_ssa_loop_done): Ditto.
      	* gcc/predict.c (tree_estimate_probability): Ditto.
      	* gcc/recog.c (split_all_insns_noflow): Ditto.
      	(rest_of_handle_peephole2): Ditto.
      	(rest_of_handle_split_all_insns): Ditto.
      	* gcc/tree-eh.c (lower_eh_constructs): Ditto.
      	* gcc/regmove.c (rest_of_handle_regmove): Ditto.
      	(rest_of_handle_stack_adjustments): Ditto.
      	* gcc/local-alloc.c (rest_of_handle_local_alloc): Ditto.
      	* gcc/function.c (instantiate_virtual_regs): Ditto.
      	(init_function_for_compilation): Ditto.
      	(rest_of_handle_check_leaf_regs): Ditto.
      	* gcc/gcse.c (rest_of_handle_jump_bypass): Ditto.
      	(rest_of_handle_gcse): Ditto.
      	* gcc/ipa-type-escape.c (type_escape_execute): Ditto.
      	* gcc/alias.c (rest_of_handle_cfg): Ditto.
      	* gcc/tree-if-conv.c (main_tree_if_conversion): Ditto.
      	* gcc/profile.c (rest_of_handle_branch_prob): Ditto.
      	* gcc/tree-ssa-phiopt.c (tree_ssa_phiopt): Ditto.
      	* gcc/rtl-factoring.c (rest_of_rtl_seqabstr): Ditto.
      	* gcc/bt-load.c (rest_of_handle_branch_target_load_optimize): Ditto
      	* gcc/tree-dfa.c (find_referenced_vars): Ditto.
      	* gcc/except.c (set_nothrow_function_flags): Ditto.
      	(convert_to_eh_region_ranges): Ditto.
      	(rest_of_handle_eh): Ditto.
      	* gcc/emit-rtl.c (unshare_all_rtl): Ditto.
      	(remove_unnecessary_notes): Ditto.
      	* gcc/except.h (set_nothrow_function_flags): Ditto.
      	(convert_to_eh_region_ranges): Ditto.
      	* gcc/cfgexpand.c (tree_expand_cfg): Ditto.
      	* gcc/tree-cfgcleanup.c (merge_phi_nodes): Ditto.
      	* gcc/tree-ssa-pre.c (do_pre): Ditto.
      	(execute_fre): Ditto.
      	* gcc/cfgcleanup.c (rest_of_handle_jump): Ditto.
      	(rest_of_handle_jump2): Ditto.
      	* gcc/tree-sra.c (tree_sra): Ditto.
      	* gcc/tree-mudflap.c (execute_mudflap_function_ops): Ditto.
      	(execute_mudflap_function_decls): Ditto.
      	* gcc/tree-ssa-copy.c (do_copy_prop): Ditto.
      	(do_store_copy_prop): Ditto.
      	* gcc/ipa-prop.h (ipcp_driver): Ditto.
      	* gcc/cfglayout.c (insn_locators_initialize): Ditto.
      	* gcc/tree-ssa-forwprop.c
      	(tree_ssa_forward_propagate_single_use_vars): Ditto.
      	* gcc/cfglayout.h (insn_locators_initialize): Ditto.
      	* gcc/tree-ssa-dce.c (tree_ssa_dce): Ditto.
      	* gcc/tree-ssa.c (execute_early_warn_uninitialized): Ditto.
      	(execute_late_warn_uninitialized): Ditto.
      	* gcc/rtl.h (cleanup_barriers): Ditto.
      	(split_all_insns_noflow): Ditto.
      	(purge_line_number_notes): Ditto.
      	(unshare_all_rtl): Ditto.
      	(remove_unnecessary_notes): Ditto.
      	(recompute_reg_usage): Ditto.
      	(variable_tracking_main): Ditto.
      	* gcc/integrate.c (emit_initial_value_sets): Ditto.
      	* gcc/integrate.h (emit_initial_value_sets): Ditto.
      	* gcc/tree-optimize.c (execute_free_datastructures): Ditto
      	(execute_free_cfg_annotations): Ditto.
      	(execute_fixup_cfg): Ditto.
      	(execute_cleanup_cfg_pre_ipa): Ditto.
      	(execute_cleanup_cfg_post_optimizing): Ditto.
      	(execute_init_datastructures): Ditto.
      	* gcc/tree-object-size.c (compute_object_sizes): Ditto.
      	* gcc/combine.c (rest_of_handle_combine): Ditto.
      	* gcc/tree-outof-ssa.c (rewrite_out_of_ssa): Ditto.
      	* gcc/bb-reorder.c (duplicate_computed_gotos): Ditto.
      	(rest_of_handle_reorder_blocks): Ditto.
      	(rest_of_handle_partition_blocks): Ditto.
      	* gcc/var-tracking.c (variable_tracking_main): Ditto.
      	* gcc/tree-profile.c (tree_profiling): Ditto.
      	* gcc/tree-vect-generic.c (expand_vector_operations): Ditto.
      	* gcc/reg-stack.c (rest_of_handle_stack_regs): Ditto.
      	* gcc/sched-rgn.c (rest_of_handle_sched): Ditto.
      	(rest_of_handle_sched2): Ditto.
      	* gcc/basic-block.h (free_bb_insn): Ditto.
      	* gcc/tree-ssa-structalias.c (ipa_pta_execute): Ditto.
      	* gcc/tree-cfg.c (execute_build_cfg): Ditto.
      	(remove_useless_stmts): Ditto.
      	(split_critical_edges): Ditto.
      	(execute_warn_function_return): Ditto.
      	(execute_warn_function_noreturn): Ditto.
      	* gcc/tree-ssa-reassoc.c (execute_reassoc): Ditto.
      	* gcc/cfgrtl.c (free_bb_for_insn): Ditto.
      	* gcc/passes.c (execute_one_pass): Run additional
      	todos returned by execute function.
      	* gcc/tree-pass.h (struct tree_opt_pass): Make execute
      	return a value.
      
      From-SVN: r111643
      Daniel Berlin committed
    • Fixed a couple of objctective-c bugs. · d349339d
      Oked by Mike Stump.
      
      From-SVN: r111642
      Fariborz Jahanian committed
    • tree-ssa-alias.c (find_used_portions): Consider taking the address as making the… · 62c577fd
      tree-ssa-alias.c (find_used_portions): Consider taking the address as making the variable not write-only.
      
      2006-03-02  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-alias.c (find_used_portions): Consider taking
      	the address as making the variable not write-only.
      
      From-SVN: r111639
      Richard Guenther committed
    • single-precision-constant.c: Tweak for non-C99 runtimes. · 92cd5e4f
      	* gcc.dg/single-precision-constant.c: Tweak for non-C99 runtimes.
      
      From-SVN: r111638
      Eric Botcazou committed
    • config.gcc (default_use_cxa_atexit): Extend the description of this configure variable. · c5dde55b
      * config.gcc (default_use_cxa_atexit): Extend the description of
        this configure variable.  Set its default value to "yes" for
        Linux, NetBSD and ELF targets on the assumption that they will
        use C libraries with the __cxa_atexit function.
      
      From-SVN: r111636
      Nick Clifton committed
    • linux-unwind.h (frob_update_context): Mark `fs' parameter as unused to suppress a build warning. · 75334508
      	* config/rs6000/linux-unwind.h (frob_update_context): Mark `fs'
      	parameter as unused to suppress a build warning.
      
      From-SVN: r111635
      Ben Elliston committed
    • mklibgcc.in: Depend on config/dfp-bit.h in rules that compile config/dfp-bit.c. · 16c44183
      	* mklibgcc.in: Depend on config/dfp-bit.h in rules that compile
      	config/dfp-bit.c.
      
      From-SVN: r111634
      Ben Elliston committed
    • re PR other/26489 (compilation of c++ fails in eh_alloc.cc on NetBSD) · a11dd268
      
      	PR other/26489
      	* gthr-posix.h (__gthrw2): Define to take three parameters, the
      	declared name, the weak reference name, and the typeof name.
      	(__gthrw): Avoid expanding the declared name suffix.
      	(__gthrw3): New Tru64 specific macro to simplify the OSF/1 decls.
      
      From-SVN: r111633
      Roger Sayle committed
    • re PR target/25908 (vtables with vague linkage is not being marked as vague on darwin) · 1a1d0917
      	PR darwin/25908
      	* decl2.c (import_export_decl): Fix ABI breakage on darwin.
      
      	* g++.dg/abi/key2.C: Add.
      
      From-SVN: r111632
      Mike Stump committed
    • trans-stmt.c (generate_loop_for_temp_to_lhs): Add an additional INVERT argument… · 011daa76
      trans-stmt.c (generate_loop_for_temp_to_lhs): Add an additional INVERT argument to invert the sense of the WHEREMASK argument.
      
      
      	* trans-stmt.c (generate_loop_for_temp_to_lhs): Add an additional
      	INVERT argument to invert the sense of the WHEREMASK argument.
      	Remove unneeded code to AND together a list of masks.
      	(generate_loop_for_rhs_to_temp): Likewise.
      	(gfc_trans_assign_need_temp): Likewise.
      	(gfc_trans_forall_1): Likewise.
      	(gfc_evaluate_where_mask): Likewise, add a new INVERT argument
      	to specify the sense of the MASK argument.
      	(gfc_trans_where_assign): Likewise.
      	(gfc_trans_where_2): Likewise.  Restructure code that decides
      	whether we need to allocate zero, one or two temporary masks.
      	If this is a top-level WHERE (i.e. the incoming MAKS is NULL),
      	we only need to allocate at most one temporary mask, and can
      	invert it's sense to provide the complementary pending execution
      	mask.  Only calculate the size of the required temporary arrays
      	if we need any.
      	(gfc_trans_where): Update call to gfc_trans_where_2.
      
      From-SVN: r111630
      Roger Sayle committed
    • Daily bump. · 7362e452
      From-SVN: r111628
      GCC Administrator committed
  2. 01 Mar, 2006 22 commits
  3. 28 Feb, 2006 6 commits
    • unwindtest.cc (closure_test_fn): Mark cif, args and userdata unused. · b295c471
      2006-03-01  Andreas Tobler  <a.tobler@schweiz.ch>
      
      	* testsuite/libffi.special/unwindtest.cc (closure_test_fn): Mark cif,
      	args and userdata unused.
      	(closure_test_fn1): Mark cif and userdata unused.
      	(main): Remove unused res.
      
      From-SVN: r111583
      Andreas Tobler committed
    • call.exp: Adjust FSF address. · 9fdeb13b
      2006-02-28  Andreas Tobler  <a.tobler@schweiz.ch>
      
      	* testsuite/libffi.call/call.exp: Adjust FSF address. Add test runs for
      	-O2, -O3, -Os and the warning flags -W -Wall.
      	* testsuite/libffi.special/special.exp: Likewise.
      	* testsuite/libffi.call/ffitest.h: Add an __UNUSED__ macro to mark
      	unused parameter unused for gcc or else do nothing.
      	* testsuite/libffi.special/ffitestcxx.h: Likewise.
      	* testsuite/libffi.call/cls_12byte.c (cls_struct_12byte_gn): Mark cif
      	and userdata unused.
      	* testsuite/libffi.call/cls_16byte.c (cls_struct_16byte_gn): Likewise.
      	* testsuite/libffi.call/cls_18byte.c (cls_struct_18byte_gn): Likewise.
      	* testsuite/libffi.call/cls_19byte.c (cls_struct_19byte_gn): Likewise.
      	* testsuite/libffi.call/cls_1_1byte.c (cls_struct_1_1byte_gn): Likewise.
      	* testsuite/libffi.call/cls_20byte.c (cls_struct_20byte_gn): Likewise.
      	* testsuite/libffi.call/cls_20byte1.c (cls_struct_20byte_gn): Likewise.
      	* testsuite/libffi.call/cls_24byte.c (cls_struct_24byte_gn): Likewise.
      	* testsuite/libffi.call/cls_2byte.c (cls_struct_2byte_gn): Likewise.
      	* testsuite/libffi.call/cls_3_1byte.c (cls_struct_3_1byte_gn): Likewise.
      	* testsuite/libffi.call/cls_3byte1.c (cls_struct_3byte_gn): Likewise.
      	* testsuite/libffi.call/cls_3byte2.c (cls_struct_3byte_gn1): Likewise.
      	* testsuite/libffi.call/cls_4_1byte.c (cls_struct_4_1byte_gn): Likewise.
      	* testsuite/libffi.call/cls_4byte.c (cls_struct_4byte_gn): Likewise.
      	* testsuite/libffi.call/cls_5_1_byte.c (cls_struct_5byte_gn): Likewise.
      	* testsuite/libffi.call/cls_5byte.c (cls_struct_5byte_gn): Likewise.
      	* testsuite/libffi.call/cls_64byte.c (cls_struct_64byte_gn): Likewise.
      	* testsuite/libffi.call/cls_6_1_byte.c (cls_struct_6byte_gn): Likewise.
      	* testsuite/libffi.call/cls_6byte.c (cls_struct_6byte_gn): Likewise.
      	* testsuite/libffi.call/cls_7_1_byte.c (cls_struct_7byte_gn): Likewise.
      	* testsuite/libffi.call/cls_7byte.c (cls_struct_7byte_gn): Likewise.
      	* testsuite/libffi.call/cls_8byte.c (cls_struct_8byte_gn): Likewise.
      	* testsuite/libffi.call/cls_9byte1.c (cls_struct_9byte_gn): Likewise.
      	* testsuite/libffi.call/cls_9byte2.c (cls_struct_9byte_gn): Likewise.
      	* testsuite/libffi.call/cls_align_double.c (cls_struct_align_gn):
      	Likewise.
      	* testsuite/libffi.call/cls_align_float.c (cls_struct_align_gn):
      	Likewise.
      	* testsuite/libffi.call/cls_align_longdouble.c (cls_struct_align_gn):
      	Likewise.
      	* testsuite/libffi.call/cls_align_pointer.c (cls_struct_align_fn): Cast
      	void* to avoid compiler warning.
      	(main): Likewise.
      	(cls_struct_align_gn): Mark cif and userdata unused.
      	* testsuite/libffi.call/cls_align_sint16.c (cls_struct_align_gn):
      	Likewise.
      	* testsuite/libffi.call/cls_align_sint32.c (cls_struct_align_gn):
      	Likewise.
      	* testsuite/libffi.call/cls_align_sint64.c (cls_struct_align_gn):
      	Likewise.
      	* testsuite/libffi.call/cls_align_uint16.c (cls_struct_align_gn):
      	Likewise.
      	* testsuite/libffi.call/cls_align_uint32.c (cls_struct_align_gn):
      	Likewise.
      	* testsuite/libffi.call/cls_double.c (cls_ret_double_fn): Likewise.
      	* testsuite/libffi.call/cls_float.c (cls_ret_float_fn): Likewise.
      	* testsuite/libffi.call/cls_multi_schar.c (test_func_gn): Mark cif and
      	data unused.
      	(main): Cast res_call to silence gcc.
      	* testsuite/libffi.call/cls_multi_sshort.c (test_func_gn): Mark cif and
      	data unused.
      	(main): Cast res_call to silence gcc.
      	* testsuite/libffi.call/cls_multi_sshortchar.c (test_func_gn): Mark cif
      	and data unused.
      	(main): Cast res_call to silence gcc.
      	* testsuite/libffi.call/cls_multi_uchar.c (test_func_gn): Mark cif and
      	data unused.
      	(main): Cast res_call to silence gcc.
      	* testsuite/libffi.call/cls_multi_ushort.c (test_func_gn): Mark cif and
      	data unused.
      	(main): Cast res_call to silence gcc.
      	* testsuite/libffi.call/cls_multi_ushortchar.c (test_func_gn): Mark cif
      	and data unused.
      	(main): Cast res_call to silence gcc.
      	* testsuite/libffi.call/cls_schar.c (cls_ret_schar_fn): Mark cif and
      	userdata unused.
      	(cls_ret_schar_fn): Cast printf parameter to silence gcc.
      	* testsuite/libffi.call/cls_sint.c (cls_ret_sint_fn): Mark cif and
      	userdata unused.
      	(cls_ret_sint_fn): Cast printf parameter to silence gcc.
      	* testsuite/libffi.call/cls_sshort.c (cls_ret_sshort_fn): Mark cif and
      	userdata unused.
      	(cls_ret_sshort_fn): Cast printf parameter to silence gcc.
      	* testsuite/libffi.call/cls_uchar.c (cls_ret_uchar_fn):  Mark cif and
      	userdata unused.
      	(cls_ret_uchar_fn): Cast printf parameter to silence gcc.
      	* testsuite/libffi.call/cls_uint.c (cls_ret_uint_fn): Mark cif and
      	userdata unused.
      	(cls_ret_uint_fn): Cast printf parameter to silence gcc.
      	* testsuite/libffi.call/cls_ulonglong.c (cls_ret_ulonglong_fn): Mark cif
      	and userdata unused.
      	* testsuite/libffi.call/cls_ushort.c (cls_ret_ushort_fn): Mark cif and
      	userdata unused.
      	(cls_ret_ushort_fn): Cast printf parameter to silence gcc.
      	* testsuite/libffi.call/float.c (floating): Remove unused parameter e.
      	* testsuite/libffi.call/float1.c (main): Remove unused variable i.
      	Cleanup white spaces.
      	* testsuite/libffi.call/negint.c (checking): Remove unused variable i.
      	* testsuite/libffi.call/nested_struct.c (cls_struct_combined_gn): Mark
      	cif and userdata unused.
      	* testsuite/libffi.call/nested_struct1.c (cls_struct_combined_gn):
      	Likewise.
      	* testsuite/libffi.call/nested_struct10.c (B_gn): Likewise.
      	* testsuite/libffi.call/nested_struct2.c (B_fn): Adjust printf
      	formatters to silence gcc.
      	(B_gn): Mark cif and userdata unused.
      	* testsuite/libffi.call/nested_struct3.c (B_gn): Mark cif and userdata
      	unused.
      	* testsuite/libffi.call/nested_struct4.c: Mention related PR.
      	(B_gn): Mark cif and userdata unused.
      	* testsuite/libffi.call/nested_struct5.c (B_gn): Mark cif and userdata
      	unused.
      	* testsuite/libffi.call/nested_struct6.c: Mention related PR.
      	(B_gn): Mark cif and userdata unused.
      	* testsuite/libffi.call/nested_struct7.c (B_gn): Mark cif and userdata
      	unused.
      	* testsuite/libffi.call/nested_struct8.c (B_gn): Likewise.
      	* testsuite/libffi.call/nested_struct9.c (B_gn): Likewise.
      	* testsuite/libffi.call/problem1.c (stub): Likewise.
      	* testsuite/libffi.call/pyobjc-tc.c (main): Cast the result to silence
      	gcc.
      	* testsuite/libffi.call/return_fl2.c (return_fl): Add the note mentioned
      	in the last commit for this test case in the test case itself.
      	* testsuite/libffi.call/closure_fn0.c (closure_test_fn0): Mark cif as
      	unused.
      	* testsuite/libffi.call/closure_fn1.c (closure_test_fn1): Likewise.
      	* testsuite/libffi.call/closure_fn2.c (closure_test_fn2): Likewise.
      	* testsuite/libffi.call/closure_fn3.c (closure_test_fn3): Likewise.
      	* testsuite/libffi.call/closure_fn4.c (closure_test_fn0): Likewise.
      	* testsuite/libffi.call/closure_fn5.c (closure_test_fn5): Likewise.
      	* testsuite/libffi.call/closure_fn6.c (closure_test_fn0): Likewise.
      
      From-SVN: r111582
      Andreas Tobler committed
    • re PR tree-optimization/14752 ([tree-ssa] "~a" should be changed to "a" if used… · c457fcec
      re PR tree-optimization/14752 ([tree-ssa] "~a" should be changed to "a" if used in the condition of an if statement)
      
      
      	PR middle-end/14752
      	* c-common.c (c_common_truthvalue_conversion) <MINUS_EXPR,
      	BIT_XOR_EXPR, BIT_AND_EXPR>: Delete.  Let fold optimize these
      	cases via the construction of "expr != 0".
      
      	* gcc.dg/fold-eqandshift-2.c: New test case.
      
      From-SVN: r111575
      Roger Sayle committed
    • alias.c (alias_invariant, [...]): Remove. · 63292ebf
      	* alias.c (alias_invariant, alias_invariant_size): Remove.
      	(record_base_value): Remove.
              (memrefs_conflict_p): Don't look at alias_invariant.
              (end_alias_analysis): Don't free it.
              * alias.h (record_base_value): Remove prototype.
      
      From-SVN: r111574
      Steven Bosscher committed
    • rtl.h (truncated_to_mode): Declare it. · d3b72690
      	* rtl.h (truncated_to_mode): Declare it.
      	(struct rtl_hooks): Add reg_truncated_to_mode hook.
      	* rtlhooks-def.h (RTL_HOOKS_REG_TRUNCATED_TO_MODE): New macro.
      	(RTL_HOOKS_INITIALIZER): Include it.
      	* rtlhooks.c (reg_truncated_to_mode_general): New function.
      	* combine.c (RTL_HOOKS_REG_TRUNCATED_TO_MODE): Override to
      	reg_truncated_to_mode.
      	* rtlanal.c (truncated_to_mode): Define it.
      	* simplify-rtx.c (simplify_unary_operation_1): Use it.
      
      Co-Authored-By: Adam Nemet <anemet@caviumnetworks.com>
      
      From-SVN: r111573
      Paolo Bonzini committed
    • tree-chrec.c (chrec_convert_aggressive): Do not eliminate conversions where… · e5c7f9f5
      tree-chrec.c (chrec_convert_aggressive): Do not eliminate conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover...
      
              * tree-chrec.c (chrec_convert_aggressive): Do not eliminate
              conversions where TYPE_MIN_VALUE/TYPE_MAX_VALUE do not cover
              the range allowed by TYPE_PRECISION.
      
      From-SVN: r111568
      Jeff Law committed