Andrew MacLeod [Mon, 2 Jun 2014 20:13:44 +0000 (20:13 +0000)]
expr.h: Remove prototypes of functions defined in builtins.c.
* expr.h: Remove prototypes of functions defined in builtins.c.
* tree.h: (build_call_expr_*, build_string_literal): Add prototypes.
Remove prototypes of functions defined in builtins.c.
* builtins.h: Update prototype list to include all exported functions.
* builtins.c: (default_libc_has_function, gnu_libc_has_function,
no_c99_libc_has_function): Move to targhooks.c
(build_string_literal, build_call_expr_loc_array,
build_call_expr_loc_vec, build_call_expr_loc, build_call_expr): Move
to tree.c.
(expand_builtin_object_size, fold_builtin_object_size): Make static.
* targhooks.c (default_libc_has_function, gnu_libc_has_function,
no_c99_libc_has_function): Relocate from builtins.c.
* tree.c: Include builtins.h.
(build_call_expr_loc_array, build_call_expr_loc_vec,
build_call_expr_loc, build_call_expr, build_string_literal): Relocate
from builtins.c.
* fold-const.h (fold_fma): Move prototype to builtins.h.
* realmpfr.h (do_mpc_arg2): Move prototype to builtins.h.
* fortran/trans.c (trans_runtime_error_vararg): Call
fold_build_call_array_loc instead of fold_builtin_call_array.
* asan.c: Include builtins.h.
* cfgexpand.c: Likewise.
* convert.c: Likewise.
* emit-rtl.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* fold-const.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimplify.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-prop.c: Likewise.
* lto-streamer-out.c: Likewise.
* stmt.c: Likewise.
* tree-inline.c: Likewise.
* tree-object-size.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-stmts.c: Likewise.
c
* c-decl.c: Include builtins.h.
* c-parser.c: Likewise.
cp
* decl.c: Include builtins.h.
* semantics.c: Likewise.
go
* go-gcc.cc: Include builtins.h.
lto
* lto-symtab.c: Include builtins.h.
config
* aarch64/aarch64.c: Include builtins.h.
* alpha/alpha.c: Likewise.
* arc/arc.c: Likewise.
* arm/arm.c: Likewise.
* avr/avr.c: Likewise.
* bfin/bfin.c: Likewise.
* c6x/c6x.c: Likewise.
* cr16/cr16.c: Likewise.
* cris/cris.c: Likewise.
* epiphany/epiphany.c: Likewise.
* fr30/fr30.c: Likewise.
* frv/frv.c: Likewise.
* h8300/h8300.c: Likewise.
* i386/i386.c: Likewise.
* i386/winnt.c: Likewise.
* ia64/ia64.c: Likewise.
* iq2000/iq2000.c: Likewise.
* lm32/lm32.c: Likewise.
* m32c/m32c.c: Likewise.
* m32r/m32r.c: Likewise.
* m68k/m68k.c: Likewise.
* mcore/mcore.c: Likewise.
* mep/mep.c: Likewise.
* microblaze/microblaze.c: Likewise.
* mips/mips.c: Likewise.
* mmix/mmix.c: Likewise.
* mn10300/mn10300.c: Likewise.
* moxie/moxie.c: Likewise.
* msp430/msp430.c: Likewise.
* nds32/nds32.c: Likewise.
* pa/pa.c: Likewise.
* pdp11/pdp11.c: Likewise.
* picochip/picochip.c: Likewise.
* rl78/rl78.c: Likewise.
* rs6000/rs6000.c: Likewise.
* rx/rx.c: Likewise.
* s390/s390.c: Likewise.
* score/score.c: Likewise.
* sh/sh.c: Likewise.
* sparc/sparc.c: Likewise.
* spu/spu.c: Likewise.
* stormy16/stormy16.c: Likewise.
* tilegx/tilegx.c: Likewise.
* tilepro/tilepro.c: Likewise.
* v850/v850.c: Likewise.
* vax/vax.c: Likewise.
* xtensa/xtensa.c: Likewise.
From-SVN: r211145
Jonathan Wakely [Mon, 2 Jun 2014 19:36:14 +0000 (20:36 +0100)]
regex_compiler.h (__detail::_BracketMatcher): Reorder members to avoid wasted space when not using a cache.
* include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
members to avoid wasted space when not using a cache.
(__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
* include/bits/regex_compiler.tcc
(__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
search on set.
* include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
New enumeration type to indicate match mode.
(__detail::_Executor::_State_info): New type holding members only
needed in BFS-mode. Replace unique_ptr<vector<bool>> with
unique_ptr<bool[]>.
(__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
Replace template parameter with run-time function parameter.
(__detail::_Executor::_M_main): Likewise. Dispatch to ...
(__detail::_Executor::_M_main_dispatch): New overloaded functions to
implement DFS and BFS mode.
* include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
Split implementation into ...
(__detail::_Executor::_M_main_dispatch): New overloaded functions.
(__detail::_Executor::_M_lookahead): Create nested executor on stack.
(__detail::_Executor::_M_rep_once_more): Pass match mode as function
argument instead of template argument.
(__detail::_Executor::_M_dfs): Likewise.
* include/bits/regex_scanner.tcc: Fix typos in comments.
* testsuite/performance/28_regex/range.cc: New.
From-SVN: r211143
Jeff Law [Mon, 2 Jun 2014 19:12:08 +0000 (13:12 -0600)]
re PR rtl-optimization/61094 (-O3 insn Internal compiler error in copyprop_hardreg_forward_1, at regcprop.c:775)
PR rtl-optimization/61094
* ree.c (combine_reaching_defs): Do not reextend an insn if it
was marked as do_no_reextend. If a copy is needed to eliminate
an extension, then mark it as do_not_reextend.
PR rtl-optimization/61094
* g++.dg/pr61094: New test.
From-SVN: r211142
Marcus Shawcroft [Mon, 2 Jun 2014 16:40:06 +0000 (16:40 +0000)]
[AArch64] Remove ISB after FPCR write.
From-SVN: r211140
Richard Henderson [Mon, 2 Jun 2014 16:27:41 +0000 (09:27 -0700)]
re PR target/61336 (ICE on alpha: in print_operand_address, at config/alpha/alpha.c:5454)
PR target/61336
* config/alpha/alpha.c (print_operand_address): Allow symbolic
addresses inside asms. Use output_operand_lossage instead of
gcc_unreachable.
From-SVN: r211139
Jonathan Wakely [Mon, 2 Jun 2014 15:45:09 +0000 (16:45 +0100)]
condition_variable (condition_variable_any::_Unlock): Do not swallow __forced_unwind.
* include/std/condition_variable (condition_variable_any::_Unlock): Do
not swallow __forced_unwind.
* include/std/future (__future_base::_Task_setter): Likewise.
(__future_base::_Async_state_impl): Turn __forced_unwind into broken
promise and rethrow.
* include/std/mutex (try_lock): Likewise.
* testsuite/30_threads/async/forced_unwind.cc: New.
* testsuite/30_threads/packaged_task/forced_unwind.cc: New.
From-SVN: r211138
Rüdiger Sonderfeld [Mon, 2 Jun 2014 13:55:14 +0000 (13:55 +0000)]
type_traits (__strictest_alignment): New helper struct.
2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
Jonathan Wakely <jwakely@redhat.com>
* libstdc++-v3/include/std/type_traits (__strictest_alignment): New
helper struct.
(aligned_union): New struct (C++11).
(aligned_union_t): New type alias (C++14).
* doc/xml/manual/status_cxx2011.xml: Update.
* libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
line number.
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>
From-SVN: r211137
Uros Bizjak [Mon, 2 Jun 2014 13:40:49 +0000 (15:40 +0200)]
xop-rotate1-vector.c (dg-options): Add -mno-avx2.
* gcc.target/i386/xop-rotate1-vector.c (dg-options): Add -mno-avx2.
* gcc.target/i386/xop-rotate2-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-rotate3-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-imul32widen-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-imul64-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-shift1-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-shift2-vector.c (dg-options): Ditto.
* gcc.target/i386/xop-shift3-vector.c (dg-options): Ditto.
From-SVN: r211136
Uros Bizjak [Mon, 2 Jun 2014 13:22:34 +0000 (15:22 +0200)]
re PR target/61239 (ICE in decompose, at rtl.h when compiling vshuf-v16hi.c using -mavx2)
PR target/61239
* config/i386/i386.c (ix86_expand_vec_perm) [case V32QImode]: Use
GEN_INT (-128) instead of GEN_INT (128) to set MSB of QImode constant.
From-SVN: r211134
Tom de Vries [Mon, 2 Jun 2014 13:13:43 +0000 (13:13 +0000)]
Fix ICE in aarch64_float_const_representable_p
2014-06-02 Tom de Vries <tom@codesourcery.com>
* config/aarch64/aarch64.c (aarch64_float_const_representable_p): Handle
case that x has VOIDmode.
From-SVN: r211132
Bernd Schmidt [Mon, 2 Jun 2014 12:06:20 +0000 (12:06 +0000)]
Fix a decl to match the calls to it.
* trans-decl.c (gfc_build_builtin_function_decls): Correct number of
arguments to caf_init.
From-SVN: r211131
Bernd Schmidt [Mon, 2 Jun 2014 12:06:11 +0000 (12:06 +0000)]
Delete a copy that looks like a relic from obstack times.
* varasm.c (copy_constant): Delete function.
(build_constant_desc): Don't call it.
From-SVN: r211130
Ramana Radhakrishnan [Mon, 2 Jun 2014 08:22:30 +0000 (08:22 +0000)]
re PR target/61154 ([ARM] wide-int merge introduced regressions in vshuf tests)
Fix PR target/61154
2014-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/61154
* config/arm/arm.h (TARGET_SUPPORTS_WIDE_INT): Define.
* config/arm/arm.md (mov64 splitter): Replace const_double_operand
with immediate_operand.
From-SVN: r211129
Richard Biener [Mon, 2 Jun 2014 08:07:23 +0000 (08:07 +0000)]
re PR tree-optimization/61346 (VRP chooses bad bounds for variable)
2014-06-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/61346
* gcc.dg/torture/pr61346.c: New testcase.
From-SVN: r211128
Andreas Schwab [Mon, 2 Jun 2014 07:53:26 +0000 (07:53 +0000)]
* config/ia64/ia64.c
(ia64_first_cycle_multipass_dfa_lookahead_guard): Check
pending_data_specs first.
From-SVN: r211127
Richard Biener [Mon, 2 Jun 2014 07:45:15 +0000 (07:45 +0000)]
re PR middle-end/61378 (Obvious bug in vn_reference_lookup_3)
2014-06-02 Richard Biener <rguenther@suse.de>
PR tree-optimization/61378
* tree-ssa-sccvn.c (vn_reference_lookup_3): Initialize
valueized_anything.
From-SVN: r211126
GCC Administrator [Mon, 2 Jun 2014 00:17:19 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r211125
Jonathan Wakely [Sun, 1 Jun 2014 22:35:42 +0000 (23:35 +0100)]
uses_allocator.h (__uses_allocator_helper): Simplify.
* include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
(__uses_allocator_arg): Remove unused type.
(__uses_alloc0): Turn into a trivial type.
(__uses_alloc): Add missing template parameter in primary template.
(__uses_alloc_impl): Rename to __uses_alloc_t.
From-SVN: r211121
Uros Bizjak [Sun, 1 Jun 2014 21:14:02 +0000 (23:14 +0200)]
sibcall-2.c: Xfail dg-final scan-assembler-not, not compilation.
* gcc.target/i386/sibcall-2.c: Xfail dg-final scan-assembler-not,
not compilation.
* gcc.target/i386/sibcall-4.c: Ditto.
* gcc.target/i386/fuse-caller-save.c: Add -mregparm=1 for ia32 target.
From-SVN: r211120
Uros Bizjak [Sun, 1 Jun 2014 20:53:18 +0000 (22:53 +0200)]
constraints.md (Bw): Rename from 'w'.
* config/i386/constraints.md (Bw): Rename from 'w'.
(Bz): Rename from 'z'.
* config/i386/i386.md: Change 'w' to 'Bw' and 'z' to 'Bz' globally.
From-SVN: r211119
Uros Bizjak [Sun, 1 Jun 2014 20:37:41 +0000 (22:37 +0200)]
sibcall-2.c (dg-final): Properly escape '[' and ']' in scan-assembler-not string.
* gcc.target/i386/sibcall-2.c (dg-final): Properly escape '[' and ']'
in scan-assembler-not string.
* gcc.target/i386/sibcall-3.c (dg-final): Ditto.
* gcc.target/i386/sibcall-4.c (dg-final): Ditto.
* gcc.target/i386/sibcall-6.c (dg-final): Ditto.
From-SVN: r211118
Kai Tietz [Sun, 1 Jun 2014 19:48:53 +0000 (21:48 +0200)]
* Add missing ChangeLog entry.
From-SVN: r211117
Ray Donnelly [Sun, 1 Jun 2014 19:09:59 +0000 (19:09 +0000)]
pex-win32.c (argv_to_cmdline): Don't quote args unnecessarily
2014-06-01 Ray Donnelly <mingw.android@gmail.com>
* pex-win32.c (argv_to_cmdline): Don't quote
args unnecessarily
From-SVN: r211116
Uros Bizjak [Sun, 1 Jun 2014 18:12:00 +0000 (20:12 +0200)]
pr60969.C (dg-do compile): Change ilp32 target to ia32.
* g++.dg/pr60969.C (dg-do compile): Change ilp32 target to ia32.
From-SVN: r211114
Jonathan Wakely [Sun, 1 Jun 2014 17:23:41 +0000 (18:23 +0100)]
re PR libstdc++/61374 (string_view::operator string() is buggy)
PR libstdc++/61374
* include/experimental/string_view (operator basic_string): Correct
order of arguments.
(to_string): Replace with member function.
Add inline specifiers. Remove unused header. Remove _S_empty_rep and
allow _M_str to be null.
* testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
default constructor semantics.
* testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
* testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
copyright dates. Remove unused header.
* testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/data/char/1.cc:
Fix copyright dates. Adjust to new default constructor semantics.
* testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
Likewise.
* testsuite/experimental/string_view/operations/to_string/1.cc: New.
From-SVN: r211113
Kai Tietz [Sun, 1 Jun 2014 10:36:55 +0000 (12:36 +0200)]
re PR target/61377 (Bootstrap failure on x86_64-apple-darwin13)
PR target/61377
* constrains.md (define_constrain): New 'Bs' constraint.
* i386.md (sibcall_insn_operand): Use Bs instead of m constraint.
From-SVN: r211112
Kai Tietz [Sun, 1 Jun 2014 10:35:19 +0000 (12:35 +0200)]
re PR target/61377 (Bootstrap failure on x86_64-apple-darwin13)
PR target/61377
* gcc.target/i386/sibcall-6.c: New test.
From-SVN: r211111
GCC Administrator [Sun, 1 Jun 2014 00:17:25 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r211110
Andreas Schwab [Sat, 31 May 2014 12:08:25 +0000 (12:08 +0000)]
Summary: m68k: add missing early clobber in beq0_di, bne0_di patterns
* config/m68k/m68k.md (beq0_di, bne0_di): Make the "o" constraint
a separate alternative where the scratch operand 2 is marked as
early clobber.
From-SVN: r211104
Kugan Vivekanandarajah [Sat, 31 May 2014 09:27:52 +0000 (09:27 +0000)]
arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
gcc/
2014-05-31 Kugan Vivekanandarajah <kuganv@linaro.org>
* config/arm/arm.c (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): New define.
(arm_builtins) : Add ARM_BUILTIN_GET_FPSCR and ARM_BUILTIN_SET_FPSCR.
(bdesc_2arg) : Add description for builtins __builtins_arm_set_fpscr
and __builtins_arm_get_fpscr.
(arm_init_builtins) : Initialize builtins __builtins_arm_set_fpscr and
__builtins_arm_get_fpscr.
(arm_expand_builtin) : Expand builtins __builtins_arm_set_fpscr and
__builtins_arm_ldfpscr.
(arm_atomic_assign_expand_fenv): New function.
* config/arm/vfp.md (set_fpscr): New pattern.
(get_fpscr) : Likewise.
* config/arm/unspecs.md (unspecv): Add VUNSPEC_GET_FPSCR and
VUNSPEC_SET_FPSCR.
* doc/extend.texi (AARCH64 Built-in Functions) : Document
__builtins_arm_set_fpscr, __builtins_arm_get_fpscr.
From-SVN: r211103
Paolo Carlini [Sat, 31 May 2014 08:51:20 +0000 (08:51 +0000)]
DR 1227 PR c++/57543
/cp
2014-05-31 Paolo Carlini <paolo.carlini@oracle.com>
DR 1227
PR c++/57543
* cp-tree.h (TYPE_HAS_LATE_RETURN_TYPE): Add.
* pt.c (tsubst_function_type): Inject the this parameter; do the
substitutions in the order mandated by the DR.
(copy_default_args_to_explicit_spec): Copy TYPE_HAS_LATE_RETURN_TYPE.
* decl.c (grokdeclarator): Maybe set TYPE_HAS_LATE_RETURN_TYPE.
(static_fn_type): Copy it.
* decl2.c (build_memfn_type, change_return_type,
cp_reconstruct_complex_type): Likewise.
* parser.c (cp_parser_lambda_declarator_opt): Likewise.
* tree.c (strip_typedefs): Likewise.
* typeck.c (merge_types): Likewise.
/testsuite
2014-05-31 Paolo Carlini <paolo.carlini@oracle.com>
DR 1227
PR c++/57543
* g++.dg/cpp0x/pr57543-1.C: New.
* g++.dg/cpp0x/pr57543-2.C: Likewise.
* g++.dg/cpp0x/pr57543-3.C: Likewise.
* g++.dg/cpp0x/decltype59.C: Likewise.
From-SVN: r211102
GCC Administrator [Sat, 31 May 2014 00:17:15 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r211101
Tom de Vries [Fri, 30 May 2014 22:58:46 +0000 (22:58 +0000)]
Add missing closing brace
2014-05-31 Tom de Vries <tom@codesourcery.com>
* gcc.target/i386/sibcall-4.c: Add missing closing brace.
From-SVN: r211097
Jonathan Wakely [Fri, 30 May 2014 19:26:15 +0000 (20:26 +0100)]
appendix_contributing.xml (list.copyright): Add Paolo's address too.
* doc/xml/manual/appendix_contributing.xml (list.copyright): Add
Paolo's address too.
From-SVN: r211095
Jason Merrill [Fri, 30 May 2014 18:55:56 +0000 (14:55 -0400)]
re PR c++/56947 (Bogus 'XX' was not declared in this scope)
PR c++/56947
* pt.c (instantiate_decl): Check that defer_ok is not set for
local class members.
From-SVN: r211094
Jakub Jelinek [Fri, 30 May 2014 18:40:20 +0000 (20:40 +0200)]
target-libpath.exp (set_gcc_exec_prefix_env_var, [...]): New procedures.
* lib/target-libpath.exp (set_gcc_exec_prefix_env_var,
restore_gcc_exec_prefix_env_var): New procedures.
(set_ld_library_path_env_vars,
restore_ld_library_path_env_vars): Use them.
* lib/c-compat.exp: Load target-libpath.exp.
(compat-use-alt-compiler): Call restore_gcc_exec_prefix_env_var.
(compat-use-tst-compiler): Call set_gcc_exec_prefix_env_var.
* g++.dg/compat/compat.exp (compat-use-alt-compiler): Call
restore_gcc_exec_prefix_env_var.
* g++.dg/compat/struct-layout-1.exp (compat-use-alt-compiler):
Likewise.
From-SVN: r211093
Jakub Jelinek [Fri, 30 May 2014 18:37:59 +0000 (20:37 +0200)]
asan.c (report_error_func): Add SLOW_P argument, use BUILT_IN_ASAN_*_N if set.
* asan.c (report_error_func): Add SLOW_P argument, use
BUILT_IN_ASAN_*_N if set.
(build_check_stmt): Likewise.
(instrument_derefs): If T has insufficient alignment,
force same handling as for odd sizes.
* c-c++-common/asan/misalign-1.c: New test.
* c-c++-common/asan/misalign-2.c: New test.
From-SVN: r211092
Jakub Jelinek [Fri, 30 May 2014 18:37:05 +0000 (20:37 +0200)]
sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N, [...]): New.
* sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
BUILT_IN_ASAN_REPORT_STORE_N): New.
* asan.c (struct asan_mem_ref): Change access_size type to
HOST_WIDE_INT.
(asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
update_mem_ref_hash_table): Likewise.
(asan_mem_ref_hasher::hash): Hash in a HWI.
(report_error_func): Change size_in_bytes argument to HWI.
Use *_N builtins if size_in_bytes is larger than 16 or not power of
two.
(build_shadow_mem_access): New function.
(build_check_stmt): Use it. Change size_in_bytes argument to HWI.
Handle size_in_bytes not power of two or larger than 16.
(instrument_derefs): Don't give up if size_in_bytes is not
power of two or is larger than 16.
From-SVN: r211091
Jakub Jelinek [Fri, 30 May 2014 18:36:24 +0000 (20:36 +0200)]
asan_test.C: Add -std=c++11 and -DSANITIZER_USE_DEJAGNU_GTEST=1 to dg-options...
* g++.dg/asan/asan_test.C: Add -std=c++11 and
-DSANITIZER_USE_DEJAGNU_GTEST=1 to dg-options, remove
-DASAN_USE_DEJAGNU_GTEST=1.
* g++.dg/asan/asan_mem_test.cc: Updated from upstream
r209283.
* g++.dg/asan/asan_oob_test.cc: Likewise.
* g++.dg/asan/sanitizer_test_utils.h: Likewise.
* g++.dg/asan/asan_str_test.cc: Likewise.
* g++.dg/asan/asan_test_utils.h: Likewise.
* g++.dg/asan/sanitizer_test_config.h: Likewise.
* g++.dg/asan/asan_test.cc: Likewise. Allow size 12
for long double.
* g++.dg/asan/sanitizer_pthread_wrappers.h: New file.
Imported from upstream r209283.
* g++.dg/asan/asan_test_config.h: Likewise.
From-SVN: r211090
Kai Tietz [Fri, 30 May 2014 18:00:11 +0000 (20:00 +0200)]
re PR target/60104 (load not folded into indirect branch on x86-64)
PR target/60104
* config/i386/i386.c (x86_output_mi_thunk): Add memory case
for sibling-tail-calls.
* config/i386/i386.md (sibcall_insn_operand): Add memory-constrain
to its use.
* config/i386/predicates.md (sibcall_memory_operand): New predicate.
(sibcall_insn_operand): Add check for sibcall_memory_operand.
PR target/60104
* gcc.target/i386/sibcall-1.c: New test.
* gcc.target/i386/sibcall-2.c: New test.
* gcc.target/i386/sibcall-3.c: New test.
* gcc.target/i386/sibcall-4.c: New test.
From-SVN: r211089
Jonathan Wakely [Fri, 30 May 2014 17:16:14 +0000 (18:16 +0100)]
re PR libstdc++/61011 (libstdc++-v3 should be target-libstdc++-v3 in top level configure)
PR libstdc++/61011
* configure.ac (--disable-libstdcxx): Set noconfigdirs correctly.
Disable libcilkrts, libitm, libsanitizer when not building libstdc++.
* configure: Regenerate.
From-SVN: r211087
Jonathan Wakely [Fri, 30 May 2014 16:58:58 +0000 (17:58 +0100)]
appendix_contributing.xml (list.copyright): Replace Benjamin's old email address.
* doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
Benjamin's old email address.
From-SVN: r211086
Pitchumani Sivanupandi [Fri, 30 May 2014 16:36:05 +0000 (16:36 +0000)]
avr-mcus.def: Change ATA6289 ISA to AVR4
* config/avr/avr-mcus.def: Change ATA6289 ISA to AVR4
* config/avr/avr-tables.opt: Regenerate.
* config/avr/t-multilib: Regenerate.
* doc/avr-mmcu.texi: Regenerate.
From-SVN: r211085
Jason Merrill [Fri, 30 May 2014 15:09:40 +0000 (11:09 -0400)]
re PR c++/60992 (ICE in tsubst_copy, at cp/pt.c:12637)
PR c++/60992
* pt.c (tsubst_init): Split out from...
(tsubst_expr) [DECL_EXPR]: Here.
(tsubst_copy) [VAR_DECL]: Use it.
* semantics.c (finish_id_expression): Return the decl for static/const.
From-SVN: r211084
Ian Lance Taylor [Fri, 30 May 2014 13:53:58 +0000 (13:53 +0000)]
runtime: Use _mm_pause rather than __builtin_ia32_pause.
Based on a patch from Peter Collingbourne.
From-SVN: r211081
Jakub Jelinek [Fri, 30 May 2014 13:48:22 +0000 (15:48 +0200)]
sanitizer_stacktrace.cc: Cherry pick upstream r209879.
* sanitizer_common/sanitizer_stacktrace.cc: Cherry pick upstream
r209879.
* sanitizer_common/sanitizer_common.h: Likewise.
* asan/asan_mapping.h: Likewise.
* asan/asan_linux.cc: Likewise.
* tsan/tsan_mman.cc: Cherry pick upstream r209744.
* sanitizer_common/sanitizer_allocator.h: Likewise.
From-SVN: r211080
Ian Lance Taylor [Fri, 30 May 2014 13:11:05 +0000 (13:11 +0000)]
xmmintrin.h (_mm_pause): Move out of scope of pragma target("sse").
gcc/:
* config/i386/xmmintrin.h (_mm_pause): Move out of scope of pragma
target("sse").
testsuite/:
* gcc.target/i386/pause-2.c: New test.
From-SVN: r211079
Tom de Vries [Fri, 30 May 2014 11:39:49 +0000 (11:39 +0000)]
-fuse-caller-save - Enable for i386
2014-05-30 Tom de Vries <tom@codesourcery.com>
* config/i386/i386.c (TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS):
Redefine as true.
* gcc.target/i386/fuse-caller-save.c: New test.
* gcc.dg/ira-shrinkwrap-prep-1.c: Run with -fno-use-caller-save.
* gcc.dg/ira-shrinkwrap-prep-2.c: Same.
From-SVN: r211078
Jonathan Wakely [Fri, 30 May 2014 11:11:15 +0000 (12:11 +0100)]
libstdc++.exp (libstdc++_init): Adjust regexp to work with previous versions of Tcl.
* testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
work with previous versions of Tcl.
From-SVN: r211077
Jonathan Wakely [Fri, 30 May 2014 11:11:10 +0000 (12:11 +0100)]
* generate_libstdcxx_web_docs: New script.
From-SVN: r211076
Alan Lawrence [Fri, 30 May 2014 09:49:49 +0000 (09:49 +0000)]
Add execution tests of ARM REV intrinsics.
gcc.target/arm/simd/vrev16p8_1.c: New file.
gcc.target/arm/simd/vrev16qp8_1.c: New file.
gcc.target/arm/simd/vrev16qs8_1.c: New file.
gcc.target/arm/simd/vrev16qu8_1.c: New file.
gcc.target/arm/simd/vrev16s8_1.c: New file.
gcc.target/arm/simd/vrev16u8_1.c: New file.
gcc.target/arm/simd/vrev32p16_1.c: New file.
gcc.target/arm/simd/vrev32p8_1.c: New file.
gcc.target/arm/simd/vrev32qp16_1.c: New file.
gcc.target/arm/simd/vrev32qp8_1.c: New file.
gcc.target/arm/simd/vrev32qs16_1.c: New file.
gcc.target/arm/simd/vrev32qs8_1.c: New file.
gcc.target/arm/simd/vrev32qu16_1.c: New file.
gcc.target/arm/simd/vrev32qu8_1.c: New file.
gcc.target/arm/simd/vrev32s16_1.c: New file.
gcc.target/arm/simd/vrev32s8_1.c: New file.
gcc.target/arm/simd/vrev32u16_1.c: New file.
gcc.target/arm/simd/vrev32u8_1.c: New file.
gcc.target/arm/simd/vrev64f32_1.c: New file.
gcc.target/arm/simd/vrev64p16_1.c: New file.
gcc.target/arm/simd/vrev64p8_1.c: New file.
gcc.target/arm/simd/vrev64qf32_1.c: New file.
gcc.target/arm/simd/vrev64qp16_1.c: New file.
gcc.target/arm/simd/vrev64qp8_1.c: New file.
gcc.target/arm/simd/vrev64qs16_1.c: New file.
gcc.target/arm/simd/vrev64qs32_1.c: New file.
gcc.target/arm/simd/vrev64qs8_1.c: New file.
gcc.target/arm/simd/vrev64qu16_1.c: New file.
gcc.target/arm/simd/vrev64qu32_1.c: New file.
gcc.target/arm/simd/vrev64qu8_1.c: New file.
gcc.target/arm/simd/vrev64s16_1.c: New file.
gcc.target/arm/simd/vrev64s32_1.c: New file.
gcc.target/arm/simd/vrev64s8_1.c: New file.
gcc.target/arm/simd/vrev64u16_1.c: New file.
gcc.target/arm/simd/vrev64u32_1.c: New file.
gcc.target/arm/simd/vrev64u8_1.c: New file.
From-SVN: r211075
Tom de Vries [Fri, 30 May 2014 08:43:05 +0000 (08:43 +0000)]
-fuse-caller-save - Support in lra
2014-05-30 Tom de Vries <tom@codesourcery.com>
* lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
* lra.c (initialize_lra_reg_info_element): Add init of
actual_call_used_reg_set field.
(lra): Call lra_create_live_ranges before lra_inheritance for
-fuse-caller-save.
* lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
-fuse-caller-save.
* lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
instead of call_used_reg_set for -fuse-caller-save.
* lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
From-SVN: r211074
Kyrylo Tkachov [Fri, 30 May 2014 08:31:38 +0000 (08:31 +0000)]
[ARM] Use mov_imm type for movw operations consistently
* config/arm/thumb2.md (*thumb2_movhi_insn): Set type of movw
to mov_imm.
* config/arm/vfp.md (*thumb2_movsi_vfp): Likewise.
From-SVN: r211073
Richard Sandiford [Fri, 30 May 2014 07:35:47 +0000 (07:35 +0000)]
ira.c (ira_get_dup_out_num): Check for output operands at the start of the loop.
gcc/
* ira.c (ira_get_dup_out_num): Check for output operands at
the start of the loop. Handle cases where an included alternative
follows an excluded one.
From-SVN: r211072
GCC Administrator [Fri, 30 May 2014 00:17:10 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r211071
Mike Stump [Thu, 29 May 2014 23:20:39 +0000 (23:20 +0000)]
re PR target/61352 (gcc 4.9.0 fails to execute dsymutil when linking executables on darwin)
PR debug/61352
* collect2.c (maybe_run_lto_and_relink): Be sure to always run
post ld passes when lto is used.
From-SVN: r211067
Ian Lance Taylor [Thu, 29 May 2014 20:22:27 +0000 (20:22 +0000)]
runtime: add the --without-libatomic configure option
This adds the --without-libatomic configure option, which is useful for building libgo
with a non-gcc compiler.
It disables libgo's dependency on libatomic. This
is useful for platforms where it is known that the libatomic runtime
functions are not required, or where the compiler automatically
provides an implementation of them.
From-SVN: r211065
Vladimir Makarov [Thu, 29 May 2014 17:37:23 +0000 (17:37 +0000)]
re PR rtl-optimization/61325 (aarch64_be build fails)
2014-05-29 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/61325
* lra-constraints.c (process_address): Rename to
process_address_1.
(process_address): New function.
2014-05-29 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/61325
* gcc.target/aarch64/pr61325.c: New.
From-SVN: r211061
Alan Lawrence [Thu, 29 May 2014 17:24:34 +0000 (17:24 +0000)]
Add execution tests of ARM EXT intrinsics
gcc.target/arm/simd/vextQf32_1.c: New file.
gcc.target/arm/simd/vextQp16_1.c: New file.
gcc.target/arm/simd/vextQp8_1.c: New file.
gcc.target/arm/simd/vextQs16_1.c: New file.
gcc.target/arm/simd/vextQs32_1.c: New file.
gcc.target/arm/simd/vextQs64_1.c: New file.
gcc.target/arm/simd/vextQs8_1.c: New file.
gcc.target/arm/simd/vextQu16_1.c: New file.
gcc.target/arm/simd/vextQu32_1.c: New file.
gcc.target/arm/simd/vextQu64_1.c: New file.
gcc.target/arm/simd/vextQu8_1.c: New file.
gcc.target/arm/simd/vextQp64_1.c: New file.
gcc.target/arm/simd/vextf32_1.c: New file.
gcc.target/arm/simd/vextp16_1.c: New file.
gcc.target/arm/simd/vextp8_1.c: New file.
gcc.target/arm/simd/vexts16_1.c: New file.
gcc.target/arm/simd/vexts32_1.c: New file.
gcc.target/arm/simd/vexts64_1.c: New file.
gcc.target/arm/simd/vexts8_1.c: New file.
gcc.target/arm/simd/vextu16_1.c: New file.
gcc.target/arm/simd/vextu32_1.c: New file.
gcc.target/arm/simd/vextu64_1.c: New file.
gcc.target/arm/simd/vextu8_1.c: New file.
gcc.target/arm/simd/vextp64_1.c: New file.
From-SVN: r211059
Alan Lawrence [Thu, 29 May 2014 16:57:42 +0000 (16:57 +0000)]
Detect EXT patterns to vec_perm_const, use for EXT intrinsics
* config/aarch64/aarch64-builtins.c (aarch64_types_binopv_qualifiers,
TYPES_BINOPV): New static data.
* config/aarch64/aarch64-simd-builtins.def (im_lane_bound): New builtin.
* config/aarch64/aarch64-simd.md (aarch64_ext, aarch64_im_lane_boundsi):
New patterns.
* config/aarch64/aarch64.c (aarch64_expand_vec_perm_const_1): Match
patterns for EXT.
(aarch64_evpc_ext): New function.
* config/aarch64/iterators.md (UNSPEC_EXT): New enum element.
* config/aarch64/arm_neon.h (vext_f32, vext_f64, vext_p8, vext_p16,
vext_s8, vext_s16, vext_s32, vext_s64, vext_u8, vext_u16, vext_u32,
vext_u64, vextq_f32, vextq_f64, vextq_p8, vextq_p16, vextq_s8,
vextq_s16, vextq_s32, vextq_s64, vextq_u8, vextq_u16, vextq_u32,
vextq_u64): Replace __asm with __builtin_shuffle and im_lane_boundsi.
From-SVN: r211058
Tom de Vries [Thu, 29 May 2014 16:32:16 +0000 (16:32 +0000)]
Fix rtl-check build
2014-05-29 Tom de Vries <tom@codesourcery.com>
* rtl.h (BLOCK_SYMBOL_CHECK): Use SYMBOL_REF_FLAGS.
From-SVN: r211057
Jonathan Wakely [Thu, 29 May 2014 14:04:43 +0000 (15:04 +0100)]
bool_set: Use UTF-8 for accented characters.
* include/tr2/bool_set: Use UTF-8 for accented characters.
* scripts/run_doxygen: Handle Doxygen 1.8.x change.
* doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
From-SVN: r211053
David Wohlferd [Thu, 29 May 2014 11:50:22 +0000 (11:50 +0000)]
extend.texi: Rewrite inline asm page / re-org asm-related pages.
2014-05-09 David Wohlferd <LimeGreenSocks@yahoo.com>
Andrew Haley <aph@redhat.com>
Richard Sandiford <rdsandiford@googlemail.com>
* doc/extend.texi: Rewrite inline asm page / re-org asm-related
pages.
From-SVN: r211051
Richard Earnshaw [Thu, 29 May 2014 09:39:07 +0000 (09:39 +0000)]
iterators.md (shiftable_ops): New code iterator.
* arm/iterators.md (shiftable_ops): New code iterator.
(t2_binop0, arith_shift_insn): New code attributes.
* arm/predicates.md (shift_nomul_operator): New predicate.
* arm/arm.md (insn_enabled): Delete.
(enabled): Remove insn_enabled test.
(*arith_shiftsi): Delete. Replace with ...
(*<arith_shift_insn>_multsi): ... new pattern.
(*<arith_shift_insn>_shiftsi): ... new pattern.
* config/arm/arm.c (arm_print_operand): Handle operand format 'b'.
Co-Authored-By: Richard Sandiford <rdsandiford@googlemail.com>
From-SVN: r211050
Radovan Obradovic [Thu, 29 May 2014 08:59:08 +0000 (08:59 +0000)]
-fuse-caller-save - Enable for MIPS
2014-05-29 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* config/mips/mips.h (POST_CALL_TMP_REG): Define.
* config/mips/mips.c (mips_emit_call_insn): Add POST_CALL_TMP_REG
clobber.
(mips_split_call): Use POST_CALL_TMP_REG.
(TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS): Redefine to true.
* gcc.target/mips/mips.exp: Add use-caller-save to -ffoo/-fno-foo
options.
* gcc.target/mips/fuse-caller-save.h: New include file.
* gcc.target/mips/fuse-caller-save.c: New test.
* gcc.target/mips/fuse-caller-save-mips16.c: Same.
* gcc.target/mips/fuse-caller-save-micromips.c: Same.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r211049
Evgeny Stupachenko [Thu, 29 May 2014 08:53:02 +0000 (08:53 +0000)]
pr52252-ld.c: Fix target and options for the test.
gcc/testsuite/
* gcc.dg/vect/pr52252-ld.c: Fix target and options for the test.
From-SVN: r211048
Tom de Vries [Thu, 29 May 2014 08:25:05 +0000 (08:25 +0000)]
Fix bootstrap on powerpc64le-linux-gnu
2014-05-29 Tom de Vries <tom@codesourcery.com>
* final.c (collect_fn_hard_reg_usage): Guard variable declaration
with #ifdef STACK_REGS.
From-SVN: r211047
Jan Hubicka [Thu, 29 May 2014 06:14:52 +0000 (08:14 +0200)]
varasm.c (get_variable_section): Walk aliases.
* varasm.c (get_variable_section): Walk aliases.
(place_block_symbol): Walk aliases.
From-SVN: r211045
GCC Administrator [Thu, 29 May 2014 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r211041
Ian Lance Taylor [Thu, 29 May 2014 00:03:30 +0000 (00:03 +0000)]
runtime: disable split stacks for runtime_printf function under Clang
LLVM's code generator does not currently support split stacks for vararg
functions, so we disable split stacks for the only function that uses this
feature under Clang. This appears to be OK as long as:
- this function only calls non-inlined, internal-linkage (hence no dynamic
loader) functions compiled with split stacks (i.e. go_vprintf), which can
allocate more stack space as required;
- this function itself does not occupy more than BACKOFF bytes of stack space
(see libgcc/config/i386/morestack.S).
These conditions are currently known to be satisfied by Clang on x86-32 and
x86-64. Note that signal handlers receive slightly less stack space than they
would normally do if they happen to be called while this function is being
run. If this turns out to be a problem we could consider increasing BACKOFF.
From-SVN: r211037
Ian Lance Taylor [Wed, 28 May 2014 23:10:47 +0000 (23:10 +0000)]
runtime: fix misc gcc-isms and undefined behavior
This includes the use of __complex and __builtin_ functions where
unprefixed entities would suffice, and the use of a union for
bit-casting between types.
From-SVN: r211036
Pedro Alves [Wed, 28 May 2014 21:55:41 +0000 (21:55 +0000)]
Fix demangler testsuite crashes with CP_DEMANGLE_DEBUG defined
Running the demangler's testsuite with CP_DEMANGLE_DEBUG defined
crashes, with:
Program received signal SIGSEGV, Segmentation fault.
0x000000000040a8c3 in d_dump (dc=0x1, indent=12) at ../../src/libiberty/cp-demangle.c:567
567 switch (dc->type)
(gdb) bt 3
#0 0x000000000040a8c3 in d_dump (dc=0x1, indent=12) at ../../src/libiberty/cp-demangle.c:567
#1 0x000000000040ae47 in d_dump (dc=0x7fffffffd098, indent=10) at ../../src/libiberty/cp-demangle.c:787
#2 0x000000000040ae47 in d_dump (dc=0x7fffffffd0c8, indent=8) at ../../src/libiberty/cp-demangle.c:787
Note dc=0x1, which is obviously a bogus pointer. This is the end of
d_dump recursing for a component type that that doesn't actually have
subtrees:
787 d_dump (d_left (dc), indent + 2);
788 d_dump (d_right (dc), indent + 2);
This fixes the two cases the testsuite currently trips on.
libiberty/
2014-05-28 Pedro Alves <palves@redhat.com>
* cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_FUNCTION_PARAM
and DEMANGLE_COMPONENT_NUMBER.
From-SVN: r211035
Pedro Alves [Wed, 28 May 2014 21:51:47 +0000 (21:51 +0000)]
Add myself to MAINTAINERS.
2014-05-28 Pedro Alves <palves@redhat.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r211034
Tom de Vries [Wed, 28 May 2014 21:50:28 +0000 (21:50 +0000)]
revert: lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
2014-05-28 Tom de Vries <tom@codesourcery.com>
Revert:
2014-05-28 Tom de Vries <tom@codesourcery.com>
* lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
* lra.c (initialize_lra_reg_info_element): Add init of
actual_call_used_reg_set field.
(lra): Call lra_create_live_ranges before lra_inheritance for
-fuse-caller-save.
* lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
-fuse-caller-save.
* lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
instead of call_used_reg_set for -fuse-caller-save.
* lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
From-SVN: r211033
Richard Sandiford [Wed, 28 May 2014 19:49:18 +0000 (19:49 +0000)]
md.texi: Document that the % constraint character must be at the beginning of the string.
gcc/
* doc/md.texi: Document that the % constraint character must
be at the beginning of the string.
* genoutput.c (validate_insn_alternatives): Check that '=',
'+' and '%' only appear at the beginning of a constraint.
* ira.c (commutative_constraint_p): Delete.
(ira_get_dup_out_num): Expect the '%' commutativity marker to be
at the start of the string.
* config/alpha/alpha.md (*movmemdi_1, *clrmemdi_1): Remove
duplicate '='s.
* config/arm/neon.md (bicdi3_neon): Likewise.
* config/iq2000/iq2000.md (addsi3_internal, subsi3_internal, sgt_si)
(slt_si, sltu_si): Likewise.
* config/vax/vax.md (sbcdi3): Likewise.
* config/h8300/h8300.md (*cmpstz): Remove duplicate '+'.
* config/arc/arc.md (mulsi_600, mulsidi_600, umulsidi_600)
(mul64): Move '%' to beginning of constraint.
* config/arm/arm.md (*xordi3_insn): Likewise.
* config/nds32/nds32.md (add<mode>3, mulsi3, andsi3, iorsi3)
(xorsi3): Likewise.
From-SVN: r211031
Richard Sandiford [Wed, 28 May 2014 19:30:35 +0000 (19:30 +0000)]
md.texi: Document the restrictions on the "enabled" attribute.
gcc/
* doc/md.texi: Document the restrictions on the "enabled" attribute.
From-SVN: r211030
Jason Merrill [Wed, 28 May 2014 16:38:23 +0000 (12:38 -0400)]
re PR c++/47202 (Endless recursion during mangling)
PR c++/47202
gcc/cp/
* decl.c (cxx_comdat_group): Return a decl.
* optimize.c (cdtor_comdat_group): Get its DECL_ASSEMBLER_NAME.
gcc/
* cgraph.h (symtab_node::get_comdat_group_id): New.
* cgraphunit.c (analyze_functions): Call it.
* symtab.c (dump_symtab_node): Likewise.
* tree.c (decl_comdat_group_id): New.
* tree.h: Declare it.
* lto-streamer-out.c (write_symbol): Use it.
* trans-mem.c (ipa_tm_create_version_alias): Likewise.
From-SVN: r211026
Jason Merrill [Wed, 28 May 2014 16:30:46 +0000 (12:30 -0400)]
pt.c (tsubst): Check for array of array of unknown bound.
* pt.c (tsubst) [ARRAY_TYPE]: Check for array of array of unknown
bound.
From-SVN: r211025
Jason Merrill [Wed, 28 May 2014 15:55:03 +0000 (11:55 -0400)]
re PR c++/61242 (Bogus "no matching function for call to ‘Foo::Create(<brace-enclosed initializer list>)")
PR c++/61242
* call.c (build_aggr_conv): Ignore passed in flags.
(build_array_conv, build_complex_conv): Likewise.
From-SVN: r211024
Francois-Xavier Coudert [Wed, 28 May 2014 15:17:29 +0000 (15:17 +0000)]
PR bootstrap/PR61146
PR bootstrap/PR61146
* wide-int.cc: Do not include longlong.h when compiling with clang.
From-SVN: r211023
Richard Biener [Wed, 28 May 2014 14:24:09 +0000 (14:24 +0000)]
tree-ssa-propagate.c (add_control_edge): Print less vertical space.
2014-05-28 Richard Biener <rguenther@suse.de>
* tree-ssa-propagate.c (add_control_edge): Print less vertical space.
* tree-vrp.c (extract_range_from_ssa_name): Also copy VR_UNDEFINED.
(vrp_visit_assignment_or_call): Print less vertical space.
(vrp_visit_stmt): Likewise.
(vrp_visit_phi_node): Likewise. For a PHI argument with
VR_VARYING range consider recording it as copy.
From-SVN: r211022
Richard Biener [Wed, 28 May 2014 14:17:45 +0000 (14:17 +0000)]
revert: hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
2014-05-28 Richard Biener <rguenther@suse.de>
Revert
2014-05-28 Richard Biener <rguenther@suse.de>
* hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
From-SVN: r211021
Bernd Edlinger [Wed, 28 May 2014 13:37:02 +0000 (13:37 +0000)]
expr.c (expand_assignment): Fold the bitpos in the to_rtx if sufficiently aligned and an offset is used at...
2014-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
* expr.c (expand_assignment): Fold the bitpos in the to_rtx if
sufficiently aligned and an offset is used at the same time.
(expand_expr_real_1): Likewise.
From-SVN: r211020
Richard Biener [Wed, 28 May 2014 12:44:11 +0000 (12:44 +0000)]
re PR middle-end/61045 (Wrong constant folding)
2014-05-28 Richard Biener <rguenther@suse.de>
PR middle-end/61045
* fold-const.c (fold_comparison): When folding
X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
the sign of the remaining constant operand stays the same.
* gcc.dg/pr61045.c: New testcase.
From-SVN: r211018
Kaushik Phatak [Wed, 28 May 2014 12:23:15 +0000 (12:23 +0000)]
RL78 64bit double support added
From-SVN: r211017
Kaushik Phatak [Wed, 28 May 2014 12:22:19 +0000 (12:22 +0000)]
RL78 64bit double support added
From-SVN: r211016
Rainer Orth [Wed, 28 May 2014 11:32:54 +0000 (11:32 +0000)]
Centralise clearing hardware capabilities with Sun ld
gcc:
* configure.ac ($gcc_cv_ld_clearcap): New test.
* configure: Regenerate.
* config.in: Regenerate.
* config/sol2.opt (mclear-hwcap): New option.
* config/sol2.h (LINK_CLEARCAP_SPEC): Define.
* config/sol2-clearcap.map: Moved here from
testsuite/gcc.target/i386/clearcap.map.
* config/sol2-clearcapv2.map: Move here from
gcc.target/i386/clearcapv2.map.
* config/t-sol2 (install): Depend on install-clearcap-map.
(install-clearcap-map): New target.
* doc/invoke.texi (Option Summary, Solaris 2 Options): Document
-mclear-hwcap.
gcc/testsuite:
* lib/clearcap.exp: New file.
* gcc.dg/vect/vect.exp: Load clearcap.exp.
Remove clearcap_ldflags handling.
Call clearcap-init, clearcap-finish.
* gcc.target/i386/i386.exp: Likewise.
* gcc.target/i386/clearcap.map: Move to ../config/sol2-clearcap.map.
* gcc.target/i386/clearcapv2.map: Move to
../config/sol2-clearcapv2.map.
* gcc.target/x86_64/abi/avx/abi-avx.exp: Likewise.
* gcc.target/x86_64/abi/avx512f/abi-avx512f.exp: Likewise.
libitm:
* acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): Check for
-mclear-hwcap instead.
* configure: Regenerate.
* clearcap.map: Remove.
From-SVN: r211014
Richard Biener [Wed, 28 May 2014 11:07:48 +0000 (11:07 +0000)]
hwint.h (*_HALF_WIDE_INT*): Move to ...
2014-05-28 Richard Biener <rguenther@suse.de>
* hwint.h (*_HALF_WIDE_INT*): Move to ...
* wide-int.cc (HOST_BITS_PER_HALF_WIDE_INT, HOST_HALF_WIDE_INT):
... here and remove the rest.
* hwint.h (HOST_WIDE_INT_PRINT_*): Define in terms of PRI*64.
From-SVN: r211013
Richard Biener [Wed, 28 May 2014 11:07:06 +0000 (11:07 +0000)]
re PR tree-optimization/61335 (wrong code with -O2 -fbounds-check)
2014-05-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/61335
* tree-vrp.c (vrp_visit_phi_node): If the compare of old and
new range fails, drop to varying.
* gfortran.dg/pr61335.f90: New testcase.
From-SVN: r211012
Olivier Hainque [Wed, 28 May 2014 09:51:07 +0000 (09:51 +0000)]
vxworks.h (VXCPU_FOR_8548): New.
2014-05-28 Olivier Hainque <hainque@adacore.com>
* config/rs6000/vxworks.h (VXCPU_FOR_8548): New. Default to PPC85XX.
(CPP_SPEC): Add entry for -mcpu=8548.
* config/rs6000/vxworksae.h: Reinstate. Override VXCPU_FOR_8548.
* config.gcc (powerpc-wrs-vxworksae, tm_file): Add back vxworksae.h.
From-SVN: r211011
Tom de Vries [Wed, 28 May 2014 09:43:52 +0000 (09:43 +0000)]
-fuse-caller-save - Support in lra
2014-05-28 Tom de Vries <tom@codesourcery.com>
* lra-int.h (struct lra_reg): Add field actual_call_used_reg_set.
* lra.c (initialize_lra_reg_info_element): Add init of
actual_call_used_reg_set field.
(lra): Call lra_create_live_ranges before lra_inheritance for
-fuse-caller-save.
* lra-assigns.c (lra_assign): Allow call_used_regs to cross calls for
-fuse-caller-save.
* lra-constraints.c (need_for_call_save_p): Use actual_call_used_reg_set
instead of call_used_reg_set for -fuse-caller-save.
* lra-lives.c (process_bb_lives): Calculate actual_call_used_reg_set.
From-SVN: r211010
Radovan Obradovic [Wed, 28 May 2014 09:43:41 +0000 (09:43 +0000)]
-fuse-caller-save - Add documentation
2014-05-28 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* doc/invoke.texi (@item Optimization Options): Add -fuse-caller-save to
gccoptlist.
(@item -fuse-caller-save): New item.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r211009
Radovan Obradovic [Wed, 28 May 2014 09:43:32 +0000 (09:43 +0000)]
-fuse-caller-save - Enable by default at O2 and higher
2014-05-28 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* opts.c (default_options_table): Add OPT_LEVELS_2_PLUS entry with
OPT_fuse_caller_save.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r211008
Radovan Obradovic [Wed, 28 May 2014 09:43:21 +0000 (09:43 +0000)]
-fuse-caller-save - Use collected register usage information
2014-05-28 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* df-scan.c (df_get_call_refs): Use get_call_reg_set_usage.
* caller-save.c (setup_save_areas, save_call_clobbered_regs): Use
get_call_reg_set_usage.
* resource.c (mark_set_resources, mark_target_live_regs): Use
get_call_reg_set_usage.
* ira-int.h (struct ira_allocno): Add crossed_calls_clobbered_regs
field.
(ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS): Define.
* ira-lives.c (process_bb_node_lives): Use get_call_reg_set_usage.
Calculate ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
* ira-build.c (ira_create_allocno): Init
ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
(create_cap_allocno, propagate_allocno_info)
(propagate_some_info_from_allocno)
(copy_info_to_removed_store_destinations): Handle
ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS.
* ira-costs.c (ira_tune_allocno_costs): Use
ALLOCNO_CROSSED_CALLS_CLOBBERED_REGS to adjust costs.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r211007
Radovan Obradovic [Wed, 28 May 2014 09:43:11 +0000 (09:43 +0000)]
-fuse-caller-save - Collect register usage information
2014-05-28 Radovan Obradovic <robradovic@mips.com>
Tom de Vries <tom@codesourcery.com>
* cgraph.h (struct cgraph_rtl_info): Add function_used_regs
and function_used_regs_valid fields.
* final.c: Move include of hard-reg-set.h to before rtl.h to declare
find_all_hard_reg_sets.
(collect_fn_hard_reg_usage, get_call_fndecl, get_call_cgraph_rtl_info)
(get_call_reg_set_usage): New function.
(rest_of_handle_final): Use collect_fn_hard_reg_usage.
* regs.h (get_call_reg_set_usage): Declare.
Co-Authored-By: Tom de Vries <tom@codesourcery.com>
From-SVN: r211006
Georg-Johann Lay [Wed, 28 May 2014 09:33:04 +0000 (09:33 +0000)]
re PR libgcc/61152 (Missing GCC Runtime Library Exception in some files that are included in libgcc)
gcc/
PR libgcc/61152
* config/dbx.h (License): Add Runtime Library Exception.
* config/newlib-stdint.h (License): Same.
* config/rtems.h (License): Same
* config/initfini-array.h (License): Same
* config/v850/v850.h (License): Same.
* config/v850/v850-opts.h (License): Same
* config/v850/rtems.h (License): Same.
From-SVN: r211004
Paolo Carlini [Wed, 28 May 2014 08:59:32 +0000 (08:59 +0000)]
2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
* Fix typo in ChangeLog entry.
From-SVN: r211003
Georg-Johann Lay [Wed, 28 May 2014 08:42:25 +0000 (08:42 +0000)]
re PR target/61044 (Computed goto on AVR fails to use word-addressing)
PR target/61044
* doc/extend.texi (Local Labels): Note that label differences are
not supported for AVR.
From-SVN: r210999
Richard Sandiford [Wed, 28 May 2014 08:41:27 +0000 (08:41 +0000)]
rtl.h (set_for_reg_notes): Declare.
2014-05-26 Richard Sandiford <rdsandiford@googlemail.com>
Olivier Hainque <hainque@adacore.com>
* rtl.h (set_for_reg_notes): Declare.
* emit-rtl.c (set_for_reg_notes): New function.
(set_unique_reg_note): Use it.
* optabs.c (add_equal_note): Likewise
Co-Authored-By: Olivier Hainque <hainque@adacore.com>
From-SVN: r210998
Andrew Pinski [Wed, 28 May 2014 01:24:53 +0000 (01:24 +0000)]
aarch64.md (stack_protect_set_<mode>): Use <w> for the register in assembly template.
2014-05-27 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64.md (stack_protect_set_<mode>):
Use <w> for the register in assembly template.
(stack_protect_test): Use the mode of operands[0] for the
result.
(stack_protect_test_<mode>): Use <w> for the register
in assembly template.
From-SVN: r210996