Commit Graph

123686 Commits

Author SHA1 Message Date
Segher Boessenkool
44626634cd rs6000-opts.h (enum processor_type): Reorder.
2013-05-31  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/
        * config/rs6000/rs6000-opts.h (enum processor_type): Reorder.
        * config/rs6000/rs6000.md (cpu): Reorder.  Split long line.
        Fix comment.

From-SVN: r199555
2013-05-31 20:15:01 +02:00
Marcus Shawcroft
dd7b0c8128 Fix pr54684.C regression.
From-SVN: r199552
2013-05-31 17:46:10 +00:00
Marcus Shawcroft
cf11fc73f6 Fix pr56184.C regression.
From-SVN: r199551
2013-05-31 17:44:04 +00:00
Marcus Shawcroft
2dc82ccbdc Fix eb76.C regression for arm*-*-*.
From-SVN: r199550
2013-05-31 17:42:35 +00:00
Yuri Rumyantsev
55805e5496 Silvermont (SLM) architecture performance tuning
2013-05-31  Yuri Rumyantsev  <yuri.s.rumyantsev@intel.com>
	    Igor Zamyatin  <igor.zamyatin@intel.com>

	* config/i386/i386.h (enum ix86_tune_indices): Add
	X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS.
	(TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS): New define.

	* config/i386/i386.c (initial_ix86_tune_features)
	<X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS>: Initialize.
	(ix86_lea_outperforms): Handle Silvermont tuning.
	(ix86_avoid_lea_for_add): Add new argument to ix86_lea_outperforms
	call.
	(ix86_use_lea_for_mov): Likewise.
	(ix86_avoid_lea_for_addr): Likewise.
	(ix86_lea_for_add_ok): Likewise.
	(exact_dependency_1): New function.
	(exact_store_load_dependency): Likewise.
	(ix86_adjust_cost): Handle Silvermont tuning.
	(do_reoder_for_imul): Likewise.
	(swap_top_of_ready_list): New function.
	(ix86_sched_reorder): Changed to handle Silvermont tuning.

	* config/i386/i386.md (peepholes that split memory operand in fp
	converts): New.

From-SVN: r199546
2013-05-31 08:52:42 -07:00
Marcus Shawcroft
e19c9de235 [PATCH, AArch64] Remove excessive braces.
From-SVN: r199545
2013-05-31 15:45:48 +00:00
Marcus Shawcroft
38e6c9a62b [AArch64] -mcmodel=tiny -fPIC use tiny absolute for non binds local.
From-SVN: r199544
2013-05-31 15:40:09 +00:00
Jason Merrill
6a8b3087b2 fix nsdmi-union2.C
From-SVN: r199541
2013-05-31 09:39:47 -04:00
Balaji V. Iyer
17dc571e3f re PR c/57452 (FAIL: c-c++-common/cilk-plus/AN/if_test.c)
2013-05-31  Balaji V. Iyer  <balaji.v.iyer@intel.com>

	PR c/57452
	* c-c++-common/cilk-plus/AN/if_test.c: Fixed out of bounds issue in
	test-case.

From-SVN: r199537
2013-05-31 05:55:02 -07:00
Rainer Orth
6ed17438b3 Moved gcc.dg/debug/dwarf2/discriminator.c to proper ChangeLog.
From-SVN: r199535
2013-05-31 11:53:40 +00:00
Rainer Orth
3d6cc50a46 Fix gcc.dg/shrink-wrap-alloca.c
* gcc.dg/shrink-wrap-alloca.c: Use __builtin_alloca.

From-SVN: r199533
2013-05-31 11:32:43 +00:00
Marek Polacek
ccc20e5ca1 Add testcase for PR57478
From-SVN: r199531
2013-05-31 10:58:52 +00:00
Tobias Burnus
e3530904e7 re PR middle-end/57073 (__builtin_powif (-1.0, k) should be optimized to "1.0 - 2.0 * (K%2)")
2013-05-31  Tobias Burnus  <burnus@net-b.de>

        PR middle-end/57073
        * tree-ssa-math-opts.c (execute_cse_sincos): Move check
        further up.

From-SVN: r199529
2013-05-31 12:18:40 +02:00
Tobias Burnus
2bdf1c75e4 re PR fortran/57456 ([OOP] CLASS + CHARACTER ALLOCATE with typespec: For arrays, the typespec is ignored)
2013-05-31  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57456
        * trans-array.c (gfc_array_init_size): Use passed type spec,
        when available.
        (gfc_array_allocate): Pass typespec on.
        * trans-array.h (gfc_array_allocate): Update prototype.
        * trans-stmt.c (gfc_trans_allocate): Pass typespec on.

2013-05-31  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57456
        * gfortran.dg/class_array_17.f90: New.

