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