Tim Shen [Wed, 31 Jul 2013 03:36:37 +0000 (03:36 +0000)]
Revert last commit.
From-SVN: r201360
David Malcolm [Wed, 31 Jul 2013 00:48:03 +0000 (00:48 +0000)]
Introduce gen-pass-instances.awk and pass-instances.def
Introduce a new gen-pass-instances.awk script, and use it at build time
to make a pass-instances.def from passes.def.
gcc/
* Makefile.in (pass-instances.def): New.
(passes.o): Replace dependency on passes.def with one on
pass-instances.def
* gen-pass-instances.awk: New.
* passes.c (pass_manager::pass_manager): Use pass-instances.def
rather than passes.def, updating local definition of NEXT_PASS
macro to add an extra NUM parameter (currently unused).
From-SVN: r201359
Tim Shen [Wed, 31 Jul 2013 00:20:06 +0000 (00:20 +0000)]
Thompson matcher refactored.
2013-07-31 Tim Shen <timshen91@gmail.com>
Thompson matcher refactored. Fix grouping problem.
* include/bits/regex.h: Use a dispatcher _M_get_matcher().
* include/bits/regex_compiler.h: Tweak for auto switching.
* include/bits/regex_grep_matcher.h: Class structure.
* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
matcher) refactoring.
* include/bits/regex_nfa.h: Change _Results's interfaces.
* include/std/regex: Includes <map> and <queue>.
* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/
string_dispatch_01.cc: New.
From-SVN: r201358
GCC Administrator [Wed, 31 Jul 2013 00:16:43 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201357
Paolo Carlini [Tue, 30 Jul 2013 22:38:52 +0000 (22:38 +0000)]
re PR c++/57673 (pack sizeof ... groups ellipsis with preceding expression)
/cp
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57673
* parser.c (cp_parser_cache_defarg): In an NSDMI don't stop when
token->type == CPP_ELLIPSIS.
/testsuite
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57673
* g++.dg/cpp0x/nsdmi-sizeof.C: New.
From-SVN: r201354
Steve Ellcey [Tue, 30 Jul 2013 20:32:43 +0000 (20:32 +0000)]
code-readable-1.c: Increase switch size.
2013-07-30 Steve Ellcey <sellcey@mips.com>
* gcc.target/mips/code-readable-1.c: Increase switch size.
* gcc.target/mips/code-readable-2.c: Ditto.
* gcc.target/mips/code-readable-3.c: Ditto.
* gcc.target/mips/code-readable-4.c: Ditto.
From-SVN: r201353
David Malcolm [Tue, 30 Jul 2013 18:52:03 +0000 (18:52 +0000)]
Introduce beginnings of a pass_manager class.
This patch introduces a gcc::pass_manager class and moves various non-GTY
globals relating to pass management into it. The gcc::context gains its
first field: a pointer to the gcc::pass_manager instance.
gcc/
* Makefile.in (PASS_MANAGER_H): New.
(lto-cgraph.o): Depend on CONTEXT_H and PASS_MANAGER_H.
(passes.o): Likewise.
(statistics.o): Likewise.
(cgraphunit.o): Likewise.
(context.o): Depend on PASS_MANAGER_H.
* pass_manager.h: New.
* cgraphunit.c (cgraph_add_new_function): Update for moves
of globals to fields of pass_manager.
(analyze_function): Likewise.
(expand_function): Likewise.
(ipa_passes): Likewise.
(compile): Likewise.
* context.c (context::context): New.
* context.h (context::context): New.
(context::get_passes): New.
(context::passes_): New.
* lto-cgraph.c (input_node): Update for moves of globals to
fields of pass_manager.
* passes.c (all_passes): Remove, in favor of a field of the
same name within the new class pass_manager.
(all_small_ipa_passes): Likewise.
(all_lowering_passes): Likewise.
(all_regular_ipa_passes): Likewise.
(all_late_ipa_passes): Likewise.
(all_lto_gen_passes): Likewise.
(passes_by_id): Likewise.
(passes_by_id_size): Likewise.
(gcc_pass_lists): Remove, in favor of "pass_lists" field within
the new class pass_manager.
(set_pass_for_id): Convert to...
(pass_manager::set_pass_for_id): ...method.
(get_pass_for_id): Convert to...
(pass_manager::get_pass_for_id): ...method.
(register_one_dump_file): Move body of implementation into...
(pass_manager::register_one_dump_file): ...here.
(register_dump_files_1): Convert to...
(pass_manager::register_dump_files_1): ...method.
(register_dump_files): Convert to...
(pass_manager::register_dump_files): ...method.
(create_pass_tab): Update for moves of globals to fields of
pass_manager.
(dump_passes): Move body of implementation into...
(pass_manager::dump_passes): ...here.
(register_pass): Move body of implementation into...
(pass_manager::register_pass): ...here.
(init_optimization_passes): Convert into...
(pass_manager::pass_manager): ...constructor for new
pass_manager class, and initialize the pass_lists array.
(check_profile_consistency): Update for moves of globals to
fields of pass_manager.
(dump_profile_report): Move body of implementation into...
(pass_manager::dump_profile_report): ...here.
(ipa_write_summaries_1): Update for moves of pass lists from
being globals to fields of pass_manager.
(ipa_write_optimization_summaries): Likewise.
(ipa_read_summaries): Likewise.
(ipa_read_optimization_summaries): Likewise.
(execute_all_ipa_stmt_fixups): Likewise.
* statistics.c (statistics_fini): Update for moves of globals to
fields of pass_manager.
* toplev.c (general_init): Replace call to
init_optimization_passes with construction of the pass_manager
instance.
* tree-pass.h (all_passes): Remove, in favor of a field of the
same name within the new class pass_manager.
(all_small_ipa_passes): Likewise.
(all_lowering_passes): Likewise.
(all_regular_ipa_passes): Likewise.
(all_lto_gen_passes): Likewise.
(all_late_ipa_passes): Likewise.
(passes_by_id): Likewise.
(passes_by_id_size): Likewise.
(gcc_pass_lists): Remove, in favor of "pass_lists" field within
the new class pass_manager.
(get_pass_for_id): Remove.
gcc/lto/
* Make-lang.in (lto/lto.o:): Depend on CONTEXT_H and
PASS_MANAGER_H.
* lto.c (do_whole_program_analysis): Update for move of
all_regular_ipa_passes from a global to a field of class
pass_manager.
From-SVN: r201351
Maciej W. Rozycki [Tue, 30 Jul 2013 18:34:43 +0000 (18:34 +0000)]
mips16.S (DELAYf): Alias to DELAYt for the MIPS IV ISA and up.
* config/mips/mips16.S (DELAYf): Alias to DELAYt for the MIPS IV
ISA and up.
From-SVN: r201350
Paolo Carlini [Tue, 30 Jul 2013 18:16:33 +0000 (18:16 +0000)]
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
Revert last commit.
From-SVN: r201349
Paolo Carlini [Tue, 30 Jul 2013 18:13:15 +0000 (18:13 +0000)]
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
Revert last commit.
From-SVN: r201348
Paolo Carlini [Tue, 30 Jul 2013 16:48:52 +0000 (16:48 +0000)]
re PR c++/57947 (internal compiler error: Segmentation fault using extended initializer lists without -std=c++11 or -std=gnu++11)
/cp
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57947
* call.c (is_std_init_list): Return false if cxx_dialect == cxx98.
/testsuite
2013-07-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57947
* g++.dg/parse/crash63.C: New.
From-SVN: r201344
Richard Earnshaw [Tue, 30 Jul 2013 15:58:32 +0000 (15:58 +0000)]
config.gcc (arm): Require 64-bit host-wide-int for all ARM target configs.
* config.gcc (arm): Require 64-bit host-wide-int for all ARM target
configs.
From-SVN: r201342
Richard Earnshaw [Tue, 30 Jul 2013 15:54:30 +0000 (15:54 +0000)]
* arm.md (mulhi3): New expand pattern.
From-SVN: r201341
Jason Merrill [Tue, 30 Jul 2013 13:28:31 +0000 (09:28 -0400)]
re PR c++/57901 (Cannot call-by-value such that class has non-trivial (constexpr) move constructor)
PR c++/57901
* semantics.c (build_data_member_initialization, constexpr_fn_retval):
Use break_out_target_exprs instead of unshare_expr.
From-SVN: r201338
Jason Merrill [Tue, 30 Jul 2013 13:28:23 +0000 (09:28 -0400)]
re PR c++/58022 (Compiler rejects abstract class in template class with friend operator<<)
PR c++/58022
* g++.dg/template/abstract1.C: New.
From-SVN: r201337
Tim Shen [Tue, 30 Jul 2013 12:02:55 +0000 (12:02 +0000)]
Thompson matcher refactored.
2013-07-30 Tim Shen <timshen91@gmail.com>
Thompson matcher refactored. Fix grouping problem.
* include/bits/regex.h: Use a dispatcher _M_get_matcher().
* include/bits/regex_compiler.h: Tweak for auto switching.
* include/bits/regex_grep_matcher.h: Class structure.
* include/bits/regex_grep_matcher.tcc: _BFSMatcher(Thompson
matcher) refactoring.
* include/bits/regex_nfa.h: Change _Results's interfaces.
* include/std/regex: Includes <map> and <queue>.
* testsuite/28_regex/algorithms/regex_match/extended/53622.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/57173.cc:
For both matchers.
* testsuite/28_regex/algorithms/regex_match/extended/string_dispatch_01.cc:
New.
From-SVN: r201334
Jan Hubicka [Tue, 30 Jul 2013 12:00:42 +0000 (14:00 +0200)]
profile.c (compute_value_histograms): Do not ICE when there is mismatch only on some counters.
* profile.c (compute_value_histograms): Do not ICE when
there is mismatch only on some counters.
Co-Authored-By: Martin Liska <marxin.liska@gmail.com>
From-SVN: r201333
Tobias Burnus [Tue, 30 Jul 2013 07:20:43 +0000 (09:20 +0200)]
re PR fortran/57530 ([OOP] Wrongly rejects type_pointer => class_target (which have identical declared type))
2013-07-30 Tobias Burnus <burnus@net-b.de>
PR fortran/57530
* symbol.c (gfc_type_compatible): A type is type compatible with
a class if both have the same declared type.
* interface.c (compare_type): Reject CLASS/TYPE even if they
are type compatible.
From-SVN: r201329
Tobias Burnus [Tue, 30 Jul 2013 07:18:54 +0000 (09:18 +0200)]
re PR fortran/57530 ([OOP] Wrongly rejects type_pointer => class_target (which have identical declared type))
2013-07-30 Tobias Burnus <burnus@net-b.de>
PR fortran/57530
* trans-expr.c (gfc_trans_class_assign): Handle CLASS array
functions.
(gfc_trans_pointer_assign): Ditto and support pointer assignment
of a polymorphic var to a nonpolymorphic var.
2013-07-30 Tobias Burnus <burnus@net-b.de>
PR fortran/57530
* gfortran.dg/pointer_assign_8.f90: New.
* gfortran.dg/pointer_assign_9.f90: New.
* gfortran.dg/pointer_assign_10.f90: New.
* gfortran.dg/pointer_assign_11.f90: New.
From-SVN: r201328
Zhenqiang Chen [Tue, 30 Jul 2013 06:53:31 +0000 (06:53 +0000)]
re PR rtl-optimization/57637 (Miscompare on 178.galgel in SPEC2000 on arm)
gcc/
2013-07-30 Zhenqiang Chen <zhenqiang.chen@linaro.org>
PR rtl-optimization/57637
* function.c (move_insn_for_shrink_wrap): Also check the
GEN set of the LIVE problem for the liveness analysis
if it exists, otherwise give up.
gcc/testsuite/
2013-07-30 Zhenqiang Chen <zhenqiang.chen@linaro.org>
* gcc.target/arm/pr57637.c: New testcase.
From-SVN: r201326
Bill Schmidt [Tue, 30 Jul 2013 01:01:35 +0000 (01:01 +0000)]
re PR tree-optimization/57993 (ICE: verify_ssa failed (definition in block n does not dominate use in block m))
gcc:
2013-07-29 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
PR tree-optimization/57993
* gimple-ssa-strength-reduction.c (replace_mult_candidate): Record
replaced statement in the candidate table.
(phi_add_costs): Return infinite cost when the hidden basis does
not dominate all phis on which the candidate is dependent.
(replace_one_candidate): Record replaced statement in the
candidate table.
gcc/testsuite:
2013-07-29 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
PR tree-optimization/57993
* gcc.dg/torture/pr57993.c: New test.
From-SVN: r201325
GCC Administrator [Tue, 30 Jul 2013 00:16:25 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201324
Joern Rennecke [Mon, 29 Jul 2013 22:45:38 +0000 (22:45 +0000)]
re PR rtl-optimization/58021 (MODE_EXIT switches at NOTE_INSN_DELETED)
PR rtl-optimization/58021
* mode-switching.c (create_pre_exit): Always split off preceding
insns if we are not at the basic block head.
From-SVN: r201321
Joern Rennecke [Mon, 29 Jul 2013 20:46:29 +0000 (20:46 +0000)]
* gcc.dg/tree-ssa/pr44258.c: Disable scan test for Epiphany.
From-SVN: r201320
Joern Rennecke [Mon, 29 Jul 2013 20:34:29 +0000 (20:34 +0000)]
epiphany.md (*isub_i+2): New peephole.
* config/epiphany/epiphany.md (*isub_i+2): New peephole.
(ashlv2si3): New expander.
(*ashlv2si3_i): New define_insn_and_split.
* predicates.md (float_operation): Allow patterns with three
basic sub-patterns.
From-SVN: r201319
Paolo Carlini [Mon, 29 Jul 2013 20:12:20 +0000 (20:12 +0000)]
re PR c++/57948 (internal compiler error: in initialize_reference, at cp/call.c:9285)
/cp
2013-07-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57948
* call.c (initialize_reference): Don't crash when reference_binding
returns a conv with conv->kind == ck_ambig.
/testsuite
2013-07-29 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57948
* g++.dg/conversion/ambig2.C: New.
From-SVN: r201318
Jason Merrill [Mon, 29 Jul 2013 19:40:13 +0000 (15:40 -0400)]
mangle.c (write_name): Check for null context.
* mangle.c (write_name): Check for null context.
(write_unscoped_name): Allow PARM_DECL context.
From-SVN: r201317
Po-Chun Chang [Mon, 29 Jul 2013 19:08:03 +0000 (13:08 -0600)]
match.c (gfc_match_call): Exit loop after setting i.
* match.c (gfc_match_call): Exit loop after setting i.
* resolve.c (resolve_variable): Exit loop after setting seen.
* expr.c (gfc_check_pointer_assign): Exit loop after setting
* warn.
* trans-array.c (set_loop_bounds): Exit loop after setting
nonoptional_arr.
* trans-io.c (gfc_trans_transfer): Exit loop after setting
* seen_vector.
From-SVN: r201316
Nathan Froyd [Mon, 29 Jul 2013 17:13:05 +0000 (17:13 +0000)]
atomic (compare_exchange_weak, [...]): Add call to __cmpexch_failure_order.
libstdc++-v3/
* include/std/atomic (compare_exchange_weak, compare_exchange_strong):
Add call to __cmpexch_failure_order.
* testsuite/util/testsuite_common_types.h
(compare_exchange_order_lowering): New generator.
* testsuite/29_atomics/atomic/requirements/compare_exchange_lowering.cc:
New test.
From-SVN: r201315
Maciej W. Rozycki [Mon, 29 Jul 2013 14:37:30 +0000 (14:37 +0000)]
linux.h (GLIBC_DYNAMIC_LINKER): Handle `-mnan=2008'.
gcc/
* config/mips/linux.h (GLIBC_DYNAMIC_LINKER): Handle `-mnan=2008'.
(UCLIBC_DYNAMIC_LINKER): New macro.
* config/mips/linux64.h (GLIBC_DYNAMIC_LINKER32): Handle
`-mnan=2008'.
(GLIBC_DYNAMIC_LINKER64, GLIBC_DYNAMIC_LINKERN32): Likewise.
(UCLIBC_DYNAMIC_LINKER32): Undefine macro first. Handle
`-mnan=2008'.
(UCLIBC_DYNAMIC_LINKER64): Redefine macro.
(UCLIBC_DYNAMIC_LINKERN32): Likewise.
* config/mips/mips-modes.def: Remove RESET_FLOAT_FORMAT calls
for SF and DF modes. Use ieee_quad_format for TF mode.
* config/mips/mips-opts.h (mips_ieee_754_setting): New enum.
* config/mips/mips.c (mips_file_start): Output a `.nan' directive.
(mips_option_override): Handle `-mnan=legacy'.
* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Handle
`-mabs=2008' and `-mnan=2008'.
(OPTION_DEFAULT_SPECS): Add "nan" default.
(ASM_SPEC): Handle `-mnan='.
[!HAVE_AS_NAN] (HAVE_AS_NAN): New macro.
* config/mips/mips.md (abs<mode>2): Handle `-mabs=2008', update
comment accordingly.
(neg<mode>2): Likewise.
* config/mips/mips.opt (mabs, mnan): New options.
* doc/install.texi (Configuration): Document `--with-nan=' option.
* doc/invoke.texi (Option Summary): List MIPS `-mabs=' and
`-mnan=' options.
(MIPS Options): Document them.
* config.gcc <mips*-*-*>: Handle `--with-nan='.
* configure.ac <mips*-*-*>: Check for GAS `-mnan=2008' support.
* configure: Regenerate.
* config.in: Regenerate.
gcc/testsuite/
* gcc.target/mips/fabs-2008.c: New test case.
* gcc.target/mips/fabs-legacy.c: New test case.
* gcc.target/mips/fabsf-2008.c: New test case.
* gcc.target/mips/fabsf-legacy.c: New test case.
* gcc.target/mips/fneg-2008.c: New test case.
* gcc.target/mips/fneg-legacy.c: New test case.
* gcc.target/mips/fneg-2008.c: New test case.
* gcc.target/mips/fneg-legacy.c: New test case.
* gcc.target/mips/nan-2008.c: New test case.
* gcc.target/mips/nan-legacy.c: New test case.
* gcc.target/mips/nanf-2008.c: New test case.
* gcc.target/mips/nanf-legacy.c: New test case.
* gcc.target/mips/nans-2008.c: New test case.
* gcc.target/mips/nans-legacy.c: New test case.
* gcc.target/mips/nansf-2008.c: New test case.
* gcc.target/mips/nansf-legacy.c: New test case.
* gcc.target/mips/mips.exp: Handle `-mabs=' and `-mnan='.
From-SVN: r201313
Uros Bizjak [Mon, 29 Jul 2013 11:17:51 +0000 (13:17 +0200)]
re PR target/57954 (AVX missing vxorps (zeroing) before vcvtsi2s %edx, slow down AVX code)
2013-07-29 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (float post-reload splitters): Do not check
for subregs of SSE registers.
2013-07-29 Uros Bizjak <ubizjak@gmail.com>
H.J. Lu <hongjiu.lu@intel.com>
PR target/57954
PR target/57988
* config/i386/i386.md (post-reload splitter
to avoid partial SSE reg dependency stalls): New pattern.
From-SVN: r201308
Ramana Radhakrishnan [Mon, 29 Jul 2013 10:36:11 +0000 (10:36 +0000)]
Fix incorrect changelog entry.
From-SVN: r201307
Andreas Krebbel [Mon, 29 Jul 2013 08:03:38 +0000 (08:03 +0000)]
2013-07-29 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/target.h (htm_begin, htm_commit, htm_abort)
(htm_transaction_active): Enable zEC12 instructions in the
assembler.
* configure.tgt: Remove -Wa,-march=zEC12 from XCFLAGS.
From-SVN: r201301
Dominik Vogt [Mon, 29 Jul 2013 08:02:21 +0000 (08:02 +0000)]
s390.md ("movcc"): Swap load and store instructions.
2013-07-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
* config/s390/s390.md ("movcc"): Swap load and store instructions.
From-SVN: r201300
Alexander Ivchenko [Mon, 29 Jul 2013 06:05:34 +0000 (06:05 +0000)]
target-supports.exp (check_effective_target_non_bionic): New effective-target test.
* lib/target-supports.exp (check_effective_target_non_bionic): New
effective-target test.
* g++.dg/tls/thread_local4.C: Disable test for Bionic.
* g++.dg/tls/thread_local4g.C: Ditto.
Co-Authored-By: Maxim Kuvyrkov <maxim@kugelworks.com>
From-SVN: r201298
GCC Administrator [Mon, 29 Jul 2013 00:16:42 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201297
Thomas Koenig [Sun, 28 Jul 2013 21:10:23 +0000 (21:10 +0000)]
re PR fortran/58009 (Elements with same value in vector subscript in variable definition context)
2013-07-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/58009
* expr.c (gfc_check_vardef_context): Check for same values in
vector expression subscripts.
2013-07-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/58009
* gfortran.dg/vector_subsript_7.f90: New test.
From-SVN: r201294
Tim Shen [Sun, 28 Jul 2013 10:23:43 +0000 (10:23 +0000)]
Fix incorrect ChangeLog entry.
From-SVN: r201292
GCC Administrator [Sun, 28 Jul 2013 00:16:47 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201290
Joern Rennecke [Sat, 27 Jul 2013 18:41:49 +0000 (18:41 +0000)]
epiphany.c (epiphany_compute_frame_size): Also reserve space for saving UNKNOWN_REGNUM for leaf functions.
* config/epiphany/epiphany.c (epiphany_compute_frame_size):
Also reserve space for saving UNKNOWN_REGNUM for leaf functions.
From-SVN: r201287
Tobias Burnus [Sat, 27 Jul 2013 14:17:01 +0000 (16:17 +0200)]
re PR fortran/57991 (Enhance "Same actual argument associated" warning (-Waliasing))
2013-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/57991
* interface.c (check_some_aliasing): Also warn for intent
* OUT/OUT.
2013-07-27 Tobias Burnus <burnus@net-b.de>
PR fortran/57991
* gfortran.dg/warn_alias.f90: New.
From-SVN: r201286
Janus Weil [Sat, 27 Jul 2013 12:55:59 +0000 (14:55 +0200)]
re PR fortran/57285 ([OOP] ICE on invalid: "gfc_array_dimen_size(): Bad dimension" due to SIZE intrinsic with invalid dim on CLASS dummy)
2013-07-27 Janus Weil <janus@gcc.gnu.org>
PR fortran/57285
* check.c (dim_rank_check): Re-enable this check for CLASS arrays.
2013-07-27 Janus Weil <janus@gcc.gnu.org>
PR fortran/57285
* gfortran.dg/class_array_19.f90: New.
From-SVN: r201284
Eric Botcazou [Sat, 27 Jul 2013 06:38:12 +0000 (06:38 +0000)]
pr57705.c: Adjust for a !vect_pack_trunc target.
* gcc.dg/vect/pr57705.c: Adjust for a !vect_pack_trunc target.
* gcc.dg/vect/pr57741-2.c: Require a vect_float target.
* gcc.dg/vect/pr57741-3.c: Likewise.
* gcc.dg/vect/bb-slp-32.c: XFAIL for a vect_no_align target.
From-SVN: r201282
GCC Administrator [Sat, 27 Jul 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201279
Cary Coutant [Fri, 26 Jul 2013 20:14:43 +0000 (20:14 +0000)]
dwarf2out.c (die_checksum_ordered): Don't include template instantiations in signature.
gcc/
* dwarf2out.c (die_checksum_ordered): Don't include template
instantiations in signature.
(is_template_parameter): New function.
(is_template_instantiation): New function.
(generate_skeleton_bottom_up): Don't include template instantiations
in type unit DIE.
(generate_skeleton): Likewise.
(break_out_comdat_types): Move recursive call to break out nested
types earlier.
(prune_unused_types_mark_generic_parms_dies): Call
is_template_parameter.
From-SVN: r201275
William Schmidt [Fri, 26 Jul 2013 19:38:14 +0000 (19:38 +0000)]
Correct ChangeLog entry
From-SVN: r201274
Joern Rennecke [Fri, 26 Jul 2013 18:35:29 +0000 (18:35 +0000)]
pr37868.c: Disable for epiphany.
* gcc.dg/torture/pr37868.c: Disable for epiphany.
* gcc.dg/sibcall-6.c: Enable for epiphany.
From-SVN: r201272
Joern Rennecke [Fri, 26 Jul 2013 18:28:27 +0000 (18:28 +0000)]
pr27095.c: For Epiphany, add -mshort-calls.
* gcc.dg/pr27095.c: For Epiphany, add -mshort-calls.
* gcc.dg/tree-ssa/loop-1.c: Likewise.
From-SVN: r201271
Joern Rennecke [Fri, 26 Jul 2013 18:16:23 +0000 (18:16 +0000)]
* gcc.c-torture/execute/builtins/stpcpy-chk.x: New file.
From-SVN: r201270
Joern Rennecke [Fri, 26 Jul 2013 15:22:43 +0000 (15:22 +0000)]
Skip tests that make assumptions about struct layout that don't hold on epiphany.
Skip tests that make assumptions about struct layout that don't hold
on epiphany. These tests could be fixed by adding padded attributes,
See:
http://gcc.gnu.org/ml/gcc-patches/2011-08/msg00006.html
http://gcc.gnu.org/ml/gcc-patches/2011-09/msg01513.html
http://gcc.gnu.org/ml/gcc-patches/2011-09/msg01504.html
* g++.dg/cpp0x/cast.C: Skip for epiphany-*-*.
* g++.dg/cpp0x/iop.C: Likewise.
* g++.dg/cpp0x/named_refs.C: Likewise.
* g++.dg/cpp0x/rv1p.C: Likewise.
* g++.dg/cpp0x/rv2p.C: Likewise.
* g++.dg/cpp0x/rv3p.C: Likewise.
* g++.dg/cpp0x/rv4p.C: Likewise.
* g++.dg/cpp0x/rv5p.C: Likewise.
* g++.dg/cpp0x/rv6p.C: Likewise.
* g++.dg/cpp0x/rv7p.C: Likewise.
* g++.dg/cpp0x/rv8p.C: Likewise.
* g++.dg/ext/strncpy-chk1.C: Likewise.
* gcc.dg/builtin-object-size-10.c: Likewise.
* gcc.dg/builtin-object-size-11.c: Likewise.
* gcc.dg/builtin-stringop-chk-1.c: Likewise.
* gcc.dg/pr25805.c: Likewise.
* gcc.c-torture/execute/builtins/memcpy-chk.x: New file.
* gcc.c-torture/execute/builtins/memmove-chk.x: Likewise.
* gcc.c-torture/execute/builtins/mempcpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/memset-chk.x: Likewise.
* gcc.c-torture/execute/builtins/snprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/sprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/stpcpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strcat-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strcpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strncat-chk.x: Likewise.
* gcc.c-torture/execute/builtins/strncpy-chk.x: Likewise.
* gcc.c-torture/execute/builtins/vsnprintf-chk.x: Likewise.
* gcc.c-torture/execute/builtins/vsprintf-chk.x: Likewise.
* gcc.c-torture/execute/zerolen-2.x: Likewise.
From-SVN: r201268
Kyrylo Tkachov [Fri, 26 Jul 2013 14:54:06 +0000 (14:54 +0000)]
minmax_minus.c: Scan
gcc/testsuite/
* gcc.target/arm/minmax_minus.c: Scan
From-SVN: r201267
David Edelsohn [Fri, 26 Jul 2013 11:50:39 +0000 (11:50 +0000)]
* gcc.dg/guality/guality.exp: Skip on AIX.
From-SVN: r201266
David Edelsohn [Fri, 26 Jul 2013 11:49:12 +0000 (11:49 +0000)]
ppc-vector-memcpy.c: Test use of VMX for memcpy not initializers.
* gcc.target/powerpc/ppc-vector-memcpy.c: Test use of VMX for memcpy
not initializers.
From-SVN: r201265
Ian Bolton [Fri, 26 Jul 2013 10:54:59 +0000 (10:54 +0000)]
AArch64 support for NEG in vector registers for DI and SI mode (part 2)
From-SVN: r201263
Paolo Carlini [Fri, 26 Jul 2013 10:38:40 +0000 (10:38 +0000)]
re PR c++/57101 (-fcompare-debug failure with <type error>)
2013-07-26 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57101
* g++.dg/cpp0x/pr57101.C: New.
From-SVN: r201262
Ian Bolton [Fri, 26 Jul 2013 10:30:20 +0000 (10:30 +0000)]
AArch64 support for NEG in vector registers for DI and SI mode
From-SVN: r201261
Kyrylo Tkachov [Fri, 26 Jul 2013 08:22:25 +0000 (08:22 +0000)]
combine.c (simplify_comparison): Re-canonicalize operands where appropriate.
2013-07-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
Richard Earnshaw <richard.earnshaw@arm.com>
* combine.c (simplify_comparison): Re-canonicalize operands
where appropriate.
* config/arm/arm.md (movcond_addsi): New splitter.
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r201260
GCC Administrator [Fri, 26 Jul 2013 00:16:36 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201259
Sterling Augustine [Thu, 25 Jul 2013 22:18:21 +0000 (22:18 +0000)]
dwarf2out.c (size_of_pubnames): Move code to...
2013-07-25 Sterling Augustine <saugustine@google.com>
* dwarf2out.c (size_of_pubnames): Move code to...
(include_pubname_in_output): ...here. New.
(want_pubnames): Rearrange.
(output_pubnames): Call include_pubname_in_output. Move assertion.
From-SVN: r201255
Janus Weil [Thu, 25 Jul 2013 21:41:22 +0000 (23:41 +0200)]
re PR fortran/57966 ([OOP] Using a TBP to specify the shape of a dummy argument)
2013-07-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/57966
* resolve.c (resolve_typebound_function): Make sure the declared type,
including its type-bound procedures, is resolved before resolving the
actual type-bound call.
2013-07-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/57966
* gfortran.dg/typebound_call_25.f90: New.
From-SVN: r201254
Paolo Carlini [Thu, 25 Jul 2013 21:24:07 +0000 (21:24 +0000)]
complex (pow(const complex<>&, int)): Enable in C++11 mode too.
2013-07-25 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/complex (pow(const complex<>&, int)): Enable in
C++11 mode too.
* testsuite/26_numerics/complex/dr844.cc: Adjust.
* doc/xml/manual/intro.xml: Update.
From-SVN: r201253
Cameron McInally [Thu, 25 Jul 2013 20:47:16 +0000 (22:47 +0200)]
re PR target/38836 (Documentation for x86 builtins is outdated)
2013-07-25 Cameron McInally <cameron.mcinally@nyu.edu>
* doc/extend.texi: Fix return types for __builtin_ia32_cmp*s builtins.
2013-07-25 Cameron McInally <cameron.mcinally@nyu.edu>
PR target/38836
* doc/extend.texi: Remove obsolete builtins. Fix
typo for __builtin_ia32_loadss and __builtin_ia32_cmpnltss.
From-SVN: r201252
Jan Hubicka [Thu, 25 Jul 2013 17:10:21 +0000 (19:10 +0200)]
cgraph.c (release_function_body): Break out from ...
* cgraph.c (release_function_body): Break out from ...
(cgraph_release_function_body): ... this one; also release DECL_RESULT
and DECL_ARGUMENTS.
* ipa-cp.c (get_replacement_map): Add parm_num argument; do not set
old_tree in the map.
(create_specialized_node): Update.
* lto-cgraph.c (output_node_opt_summary): Do not translate old_tree
into index.
* cgraphclones.c (cgraph_create_virtual_clone): Do not copy DECL_ARGUMENTS,
DECL_INITIAL and DECL_RESULT.
* ipa-prop.c (ipa_populate_param_decls): Look for origin of clones.
* tree-inline.c (initialize_cfun): Initialize DECL_ARGUMENTS and
DECL_RESULT.
From-SVN: r201251
Kyrylo Tkachov [Thu, 25 Jul 2013 16:33:27 +0000 (16:33 +0000)]
arm.md (arm_addsi3, [...]): Correct output template.
2013-07-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.md (arm_addsi3, addsi3_carryin_<optab>,
addsi3_carryin_alt2_<optab>): Correct output template.
From-SVN: r201250
Kyrylo Tkachov [Thu, 25 Jul 2013 16:31:51 +0000 (16:31 +0000)]
arm-fixed.md (ssmulsa3, usmulusa3): Adjust for arm_restrict_it.
2013-07-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm-fixed.md (ssmulsa3, usmulusa3):
Adjust for arm_restrict_it.
Remove trailing whitespace.
From-SVN: r201249
Mark Kettenis [Thu, 25 Jul 2013 15:53:51 +0000 (15:53 +0000)]
pa.c (pa_trampoline_init): Emit __enable_execute_stack libcall if HAVE_ENABLE_EXECUTE_STACK is defined.
* config/pa/pa.c (pa_trampoline_init): Emit __enable_execute_stack
libcall if HAVE_ENABLE_EXECUTE_STACK is defined.
From-SVN: r201248
Mark Kettenis [Thu, 25 Jul 2013 15:26:31 +0000 (15:26 +0000)]
config.gcc (hppa-*-openbsd*): Don't set tmake_file.
* config.gcc (hppa-*-openbsd*): Don't set tmake_file.
From-SVN: r201247
Paolo Carlini [Thu, 25 Jul 2013 15:04:03 +0000 (15:04 +0000)]
re PR c++/57981 (ICE in this code)
/cp
2013-07-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57981
* decl.c (check_default_argument): Take a tsubst_flags_t parameter.
(grokparms): Adjust.
* parser.c (cp_parser_late_parse_one_default_arg): Likewise.
* pt.c (tsubst_default_argument, tsubst_default_arguments): Take
a tsubst_flags_t parameter.
(tsubst_decl): Adjust.
* call.c (convert_default_arg): Likewise.
* cp-tree.h (check_default_argument, tsubst_default_argument):
Update declarations.
/testsuite
2013-07-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57981
* g++.dg/cpp0x/pr57981.C: New.
/cp
2013-07-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57880
* parser.c (cp_parser_operator, case CPP_WSTRING, CPP_STRING16,
CPP_STRING32, CPP_UTF8STRING, CPP_WSTRING_USERDEF,
CPP_STRING16_USERDEF, CPP_STRING32_USERDEF, CPP_UTF8STRING_USERDEF):
Fix string_len management, tidy.
/testsuite
2013-07-25 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57880
* g++.dg/cpp1y/udlit-empty-string-neg.C: New.
From-SVN: r201245
Tim Shen [Thu, 25 Jul 2013 14:59:43 +0000 (14:59 +0000)]
Add documents and comments.
2013-07-25 Tim Shen <timshen91@gmail.com>
Add documents and comments.
* include/bits/regex.h: Documents and comments.
* include/bits/regex_grep_matcher.h: Likewise.
* include/bits/regex_grep_matcher.tcc: Likewise.
* testsuite/28_regex/iterators/regex_iterator/char/string_position_01.cc:
New.
From-SVN: r201244
Vladimir Makarov [Thu, 25 Jul 2013 14:58:21 +0000 (14:58 +0000)]
re PR rtl-optimization/57960 (S/390: LRA ICE building glibc)
2013-07-25 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/57960
* lra-constraints.c (process_alt_operands): Use the right mode
when checking strict_low.
2013-07-25 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/57960
* gcc.target/s390/pr57960.c: New.
From-SVN: r201243
Jan Hubicka [Thu, 25 Jul 2013 13:24:58 +0000 (15:24 +0200)]
lto-symtab.c (lto_cgraph_replace_node): Release function body.
* lto-symtab.c (lto_cgraph_replace_node): Release function body.
* cgraph.c (cgraph_remove_node): Do not release function body
when in cgraph streaming.
* ipa.c (process_references, symtab_remove_unreachable_nodes): Objects
in other partitions are not considered reachable; fix handling of clones.
From-SVN: r201242
Ramana Radhakrishnan [Thu, 25 Jul 2013 12:50:14 +0000 (12:50 +0000)]
Remove unnecessary space.
From-SVN: r201241
Ramana Radhakrishnan [Thu, 25 Jul 2013 09:40:11 +0000 (09:40 +0000)]
Fix PR target/57731 PR target/57837
2013-07-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/19599
PR target/57731
PR target/57837
* config/arm/arm.md ("*sibcall_value_insn): Replace use of
Ss with US. Adjust output for v5 and v4t.
(*sibcall_value_insn): Likewise and loosen predicate on
operand0.
* config/arm/constraints.md ("Ss"): Rename to US.
From-SVN: r201240
Janus Weil [Thu, 25 Jul 2013 08:26:36 +0000 (10:26 +0200)]
re PR fortran/57639 ([OOP] ICE with polymorphism (and illegal code))
2013-07-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/57639
* interface.c (compare_parameter): Check for class_ok.
* simplify.c (gfc_simplify_same_type_as): Ditto.
2013-07-25 Janus Weil <janus@gcc.gnu.org>
PR fortran/57639
* gfortran.dg/unlimited_polymorphic_9.f90: New.
From-SVN: r201239
Terry Guo [Thu, 25 Jul 2013 04:10:27 +0000 (04:10 +0000)]
arm.c (thumb1_size_rtx_costs): Assign proper cost for shift_add/shift_sub0/shift_sub1 RTXs.
gcc/ChangeLog:
2013-07-24 Terry Guo <terry.guo@arm.com>
* config/arm/arm.c (thumb1_size_rtx_costs): Assign proper cost for
shift_add/shift_sub0/shift_sub1 RTXs.
gcc/testsuite/ChangeLog:
2013-07-24 Terry Guo <terry.guo@arm.com>
* gcc.target/arm/thumb1-Os-mult.c: New test case.
From-SVN: r201237
Bill Schmidt [Thu, 25 Jul 2013 01:24:14 +0000 (01:24 +0000)]
altivec.md (altivec_vpkpx): Handle little endian.
2013-07-24 Bill Schmidt <wschmidt@linux.ibm.com>
Anton Blanchard <anton@au1.ibm.com>
* config/rs6000/altivec.md (altivec_vpkpx): Handle little endian.
(altivec_vpks<VI_char>ss): Likewise.
(altivec_vpks<VI_char>us): Likewise.
(altivec_vpku<VI_char>us): Likewise.
(altivec_vpku<VI_char>um): Likewise.
Co-Authored-By: Anton Blanchard <anton@au1.ibm.com>
From-SVN: r201235
Paolo Carlini [Thu, 25 Jul 2013 00:46:46 +0000 (00:46 +0000)]
re PR libstdc++/57976 (Missing time_get<>::get() functions)
2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/57976
* doc/xml/manual/status_cxx2011.xml: Note missing time_get::get and
time_get::do_get.
From-SVN: r201234
GCC Administrator [Thu, 25 Jul 2013 00:16:50 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201233
David Malcolm [Thu, 25 Jul 2013 00:14:01 +0000 (00:14 +0000)]
Introduce context class.
2013-07-24 David Malcolm <dmalcolm@redhat.com>
Introduce context class.
* Makefile.in (CONTEXT_H): New.
(OBJS): Add context.o.
(toplev.o): Add CONTEXT_H to dependencies.
(context.o): New.
* toplev.c (general_init): Create the singleton gcc::context
instance.
* context.c: New.
* context.h: New.
From-SVN: r201230
Ian Lance Taylor [Wed, 24 Jul 2013 22:30:25 +0000 (22:30 +0000)]
runtime: Handle allocating memory in cgo/SWIG function.
A function that returns an interface type and returns a value
that requires memory allocation will try to allocate while
appearing to be in a syscall. This patch lets that work.
From-SVN: r201226
Joern Rennecke [Wed, 24 Jul 2013 20:12:49 +0000 (20:12 +0000)]
re PR rtl-optimization/57968 (MODE_EXIT switches inserted too early)
PR rtl-optimization/57968
* mode-switching.c (create_pre_exit): Allow instructions that
don't set a return register to need a non-exit mode.
From-SVN: r201225
Ian Lance Taylor [Wed, 24 Jul 2013 18:25:51 +0000 (18:25 +0000)]
go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a fields...
* go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
fields, recreate those fields with the first one with a non-zero
size.
From-SVN: r201222
Ian Lance Taylor [Wed, 24 Jul 2013 17:37:07 +0000 (17:37 +0000)]
runtime: Check _end rather than end to find end of program.
This fixes a problem on Solaris, where end is not defined in
the main program but comes from some shared library. This
only matters for 32-bit targets.
From-SVN: r201220
Ian Lance Taylor [Wed, 24 Jul 2013 16:53:17 +0000 (16:53 +0000)]
net: Only use GNU/Linux unix socket abstract paths on GNU/Linux.
From-SVN: r201217
Paolo Carlini [Wed, 24 Jul 2013 15:42:06 +0000 (15:42 +0000)]
random.h (random_device): Avoid using the FILE type.
2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/random.h (random_device): Avoid using the FILE type.
* include/std/random: Do not include <cstdio>.
* src/c++11/random.cc: ... include it here.
(random_device::_M_init, random_device::_M_fini,
random_device::_M_getval): Cast back and forth void* and FILE*.
From-SVN: r201215
Tim Shen [Wed, 24 Jul 2013 14:39:54 +0000 (14:39 +0000)]
Reimplment matcher using Depth-first search(backtracking).
2013-07-24 Tim Shen <timshen91@gmail.com>
Reimplment matcher using Depth-first search(backtracking).
PR libstdc++/53622
PR libstdc++/57173
* include/bits/regex.h: regex_match() and regex_search().
* include/bits/regex_cursor.h: Fix _M_set_pos().
* include/bits/regex_grep_matcher.h: add _M_dfs_match().
* include/bits/regex_grep_matcher.tcc: Implement it.
* testsuite/28_regex/algorithms/regex_match/extended/string_group_01.cc:
New.
* testsuite/28_regex/algorithms/regex_match/extended/string_group_02.cc:
New.
* testsuite/28_regex/algorithms/regex_search/basic/string_01.cc:
Remove xfail.
From-SVN: r201213
Ian Lance Taylor [Wed, 24 Jul 2013 13:18:45 +0000 (13:18 +0000)]
runtime: Move new 1.1.1 functions from thread-linux.c to runtime.c.
This way they are compiled on non-GNU/Linux systems.
From-SVN: r201209
Bill Schmidt [Wed, 24 Jul 2013 13:17:31 +0000 (13:17 +0000)]
vector.md (vec_realign_load_<mode>): Reorder input operands to vperm for little endian.
2013-07-24 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
Anton Blanchard <anton@au1.ibm.com>
* vector.md (vec_realign_load_<mode>): Reorder input operands to
vperm for little endian.
* rs6000.c (rs6000_expand_builtin): Use lvsr instead of lvsl to
create the control mask for a vperm for little endian.
Co-Authored-By: Anton Blanchard <anton@au1.ibm.com>
From-SVN: r201208
Ian Lance Taylor [Wed, 24 Jul 2013 13:09:32 +0000 (13:09 +0000)]
net/http: Don't try to trace sendfile64 on alpha.
From Uros Bizjak.
From-SVN: r201206
Paolo Carlini [Wed, 24 Jul 2013 08:37:37 +0000 (08:37 +0000)]
2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
Tweak last ChangeLog entry.
From-SVN: r201202
Paolo Carlini [Wed, 24 Jul 2013 08:35:54 +0000 (08:35 +0000)]
re PR c++/57942 (g++-4.8.1 tries to instantiate wrong constructor)
/cp
2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57942
* typeck.c (ptr_reasonably_similar): Use COMPARE_STRICT if one of
the target types is incomplete; return a bool, not an int.
* cp-tree.h (ptr_reasonably_similar): Adjust declaration.
/testsuite
2013-07-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57942
* g++.dg/inherit/pr57942.C: New.
From-SVN: r201201
Michael Eager [Wed, 24 Jul 2013 00:19:58 +0000 (00:19 +0000)]
Correct ChangeLog for 201185.
From-SVN: r201200
GCC Administrator [Wed, 24 Jul 2013 00:16:46 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r201199
Bill Schmidt [Tue, 23 Jul 2013 22:36:04 +0000 (22:36 +0000)]
rs6000.c (altivec_expand_vec_perm_const): Reverse two operands for little-endian.
2013-07-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Anton Blanchard <anton@au1.ibm.com>
* config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Reverse
two operands for little-endian.
Co-Authored-By: Anton Blanchard <anton@au1.ibm.com>
From-SVN: r201195
Steve Ellcey [Tue, 23 Jul 2013 22:34:10 +0000 (22:34 +0000)]
mips.c (mips_case_values_threshold): New.
2013-07-23 Steve Ellcey <sellcey@mips.com>
* config/mips/mips.c (mips_case_values_threshold): New.
(TARGET_CASE_VALUES_THRESHOLD): Define.
From-SVN: r201194
Bill Schmidt [Tue, 23 Jul 2013 22:30:58 +0000 (22:30 +0000)]
rs6000.c (altivec_expand_vec_perm_const): Correct selection of field for vector splat in little endian mode.
2013-07-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
Anton Blanchard <anton@au1.ibm.com>
* config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Correct
selection of field for vector splat in little endian mode.
Co-Authored-By: Anton Blanchard <anton@au1.ibm.com>
From-SVN: r201193
Ian Lance Taylor [Tue, 23 Jul 2013 21:23:27 +0000 (21:23 +0000)]
log/syslog: Restore interface to make this work on Solaris again.
From-SVN: r201188
Michael Meissner [Tue, 23 Jul 2013 21:19:03 +0000 (21:19 +0000)]
vector.md (xor<mode>3): Move 128-bit boolean expanders to rs6000.md.
[gcc]
2013-07-23 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/vector.md (xor<mode>3): Move 128-bit boolean
expanders to rs6000.md.
(ior<mode>3): Likewise.
(and<mode>3): Likewise.
(one_cmpl<mode>2): Likewise.
(nor<mode>3): Likewise.
(andc<mode>3): Likewise.
(eqv<mode>3): Likewise.
(nand<mode>3): Likewise.
(orc<mode>3): Likewise.
* config/rs6000/rs6000-protos.h (rs6000_split_logical): New
declaration.
* config/rs6000/rs6000.c (rs6000_split_logical_inner): Add support
to split multi-word logical operations.
(rs6000_split_logical_di): Likewise.
(rs6000_split_logical): Likewise.
* config/rs6000/vsx.md (VSX_L2): Delete, no longer used.
(vsx_and<mode>3_32bit): Move 128-bit logical insns to rs6000.md,
and allow TImode operations in 32-bit.
(vsx_and<mode>3_64bit): Likewise.
(vsx_ior<mode>3_32bit): Likewise.
(vsx_ior<mode>3_64bit): Likewise.
(vsx_xor<mode>3_32bit): Likewise.
(vsx_xor<mode>3_64bit): Likewise.
(vsx_one_cmpl<mode>2_32bit): Likewise.
(vsx_one_cmpl<mode>2_64bit): Likewise.
(vsx_nor<mode>3_32bit): Likewise.
(vsx_nor<mode>3_64bit): Likewise.
(vsx_andc<mode>3_32bit): Likewise.
(vsx_andc<mode>3_64bit): Likewise.
(vsx_eqv<mode>3_32bit): Likewise.
(vsx_eqv<mode>3_64bit): Likewise.
(vsx_nand<mode>3_32bit): Likewise.
(vsx_nand<mode>3_64bit): Likewise.
(vsx_orc<mode>3_32bit): Likewise.
(vsx_orc<mode>3_64bit): Likewise.
* config/rs6000/rs6000.h (VLOGICAL_REGNO_P): Always allow vector
logical types in GPRs.
* config/rs6000/altivec.md (altivec_and<mode>3): Move 128-bit
logical insns to rs6000.md, and allow TImode operations in
32-bit.
(altivec_ior<mode>3): Likewise.
(altivec_xor<mode>3): Likewise.
(altivec_one_cmpl<mode>2): Likewise.
(altivec_nor<mode>3): Likewise.
(altivec_andc<mode>3): Likewise.
* config/rs6000/rs6000.md (BOOL_128): New mode iterators and mode
attributes for moving the 128-bit logical operations into
rs6000.md.
(BOOL_REGS_OUTPUT): Likewise.
(BOOL_REGS_OP1): Likewise.
(BOOL_REGS_OP2): Likewise.
(BOOL_REGS_UNARY): Likewise.
(BOOL_REGS_AND_CR0): Likewise.
(one_cmpl<mode>2): Add support for DI logical operations on
32-bit, splitting the operations to 32-bit.
(anddi3): Likewise.
(iordi3): Likewise.
(xordi3): Likewise.
(and<mode>3, 128-bit types): Rewrite 2013-06-06 logical operator
changes to combine the 32/64-bit code, allow logical operations on
TI mode in 32-bit, and to use similar match_operator patterns like
scalar mode uses. Combine the Altivec and VSX code for logical
operations, and move it here.
(ior<mode>3, 128-bit types): Likewise.
(xor<mode>3, 128-bit types): Likewise.
(one_cmpl<mode>3, 128-bit types): Likewise.
(nor<mode>3, 128-bit types): Likewise.
(andc<mode>3, 128-bit types): Likewise.
(eqv<mode>3, 128-bit types): Likewise.
(nand<mode>3, 128-bit types): Likewise.
(orc<mode>3, 128-bit types): Likewise.
(and<mode>3_internal): Likewise.
(bool<mode>3_internal): Likewise.
(boolc<mode>3_internal1): Likewise.
(boolc<mode>3_internal2): Likewise.
(boolcc<mode>3_internal1): Likewise.
(boolcc<mode>3_internal2): Likewise.
(eqv<mode>3_internal1): Likewise.
(eqv<mode>3_internal2): Likewise.
(one_cmpl1<mode>3_internal): Likewise.
[gcc/testsuite]
2013-07-23 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/bool2.h: New file, test the code generation
of logical operations for power5, altivec, power7, and power8
systems.
* gcc.target/powerpc/bool2-p5.c: Likewise.
* gcc.target/powerpc/bool2-av.c: Likewise.
* gcc.target/powerpc/bool2-p7.c: Likewise.
* gcc.target/powerpc/bool2-p8.c: Likewise.
* gcc.target/powerpc/bool3.h: Likewise.
* gcc.target/powerpc/bool3-av.c: Likewise.
* gcc.target/powerpc/bool2-p7.c: Likewise.
* gcc.target/powerpc/bool2-p8.c: Likewise.
From-SVN: r201187
David Holsgrove [Tue, 23 Jul 2013 21:15:21 +0000 (21:15 +0000)]
microblaze.c (microblaze_expand_prologue): Rename flag_stack_usage to flag_stack_usage_info.
* config/microblaze/microblaze.c (microblaze_expand_prologue):
Rename flag_stack_usage to flag_stack_usage_info.
From-SVN: r201186
David Holsgrove [Tue, 23 Jul 2013 21:09:50 +0000 (21:09 +0000)]
microblaze.c: Add microblaze_asm_output_mi_thunk and define TARGET_ASM_OUTPUT_MI_THUNK and...
* config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk
and define TARGET_ASM_OUTPUT_MI_THUNK and
TARGET_ASM_CAN_OUTPUT_MI_THUNK.
From-SVN: r201185