From-SVN: r199528
2013-05-31 11:41:53 +02:00
Kyrylo Tkachov
b6af05a9b3 re PR target/56315 (ARM: Improve use of 64-bit constants in logical operations)
gcc/
2013-05-31  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	PR target/56315
	* config/arm/arm.c (const_ok_for_dimode_op): Handle IOR.
	* config/arm/arm.md (*iordi3_insn): Change to insn_and_split.
	* config/arm/neon.md (iordi3_neon): Remove.
	(neon_vorr<mode>): Generate iordi3 instead of iordi3_neon.
	* config/arm/predicates.md (imm_for_neon_logic_operand):
	Move to earlier in the file.
	(neon_logic_op2): Likewise.
	(arm_iordi_operand_neon): New predicate.
	
gcc/testsuite/
2013-05-31  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	PR target/56315
	* gcc.target/arm/iordi3-opt.c: New test.

From-SVN: r199527
2013-05-31 09:29:41 +00:00
Richard Biener
f800c16610 re PR tree-optimization/57478 (ice in vec.h:815)
2013-05-31  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/57478
	PR tree-optimization/57453
	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Uses in PHI nodes
	are life as well.

From-SVN: r199476
2013-05-31 08:56:28 +00:00
Janus Weil
e7333b691a re PR fortran/54190 (TYPE(*)/assumed-rank: Type/rank check too relaxed for dummy procedure)
2013-05-31  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54190
	PR fortran/57217
	* gfortran.h (gfc_terminal_width): Remove prototype.
	* error.c (get_terminal_width): Moved here from misc.c. Renamed.
	Try to determine terminal width from environment variable.
	* interface.c (compare_type, compare_rank): New functions. Fix assumed
	type/rank handling.
	(compare_type_rank, check_dummy_characteristics,
	check_result_characteristics, gfc_compare_interfaces): Use them.
	(symbol_rank): Slightly modified and moved.
	* misc.c (gfc_terminal_width): Moved to error.c.


2013-05-31  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54190
	PR fortran/57217
	* gfortran.dg/dummy_procedure_5.f90: Modified error message.
	* gfortran.dg/interface_26.f90: Ditto.
	* gfortran.dg/proc_ptr_11.f90: Ditto.
	* gfortran.dg/proc_ptr_15.f90: Ditto.
	* gfortran.dg/proc_ptr_comp_20.f90: Ditto.
	* gfortran.dg/proc_ptr_comp_33.f90: Ditto.
	* gfortran.dg/proc_ptr_result_5.f90: Ditto.
	* gfortran.dg/typebound_override_1.f90: Ditto.
	* gfortran.dg/typebound_override_4.f90: Ditto.
	* gfortran.dg/typebound_proc_6.f03: Ditto.
	* gfortran.dg/assumed_type_7.f90: New test.
	* gfortran.dg/typebound_override_5.f90: New test.
	* gfortran.dg/typebound_override_6.f90: New test.
	* gfortran.dg/typebound_override_7.f90: New test.

From-SVN: r199475
2013-05-31 10:09:09 +02:00
Kaushik Phatak
e571fa5912 rl78.md (mulqi3,mulhi3): New define_expands.
* config/rl78/rl78.md (mulqi3,mulhi3): New define_expands.
(mulqi3_rl78,mulhi3_rl78,mulhi3_g13): New define_insns.

From-SVN: r199469
2013-05-31 04:23:02 +00:00
GCC Administrator
a75a6c8625 Daily bump.
From-SVN: r199464
2013-05-31 00:16:42 +00:00
Tobias Burnus
0fa6e0eff7 re PR middle-end/57073 (__builtin_powif (-1.0, k) should be optimized to "1.0 - 2.0 * (K%2)")
2013-05-30  Tobias Burnus  <burnus@net-b.de>
            Thomas Koenig  <tkoenig@gcc.gnu.org>

        PR middle-end/57073
        * tree-ssa-math-opts.c (execute_cse_sincos): Optimize
        powi (-1.0, k) to (k & 1) ? -1.0 : 1.0.

2013-05-30  Tobias Burnus  <burnus@net-b.de>

        PR middle-end/57073
        * gfortran.dg/power_6.f90: New.

From-SVN: r199461
2013-05-30 23:32:53 +02:00
Steven Bosscher
4688ddf59b rtlanal.c (tablejump_p): Expect table and label to be adjacent.
* rtlanal.c (tablejump_p): Expect table and label to be adjacent.

From-SVN: r199460
2013-05-30 21:06:02 +00:00
Vladimir Makarov
3b9ceb4b4f target.def (register_usage_leveling_p): New hook.
2013-05-30  Vladimir Makarov  <vmakarov@redhat.com>

	* target.def (register_usage_leveling_p): New hook.
	* targhooks.c (default_register_usage_leveling_p): New.
	* targhooks.h (default_register_usage_leveling_p): New prototype.
	* lra-assigns.c (register_usage_leveling_p): Use the hook.
	* doc/tm.texi.in (TARGET_REGISTER_USAGE_LEVELING_P): New hook.
	* doc/tm.texi: Update.
	* config/i386/i386.c (TARGET_REGISTER_USAGE_LEVELING_P): Define.

