uros [Tue, 13 Oct 2015 18:56:48 +0000 (18:56 +0000)]
* config/i386/i386.c (classify_argument): Use CEIL where applicable.
(ix86_function_arg_advance): Ditto.
(ix86_function_arg): Ditto.
(ix86_gimplify_va_arg): Ditto.
(ix86_class_max_nregs): Ditto.
(inline_memory_move_cost): Ditto.
(ix86_set_reg_reg_cost): Ditto.
* config/i386/i386.h (HARD_REGNO_NREGS): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228776
138bc75d-0d04-0410-961f-
82ee72b054a4
aoliva [Tue, 13 Oct 2015 16:34:29 +0000 (16:34 +0000)]
support BLKmode inputs for store_bit_field
Revision 228586 changed useless_type_conversion_p and added mode
changes for MEM:BLKmode inputs in store_expr_with_bounds, but it
missed store_bit_field. This caused ada/rts/s-regpat.ads to fail
compilation on x86_64-linux-gnu.
for gcc/ChangeLog
PR middle-end/67912
* expmed.c (store_bit_field_1): Adjust mode of BLKmode inputs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228774
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 13 Oct 2015 15:32:32 +0000 (15:32 +0000)]
Fix prototype for print_insn in rtl.h
* gcc/rtl.h (print_insn): Fix prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228770
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 13 Oct 2015 15:31:29 +0000 (15:31 +0000)]
* config/sparc/sparc.h (SPARC_STACK_ALIGN): Implement using
ROUND_UP macro and UNITS_PER_WORD * 2.
* config/sparc/sparc.c (sparc_compute_frame_size):
Use ROUND_UP and ROUND_DOWN macros where applicable.
(function_arg_record_value, function_arg_record_value_1)
(function_arg_record_value_1): Ditto.
(emit_save_or_restore_regs): Use ROUND_DOWN to preserve offset
alignment to double-word.
(sparc_gimplify_va_arg): Use ROUND_UP to calculate rsize.
(sparc_emit_probe_stack_range): Use ROUND_DOWN to calculate
rounded_size.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228769
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 13 Oct 2015 15:31:06 +0000 (15:31 +0000)]
* config/sparc/sparc.h (SPARC_STACK_ALIGN): Implement using
ROUND_UP macro and UNITS_PER_WORD * 2.
* config/sparc/sparc.c (sparc_compute_frame_size):
Use ROUND_UP and ROUND_DOWN macros where applicable.
(function_arg_record_value, function_arg_record_value_1)
(function_arg_record_value_1): Ditto.
(emit_save_or_restore_regs): Use ROUND_DOWN to preserve offset
alignment to double-word.
(sparc_gimplify_va_arg): Use ROUND_UP to calculate rsize.
(sparc_emit_probe_stack_range): Use ROUND_DOWN to calculate
rounded_size.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228768
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Tue, 13 Oct 2015 14:54:01 +0000 (14:54 +0000)]
Fix parloops gimple_uid usage
2015-10-13 Tom de Vries <tom@codesourcery.com>
* tree-parloops.c (reduction_phi): Handle cases that gimple_uid is 0 or
-1. Add assert that returned entry matches phi argument.
(parallelize_loops): Move calls to init_stmt_vec_info_vec and
free_stmt_vec_info_vec ...
(gather_scalar_reductions): ... here. Initialize gimple_uids of phis
with -1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228767
138bc75d-0d04-0410-961f-
82ee72b054a4
clyon [Tue, 13 Oct 2015 13:15:12 +0000 (13:15 +0000)]
Followup to [AArch64_be] Fix vtbl[34] and vtbx4
2015-10-13 Christophe Lyon <christophe.lyon@linaro.org>
* gcc/testsuite/gcc.target/aarch64/table-intrinsics.c: Fix regexp
after r228716 (Fix vtbl[34] and vtbx4).
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228762
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Tue, 13 Oct 2015 13:08:31 +0000 (13:08 +0000)]
gcc/
2014-10-13 Yuri Rumyantsev <ysrumyan@gmail.com>
PR tree-optimization/67909, 67947
* tree-ssa-loop-unswitch.c (find_loop_guard): Add check that GUARD_EDGE
really skip the inner loop.
gcc/testsuite/
2014-10-13 Yuri Rumyantsev <ysrumyan@gmail.com>
PR tree-optimization/67909, 67947
* gcc.dg/torture/pr67947.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228760
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 13 Oct 2015 12:20:06 +0000 (12:20 +0000)]
[PATCH] Allow FSM to thread single block cases too
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
Allow single block jump threading paths.
* gcc.dg/tree-ssa/ssa-thread-13.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228757
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Tue, 13 Oct 2015 10:08:59 +0000 (10:08 +0000)]
Add param parloops-schedule
2015-10-13 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/67476
* doc/invoke.texi (@item parloops-schedule): New item.
* params.def (PARAM_PARLOOPS_SCHEDULE): New DEFPARAMENUM5.
* tree-parloops.c: Include params-enum.h.
(create_parallel_loop): Handle PARAM_PARLOOPS_SCHEDULE.
* testsuite/libgomp.c/autopar-3.c: New test.
* testsuite/libgomp.c/autopar-4.c: New test.
* testsuite/libgomp.c/autopar-5.c: New test.
* testsuite/libgomp.c/autopar-6.c: New test.
* testsuite/libgomp.c/autopar-7.c: New test.
* testsuite/libgomp.c/autopar-8.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228756
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Tue, 13 Oct 2015 10:08:50 +0000 (10:08 +0000)]
Support DEFPARAMENUM in params.def
2015-10-13 Tom de Vries <tom@codesourcery.com>
* Makefile.in (PARAMS_H, PLUGIN_HEADERS): Add params-enum.h.
* params-enum.h: New file.
* opts.c (handle_param): Handle case that param arg is a string.
* params-list.h: Handle DEFPARAMENUM5 in params.def.
* params.c (find_param): New function, factored out of ...
(set_param_value): ... here.
(param_string_value_p): New function.
* params.h (struct param_info): Add value_names field.
(find_param, param_string_value_p): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228755
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Tue, 13 Oct 2015 10:08:40 +0000 (10:08 +0000)]
Handle original loop tree in expand_omp_for_generic
2015-10-13 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/67476
* omp-low.c (expand_omp_for_generic): Handle original loop tree.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228754
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 13 Oct 2015 08:39:41 +0000 (08:39 +0000)]
2015-10-13 Richard Biener <rguenther@suse.de>
* tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Allocate
the data dependence vector.
(vect_peeling_hash_insert): Get the peeling hash table as argument.
(vect_peeling_hash_get_lowest_cost): Likewise.
(vect_enhance_data_refs_alignment): Adjust.
(struct _vect_peel_info, struct _vect_peel_extended_info,
struct peel_info_hasher): Move from ...
* tree-vectorizer.h: ... here.
(LOOP_VINFO_COST_MODEL_MIN_ITERS): Remove.
(LOOP_VINFO_PEELING_HTAB): Likewise.
(struct _loop_vec_info): Remove min_profitable_iters and
peeling_htab members.
* tree-vect-loop.c (new_loop_vec_info): Do not allocate vectors
here.
(destroy_loop_vec_info): Adjust.
(vect_analyze_loop_2): Do not set LOOP_VINFO_COST_MODEL_MIN_ITERS.
(vect_estimate_min_profitable_iters): Use LOOP_VINFO_COMP_ALIAS_DDRS
to estimate alias versioning cost.
* tree-vect-slp.c (vect_analyze_slp_cost): Dump header.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228751
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 13 Oct 2015 07:34:41 +0000 (07:34 +0000)]
To: gcc-patches@gcc.gnu.org
Subject: Add an extra pow rule to match.pd
From: Richard Sandiford <richard.sandiford@arm.com>
Gcc: private.sent
--text follows this line--
Simplify pow(|x|,y) and pow(-x,y) to pow(x,y) if y is an even integer.
At the moment this duplicates a case in fold_builtin_pow, but an
upcoming patch will move all the fold_builtin_pow rules to match.pd.
I'm doing this one early to fix a regression in builtin-10.c for
soft-float ARM.
gcc/
* real.h (real_isinteger): Declare.
* real.c (real_isinteger): New function.
* match.pd: Simplify pow(|x|,y) and pow(-x,y) to pow(x,y)
if y is an even integer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228750
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 13 Oct 2015 00:16:15 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228743
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 12 Oct 2015 21:39:35 +0000 (21:39 +0000)]
[PATCH] Allow FSM threader to thread more complex conditions
* tree-ssa-threadbackward.c (get_gimple_control_stmt): New function.
(fsm_find_control_stmt_paths): Change name of first argument to
more accurately relfect what it really is. Handle simplification
of GIMPLE_COND after finding a thread path for NAME.
* tree-ssa-threadedge.c (simplify_control_stmt_condition): Allow
nontrivial conditions to be handled by FSM threader.
(thread_through_normal_block): Extract the name to looup via
FSM threader from COND_EXPR.
* gcc.dg/tree-ssa/ssa-thread-12.c: New test.
* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Update expected output.
* gcc.dg/tree-ssa/ssa-thread-11.c: Renamed from
ssa-dom-thread-11.c.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228739
138bc75d-0d04-0410-961f-
82ee72b054a4
jnorris [Mon, 12 Oct 2015 20:22:30 +0000 (20:22 +0000)]
* testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
initializer.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228737
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 12 Oct 2015 18:54:01 +0000 (18:54 +0000)]
revert:
2015-10-11 Jan Hubicka <hubicka@ucw.cz>
* cgraphbuild.c (compute_call_stmt_bb_frequency): Use
counts when these are more informative.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228736
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 12 Oct 2015 16:26:09 +0000 (16:26 +0000)]
[PATCH] Improve FSM threader to handle compiler temporaries too
* tree-ssa-threadbackward.c (fsm_find_thread_path): Remove
restriction that traced SSA_NAME is a user variable.
* gcc.dg/tree-ssa/ssa-dom-thread-11.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228727
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Mon, 12 Oct 2015 14:14:22 +0000 (14:14 +0000)]
Add missing phis in expand_omp_for_generic
2015-10-12 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/67476
* omp-low.c (expand_omp_for_generic): Add missing phis.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228718
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Mon, 12 Oct 2015 14:14:11 +0000 (14:14 +0000)]
Handle simple latch in expand_omp_for_generic
2015-10-12 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/67476
* omp-low.c (expand_omp_for_generic): Handle simple latch.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228717
138bc75d-0d04-0410-961f-
82ee72b054a4
clyon [Mon, 12 Oct 2015 14:06:54 +0000 (14:06 +0000)]
[AArch64_be] Fix vtbl[34] and vtbx4
2015-10-12 Christophe Lyon <christophe.lyon@linaro.org>
* config/aarch64/aarch64-simd-builtins.def: Update builtins
tables: add tbl3 and tbx4.
* config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): New.
(aarch64_tbx4v8qi): New.
* config/aarch64/arm_neon.h (vtbl3_s8, vtbl3_u8, vtbl3_p8)
(vtbl4_s8, vtbl4_u8, vtbl4_p8, vtbx4_s8, vtbx4_u8, vtbx4_p8):
Rewrite using builtin functions.
* config/aarch64/iterators.md (UNSPEC_TBX): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228716
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 12 Oct 2015 13:59:10 +0000 (13:59 +0000)]
* config/rs6000/rs6000.h (RS6000_ALIGN): Implement using
ROUND_UP macro.
* config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush):
Use ROUND_UP and ROUND_DOWN macros where applicable.
(rs6000_darwin64_record_arg_flush): Ditto.
(rs6000_function_arg): Use ROUND_UP to calculate align_words.
(rs6000_emit_probe_stack_range): Use ROUND_DOWN to calculate
rounded_size.
* config/aarch/aarch64.h (AARCH64_ROUND_UP): Remove.
(AARCH64_ROUND_DOWN): Ditto.
* config/aarch64/aarch64.c: Use ROUND_UP instead of AARCH64_ROUND_UP.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228715
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 12 Oct 2015 12:26:02 +0000 (12:26 +0000)]
2015-10-12 Richard Biener <rguenther@suse.de>
PR ipa/67783
* ipa-inline-analysis.c (estimate_function_body_sizes): Re-add
code that analyzes IVs on each stmt but in a cheaper way avoiding
quadratic behavior.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228710
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Mon, 12 Oct 2015 10:20:56 +0000 (10:20 +0000)]
* config/msp430/msp430.c (msp430_mcu_names): Rename to
msp430_mcu_data, add fields for ISA and hardware multiply
support. Import latest data from the devices.csv file.
(msp430_override_option): Use the data from the new array.
(msp430_use_f5_series_hwmult): Likewise.
(use_32bit_hwmult): Likewise.
(msp430_no_hwmult): Likewise.
* config/msp430/t-msp430 (MULTILIB_MATCHES): Add matches for new
MCU names.
* doc/invoke.texi (MSP430 Options): Note that if the MCU name is
not recognised then no hardware multiply support is assumed and
that only the MSP430 ISA is allowed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228707
138bc75d-0d04-0410-961f-
82ee72b054a4
ville [Mon, 12 Oct 2015 08:55:19 +0000 (08:55 +0000)]
PR c++/58566
/cp
2015-10-12 Ville Voutilainen <ville.voutilainen@gmail.com>
PR c++/58566
* lambda.c (lambda_return_type): Return error_mark_node
instead of void_type_node for the error cases.
/testsuite
2015-10-12 Ville Voutilainen <ville.voutilainen@gmail.com>
PR c++/58566
* g++.dg/cpp0x/lambda/lambda-58566.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228706
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 12 Oct 2015 08:33:34 +0000 (08:33 +0000)]
2015-10-12 Richard Biener <rguenther@suse.de>
* tree-vect-loop.c (vect_analyze_loop_operations): Move cost
related code ...
(vect_analyze_loop_2): ... here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228705
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 12 Oct 2015 07:58:43 +0000 (07:58 +0000)]
PR c++/67557
* expr.c (store_field): Call store_constructor directly when
storing a CONSTRUCTOR into a target smaller than its type.
Guard against unsafe bitwise copy.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228704
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 12 Oct 2015 06:08:06 +0000 (06:08 +0000)]
* cgraphbuild.c (compute_call_stmt_bb_frequency): Use
counts when these are more informative.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228703
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 12 Oct 2015 06:01:37 +0000 (06:01 +0000)]
* tree-profile.c (tree_profiling): Do not clear
pure/const when not instrumenting.
(pass tree_profile): Add dump of symtab.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228702
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 12 Oct 2015 05:26:47 +0000 (05:26 +0000)]
* fold-const.c (fold_comparsion): Pass OEP_ADDRESS_OF when comparing
addresses.
(fold_addr_of_array_ref_difference): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228701
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 12 Oct 2015 01:17:51 +0000 (01:17 +0000)]
[PATCH] Refactoring FSM bits into their own file
* tree-ssa-threadedge.c (fsm_find_thread_path): Moved from here into
tree-ssa-threadbackward.c.
(fsm_find_control_statement_thread_paths): Likewise.
(thread_through_normal_block): Break out FSM bits and move them
into a new function in tree-ssa-threadbackward.c. Call new function
instead.
Minimize header file usage.
* tree-ssa-threadbackward.h: New file.
* tree-ssa-threadbackward.c: Likewise.
* Makefile.in (OBJS): Add tree-ssa-threadbackward.o
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228700
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 12 Oct 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228699
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Sun, 11 Oct 2015 22:34:28 +0000 (22:34 +0000)]
Test for __cxa_thread_atexit_impl when cross-compiling libstdc++ for GNU targets.
I noticed that when testing glibc with a cross compiler I got
UNSUPPORTED: nptl/tst-thread_local1
because the libstdc++-v3 configuration for cross compiling defaulted
to __cxa_thread_atexit_impl not being available. This patch fixes
GLIBCXX_CROSSCONFIG to run the same test (for the case covering
targets with glibc) for __cxa_thread_atexit_impl as for native
compilation, just as it runs most of the other tests done for native
compilation (for these targets, it's not possible to build libstdc++
without already having built libc, so link tests are OK).
Tested with no regressions for cross to arm-none-linux-gnueabi.
* crossconfig.m4 (GLIBCXX_CROSSCONFIG) <*-linux* | *-uclinux* |
*-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*>: Check for
__cxa_thread_atexit_impl.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228695
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 11 Oct 2015 15:41:17 +0000 (15:41 +0000)]
* config/alpha/alpha.h (ALPHA_ROUND): Implement using ROUND_UP macro.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228693
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 11 Oct 2015 09:03:09 +0000 (09:03 +0000)]
bb-reorder: Improve the simple algorithm for -Os (PR67864)
As the PR points out, the "simple" reorder algorithm makes bigger code
than the STC algorithm did, for -Os, for x86. I now tested it for many
different targets and it turns out to be worse everywhere.
This simple patch tunes "simple" a bit; this makes it better than STC
almost everywhere. The only exceptions (for the targets where I have
results) are x86 and mn10300. For those targets it may be best to switch
the default algorithm for -Os to STC.
2015-10-11 Segher Boessenkool <segher@kernel.crashing.org>
PR rtl-optimization/67864
* gcc/bb-reorder (reorder_basic_blocks_simple): Prefer existing
fallthrough edges for conditional jumps. Don't sort candidate
edges if not optimizing for speed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228692
138bc75d-0d04-0410-961f-
82ee72b054a4
vekumar [Sun, 11 Oct 2015 08:06:14 +0000 (08:06 +0000)]
Add bdver4 for multiversioning and fix AMD model detection.
2015-10-09 Venkataramanan kumar <venkataramanan.kumar@amd.com>
* config/i386/cpuinfo.c (get_amd_cpu): Detect bdver4.
(__cpu_indicator_init): Fix model selection for AMD CPUs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228691
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 11 Oct 2015 00:48:28 +0000 (00:48 +0000)]
always define REVERSE_CONDITION
gcc/ChangeLog:
2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* defaults.h (REVERSE_CONDITION): New default definition.
* jump.c (reversed_comparison_code_parts): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228690
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 11 Oct 2015 00:48:22 +0000 (00:48 +0000)]
remove unneeded #if for HARD_FRAME_POINTER_IS_ARG_POINTER
gcc/ChangeLog:
2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* builtins.c (expand_builtin_setjmp_receiver): Don't use #if to
check HARD_FRAME_POINTER_IS_ARG_POINTER.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228689
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 11 Oct 2015 00:48:17 +0000 (00:48 +0000)]
always define FRAME_ADDR_RTX
gcc/ChangeLog:
2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* defaults.h (FRAME_ADDR_RTX): New default definition.
* builtins.c (expand_builtin_return_addr): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228688
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 11 Oct 2015 00:48:11 +0000 (00:48 +0000)]
always define DYNAMIC_CHAIN_ADDRESS
gcc/ChangeLog:
2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* defaults.h (DYNAMIC_CHAIN_ADDRESS): New default definition.
* builtins.c (expand_builtin_return_addr): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228687
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 11 Oct 2015 00:48:02 +0000 (00:48 +0000)]
always define SETUP_FRAME_ADDRESSES
gcc/ChangeLog:
2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* defaults.h (SETUP_FRAME_ADDRESSES): New default definition.
* builtins.c (expand_builtin_return_addr): Adjust.
* doc/tm.texi: Likewise.
* doc/tm.texi.in: Likewise.
* except.c (expand_builtin_unwind_init): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228686
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 11 Oct 2015 00:47:52 +0000 (00:47 +0000)]
always define INITIAL_FRAME_ADDRESS_RTX
gcc/ChangeLog:
2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* builtins.c (expand_builtin_return_addr): Adjust.
* defaults.h (INITIAL_FRAME_ADDRESS_RTX): New default definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228685
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 11 Oct 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228684
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 10 Oct 2015 19:44:07 +0000 (19:44 +0000)]
* tree.c (type_with_interoperable_signedness): New.
(gimple_canonical_types_compatible_p): Use it.
* tree.h (type_with_interoperable_signedness): Declare
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228681
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 10 Oct 2015 19:43:49 +0000 (19:43 +0000)]
* tree.c (type_with_interoperable_signedness): New.
(gimple_canonical_types_compatible_p): Use it.
* tree.h (type_with_interoperable_signedness): Declare
* lto.c (hash_canonical_type): Honor
type_with_interoperable_signedness.
* gfortran.dg/lto/bind_c-2_0.f90: New testcase.
* gfortran.dg/lto/bind_c-2_1.c: New testcase.
* gfortran.dg/lto/bind_c-3_0.f90: New testcase.
* gfortran.dg/lto/bind_c-3_1.c: New testcase.
* gfortran.dg/lto/bind_c-4_0.f90: New testcase.
* gfortran.dg/lto/bind_c-4_1.c: New testcase.
* gfortran.dg/lto/bind_c-5_0.f90: New testcase.
* gfortran.dg/lto/bind_c-5_1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228680
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 10 Oct 2015 19:37:47 +0000 (19:37 +0000)]
* fold-const.c (operand_equal_p): Document OEP_ADDRESS_OF
and OEP_CONSTANT_ADDRESS_OF; skip type compatibility checks
when OEP_ADDRESS_OF is se.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228679
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Sat, 10 Oct 2015 14:53:16 +0000 (14:53 +0000)]
add dump of data dependences
2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
Sebastian Pop <s.pop@samsung.com>
* graphite-dependences.c (scop_get_dependences): Add dump of the
data dependence graph.
* graphite-poly.c (print_isl_union_map): New.
(debug_isl_union_map): New.
* graphite-poly.h (print_isl_union_map): Declare.
(debug_isl_union_map): Declare.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228677
138bc75d-0d04-0410-961f-
82ee72b054a4
spop [Sat, 10 Oct 2015 14:53:10 +0000 (14:53 +0000)]
clean up debug functions
2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
Sebastian Pop <s.pop@samsung.com>
* graphite-poly.c (print_iteration_domain): Remove verbosity.
Remove OpenScop formatting.
(print_iteration_domains): Same.
(debug_iteration_domain): Same.
(debug_iteration_domains): Same.
(print_pdr): Same.
(debug_pdr): Same.
(dump_gbb_cases): Same.
(dump_gbb_conditions): Same.
(print_pdrs): Same.
(debug_pdrs): Same.
(print_pbb_body): Same.
(print_pbb): Same.
(print_scop_params): Same.
(print_scop_context): Same.
(print_scop): Same.
(debug_pbb_domain): Same.
(debug_pbb): Same.
(debug_scop_context): Same.
(debug_scop): Same.
(debug_scop_params): Same.
* graphite-poly.h: Same.
* graphite.c (graphite_transform_loops): Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228676
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sat, 10 Oct 2015 14:32:56 +0000 (14:32 +0000)]
remove an unneeded as_a<rtx_insn *> ()
gcc/ChangeLog:
2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* function.c (stack_protect_epilogue): Remove as_a<rtx_insn *> ()
call that isn't needed.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228675
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 10 Oct 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228672
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 9 Oct 2015 21:16:16 +0000 (21:16 +0000)]
Re: [PATCH] Update SSA_NAME manager to use two lists
* tree-ssanames.c (flush_ssaname_freelist): Use splice and truncate
rather than moving each name to the freelist individually.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228668
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Fri, 9 Oct 2015 17:12:26 +0000 (17:12 +0000)]
2015-10-09 Steve Ellcey <sellcey@imgtec.com>
* gcc.target/mips/mips.exp (mips_option_groups): Add -mframe-header-opt
and -mno-frame-header-opt options.
* gcc.target/mips/frame-header-1.c: New file.
* gcc.target/mips/frame-header-2.c: New file.
* gcc.target/mips/frame-header-3.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228667
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Fri, 9 Oct 2015 17:10:42 +0000 (17:10 +0000)]
2015-10-05 Steve Ellcey <sellcey@imgtec.com>
* config.gcc (mips*-*-*): Add frame-header-opt.o to extra_objs.
* frame-header-opt.c: New file.
* config/mips/mips-proto.h (mips_register_frame_header_opt):
Add prototype.
* config/mips/mips.c (mips_compute_frame_info): Check
optimize_call_stack flag.
(mips_option_override): Register new frame_header_opt pass.
(mips_frame_info, mips_int_mask, mips_shadow_set,
machine_function): Move these types to...
* config/mips/mips.h: here.
(machine_function): Add does_not_use_frame_header and
optimize_call_stack fields.
* config/mips/t-mips (frame-header-opt.o): Add new make rule.
* doc/invoke.texi (-mframe-header-opt, -mno-frame-header-opt):
Document new flags.
* config/mips/mips.opt (mframe-header-opt): Add new option.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228666
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Fri, 9 Oct 2015 16:53:37 +0000 (16:53 +0000)]
* config/i386/i386.c
(expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Use
ROUND_DOWN where applicable.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228665
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 9 Oct 2015 16:34:00 +0000 (16:34 +0000)]
[PATCH] [6/n] Fix minor SSA_NAME leaks
* tree-vect-stmts.c (free_stmt_vec_info): Free the LHS of the
correct statement.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228663
138bc75d-0d04-0410-961f-
82ee72b054a4
renlin [Fri, 9 Oct 2015 16:22:33 +0000 (16:22 +0000)]
[PATCH][ARM]Add earlyclobber modifier for neon_(vtrn, vuzp, vzip)<mode>_insn rtx
pattern.
gcc/
2015-10-09 Renlin Li <renlin.li@arm.com>
* config/arm/neon.md (neon_vuzp<mode>_insn): Add & modifier for
operands[0] and operands[2].
(neon_vtrn<mode>_insn): Likewise.
(neon_vzip<mode>_insn): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228662
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Fri, 9 Oct 2015 16:08:35 +0000 (16:08 +0000)]
[PATCH V3][GCC] Algorithmic optimization in match and simplify
gcc/ChangeLog
* match.pd: ((X inner_op C0) outer_op C1) New pattern.
((X & C2) << C1): Expand to...
(X {&,^,|} C2 << C1): ...This.
((X & C2) >> C1): Expand to...
(X {&,^,|} C2 >> C1): ...This.
gcc/testsuite/ChangeLog
* gcc.dg/tree-ssa/forwprop-33.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228661
138bc75d-0d04-0410-961f-
82ee72b054a4
afomin [Fri, 9 Oct 2015 15:57:06 +0000 (15:57 +0000)]
AVX512: Fix embedded rounding/SAE specifier position.
gcc/
PR target/67895
* config/i386/sse.md (define_insn "sse_cvtsi2ss<round_name>"):
Adjust embedded rounding/SAE specifier position.
(define_insn "sse_cvtsi2ssq<round_name>"): Likewise.
(define_insn "cvtusi2<ssescalarmodesuffix>32<round_name>"): Likewise.
(define_insn "cvtusi2<ssescalarmodesuffix>64<round_name>"): Likewise.
(define_insn "sse2_cvtsi2sdq<round_name>"): Likewise.
(define_insn "avx512dq_rangep<mode><mask_name><round_saeonly_name>"):
Likewise.
(define_insn "avx512dq_ranges<mode><round_saeonly_name>"): Likewise.
gcc/testsuite
PR target/67895
* gcc.target/i386/avx512dq-vrangepd-1.c: Adjust assembly regexp.
* gcc.target/i386/avx512dq-vrangeps-1.c: Likewise.
* gcc.target/i386/avx512dq-vrangesd-1.c: Likewise.
* gcc.target/i386/avx512dq-vrangess-1.c: Likewise.
* gcc.target/i386/avx512f-vcvtsi2sd64-1.c: Likewise.
* gcc.target/i386/avx512f-vcvtsi2ss-1.c: Likewise.
* gcc.target/i386/avx512f-vcvtsi2ss64-1.c: Likewise.
* gcc.target/i386/avx512f-vcvtusi2sd64-1.c: Likewise.
* gcc.target/i386/avx512f-vcvtusi2ss-1.c: Likewise.
* gcc.target/i386/avx512f-vcvtusi2ss64-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228660
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Fri, 9 Oct 2015 13:55:23 +0000 (13:55 +0000)]
Testsuite: add dg-{begin|end}-multiline-output commands
This patch adds an easy way to write tests for expected multiline
output. For example we can test carets and underlines for
a particular diagnostic with:
/* { dg-begin-multiline-output "" }
typedef struct _GMutex GMutex;
^~~~~~~
{ dg-end-multiline-output "" } */
multiline.exp is used by prune.exp; hence we need to load it before
prune.exp via *load_gcc_lib* for the testsuites of the various
non-"gcc" support libraries (e.g. boehm-gc).
gcc/testsuite/ChangeLog:
* lib/multiline.exp: New file.
* lib/prune.exp: Load multiline.exp.
(prune_gcc_output): Call into multiline.exp to handle any
multiline output directives.
* lib/libgo.exp: Load multiline.exp before prune.exp, using
load_gcc_lib.
boehm-gc/ChangeLog:
* testsuite/lib/boehm-gc.exp: Load multiline.exp before
prune.exp, using load_gcc_lib.
libatomic/ChangeLog:
* testsuite/lib/libatomic.exp: Load multiline.exp before
prune.exp, using load_gcc_lib.
libgomp/ChangeLog:
* testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
using load_gcc_lib.
libitm/ChangeLog:
* testsuite/lib/libitm.exp: Load multiline.exp before prune.exp,
using load_gcc_lib.
libvtv/ChangeLog:
* testsuite/lib/libvtv.exp: Load multiline.exp before prune.exp,
using load_gcc_lib.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228655
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Fri, 9 Oct 2015 13:13:38 +0000 (13:13 +0000)]
[PR 67794] Also remap SSA_NAMEs defined in ASMs in IPA-SRA
2015-10-09 Martin Jambor <mjambor@suse.cz>
tree-optimization/67794
* tree-sra.c (replace_removed_params_ssa_names): Do not distinguish
between types of state,ents but accept original definitions as a
parameter.
(ipa_sra_modify_function_body): Use FOR_EACH_SSA_DEF_OPERAND to
iterate over definitions.
testsuite/
* gcc.dg/ipa/ipa-sra-10.c: Nw test.
* gcc.dg/torture/pr67794.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228654
138bc75d-0d04-0410-961f-
82ee72b054a4
jnorris [Fri, 9 Oct 2015 12:35:58 +0000 (12:35 +0000)]
* config/rs6000/rs6000.c (rs6000_offload_options): New.
(TARGET_OFFLOAD_OPTIONS): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228653
138bc75d-0d04-0410-961f-
82ee72b054a4
aoliva [Fri, 9 Oct 2015 12:18:58 +0000 (12:18 +0000)]
[PR67891] don't test is_gimple_reg after parm expansion
for gcc/ChangeLog
PR middle-end/67891
* cfgexpand.c (set_parm_rtl): Drop is_gimple_reg test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228652
138bc75d-0d04-0410-961f-
82ee72b054a4
aoliva [Fri, 9 Oct 2015 12:18:40 +0000 (12:18 +0000)]
[PR67766] reorder handling of parallels, concats and promoted values in return
for gcc/ChangeLog
PR middle-end/67766
* function.c (expand_function_end): Move return value
promotion past the handling of PARALLELs and CONCATs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228651
138bc75d-0d04-0410-961f-
82ee72b054a4
aoliva [Fri, 9 Oct 2015 12:18:24 +0000 (12:18 +0000)]
[PR67828] don't unswitch on default defs of non-parms
for gcc/ChangeLog
PR rtl-optimizatoin/67828
* tree-ssa-loop-unswitch.c: Include tree-ssa.h.
(tree_may_unswitch_on): Don't unswitch on expressions
involving undefined values.
for gcc/testsuite/ChangeLog
PR rtl-optimization/67828
* gcc.dg/torture/pr67828.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228650
138bc75d-0d04-0410-961f-
82ee72b054a4
marxin [Fri, 9 Oct 2015 11:49:49 +0000 (11:49 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228649
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 9 Oct 2015 11:47:31 +0000 (11:47 +0000)]
2015-10-09 Richard Biener <rguenther@suse.de>
* genmatch.c (print_operand): Fix formatting.
(dt_node::append_simplify): Warn for multiple simplifiers
that match the same pattern.
* match.pd (log (exp @0)): Remove duplicates.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228648
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Fri, 9 Oct 2015 11:20:23 +0000 (11:20 +0000)]
fix Changelog entry removed at revision 228479
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228647
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 9 Oct 2015 11:19:04 +0000 (11:19 +0000)]
Missed ChangeLog for previous libstdc++-v3 commit
Add include/experimental/bits dir
* include/experimental/erase_if.h: Move to ...
* include/experimental/bits/erase_if.h: New.
* include/experimental/fs_dir.h: Move to ...
* include/experimental/bits/fs_dir.h: New.
* include/experimental/fs_fwd.h: Move to ...
* include/experimental/bits/fs_fwd.h: New.
* include/experimental/fs_ops.h: Move to ...
* include/experimental/bits/fs_ops.h: New.
* include/experimental/fs_path.h: Move to ...
* include/experimental/bits/fs_path.h: New.
* include/experimental/string_view.tcc: Move to ...
* include/experimental/bits/string_view.tcc: New.
* include/Makefile.am: Add include/experimental/bits sub-directory.
* include/Makefile.in: Regenerate.
* include/experimental/filesystem: Adjust includes.
* include/experimental/map: Likewise.
* include/experimental/set: Likewise.
* include/experimental/string_view: Likewise.
* include/experimental/unordered_map: Likewise.
* include/experimental/unordered_set: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228646
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Fri, 9 Oct 2015 11:11:54 +0000 (11:11 +0000)]
Add include/experimental/bits dir
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228645
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Fri, 9 Oct 2015 10:58:06 +0000 (10:58 +0000)]
[AArch64] Handle literal pools for functions > 1 MiB in size.
This patch fixes the issue in PR63304 where we have
functions that are > 1MiB. The idea is to use adrp / ldr or adrp / add
instructions to address the literal pools under the use of a command line
option. I would like to turn this on by default on trunk but keep this
disabled by default for the release branches in order to get some
serious testing for this feature while it bakes on trunk.
As a follow-up I would like to try and see if estimate_num_insns or
something else can give us a heuristic to turn this on for "large" functions.
After all the number of incidences of this are quite low in real life,
so may be we should look to restrict this use as much as possible on the
grounds that this code generation implies an extra integer register for
addressing for every floating point and vector constant and I don't think
that's great in code that already may have high register pressure.
Tested on aarch64-none-elf with no regressions. A previous
version was bootstrapped and regression tested.
Applied to trunk.
regards
Ramana
2015-09-14 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/63304
* config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Handle
nopcrelative_literal_loads.
(aarch64_classify_address): Likewise.
(aarch64_constant_pool_reload_icode): Define.
(aarch64_secondary_reload): Handle secondary reloads for
literal pools.
(aarch64_override_options): Handle nopcrelative_literal_loads.
(aarch64_classify_symbol): Handle nopcrelative_literal_loads.
* config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>):
Define.
(aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
* config/aarch64/aarch64.opt (mpc-relative-literal-loads): New option.
* config/aarch64/predicates.md (aarch64_constant_pool_symref): New
predicate.
* doc/invoke.texi (mpc-relative-literal-loads): Document.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228644
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Fri, 9 Oct 2015 10:53:31 +0000 (10:53 +0000)]
[Patch PR target/67366 1/2] [ARM] - Add movmisalignhi / si patterns
This adds movmisalignhi and movmisalignsi expanders when unaligned
access is allowed by the architecture. This allows the mid-end
to expand to misaligned loads and stored.
Compared code generated for the Linux kernel and
it changes code generation for a handful of files all for the better
basically by reducing the stack usage.
Tested by :
1. armhf bootstrap and regression test - no regressions.
2.. arm-none-eabi cross build and regression test for
{-marm/-march=armv7-a/-mfpu=vfpv3-d16/-mfloat-abi=softfp}
{-mthumb/-march=armv8-a/-mfpu=crypto-neon-fp-armv8/-mfloat-abi=hard}
{-marm/-mcpu=arm7tdmi/-mfloat-abi=soft}
{-mthumb/-mcpu=arm7tdmi/-mfloat-abi=soft}
Will apply to trunk once 2/2 is approved.
regards
Ramana
2015-10-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/67366
* config/arm/arm.md (movmisalign<mode>): New.
* config/arm/iterators.md (HSI): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228643
138bc75d-0d04-0410-961f-
82ee72b054a4
afomin [Fri, 9 Oct 2015 10:50:51 +0000 (10:50 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228642
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Fri, 9 Oct 2015 08:13:33 +0000 (08:13 +0000)]
* gcc-interface/Make-lang.in: Make sure that GNAT1_OBJS and not just
GNAT1_ADA_OBJS are compiled only after generated files are created.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228636
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Fri, 9 Oct 2015 08:12:18 +0000 (08:12 +0000)]
2015-10-09 Richard Biener <rguenther@suse.de>
PR tree-optimization/67891
* gimple-match.h (gimple_simplified_result_is_gimple_val):
New helper.
(gimple_resimplify1): Declare.
(gimple_resimplify2): Likewise.
(gimple_resimplify3): Likewise.
* gimple-match-head.c (gimple_resimplify1): Export.
(gimple_resimplify2): Likewise.
(gimple_resimplify3): Likewise.
(maybe_push_res_to_seq): Use gimple_simplified_result_is_gimple_val.
* gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
* tree-ssa-sccvn.c (visit_reference_op_load): Use gimple_resimplify1
to avoid creating stmts without VN info.
* gcc.dg/tree-ssa/pr67891.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228635
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Fri, 9 Oct 2015 05:09:56 +0000 (05:09 +0000)]
[PATCH] [5/n] Fix minor SSA_NAME leaks
* value-prof.c (gimple_ic): Add missing calls to unlink_stmt_vdef
and release_ssa_name in two places.
(gimple_stringop_fixed_value): Similarly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228632
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 9 Oct 2015 00:16:19 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228631
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Thu, 8 Oct 2015 23:20:06 +0000 (23:20 +0000)]
* ipa-icf.c (sem_item::compare_symbol_references): Fix use
of availability.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228628
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 8 Oct 2015 23:19:35 +0000 (23:19 +0000)]
[PATCH] [4/n] Fix minor SSA_NAME leaks
* tree-ssa-loop-im.c (rewrite_bittest): Add missing call to
release_defs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228627
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 8 Oct 2015 23:18:03 +0000 (23:18 +0000)]
[PATCH] [4/n] Fix minor SSA_NAME leaks
* tree-ssa-loop-im.c (rewrite_bittest): Add missing call to
release_defs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228626
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 8 Oct 2015 20:47:46 +0000 (20:47 +0000)]
[PATCH] [3/n] Fix minor SSA_NAME leaks
* tree-stdarg.c (expand_ifn_va_arg_1): Add missing call to
unlink_stmt_vdef and release_ssa_name_fn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228625
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 8 Oct 2015 20:27:38 +0000 (20:27 +0000)]
[PATCH] [2/n] Fix minor SSA_NAME leaks
* tree-ssa-dse.c (dse_optimize_stmt): Add missing call to
release_defs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228624
138bc75d-0d04-0410-961f-
82ee72b054a4
iverbin [Thu, 8 Oct 2015 19:04:43 +0000 (19:04 +0000)]
liboffloadmic: Add missed checks for malloc and strdup return values
liboffloadmic/
* runtime/offload_engine.cpp (Engine::init_process): Use strdup instead
of sizeof+malloc+sprintf, check for return value.
* runtime/offload_env.cpp (MicEnvVar::get_env_var_kind): Check for
strdup return value.
* runtime/offload_host.cpp (__offload_init_library_once): Check for
strdup return value. Fix size calculation of COI_HOST_THREAD_AFFINITY.
* runtime/emulator/coi_device.cpp (COIProcessWaitForShutdown): Check for
malloc return value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228622
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Thu, 8 Oct 2015 18:57:11 +0000 (18:57 +0000)]
Round up the SSE register save area only if needed
There is is no point to round up the SSE register save area to 16 bytes if
the incoming stack boundary is less than 16 bytes.
* config/i386/i386.c (ix86_compute_frame_layout): Round up the
SSE register save area to 16 bytes only if the incoming stack
boundary is no less than 16 bytes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228621
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 8 Oct 2015 17:50:44 +0000 (17:50 +0000)]
[PATCH] [1/n] Fix minor SSA_NAME leaks
* tree-ssa-phiopt.c (factor_out_conversion): Add missing calls to
release_ssa_name. Fix typo in comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228619
138bc75d-0d04-0410-961f-
82ee72b054a4
nathan [Thu, 8 Oct 2015 17:31:36 +0000 (17:31 +0000)]
* config/nvptx/nvptx.h (struct machine_function): Add comment.
* config/nvptx/nvptx.c (nvptx_declare_function_name): Functions
may return pointer as well as in memory.
(nvptx_output_return): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228618
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 8 Oct 2015 16:54:37 +0000 (16:54 +0000)]
Move sqrt and cbrt simplifications to match.pd
This patch moves the sqrt and cbrt simplification rules to match.pd.
builtins.c now only does the constant folding.
Bootstrapped & regression-tested on x86_64-linux-gnu.
gcc/
* builtins.c (fold_builtin_sqrt, fold_builtin_cbrt): Delete.
(fold_builtin_1): Update accordingly. Handle constant arguments here.
* match.pd: Add rules previously handled by fold_builtin_sqrt
and fold_builtin_cbrt.
gcc/testsuite/
* gcc.dg/builtins-47.c: Test the optimized dump instead.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228616
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Thu, 8 Oct 2015 16:49:24 +0000 (16:49 +0000)]
Make tree_expr_nonnegative_warnv_p recurse into SSA names
The upcoming patch to move sqrt and cbrt simplifications to match.pd
caused a regression because the (abs @0)->@0 simplification didn't
trigger for:
(abs (convert (abs X)))
The simplification is based on tree_expr_nonnegative_p, which at
the moment just gives up if it sees an SSA_NAME.
This patch makes tree_expr_nonnegative_p recurse into SSA name
definitions, but limits the depth of recursion to a small number
for the reason mentioned in the comment (adapted from an existing
comment in gimple_val_nonnegative_real_p). The patch reuses code
in tree-vrp.c, moving it to gimple-fold.c. It also replaces calls
to gimple_val_nonnegative_real_p with calls to tree_expr_nonnegative_p.
A knock-on effect is that we can now prove _i_589 < 0 is false in
sequences like:
i_1917 = ASSERT_EXPR <i_1075, i_1075 == 0>;
_i_589 = (const int) i_1917;
_i_1507 = ASSERT_EXPR <_i_589, _i_589 < 0>;
This defeats an assert in tree-vrp.c that ASSERT_EXPR conditions
are never known to be false. Previously the assert only ever used
local knowledge and so would be limited to cases like x != x for
integer x. Now that we use global knowledge it's possible to prove
the assertion condition is false in blocks that are in practice
unreachable. The patch therefore removes the assert.
Bootstrapped & regression-tested on x86_64-linux-gnu. I didn't write
a specific test because this is already covered by the testsuite if
the follow-on patch is also applied.
gcc/
* params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): New param.
* doc/invoke.texi (--param max-ssa-name-query-depth): Document.
* fold-const.h (tree_unary_nonnegative_warnv_p)
(tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p)
(tree_expr_nonnegative_warnv_p): Add depth parameters.
* fold-const.c: Include gimple-fold.h and params.h.
(tree_ssa_name_nonnegative_warnv_p): New function.
(tree_unary_nonnegative_warnv_p, tree_binary_nonnegative_warnv_p)
(tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p)
(tree_invalid_nonnegative_warnv_p, tree_expr_nonnegative_warnv_p):
Add a depth parameter and increment it for recursive calls to
tree_expr_nonnegative_warnv_p. Use tree_ssa_name_nonnegative_warnv_p
to handle SSA names.
* gimple-fold.h (gimple_val_nonnegative_real_p): Delete.
(gimple_stmt_nonnegative_warnv_p): Declare.
* tree-vrp.c (remove_range_assertions): Remove assert that condition
cannot be proven false.
(gimple_assign_nonnegative_warnv_p, gimple_call_nonnegative_warnv_p)
(gimple_stmt_nonnegative_warnv_p): Move to...
* gimple-fold.c: ...here. Add depth parameters and pass them
down to the tree routines. Accept statements that aren't
assignments or calls but just return false for them.
(gimple_val_nonnegative_real_p): Delete.
* tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
tree_expr_nonnegative_p instead of gimple_val_nonnegative_real_p.
Check HONOR_NANs first.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228614
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Thu, 8 Oct 2015 16:30:06 +0000 (16:30 +0000)]
Fix Solaris bootstrap
2015-10-08 Martin Jambor <mjambor@suse.cz>
* ipa-cp.c (meet_with_1): Make the argument of abs signed. Remove
unnecessary MIN.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228607
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 8 Oct 2015 16:14:03 +0000 (16:14 +0000)]
* cp-tree.h (SIMPLE_TARGET_EXPR_P): New.
* init.c (get_nsdmi): Use it.
* typeck2.c (massage_init_elt): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228606
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 8 Oct 2015 16:13:57 +0000 (16:13 +0000)]
format
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228605
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Thu, 8 Oct 2015 15:55:25 +0000 (15:55 +0000)]
* zh_TW.po: Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228603
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 8 Oct 2015 14:42:02 +0000 (14:42 +0000)]
PR c++/67557
* call.c (is_base_field_ref): New.
(unsafe_copy_elision_p): New.
(build_over_call): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228602
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Thu, 8 Oct 2015 14:28:53 +0000 (14:28 +0000)]
gcc/
* tree-vect-loop.c (vect_analyze_loop_operations): Skip virtual phi
in the tail of outer-loop.
gcc/testsuite/
* gcc.dg/vect/vect-outer-simd-3.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228601
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Thu, 8 Oct 2015 14:19:57 +0000 (14:19 +0000)]
* config/rs6000/rs6000.c (rs6000_xcoff_debug_unwind_info): Always
return UI_NONE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228600
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Thu, 8 Oct 2015 13:14:09 +0000 (13:14 +0000)]
gcc/
* tree-ssa-loop-unswitch.c: Include "gimple-iterator.h" and
"cfghooks.h", add prototypes for introduced new functions.
(tree_ssa_unswitch_loops): Use from innermost loop iterator, move all
checks on ability of loop unswitching to tree_unswitch_single_loop;
invoke tree_unswitch_single_loop or tree_unswitch_outer_loop depending
on innermost loop check.
(tree_unswitch_single_loop): Add all required checks on ability of
loop unswitching under zero recursive level guard.
(tree_unswitch_outer_loop): New function.
(find_loop_guard): Likewise.
(empty_bb_without_guard_p): Likewise.
(used_outside_loop_p): Likewise.
(get_vop_from_header): Likewise.
(hoist_guard): Likewise.
(check_exit_phi): Likewise.
gcc/testsuite/
* gcc.dg/loop-unswitch-2.c: New test.
* gcc.dg/loop-unswitch-3.c: Likewise.
* gcc.dg/loop-unswitch-4.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228599
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Thu, 8 Oct 2015 10:20:22 +0000 (10:20 +0000)]
* tree-ssa-reassoc.c (dump_ops_vector): Print newline after each
ops element.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228598
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Thu, 8 Oct 2015 09:03:51 +0000 (09:03 +0000)]
Dump only required dse1 file
2015-10-08 Tom de Vries <tom@codesourcery.com>
* gcc.dg/dse.c: Only dump in dse1 pass.
* gcc.dg/tree-ssa/pr30375.c: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228597
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Thu, 8 Oct 2015 07:49:41 +0000 (07:49 +0000)]
S/390: Use create_tmp_var_raw in s390_atomic_assign_expand_fenv.
gcc/ChangeLog:
2015-10-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
PR c/65345
* config/s390/s390.c (s390_atomic_assign_expand_fenv): Use
create_tmp_var_raw instead of create_tmp_var.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228594
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 8 Oct 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@228590
138bc75d-0d04-0410-961f-
82ee72b054a4