From-SVN: r199459
2013-05-30 20:30:38 +00:00
Jason Merrill
cc059bdd14 re PR c++/57404 ([C++11] ICE: SIGSEGV in cp_classify_record with -g)
PR c++/57404
	* cp-lang.c (cp_classify_record): Handle structs without
	TYPE_LANG_SPECIFIC.

From-SVN: r199456
2013-05-30 15:20:19 -04:00
Jason Merrill
3a6a88c863 re PR c++/52377 (C++11 non-static initializers in unions are not used)
PR c++/52377
	* class.c (common_enclosing_class): New.
	* cp-tree.h: Declare it.
	* init.c (sort_mem_initializers): Don't splice out a union member
	with an NSDMI.

From-SVN: r199455
2013-05-30 15:20:08 -04:00
Ian Bolton
65f9e78999 AArch64 - Support BFI instruction and insv pattern
From-SVN: r199454
2013-05-30 16:23:44 +00:00
Yufeng Zhang
f1ad09d9bb alias-decl-debug-0.C: Add aarch64*-*-* to the dg-skip-if "No stabs".
gcc/testsuite/

	* g++.dg/cpp0x/alias-decl-debug-0.C: Add aarch64*-*-* to the
	dg-skip-if "No stabs".

From-SVN: r199452
2013-05-30 14:44:10 +00:00
Joern Rennecke
ca035367a7 re PR rtl-optimization/57439 (FAIL: gcc.c-torture/execute/920501-6.c execution, -O1)
PR rtl-optimization/57439
        * postreload.c (move2add_valid_value_p): Check that we have
        a zero subreg_regno_offset when accessing the register in
        the requested mode.

From-SVN: r199449
2013-05-30 12:07:05 +01:00
Janus Weil
582f2176b5 re PR fortran/54189 (ICE (segfault) with invalid assumed-size dummy)
2013-05-30  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54189
	* resolve.c (check_assumed_size_reference): Check for e->ref.


2013-05-30  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/54189
	* gfortran.dg/assumed_size_1.f90: New.

From-SVN: r199445
2013-05-30 12:19:16 +02:00
Yuri Rumyantsev
0b871ccfce Silvermont (SLM) architecture pipeline model, tuning and insn selection.
Silvermont (SLM) architecture pipeline model, tuning and
        insn selection.
        * config.gcc: Add slm config options and target.

        * config/i386/slm.md: New.

        * config/i386/driver-i386.c (host_detect_local_cpu): Check movbe.

        * gcc/config/i386/i386-c.c (ix86_target_macros_internal):  New case
        PROCESSOR_SLM.
        (ix86_target_macros_internal): Likewise.

        * gcc/config/i386/i386.c (slm_cost): New cost.
        (m_SLM): New macro flag.
        (initial_ix86_tune_features): Set m_SLM.
        (x86_accumulate_outgoing_args): Likewise.
        (x86_arch_always_fancy_math_387): Likewise.
        (processor_target_table): Add slm cost.
        (cpu_names): Add slm cpu name.
        (x86_option_override_internal): Set SLM ISA.
        (ix86_issue_rate): New case PROCESSOR_SLM.
        (ia32_multipass_dfa_lookahead): Likewise.
        (fold_builtin_cpu): Add slm.

        * config/i386/i386.h (TARGET_SLM): New target macro.
        (target_cpu_default): Add TARGET_CPU_DEFAULT_slm.
        (processor_type): Add PROCESSOR_SLM.

        * config/i386/i386.md (cpu): Add new value "slm".
        (slm.md): Include slm.md.

        * libgcc/config/i386/cpuinfo.c (INTEL_SLM): New enum value.


Co-Authored-By: Igor Zamyatin <igor.zamyatin@intel.com>

From-SVN: r199444
2013-05-30 10:10:21 +00:00
Xuepeng Guo
24d5b0970a arm-protos.h: Add and update function protos.
gcc/ChangeLog:
2013-05-30  Bernd Schmidt  <bernds@codesourcery.com>
	    Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* config/arm/arm-protos.h: Add and update function protos.
	* config/arm/arm.c (use_simple_return_p): New added.
	(thumb2_expand_return): Check simple_return flag.
	* config/arm/arm.md: Add simple_return and conditional simple_return.
	* config/arm/iterators.md: Add iterator for return and simple_return.

gcc/testsuite/ChangeLog:
2013-05-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* gcc.dg/shrink-wrap-alloca.c: New added.
	* gcc.dg/shrink-wrap-pretend.c: New added.
	* gcc.dg/shrink-wrap-sibcall.c: New added.

From-SVN: r199439
2013-05-30 08:11:30 +00:00
Zhenqiang Chen
c1cccc15b7 arm.c (arm_add_cfa_adjust_cfa_note): New added.
2013-05-30  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* config/arm/arm.c (arm_add_cfa_adjust_cfa_note): New added.
	(arm_emit_multi_reg_pop): Add REG_CFA_ADJUST_CFA notes.
	(arm_emit_vfp_multi_reg_pop): Likewise.
	(thumb2_emit_ldrd_pop): Likewise.
	(arm_expand_epilogue): Add misc REG_CFA notes.
	(arm_unwind_emit): Skip REG_CFA_ADJUST_CFA and REG_CFA_RESTORE.

From-SVN: r199438
2013-05-30 07:30:45 +00:00
Tobias Burnus
f188272d9f re PR fortran/57458 (TS29113: Wrongly rejects noncontiguous argument to assumed-rank when both are volatile/asynchronous)
2013-05-30  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57458
        * interface.c (compare_parameter): Update C1239/C1240 constraint
        check for assumed-rank/TS29113.

2013-05-30  Tobias Burnus  <burnus@net-b.de>

        PR fortran/57458
        * gfortran.dg/assumed_rank_13.f90: New.

From-SVN: r199437
2013-05-30 09:29:49 +02:00
Eric Botcazou
0571154ad5 * gcc-interface/Makefile.in (arm% androideabi): Robustify.
From-SVN: r199436
2013-05-30 07:15:37 +00:00
Lawrence Crowl
3a4f280bec This patch is a consolodation of the hash_table patches to the
cxx-conversion branch for files under gcc/config.

Update various hash tables from htab_t to hash_table.
Modify types and calls to match.

* config/arm/arm.c'arm_libcall_uses_aapcs_base::libcall_htab

Fold libcall_eq and libcall_hash into new struct libcall_hasher.

* config/ia64/ia64.c'bundle_state_table

Fold bundle_state_hash and bundle_state_eq_p into new struct
bundle_state_hasher.

* config/mips/mips.c'mips_offset_table

Fold mips_lo_sum_offset_hash and mips_lo_sum_offset_eq into new
struct mips_lo_sum_offset_hasher.

In mips_reorg_process_insns, change call to for_each_rtx to pass
a pointer to the hash_table rather than a htab_t.  This change
requires then dereferencing that pointer in mips_record_lo_sum to
obtain the hash_table.

* config/sol2.c'solaris_comdat_htab

Fold comdat_hash and comdat_eq into new struct comdat_entry_hasher.

* config/i386/winnt.c'i386_pe_section_type_flags::htab

* config/i386/winnt.c'i386_find_on_wrapper_list::wrappers

Fold wrapper_strcmp into new struct wrapped_symbol_hasher.

Tested on x86_64.  Tested with config-list.mk.


Index: gcc/ChangeLog

2013-05-29  Lawrence Crowl  <crowl@google.com>

	* config/arm/t-arm: Update for below.

	* config/arm/arm.c (arm_libcall_uses_aapcs_base::libcall_htab):
	Change type to hash_table.  Update dependent calls and types.

	* config/i386/t-cygming: Update for below.

	* config/i386/t-interix: Update for below.

	* config/i386/winnt.c (i386_pe_section_type_flags::htab):
	Change type to hash_table.  Update dependent calls and types.
	(i386_find_on_wrapper_list::wrappers): Likewise.

	* config/ia64/t-ia64: Update for below.

	* config/ia64/ia64.c (bundle_state_table):
	Change type to hash_table.  Update dependent calls and types.

	* config/mips/mips.c (mips_reorg_process_insns::htab):
	Change type to hash_table.  Update dependent calls and types.

	* config/sol2.c (solaris_comdat_htab):
	Change type to hash_table.  Update dependent calls and types.

	* config/t-sol2: Update for above.

From-SVN: r199435
2013-05-30 01:26:05 +00:00
GCC Administrator
4974c14ccc Daily bump.
From-SVN: r199433
2013-05-30 00:16:31 +00:00
Teresa Johnson
1388a0e34a This patch re-enables -fdump-passes.
This patch re-enables -fdump-passes. It had stopped working because
dump_passes was changed to use the FOR_EACH_DEFINED_FUNCTION iterator,
however, functions are not marked as defined until after dump_passes
is called, in cgraph_analyze_functions. Fixed by iterating over all
functions.

2013-05-29  Teresa Johnson  <tejohnson@google.com>

	* passes.c (dump_passes): Use FOR_EACH_FUNCTION since
	functions are not yet marked as defined.

From-SVN: r199424
2013-05-29 20:51:24 +00:00
Michael Meissner
a5965b5287 vector.md (VEC_I): Add support for new power8 V2DI instructions.
2013-05-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
	    Pat Haugen <pthaugen@us.ibm.com>
	    Peter Bergner <bergner@vnet.ibm.com>

	* config/rs6000/vector.md (VEC_I): Add support for new power8 V2DI
	instructions.
	(VEC_A): Likewise.
	(VEC_C): Likewise.
	(vrotl<mode>3): Likewise.
	(vashl<mode>3): Likewise.
	(vlshr<mode>3): Likewise.
	(vashr<mode>3): Likewise.

	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
	support for power8 V2DI builtins.

	* config/rs6000/rs6000-builtin.def (abs_v2di): Add support for
	power8 V2DI builtins.
	(vupkhsw): Likewise.
	(vupklsw): Likewise.
	(vaddudm): Likewise.
	(vminsd): Likewise.
	(vmaxsd): Likewise.
	(vminud): Likewise.
	(vmaxud): Likewise.
	(vpkudum): Likewise.
	(vpksdss): Likewise.
	(vpkudus): Likewise.
	(vpksdus): Likewise.
	(vrld): Likewise.
	(vsld): Likewise.
	(vsrd): Likewise.
	(vsrad): Likewise.
	(vsubudm): Likewise.
	(vcmpequd): Likewise.
	(vcmpgtsd): Likewise.
	(vcmpgtud): Likewise.
	(vcmpequd_p): Likewise.
	(vcmpgtsd_p): Likewise.
	(vcmpgtud_p): Likewise.
	(vupkhsw): Likewise.
	(vupklsw): Likewise.
	(vaddudm): Likewise.
	(vmaxsd): Likewise.
	(vmaxud): Likewise.
	(vminsd): Likewise.
	(vminud): Likewise.
	(vpksdss): Likewise.
	(vpksdus): Likewise.
	(vpkudum): Likewise.
	(vpkudus): Likewise.
	(vrld): Likewise.
	(vsld): Likewise.
	(vsrad): Likewise.
	(vsrd): Likewise.
	(vsubudm): Likewise.

	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
	support for power8 V2DI instructions.

	* config/rs6000/altivec.md (UNSPEC_VPKUHUM): Add support for
	power8 V2DI instructions.  Combine pack and unpack insns to use an
	iterator for each mode.  Check whether a particular mode supports
	Altivec instructions instead of just checking TARGET_ALTIVEC.
	(UNSPEC_VPKUWUM): Likewise.
	(UNSPEC_VPKSHSS): Likewise.
	(UNSPEC_VPKSWSS): Likewise.
	(UNSPEC_VPKUHUS): Likewise.
	(UNSPEC_VPKSHUS): Likewise.
	(UNSPEC_VPKUWUS): Likewise.
	(UNSPEC_VPKSWUS): Likewise.
	(UNSPEC_VPACK_SIGN_SIGN_SAT): Likewise.
	(UNSPEC_VPACK_SIGN_UNS_SAT): Likewise.
	(UNSPEC_VPACK_UNS_UNS_SAT): Likewise.
	(UNSPEC_VPACK_UNS_UNS_MOD): Likewise.
	(UNSPEC_VUPKHSB): Likewise.
	(UNSPEC_VUNPACK_HI_SIGN): Likewise.
	(UNSPEC_VUNPACK_LO_SIGN): Likewise.
	(UNSPEC_VUPKHSH): Likewise.
	(UNSPEC_VUPKLSB): Likewise.
	(UNSPEC_VUPKLSH): Likewise.
	(VI2): Likewise.
	(VI_char): Likewise.
	(VI_scalar): Likewise.
	(VI_unit): Likewise.
	(VP): Likewise.
	(VP_small): Likewise.
	(VP_small_lc): Likewise.
	(VU_char): Likewise.
	(add<mode>3): Likewise.
	(altivec_vaddcuw): Likewise.
	(altivec_vaddu<VI_char>s): Likewise.
	(altivec_vadds<VI_char>s): Likewise.
	(sub<mode>3): Likewise.
	(altivec_vsubcuw): Likewise.
	(altivec_vsubu<VI_char>s): Likewise.
	(altivec_vsubs<VI_char>s): Likewise.
	(altivec_vavgs<VI_char>): Likewise.
	(altivec_vcmpbfp): Likewise.
	(altivec_eq<mode>): Likewise.
	(altivec_gt<mode>): Likewise.
	(altivec_gtu<mode>): Likewise.
	(umax<mode>3): Likewise.
	(smax<mode>3): Likewise.
	(umin<mode>3): Likewise.
	(smin<mode>3): Likewise.
	(altivec_vpkuhum): Likewise.
	(altivec_vpkuwum): Likewise.
	(altivec_vpkshss): Likewise.
	(altivec_vpkswss): Likewise.
	(altivec_vpkuhus): Likewise.
	(altivec_vpkshus): Likewise.
	(altivec_vpkuwus): Likewise.
	(altivec_vpkswus): Likewise.
	(altivec_vpks<VI_char>ss): Likewise.
	(altivec_vpks<VI_char>us): Likewise.
	(altivec_vpku<VI_char>us): Likewise.
	(altivec_vpku<VI_char>um): Likewise.
	(altivec_vrl<VI_char>): Likewise.
	(altivec_vsl<VI_char>): Likewise.
	(altivec_vsr<VI_char>): Likewise.
	(altivec_vsra<VI_char>): Likewise.
	(altivec_vsldoi_<mode>): Likewise.
	(altivec_vupkhsb): Likewise.
	(altivec_vupkhs<VU_char>): Likewise.
	(altivec_vupkls<VU_char>): Likewise.
	(altivec_vupkhsh): Likewise.
	(altivec_vupklsb): Likewise.
	(altivec_vupklsh): Likewise.
	(altivec_vcmpequ<VI_char>_p): Likewise.
	(altivec_vcmpgts<VI_char>_p): Likewise.
	(altivec_vcmpgtu<VI_char>_p): Likewise.
	(abs<mode>2): Likewise.
	(vec_unpacks_hi_v16qi): Likewise.
	(vec_unpacks_hi_v8hi): Likewise.
	(vec_unpacks_lo_v16qi): Likewise.
	(vec_unpacks_hi_<VP_small_lc>): Likewise.
	(vec_unpacks_lo_v8hi): Likewise.
	(vec_unpacks_lo_<VP_small_lc>): Likewise.
	(vec_pack_trunc_v8h): Likewise.
	(vec_pack_trunc_v4si): Likewise.
	(vec_pack_trunc_<mode>): Likewise.

	* config/rs6000/altivec.h (vec_vaddudm): Add defines for power8
	V2DI builtins.
	(vec_vmaxsd): Likewise.
	(vec_vmaxud): Likewise.
	(vec_vminsd): Likewise.
	(vec_vminud): Likewise.
	(vec_vpksdss): Likewise.
	(vec_vpksdus): Likewise.
	(vec_vpkudum): Likewise.
	(vec_vpkudus): Likewise.
	(vec_vrld): Likewise.
	(vec_vsld): Likewise.
	(vec_vsrad): Likewise.
	(vec_vsrd): Likewise.
	(vec_vsubudm): Likewise.
	(vec_vupkhsw): Likewise.
	(vec_vupklsw): Likewise.


Co-Authored-By: Pat Haugen <pthaugen@us.ibm.com>
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>

From-SVN: r199423
2013-05-29 20:48:29 +00:00
Jan Hubicka
e70670cf4d cgraph.h (symtab_node_base): Add definition, alias and analyzed flags...
* cgraph.h (symtab_node_base): Add definition, alias and analyzed
	flags; reorder rest of fields in more consistent way.
	(varpool_node): Remove analyzed, finalized and alias.
	(cgraph_ndoe): Likewise.
	(symtab_alias_ultimate_target): New function.
	(cgraph_function_node): Move offline.
	(cgraph_reset_node): Declare.
	(cgraph_comdat_can_be_unshared_p): Remove.
	(varpool_remove_initializer): Declare.
	(varpool_first_defined_variable, varpool_next_defined_variable
	cgraph_first_defined_function, cgraph_next_defined_function): Update.
	(cgraph_function_with_gimple_body_p): Update.
	(varpool_all_refs_explicit_p): Update.
	(symtab_alias_target): New function.
	(cgraph_alias_aliased_node, varpool_alias_aliased_node): Rename to ...
	(cgraph_alias_target, varpool_alias_target): .. this one; simplify.
	(cgraph_function_or_thunk_node): Simplify using symtab_alias_ultimate_target.
	(varpool_variable_node): Likewise.
	* cgraph.c (cgraph_create_function_alias): Update.
	(cgraph_add_thunk): Update.
	(cgraph_remove_node): Update.
	(dump_cgraph_node): Do not dump removed flags.
	(cgraph_function_body_availability): Update.
	(cgraph_propagate_frequency): Update.
	(verify_cgraph_node): Check sanity of local flag.
	(cgraph_function_node): Move here from cgraph.h; revamp for
	cgraph_function_or_thunk_node.
	* lto-symtab.c (lto_varpool_replace_node): Update.
	(lto_symtab_resolve_can_prevail_p): Update.
	(lto_symtab_merge_cgraph_nodes): Update.
	* ipa-cp.c (determine_versionability, initialize_node_lattices,
	propagate_constants_accross_call, devirtualization_time_bonus,
	ipcp_propagate_stage): Update.
	* tree-emutls.c (create_emultls_var, ipa_lower_emutls): Update.
	* ipa-inline-transform.c (clone_inlined_nodes, preserve_function_body_p): Update.
	* ipa-reference.c (propagate): Update.
	(write_node_summary_p): Update.
	* toplev.c (wrapup_global_declaration_2): Update.
	* cgraphunit.c (cgraph_analyze_function): Rename to ...
	(analyze_function) ... this one.
	(cgraph_process_new_functions): Update.
	(cgraph_reset_node): Export.
	(cgraph_finalize_function): Update.
	(cgraph_add_new_function): Update.
	(process_function_and_variable_attributes): Update.
	(varpool_finalize_decl): Update.
	(symbol_finalized): Remove.
	(symbol_finalized_and_needed): Rename to ...
	(symbol_defined_and_needed): ... update.
	(cgraph_analyze_functions): Update.
	(handle_alias_pairs): Update.
	(mark_functions_to_output): Update.
	(assemble_thunk): Update.
	(output_in_order): Update.
	(output_weakrefs): Update.
	(finalize_compilation_unit): Update.
	* lto-cgraph.c (reachable_from_other_partition_p, lto_output_node,
	lto_output_varpool_node, compute_ltrans_boundary, input_overwrite_node,
	input_node, input_varpool_node): Update.
	* dbxout.c (dbxout_expand_expr): Update.
	* cgraphclones.c (cgraph_clone_node): Update.
	(cgraph_copy_node_for_versioning): Update.
	(cgraph_materialize_clone): Update.
	(cgraph_materialize_all_clones): Update.
	* ipa-pure-const.c (analyze_function, pure_const_write_summary,
	propagate_pure_const, propagate_nothrow): Update.
	* lto-streamer-out.c (lto_output, write_symbol): Update.
	* ipa-utils.c (ipa_reverse_postorder): Update.
	* ipa-inline.c (can_inline_edge_p): Update.
	(update_caller_keys, ipa_inline): Update.
	* dwarf2out.c (reference_to_unused,
	premark_types_used_by_global_vars_helper): Update.
	* tree-eh.c (tree_could_trap_p): Update.
	* ipa-split.c (consider_split, execute_split_functions): Update.
	* ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p,
	 has_addr_references_p): Update;
	move ahead in file for better readability.
	(process_references): Simplify.
	(symtab_remove_unreachable_nodes): Update; cleanup way function/var
	bodies are removed.
	(cgraph_comdat_can_be_unshared_p): Make static.
	(cgraph_externally_visible_p): Update.
	(varpool_externally_visible_p): Update.
	(function_and_variable_visibility): Update.
	* trans-mem.c (get_cg_data, ipa_tm_mayenterirr_function,
	ipa_tm_mark_force_output_node): Update.
	* ipa-inline-analysis.c (dump_inline_summary, initialize_inline_failed,
	estimate_edge_devirt_benefit, inline_generate_summary,
	inline_write_summary): Update.
	* gimple-fold.c (can_refer_decl_in_current_unit_p): Update.
	* ipa-prop.c (ipa_compute_jump_functions): Update.
	(ipa_print_node_params, ipa_prop_read_section, ipa_update_after_lto_read,
	read_replacements_section): Update.
	* varasm.c (mark_decl_referenced): Update.
	(assemble_alias, dump_tm_clone_pairs): Update.
	* tree-inline.c (copy_bb): Update.
	(estimate_num_insns, optimize_inline_calls, tree_function_versioning):
	Update.
	* symtab.c (dump_symtab_base): Print new flags.
	(verify_symtab_base): Verify new flags.
	(symtab_alias_ultimate_target): New function.
	* tree-ssa-structalias.c (get_constraint_for_ssa_var,
	create_variable_info_for, associate_varinfo_to_alias, ipa_pta_execute):
	Update.
	* passes.c (ipa_write_summaries, ipa_write_optimization_summaries): Update.
	* i386.c (ix86_get_function_versions_dispatcher,
	ix86_generate_version_dispatcher_body): Update.
	(fold_builtin_cpu): Use varpool_add_new_variable.
	* varpool.c (varpool_remove_initializer): Break out from ...
	(varpool_remove_node): ... this one.
	(dump_varpool_node, varpool_node_for_asm,
	cgraph_variable_initializer_availability, varpool_analyze_node,
	varpool_assemble_decl, varpool_remove_unreferenced_decls,
	varpool_finalize_named_section_flags, varpool_create_variable_alias): Update

	* decl.c (java_mark_decl_local): Update for new symtab flags.

	* tree.c (cp_fix_function_decl_p): Update for new symtab flags.
	* decl2.c )var_finalized_p, cp_write_global_declarations): Likewise.

	* lto.c (has_analyzed_clone_p, lto_materialize_function): Update for new symtab
	flags.
	* lto-partition.c (get_symbol_class, lto_balanced_map): Likewise.

From-SVN: r199422
2013-05-29 20:42:50 +00:00
Jan Hubicka
182802adcc * passes.c (init_optimization_passes): Move OMP expansion into lowering.
From-SVN: r199419
2013-05-29 17:59:19 +00:00
Easwaran Raman
8190b609c2 re PR tree-optimization/57442 (ICE in appears_later_in_bb, at tree-ssa-reassoc.c:2891)
2013-05-29  Easwaran Raman  <eraman@google.com>

	PR tree-optimization/57442
	* tree-ssa-reassoc.c (appears_later_in_bb): Return correct value
	when control exits the main loop.

2013-05-29  Easwaran Raman  <eraman@google.com>

	PR tree-optimization/57442
	* gcc.dg/tree-ssa/reassoc-30.c: New testcase.

From-SVN: r199418
2013-05-29 17:30:43 +00:00
Sandeep Kumar Singh
69f5aa9bd5 rx.h (TARGET_CPU_CPP_BUILTINS): Add macros for RX100, RX200, and RX600.
* rx/rx.h (TARGET_CPU_CPP_BUILTINS): Add macros for RX100, RX200,
	and RX600.
	* rx/rx.opt: Add macro for rx100 with string rx100 and value
	RX100.
	* rx/rx-opts.h (rx_cpu_types): Add new cpu type rx100.
	* rx/t-rx: Add rx100 under multi library matches option for nofpu
	option.

From-SVN: r199417
2013-05-29 16:29:15 +00:00
Bill Schmidt
4b847da9ca re PR tree-optimization/57441 (ICE in gimple-ssa-strength-reduction.c:3447 at -O3)
2013-05-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/57441
	* gimple-ssa-strength-reduction.c (analyze_candidates_and_replace):
	Don't limit size of incr_vec to number of candidates.

2013-05-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR tree-optimization/57441
	* gcc.c-torture/compile/pr57441.c: New.

From-SVN: r199414
2013-05-29 16:00:54 +00:00
Dehao Chen
0154ea95a1 re PR testsuite/57413 (FAIL: gcc.dg/debug/dwarf2/discriminator.c scan-assembler on x86_64-apple-darwin10, Solaris/x86)
2013-05-29  Dehao Chen  <dehao@google.com>

	PR testsuite/57413
	* gcc.dg/debug/dwarf2/discriminator.c: Restrict the test to linux-gnu.

From-SVN: r199412
2013-05-29 15:47:28 +00:00
Steve Ellcey
4fc43c398b mti-linux.h (SYSROOT_SUFFIX_SPEC): Add micromips and mips16 directories.
2013-05-29  Steve Ellcey  <sellcey@imgtec.com>

	* config/mips/mti-linux.h (SYSROOT_SUFFIX_SPEC): Add micromips
	and mips16 directories.
	* config/mips/t-mti-linux (MULTILIB_OPTIONS): Add micromips and
	mips16.
	(MULTILIB_DIRNAMES): Ditto.
	(MULTILIB_EXCEPTIONS): Add new exceptions.
	* config/mips/t-mti-elf (MULTILIB_OPTIONS): Add micromips.
	(MULTILIB_DIRNAMES): Ditto.
	(MULTILIB_EXCEPTIONS): Add new exceptions.

From-SVN: r199411
2013-05-29 15:16:30 +00:00
Rainer Orth
065ce7f179 Fix c/c-array-notation.c compilation failure (PR bootstrap/57450)
PR bootstrap/57450
	* c-array-notation.c (length_mismatch_in_expr_p): Use absu_hwi.
	(build_array_notation_expr): Likewise.

From-SVN: r199410
2013-05-29 15:00:29 +00:00
Tobias Burnus
16023efc1e re PR fortran/37336 ([F03] Finish derived-type finalization)
2013-05-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37336
        * class.c (finalize_component): Fix coarray array refs.
        (generate_finalization_wrapper): Only gfc_convert_type_warn
        when the kind value is different.
        (gfc_find_intrinsic_vtab): _copy's dst is now intent(inout).
        (gfc_find_derived_vtab): Ditto. Enable finalization-wrapper
        generation.
        * module.c (MOD_VERSION): Bump.
        (gfc_dump_module, gfc_use_module): Remove empty line in .mod.
        * trans-array.c (gfc_conv_descriptor_token): Accept
        * nonrestricted
        void pointer.
        (gfc_array_allocate, structure_alloc_comps): Don't nullify for
        BT_CLASS allocations.
        * trans-stmt.c (gfc_trans_allocate): Ditto.

2013-05-28  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37336
        * gfortran.dg/auto_dealloc_2.f90: Update _free count in the
        * dump.
        * gfortran.dg/class_19.f03: Ditto.

From-SVN: r199409
2013-05-29 15:15:16 +02:00
Chris Schlumberger-Socha
a5350ddc61 [AArch64] Implement support for --mcmodel=tiny
This patch adds support for the tiny absolute memory model.


Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>

From-SVN: r199408
2013-05-29 13:08:16 +00:00
Chris Schlumberger-Socha
17f4d4bfc1 [AArch64] Re-organize aarch64_classify_symbol.
This patch re-orgnaizes the implementation of aarch64_classify_symbol
in preparation for tiny absolute memory model support.


Co-Authored-By: Marcus Shawcroft <marcus.shawcroft@arm.com>

From-SVN: r199407
2013-05-29 12:57:33 +00:00
Ganesh Gopalasubramanian
c018665610 Enable FP Reassociation for AMD bdver1 and bdver2 architecture
From-SVN: r199406
2013-05-29 11:09:55 +00:00
Martin Jambor
d20188f365 tree-cfg.c (verify_expr): Verify that BIT_FIELD_REF...
2013-05-29  Martin Jambor  <mjambor@suse.cz>

	* tree-cfg.c (verify_expr): Verify that BIT_FIELD_REF, REALPART_EXPR
	and IMAGPART_EXPR do not occur within other handled_components.

From-SVN: r199405
2013-05-29 12:32:22 +02:00