]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
11 years ago[LRA] Relax one gcc_assert in lra-eliminate for fixed register
jiwang [Tue, 18 Nov 2014 09:30:08 +0000 (09:30 +0000)] 
[LRA] Relax one gcc_assert in lra-eliminate for fixed register

  gcc/
    * lra-eliminations.c (update_reg_eliminate): Relax gcc_assert for fixed
    registers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217691 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc
mzakirov [Tue, 18 Nov 2014 08:46:39 +0000 (08:46 +0000)] 
gcc

2014-11-18  Marat Zakirov  <m.zakirov@samsung.com>

* opts.c (finish_options): Disable aggressive opts for sanitizer.
(common_handle_option): Move code to finish_options.

gcc/testsuite

2014-11-18  Marat Zakirov  <m.zakirov@samsung.com>

* c-c++-common/asan/aggressive-opts.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217690 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-18 Yury Gribov <y.gribov@samsung.com>
ygribov [Tue, 18 Nov 2014 07:37:17 +0000 (07:37 +0000)] 
2014-11-18  Yury Gribov  <y.gribov@samsung.com>

PR sanitizer/63802

gcc/
* stor-layout.c (min_align_of_type): Respect user alignment
more.

gcc/testsuite/
* c-c++-common/ubsan/pr63802.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217689 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
ienkovich [Tue, 18 Nov 2014 07:25:12 +0000 (07:25 +0000)] 
gcc/

* passes.c (remove_cgraph_node_from_order): New.
(do_per_function_toporder): Register cgraph removal
hook.

gcc/testsuite/

* g++.dg/pr63766.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217688 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-17 Terry Guo <terry.guo@arm.com>
xguo [Tue, 18 Nov 2014 02:20:47 +0000 (02:20 +0000)] 
2014-11-17  Terry Guo  <terry.guo@arm.com>

* config/arm/arm.c (arm_issue_rate): Return 2 for cortex-m7.
* config/arm/arm.md (generic_sched): Exclude cortex-m7.
(generic_vfp): Likewise.
* config/arm/cortex-m7.md: Pipeline description for cortex-m7.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217687 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Tue, 18 Nov 2014 00:16:38 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217686 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-17 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Tue, 18 Nov 2014 00:14:25 +0000 (00:14 +0000)] 
2014-11-17  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/63906
* lra-remat.c (operand_to_remat): Check SP and
frame_pointer_required.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217683 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoSupport for unroll and jam optimization.
mircea [Mon, 17 Nov 2014 22:59:07 +0000 (22:59 +0000)] 
Support for unroll and jam optimization.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217682 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-17 Andrew Pinski <apinski@cavium.com>
pinskia [Mon, 17 Nov 2014 22:33:23 +0000 (22:33 +0000)] 
2014-11-17  Andrew Pinski  <apinski@cavium.com>

* config/aarch64/thunderx.md: Remove copyright which should not
have been there.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217680 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[gcc]
meissner [Mon, 17 Nov 2014 22:32:26 +0000 (22:32 +0000)] 
[gcc]
2014-11-17  Michael Meissner  <meissner@linux.vnet.ibm.com>
    Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

* config/rs6000/rs6000.c (RELOAD_REG_AND_M16): Add support for
Altivec style vector loads that ignore the bottom 3 bits of the
address.
(rs6000_debug_addr_mask): New function to print the addr_mask
values if debugging.
(rs6000_debug_print_mode): Call rs6000_debug_addr_mask to print
out addr_mask.
(rs6000_setup_reg_addr_masks): Add support for Altivec style
vector loads that ignore the bottom 3 bits of the address.  Allow
pre-increment and pre-decrement on floating point, even if the
-mupper-regs-{sf,df} options were used.
(rs6000_init_hard_regno_mode_ok): Rework DFmode support if
-mupper-regs-df.  Add support for -mupper-regs-sf.  Rearrange code
placement for direct move support.
(rs6000_option_override_internal): Add checks for -mupper-regs-df
requiring -mvsx, and -mupper-regs-sf requiring -mpower8-vector.
If -mupper-regs, set both -mupper-regs-sf and -mupper-regs-df,
depending on the underlying cpu.
(rs6000_secondary_reload_fail): Add ATTRIBUTE_NORETURN.
(rs6000_secondary_reload_toc_costs): Helper function to identify
costs of a TOC load for secondary reload support.
(rs6000_secondary_reload_memory): Helper function for secondary
reload, to determine if a particular memory operation is directly
handled by the hardware, or if it needs support from secondary
reload to create a valid address.
(rs6000_secondary_reload): Rework code, to be clearer.  If the
appropriate -mupper-regs-{sf,df} is used, use FPR registers to
reload scalar values, since the FPR registers have D-form
addressing. Move most of the code handling memory to the function
rs6000_secondary_reload_memory, and use the reg_addr structure to
determine what type of address modes are supported.  Print more
debug information if -mdebug=addr.
(rs6000_secondary_reload_inner): Rework entire function to be more
general.  Use the reg_addr bits to determine what type of
addressing is supported.
(rs6000_preferred_reload_class): Rework.  Move constant handling
into a single place.  Prefer using FLOAT_REGS for scalar floating
point.
(rs6000_secondary_reload_class): Use a FPR register to move a
value from an Altivec register to a GPR, and vice versa.  Move VSX
handling above traditional floating point.

* config/rs6000/rs6000.md (mov<mode>_hardfloat, FMOVE32 case):
Delete some spaces in the constraints.
(DF->DF move peephole2): Disable if -mupper-regs-{sf,df} to
allow using FPR registers to load/store an Altivec register for
scalar floating point types.
(SF->SF move peephole2): Likewise.
(DFmode splitter): Add a define_split to move floating point
constants to the constant pool before register allocation.
Normally constants are put into the pool immediately, but
-ffast-math delays putting them into the constant pool for the
reciprocal approximation support.
(SFmode splitter): Likewise.

* config/rs6000/rs6000.opt (-mupper-regs-df): Make option public.
(-mupper-regs-sf): Likewise.

* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
__UPPER_REGS_DF__ if -mupper-regs-df.  Define __UPPER_REGS_SF__ if
-mupper-regs-sf.
(-mupper-regs): New combination option that sets -mupper-regs-sf
and -mupper-regs-df by default if the cpu supports the instructions.

* doc/invoke.texi (RS/6000 and PowerPC Options): Document
-mupper-regs, -mupper-regs-sf, and -mupper-regs-df.

* config/rs6000/predicates.md (memory_fp_constant): New predicate
to return true if the operand is a floating point constant that
must be put into the constant pool, before register allocation
occurs.

* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Enable
-mupper-regs-df by default.
(ISA_2_7_MASKS_SERVER): Enable -mupper-regs-sf by default.
(POWERPC_MASKS): Add -mupper-regs-{sf,df} as options set by the
various -mcpu=... options.
(power7 cpu): Enable -mupper-regs-df by default.

* doc/invoke.texi (RS/6000 and PowerPC Options): Document
-mupper-regs.

[gcc/testsuite]
2014-11-17  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/p8vector-ldst.c: Rewrite to use 40 live
floating point variables instead of using asm to test allocating
values to the Altivec registers.

* gcc.target/powerpc/upper-regs-sf.c: New -mupper-regs-sf and
-mupper-regs-df tests.
* gcc.target/powerpc/upper-regs-df.c: Likewise.

* config/rs6000/predicates.md (memory_fp_constant): New predicate

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217679 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoExport "detect_leaks=0"
hjl [Mon, 17 Nov 2014 22:12:55 +0000 (22:12 +0000)] 
Export "detect_leaks=0"

PR bootstrap/63888
* bootstrap-asan.mk (ASAN_OPTIONS): Export "detect_leaks=0".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217678 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/33911
jason [Mon, 17 Nov 2014 22:09:27 +0000 (22:09 +0000)] 
PR c++/33911
gcc/cp/
* call.c (build_call_a): Don't warn_deprecated_use here.
(build_over_call): Or here.
* decl2.c (mark_used): Do it here.
(is_late_template_attribute): Attribute deprecated is not deferred.
(cplus_decl_attributes): Propagate TREE_DEPRECATED out to the template.
* parser.c (cp_parser_template_name): Warn about deprecated template.
(cp_parser_template_argument): Likewise.
libstdc++-v3/
* include/backward/binders.h: Suppress -Wdeprecated-declarations.
* include/ext/array_allocator.h: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217677 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * ira-conflicts.c (build_conflict_bit_table): Add the current
law [Mon, 17 Nov 2014 22:05:45 +0000 (22:05 +0000)] 
   * ira-conflicts.c (build_conflict_bit_table): Add the current
        object to OBJECTS_LIVE after traversing OBJECTS_LIVE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217676 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
hubicka [Mon, 17 Nov 2014 22:04:36 +0000 (22:04 +0000)] 
* ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
(ipa_get_indirect_edge_target): Add SPECULATIVE argument.
(devirtualization_time_bonus): Use it.
(ipcp_discover_new_direct_edges): Likewise.
* ipa-inline-analysis.c (estimate_edge_devirt_benefit): Update.
* ipa-prop.h (ipa_get_indirect_edge_target): Update prototype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217675 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdd -ftree-tail-merge to tail-merge testcases
vries [Mon, 17 Nov 2014 21:48:14 +0000 (21:48 +0000)] 
Add -ftree-tail-merge to tail-merge testcases

2014-11-17  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/pr43864-2.c: Add -ftree-tail-merge to dg-options.
* gcc.dg/pr43864-3.c: Same.
* gcc.dg/pr43864-4.c: Same.
* gcc.dg/pr43864.c: Same.
* gcc.dg/pr50763.c: Same.
* gcc.dg/pr51879-12.c: Same.
* gcc.dg/pr51879-16.c: Same.
* gcc.dg/pr51879-17.c: Same.
* gcc.dg/pr51879-18.c: Same.
* gcc.dg/pr51879-2.c: Same.
* gcc.dg/pr51879-3.c: Same.
* gcc.dg/pr51879-4.c: Same.
* gcc.dg/pr51879-6.c: Same.
* gcc.dg/pr51879-7.c: Same.
* gcc.dg/pr51879.c: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217674 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoFix scan patterns for pr43864-{2,3,4].c
vries [Mon, 17 Nov 2014 21:48:05 +0000 (21:48 +0000)] 
Fix scan patterns for pr43864-{2,3,4].c

2014-11-17  Tom de Vries  <tom@codesourcery.com>

* gcc.dg/pr43864-2.c: Fix scan-tree-dump-times scan pattern.
* gcc.dg/pr43864-3.c: Same.
* gcc.dg/pr43864-4.c: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217673 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/50473
jason [Mon, 17 Nov 2014 20:17:56 +0000 (20:17 +0000)] 
PR c++/50473
* decl.c (cp_finish_decl): Don't try to process a non-dependent
constant initializer for a reference.
* pt.c (value_dependent_expression_p): A reference is always
dependent.
* call.c (extend_ref_init_temps_1): Also clear TREE_SIDE_EFFECTS
on any NOP_EXPRs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217672 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree.c (free_lang_data_in_decl): Set DECL_FUNCTION_SPECIFIC_OPTIMIZATION
hubicka [Mon, 17 Nov 2014 19:35:57 +0000 (19:35 +0000)] 
* tree.c (free_lang_data_in_decl): Set DECL_FUNCTION_SPECIFIC_OPTIMIZATION
to optimization_default_node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217671 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago Handle C++14 constexpr flow control.
jason [Mon, 17 Nov 2014 19:08:07 +0000 (19:08 +0000)] 
Handle C++14 constexpr flow control.
* constexpr.c (cxx_eval_loop_expr, cxx_eval_switch_expr): New.
(cxx_eval_statement_list): New.
(cxx_eval_constant_expression): Handle LABEL_EXPR,
CASE_LABEL_EXPR, GOTO_EXPR, LOOP_EXPR, SWITCH_EXPR.  Handle jump
semantics of RETURN_EXPR.
(many functions): Add jump_target parameter.
(returns, breaks, continues, switches, label_matches): New.
* cp-tree.h (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): New.
* cp-gimplify.c (begin_bc_block): Set them.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217670 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * cp-gimplify.c (genericize_cp_loop): Use LOOP_EXPR.
jason [Mon, 17 Nov 2014 19:08:02 +0000 (19:08 +0000)] 
* cp-gimplify.c (genericize_cp_loop): Use LOOP_EXPR.
(genericize_for_stmt): Handle null statement-list.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217669 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * cgraphunit.c (analyze_functions): Use opt_for_fn.
hubicka [Mon, 17 Nov 2014 18:53:51 +0000 (18:53 +0000)] 
* cgraphunit.c (analyze_functions): Use opt_for_fn.
* cgraph.h (cgraph_node::optimize_for_size_p): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217668 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * cgraph.c (symbol_table::create_edge): Use opt_for_fn.
hubicka [Mon, 17 Nov 2014 18:52:59 +0000 (18:52 +0000)] 
* cgraph.c (symbol_table::create_edge): Use opt_for_fn.
(cgraph_node::cannot_return_p): Likewise.
(cgraph_edge::cannot_lead_to_return_p): Likewise.
(cgraph_edge::maybe_hot_p): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217667 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * predict.c (maybe_hot_frequency_p): Use opt_for_fn.
hubicka [Mon, 17 Nov 2014 18:52:28 +0000 (18:52 +0000)] 
* predict.c (maybe_hot_frequency_p): Use opt_for_fn.
(optimize_function_for_size_p): Likewise.
(probably_never_executed): Likewise; replace cfun by fun.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217666 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AArch64] Extend aarch64_simd_vec_set pattern, replace asm for vld1_lane
alalaw01 [Mon, 17 Nov 2014 18:29:49 +0000 (18:29 +0000)] 
[AArch64] Extend aarch64_simd_vec_set pattern, replace asm for vld1_lane

gcc/:

* config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Add
variant reading from memory and assembling to ld1.

* config/aarch64/arm_neon.h (vld1_lane_f32, vld1_lane_f64, vld1_lane_p8,
vld1_lane_p16, vld1_lane_s8, vld1_lane_s16, vld1_lane_s32,
vld1_lane_s64, vld1_lane_u8, vld1_lane_u16, vld1_lane_u32,
vld1_lane_u64, vld1q_lane_f32, vld1q_lane_f64, vld1q_lane_p8,
vld1q_lane_p16, vld1q_lane_s8, vld1q_lane_s16, vld1q_lane_s32,
vld1q_lane_s64, vld1q_lane_u8, vld1q_lane_u16, vld1q_lane_u32,
vld1q_lane_u64): Replace asm with vset_lane and pointer dereference.

gcc/testsuite/:

* gcc.target/aarch64/vld1_lane.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217665 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * constexpr.c (use_new_call): Always use new call handling.
jason [Mon, 17 Nov 2014 18:16:19 +0000 (18:16 +0000)] 
* constexpr.c (use_new_call): Always use new call handling.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217664 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago C++14 constexpr support (minus loops and multiple returns)
jason [Mon, 17 Nov 2014 18:16:14 +0000 (18:16 +0000)] 
C++14 constexpr support (minus loops and multiple returns)
gcc/
* tree-inline.c (copy_fn): New.
* tree-inline.h: Declare it.
gcc/cp/
* constexpr.c (use_new_call): New macro.
(build_data_member_initialization): Ignore non-mem-inits.
(check_constexpr_bind_expr_vars): Remove C++14 checks.
(constexpr_fn_retval): Likewise.
(check_constexpr_ctor_body): Do nothing in C++14.
(massage_constexpr_body): In C++14 only collect mem-inits.
(get_function_named_in_call): Handle null CALL_EXPR_FN.
(cxx_bind_parameters_in_call): Build bindings in same order as
parameters.  Don't treat iniviref parms specially in new call mode.
(cxx_eval_call_expression): If use_new_call, do constexpr expansion
based on DECL_SAVED_TREE rather than the massaged constexpr body.
Set up ctx->object from AGGR_INIT_EXPR_SLOT if we don't have one.
(is_sub_constant_expr): Don't mess with ctx.ctor here.
(cxx_eval_component_reference): A null element means we're mid-
initialization.
(cxx_eval_store_expression, cxx_eval_increment_expression): New.
(cxx_eval_constant_expression): Handle RESULT_DECL, DECL_EXPR,
MODIFY_EXPR, STATEMENT_LIST, BIND_EXPR, USING_STMT,
PREINCREMENT_EXPR, POSTINCREMENT_EXPR, PREDECREMENT_EXPR,
POSTDECREMENT_EXPR.  Don't look into DECL_INITIAL of variables in
constexpr functions.  In new-call mode find parms in the values table.
(potential_constant_expression_1): Handle null CALL_EXPR_FN.
Handle STATEMENT_LIST, MODIFY_EXPR, MODOP_EXPR, IF_STMT,
PREINCREMENT_EXPR, POSTINCREMENT_EXPR, PREDECREMENT_EXPR,
POSTDECREMENT_EXPR, BIND_EXPR, WITH_CLEANUP_EXPR,
CLEANUP_POINT_EXPR, MUST_NOT_THROW_EXPR, TRY_CATCH_EXPR,
EH_SPEC_BLOCK, EXPR_STMT, DECL_EXPR, CASE_LABEL_EXPR, BREAK_STMT,
CONTINUE_STMT, USING_STMT, IF_STMT, DO_STMT, FOR_STMT, WHILE_STMT,
SWITCH_STMT, ASM_EXPR.
(cxx_eval_vec_init_1): Call build_aggr_init_expr.
(cxx_eval_indirect_ref): Don't return a CONSTRUCTOR when the
caller wants an lvalue.
(cxx_eval_outermost_constant_expr): Pull object out of AGGR_INIT_EXPR.
(maybe_constant_init): Look through INIT_EXPR.
(ensure_literal_type_for_constexpr_object): Set
cp_function_chain->invalid_constexpr.
* cp-tree.h (struct language_function): Add invalid_constexpr bitfield.
* decl.c (start_decl): Set cp_function_chain->invalid_constexpr.
(check_for_uninitialized_const_var): Likewise.
(maybe_save_function_definition): Check it.
* parser.c (cp_parser_jump_statement): Set
cp_function_chain->invalid_constexpr.
(cp_parser_asm_definition): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217663 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/:
alalaw01 [Mon, 17 Nov 2014 18:07:45 +0000 (18:07 +0000)] 
gcc/:

* config/aarch64/aarch64-builtins.c (TYPES_CREATE): Remove.
* config/aarch64/aarch64-simd-builtins.def (create): Remove.
* config/aarch64/aarch64-simd.md (aarch64_create<mode>): Remove.
* config/aarch64/arm_neon.h (vcreate_f64, vreinterpret_f64_s64,
vreinterpret_f64_u64): Replace __builtin_aarch64_createv1df with C casts.
* config/aarch64/iterators.md (VD1): Remove.

gcc/testsuite/:

* gcc.target/aarch64/simd/vfma_f64.c: Add asm volatile memory.
* gcc.target/aarch64/simd/vfms_f64.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217662 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AArch64] Remove crypto extension from default for cortex-a53, cortex-a57
ktkachov [Mon, 17 Nov 2014 17:31:56 +0000 (17:31 +0000)] 
[AArch64] Remove crypto extension from default for cortex-a53, cortex-a57

* config/aarch64/aarch64-cores.def (cortex-a53): Remove
AARCH64_FL_CRYPTO from feature flags.
(cortex-a57): Likewise.
(cortex-a57.cortex-a53): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217661 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR c++/52282
jason [Mon, 17 Nov 2014 17:00:38 +0000 (17:00 +0000)] 
PR c++/52282
* decl.c (build_ptrmemfunc_type): Don't build a different
RECORD_TYPE for a qualified PMF.
* cp-tree.h (TYPE_PTRMEMFUNC_FN_TYPE): Merge cv-quals.
(TYPE_PTRMEMFUNC_FN_TYPE_RAW): New.
* decl2.c (cplus_decl_attributes): Use TYPE_PTRMEMFUNC_FN_TYPE_RAW.
* tree.c (cp_walk_subtrees): Likewise.
(cp_build_qualified_type_real): Remove special PMF handling.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217660 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree.c (free_lang_data_in_decl): Annotate all functio nbodies with
hubicka [Mon, 17 Nov 2014 16:48:29 +0000 (16:48 +0000)] 
* tree.c (free_lang_data_in_decl): Annotate all functio nbodies with
DECL_FUNCTION_SPECIFIC_TARGET.
* i386.c (ix86_set_current_function): Handle explicit default options.

* lto.c (lto_read_decls): Do not rebuild DECL_FUNCTION_SPECIFIC_TARGET.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217659 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * builtins.c (expand_builtin_memcpy_with_bounds): Use target hook
ienkovich [Mon, 17 Nov 2014 16:17:06 +0000 (16:17 +0000)] 
* builtins.c (expand_builtin_memcpy_with_bounds): Use target hook
instead of BNDmode.
(expand_builtin_mempcpy_with_bounds): Likewise.
(expand_builtin_memset_with_bounds): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217658 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
ienkovich [Mon, 17 Nov 2014 13:55:49 +0000 (13:55 +0000)] 
gcc/

* tree-ssa-strlen.c: include ipa-chkp.h, cgraph.h,
ipa-ref.h, plugin-api.h.
(get_string_length): Handle calls with bounds.
(adjust_last_stmt): Likewise.
(handle_builtin_strchr): Likewise.
(handle_builtin_strcpy): Likewise.
(handle_builtin_memcpy): Likewise.
(handle_builtin_strcat): Likewise.

gcc/testsuite/

* gcc.target/i386/chkp-strlen-1.c: New.
* gcc.target/i386/chkp-strlen-2.c: New.
* gcc.target/i386/chkp-strlen-3.c: New.
* gcc.target/i386/chkp-strlen-4.c: New.
* gcc.target/i386/chkp-strlen-5.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217657 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
ienkovich [Mon, 17 Nov 2014 13:52:37 +0000 (13:52 +0000)] 
gcc/

* tree-chkp-opt.c (chkp_get_nobnd_fndecl): New.
(chkp_get_nochk_fndecl): New.
(chkp_optimize_string_function_calls): New.
(chkp_opt_execute): Call chkp_optimize_string_function_calls.
* tree-cfg.h (insert_cond_bb): New.
* tree-cfg.c (insert_cond_bb): New.

gcc/testsuite/

* gcc.target/i386/chkp-stropt-1.c: New.
* gcc.target/i386/chkp-stropt-2.c: New.
* gcc.target/i386/chkp-stropt-3.c: New.
* gcc.target/i386/chkp-stropt-4.c: New.
* gcc.target/i386/chkp-stropt-5.c: New.
* gcc.target/i386/chkp-stropt-6.c: New.
* gcc.target/i386/chkp-stropt-7.c: New.
* gcc.target/i386/chkp-stropt-8.c: New.
* gcc.target/i386/chkp-stropt-9.c: New.
* gcc.target/i386/chkp-stropt-10.c: New.
* gcc.target/i386/chkp-stropt-11.c: New.
* gcc.target/i386/chkp-stropt-12.c: New.
* gcc.target/i386/chkp-stropt-13.c: New.
* gcc.target/i386/chkp-stropt-14.c: New.
* gcc.target/i386/chkp-stropt-15.c: New.
* gcc.target/i386/chkp-stropt-16.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217656 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-core.h (built_in_class): Add builtin codes to be used
ienkovich [Mon, 17 Nov 2014 13:45:55 +0000 (13:45 +0000)] 
* tree-core.h (built_in_class): Add builtin codes to be used
by Pointer Bounds Checker for instrumented builtin functions.
* tree-streamer-in.c: Include ipa-chkp.h.
(streamer_get_builtin_tree): Created instrumented decl if
required.
* ipa-chkp.h (chkp_maybe_clone_builtin_fndecl): New.
* ipa-chkp.c (chkp_build_instrumented_fndecl): Support builtin
function decls.
(chkp_maybe_clone_builtin_fndecl): New.
(chkp_maybe_create_clone): Support builtin function decls.
(chkp_versioning): Clone builtin functions.
* tree-chkp.c (chkp_instrument_normal_builtin): New.
(chkp_add_bounds_to_call_stmt): Support builtin functions.
(chkp_replace_function_pointer): Likewise.
* builtins.c (expand_builtin_memcpy_args): New.
(expand_builtin_memcpy): Call expand_builtin_memcpy_args.
(expand_builtin_memcpy_with_bounds): New.
(expand_builtin_mempcpy_with_bounds): New.
(expand_builtin_mempcpy_args): Add orig_exp arg. Support
BUILT_IN_CHKP_MEMCPY_NOBND_NOCHK
(expand_builtin_memset_with_bounds): New.
(expand_builtin_memset_args): Support BUILT_IN_CHKP_MEMSET_NOBND_NOCHK.
(expand_builtin_with_bounds): New.
* builtins.h (expand_builtin_with_bounds): New.
* expr.c (expand_expr_real_1): Support instrumented builtin calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217655 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoReplace unsigned long with __SIZE_TYPE__
hjl [Mon, 17 Nov 2014 13:38:38 +0000 (13:38 +0000)] 
Replace unsigned long with __SIZE_TYPE__

* g++.dg/ipa/pr63894.C (new): Replace unsigned long with
__SIZE_TYPE__.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217654 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdd more comments to some gimple accessors
dodji [Mon, 17 Nov 2014 09:56:43 +0000 (09:56 +0000)] 
Add more comments to some gimple accessors

gcc/ChangeLog:

* gimple.h (gimple_set_visited, gimple_visited_p)
(gimple_set_plf, gimple_plf, gimple_set_uid, gimple_uid): Add more
comments to these accessors.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217653 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-17 Richard Biener <rguenther@suse.de>
rguenth [Mon, 17 Nov 2014 09:38:48 +0000 (09:38 +0000)] 
2014-11-17  Richard Biener  <rguenther@suse.de>

PR middle-end/63898
PR middle-end/63883
* gfortran.dg/pr63883.f90: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217652 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/avr/avr-log.c (avr_log_set_avr_log) [TARGET_ALL_DEBUG]:
gjl [Mon, 17 Nov 2014 09:37:05 +0000 (09:37 +0000)] 
* config/avr/avr-log.c (avr_log_set_avr_log) [TARGET_ALL_DEBUG]:
Set avr_log_details to "all".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217651 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-17 Richard Biener <rguenther@suse.de>
rguenth [Mon, 17 Nov 2014 09:31:33 +0000 (09:31 +0000)] 
2014-11-17  Richard Biener  <rguenther@suse.de>

PR middle-end/63898
* match.pd: Guard X / CST -> X * CST' transform against
zero CST.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217650 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdded Dodji Seketeli as line map maintainer
dodji [Mon, 17 Nov 2014 09:26:17 +0000 (09:26 +0000)] 
Added Dodji Seketeli as line map maintainer

* MAINTAINERS (Various Maintainers): Added myself as line map
maintainer.
* ChangeLog: Update this.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217649 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAdd testcase for PR 63894
trippels [Mon, 17 Nov 2014 09:21:34 +0000 (09:21 +0000)] 
Add testcase for PR 63894

2014-11-17  Markus Trippelsdorf  <markus@trippelsdorf.de>

  PR ipa/63894
  * g++.dg/ipa/pr63894.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217648 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agogcc/
xguo [Mon, 17 Nov 2014 07:06:54 +0000 (07:06 +0000)] 
gcc/
2014-11-17  Terry Guo  <terry.guo@arm.com>

* config/arm/thumb1.md (*addsi3_cbranch_scratch): Updated to UAL
format.

gcc/testsuite/
2014-11-17  Terry Guo  <terry.guo@arm.com>

* gcc.target/arm/thumb1-ual-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217647 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-17 Zhenqiang Chen <zhenqiang.chen@arm.com>
zqchen [Mon, 17 Nov 2014 06:29:07 +0000 (06:29 +0000)] 
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* ifcvt.c (HAVE_cbranchcc4): Define.
(noce_emit_cmove, noce_get_alt_condition, noce_get_condition):
Use HAVE_cbranchcc4.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217646 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org>
zqchen [Mon, 17 Nov 2014 06:24:36 +0000 (06:24 +0000)] 
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* config/aarch64/aarch64.c (aarch64_code_to_ccmode,
aarch64_convert_mode, aarch64_gen_ccmp_first,
aarch64_gen_ccmp_next): New functions.
(TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217645 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org>
zqchen [Mon, 17 Nov 2014 06:19:08 +0000 (06:19 +0000)] 
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* config/aarch64/aarch64-protos.h (aarch64_ccmp_mode_to_code): New.
* aarch64.c (aarch64_nzcv_codes): New data.
(aarch64_ccmp_mode_to_code): New.
(aarch64_print_operand): Output nzcv.
config/aarch64/aarch64.md (cbranchcc4, *ccmp_and, *ccmp_ior, cstorecc4):
New patterns.
(cstore<mode>4): Handle ccmp_cc_register.
* config/aarch64/predicates.md (const0_operand): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217644 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org>
zqchen [Mon, 17 Nov 2014 06:12:43 +0000 (06:12 +0000)] 
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* config/aarch64/aarch64-modes.def: Define ccmp CC mode.
* config/aarch64/aarch64.c (aarch64_get_condition_code_1): New function
extacted from aarch64_get_condition_code.
(aarch64_get_condition_code): Call aarch64_get_condition_code_1.
config/aarch64/predicates.md (ccmp_cc_register): New predicate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217643 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org>
zqchen [Mon, 17 Nov 2014 06:07:15 +0000 (06:07 +0000)] 
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* config/aarch64/constraints.md (Usn, aarch64_ccmp_immediate,
aarch64_ccmp_operand): New constraints.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217642 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org>
zqchen [Mon, 17 Nov 2014 06:03:07 +0000 (06:03 +0000)] 
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* Makefile.in: Add ccmp.o.
* ccmp.c: New file.
* ccmp.h: New file.
* expr.c: include "ccmp.h"
(expand_cond_expr_using_cmove): Handle VOIDmode.
(expand_expr_real_1): Try to expand ccmp.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217641 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaro.org>
zqchen [Mon, 17 Nov 2014 05:52:26 +0000 (05:52 +0000)] 
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

* cfgexpand.c (expand_gimple_cond): Check ccmp.
* expmed.c (emit_cstore): Make it global.
* expmed.h: #include "insn-codes.h"
(emit_cstore): New prototype.
* expr.c (expand_operands): Make it global.
* expr.h (expand_operands): New prototype.
* optabs.c (get_rtx_code): Make it global.
* optabs.h (get_rtx_code): New prototype.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217640 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-17 Zhenqiang Chen <zhenqiang.chen@linaor.org>
zqchen [Mon, 17 Nov 2014 05:38:41 +0000 (05:38 +0000)] 
2014-11-17  Zhenqiang Chen  <zhenqiang.chen@linaor.org>

* target.def (gen_ccmp_first, gen_ccmp_first): Add two new hooks.
* doc/tm.texi.in (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New.
* doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217639 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoAlways combine comparisons or conversions from booleans.
ppalka [Mon, 17 Nov 2014 02:01:36 +0000 (02:01 +0000)] 
Always combine comparisons or conversions from booleans.

2014-11-16  Patrick Palka  <ppalka@gcc.gnu.org>

gcc/
PR middle-end/63790
* tree-ssa-forwprop.c (forward_propagate_into_comparison_1):
Always combine comparisons or conversions from booleans.

gcc/testsuite/
PR middle-end/63790
* gcc.dg/tree-ssa/pr21031.c: Drop XFAIL.
* gcc.dg/tree-ssa/forwprop-29.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217638 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Mon, 17 Nov 2014 00:16:28 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217637 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * ipa-polymorphic-call.c
hubicka [Sun, 16 Nov 2014 21:01:45 +0000 (21:01 +0000)] 
* ipa-polymorphic-call.c
(ipa_polymorphic_call_context::speculation_consistent_p): Constify.
(ipa_polymorphic_call_context::meet_speculation_with): New function.
(ipa_polymorphic_call_context::combine_with): Handle types in construction
better.
(ipa_polymorphic_call_context::equal_to): Do not bother about useless
speculation.
(ipa_polymorphic_call_context::meet_with): New function.
* cgraph.h (class ipa_polymorphic_call_context): Add
meet_width, meet_speculation_with; constify speculation_consistent_p.
* ipa-cp.c (ipa_context_from_jfunc): Handle speculation; combine with incomming
context.
(propagate_context_accross_jump_function): Likewise; be more cureful.
about set_contains_variable.
(ipa_get_indirect_edge_target_1): Fix handling of dynamic type changes.
(find_more_scalar_values_for_callers_subset): Fix.
(find_more_contexts_for_caller_subset): Perform meet operation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217634 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * passes.c (execute_one_pass): Do not apply all transforms prior
hubicka [Sun, 16 Nov 2014 19:36:37 +0000 (19:36 +0000)] 
* passes.c (execute_one_pass): Do not apply all transforms prior
every simple IPA pass.
* cgraphunit.c: Do not include fibheap.h
(expand_thunk): Use get_untransformed_body.
(cgraph_node::expand): Likewise.
* tree-ssa-structalias.c (ipa_pta_execute): Skip inline clones.
* cgraph.c (release_function_body): Do not push cfun when CFG is not there.
(cgraph_node::get_untransformed_body): Break out from ...
(cgraph_node::get_body): ... here; add code to apply all transforms.
* cgraph.h (cgraph_node): Add get_untransformed_body.
* ipa-icf.c (sem_function::init): Use get_untransformed_body.
* cgraphclones.c (duplicate_thunk_for_node): Likewise.
* tree-inline.c (expand_call_inline): LIkewise.
* i386.c (ix86_reset_to_default_globals): Break out from ...
(ix86_set_current_function): ... here;
(ix86_reset_previous_fndecl): Use it.
(ix86_simd_clone_adjust): Use ix86_reset_previous_fndecl.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217633 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc.dg/vect/pr63605.c (dg-final): Cleanup vect tree dump.
uros [Sun, 16 Nov 2014 19:31:10 +0000 (19:31 +0000)] 
* gcc.dg/vect/pr63605.c (dg-final): Cleanup vect tree dump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217632 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUpdate move-if-change from gnulib
jbglaw [Sun, 16 Nov 2014 16:12:44 +0000 (16:12 +0000)] 
Update move-if-change from gnulib

2014-11-16  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* move-if-change: Sync from upstream gnulib.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217631 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Move around.
ebotcazou [Sun, 16 Nov 2014 15:49:37 +0000 (15:49 +0000)] 
* doc/tm.texi.in (TARGET_FLAGS_REGNUM): Move around.
* doc/tm.texi: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217628 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUpdate from upstream Automake files.
jbglaw [Sun, 16 Nov 2014 14:07:13 +0000 (14:07 +0000)] 
Update from upstream Automake files.

2014-11-16  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* compile: Sync with upstream Automake.
* depcomp: Ditto.
* install-sh: Ditto.
* missing: Ditto.
* mkinstalldirs: Ditto.
* ylwrap: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217627 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * config/sh/sh.c: Do not include algorithm.
uros [Sun, 16 Nov 2014 11:50:29 +0000 (11:50 +0000)] 
* config/sh/sh.c: Do not include algorithm.
(sh_emit_scc_to_t): Replace open-coded swap with std::swap
to swap values.
(sh_emit_compare_and_branch): Ditto.
(sh_emit_compare_and_set): Ditto.
* config/sh/sh.md (replacement peephole2): Ditto.
(cstore4_media): Ditto.
(*fmasf4): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217626 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-16 Andrew Pinski <apinski@cavium.com>
pinskia [Sun, 16 Nov 2014 08:01:09 +0000 (08:01 +0000)] 
2014-11-16  Andrew Pinski  <apinski@cavium.com>

* gcc.c-torture/execute/memset-4.c: New test.
* gcc.c-torture/execute/20110418-1.c: New test.
* gcc.c-torture/execute/20141022-1.c: New test.
* gcc.c-torture/execute/strcpy-2.c: New test.
* gcc.c-torture/execute/20140212-2.c: New test.
* gcc.c-torture/compile/20120913-1.c: New test.
* gcc.c-torture/compile/20121010-1.c: New test.
* gcc.c-torture/compile/20120917-1.c: New test.
* gcc.c-torture/compile/20140110-1.c: New test.
* gcc.c-torture/compile/20121220-1.c: New test.
* gcc.c-torture/compile/20120822-1.c: New test.
* gcc.c-torture/compile/20121027-1.c: New test.
* gcc.c-torture/compile/20120830-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217625 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-15 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Sun, 16 Nov 2014 05:00:30 +0000 (05:00 +0000)] 
2014-11-15  Vladimir Makarov  <vmakarov@redhat.com>

* lra-remat.c (cand_transf_func): Process regno for
rematerialization too.
* lra.c (lra): Switch on rematerialization pass.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217624 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoPR 60324 VLA related fixes to random number generator.
jb [Sun, 16 Nov 2014 01:56:54 +0000 (01:56 +0000)] 
PR 60324 VLA related fixes to random number generator.

2014-11-16  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/60324
* intrinsics/random.c (kiss_size): Rename to KISS_SIZE, make it a
macro instead of a variable.
(random_seed_i4): Make seed correct size, remove assert, KISS_SIZE
related changes.
(random_seed_i8): KISS_SIZE related changes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217623 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Sun, 16 Nov 2014 00:16:27 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217622 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoUpdate config.{sub,guess} from upstream repo
jbglaw [Sat, 15 Nov 2014 23:44:29 +0000 (23:44 +0000)] 
Update config.{sub,guess} from upstream repo

2014-11-16  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

* config.sub: Update from upstream config repo.
* config.guess: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217619 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * parser.c (cp_parser_omp_declare_reduction_exprs): A block is not
jason [Sat, 15 Nov 2014 23:28:58 +0000 (23:28 +0000)] 
* parser.c (cp_parser_omp_declare_reduction_exprs): A block is not
an expression.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217618 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * constexpr.c (cxx_eval_builtin_function_call): Use
jason [Sat, 15 Nov 2014 23:28:51 +0000 (23:28 +0000)] 
* constexpr.c (cxx_eval_builtin_function_call): Use
fold_builtin_call_array.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217617 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * constexpr.c (cx_check_missing_mem_inits): Clarify error message.
jason [Sat, 15 Nov 2014 23:28:46 +0000 (23:28 +0000)] 
* constexpr.c (cx_check_missing_mem_inits): Clarify error message.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217616 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * g++.dg/guality/guality.exp (check_guality): Fix `test_counts'
macro [Sat, 15 Nov 2014 23:20:18 +0000 (23:20 +0000)] 
* g++.dg/guality/guality.exp (check_guality): Fix `test_counts'
restoration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217615 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-15 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
macro [Sat, 15 Nov 2014 23:17:46 +0000 (23:17 +0000)] 
2014-11-15  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>

* gcc.dg/atomic/c11-atomic-exec-5.c
(test_main_long_double_add_overflow): Only actually define if
LDBL_MANT_DIG != 106.
(test_main_complex_long_double_add_overflow): Likewise.
(test_main_long_double_sub_overflow): Likewise.
(test_main_complex_long_double_sub_overflow): Likewise.

(NOT_LDBL_EPSILON_2): Likewise.
(NOT_MINUS_LDBL_EPSILON_2): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217614 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDon't run gcc.target/i386/sibcall-1.c on x32 targets
hjl [Sat, 15 Nov 2014 23:13:08 +0000 (23:13 +0000)] 
Don't run gcc.target/i386/sibcall-1.c on x32 targets

* gcc.target/i386/sibcall-1.c: Don't run on x32 targets,
instead of run on ia32 targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217613 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR middle-end/63884
mpolacek [Sat, 15 Nov 2014 20:20:05 +0000 (20:20 +0000)] 
PR middle-end/63884
c-family/
* array-notation-common.c (is_sec_implicit_index_fn): Return false
for NULL fndecl.
(extract_array_notation_exprs): Return for NULL node.
testsuite/
* c-c++-common/cilk-plus/AN/pr63884.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217612 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago PR target/60104
fxcoudert [Sat, 15 Nov 2014 19:46:14 +0000 (19:46 +0000)] 
PR target/60104
* gcc.target/i386/sibcall-1.c: Don't run on pic targets.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217611 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-15 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Sat, 15 Nov 2014 16:59:08 +0000 (16:59 +0000)] 
2014-11-15  Vladimir Makarov  <vmakarov@redhat.com>

* lra.c (lra): Switch off rematerialization pass.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217609 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-15 Marc Glisse <marc.glisse@inria.fr>
glisse [Sat, 15 Nov 2014 16:56:27 +0000 (16:56 +0000)] 
2014-11-15  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* config/i386/xmmintrin.h (_mm_add_ps, _mm_sub_ps, _mm_mul_ps,
_mm_div_ps, _mm_store_ss, _mm_cvtss_f32): Use vector extensions
instead of builtins.
* config/i386/emmintrin.h (__v2du, __v4su, __v8hu, __v16qu): New
typedefs.
(_mm_sqrt_sd): Fix comment.
(_mm_add_epi8, _mm_add_epi16, _mm_add_epi32, _mm_add_epi64,
_mm_sub_epi8, _mm_sub_epi16, _mm_sub_epi32, _mm_sub_epi64,
_mm_mullo_epi16, _mm_cmpeq_epi8, _mm_cmpeq_epi16, _mm_cmpeq_epi32,
_mm_cmplt_epi8, _mm_cmplt_epi16, _mm_cmplt_epi32, _mm_cmpgt_epi8,
_mm_cmpgt_epi16, _mm_cmpgt_epi32, _mm_and_si128, _mm_or_si128,
_mm_xor_si128, _mm_store_sd, _mm_cvtsd_f64, _mm_storeh_pd,
_mm_cvtsi128_si64, _mm_cvtsi128_si64x, _mm_add_pd, _mm_sub_pd,
_mm_mul_pd, _mm_div_pd, _mm_storel_epi64, _mm_movepi64_pi64):
Use vector extensions instead of builtins.
* config/i386/smmintrin.h (_mm_cmpeq_epi64, _mm_cmpgt_epi64,
_mm_mullo_epi32): Likewise.
* config/i386/avxintrin.h (__v4du, __v8su, __v16hu, __v32qu):
New typedefs.
(_mm256_add_pd, _mm256_add_ps, _mm256_div_pd, _mm256_div_ps,
_mm256_mul_pd, _mm256_mul_ps, _mm256_sub_pd, _mm256_sub_ps):
Use vector extensions instead of builtins.
* config/i386/avx2intrin.h (_mm256_cmpeq_epi8, _mm256_cmpeq_epi16,
_mm256_cmpeq_epi32, _mm256_cmpeq_epi64, _mm256_cmpgt_epi8,
_mm256_cmpgt_epi16, _mm256_cmpgt_epi32, _mm256_cmpgt_epi64,
_mm256_and_si256, _mm256_or_si256, _mm256_xor_si256, _mm256_add_epi8,
_mm256_add_epi16, _mm256_add_epi32, _mm256_add_epi64,
_mm256_mullo_epi16, _mm256_mullo_epi32, _mm256_sub_epi8,
_mm256_sub_epi16, _mm256_sub_epi32, _mm256_sub_epi64): Likewise.
* config/i386/avx512fintrin.h (__v8du, __v16su, __v32hu, __v64qu):
New typedefs.
(_mm512_or_si512, _mm512_or_epi32, _mm512_or_epi64, _mm512_xor_si512,
_mm512_xor_epi32, _mm512_xor_epi64, _mm512_and_si512,
_mm512_and_epi32, _mm512_and_epi64, _mm512_mullo_epi32,
_mm512_add_epi64, _mm512_sub_epi64, _mm512_add_epi32,
_mm512_sub_epi32, _mm512_add_pd, _mm512_add_ps, _mm512_sub_pd,
_mm512_sub_ps, _mm512_mul_pd, _mm512_mul_ps, _mm512_div_pd,
_mm512_div_ps): Use vector extensions instead of builtins.
* config/i386/avx512bwintrin.h (_mm512_mullo_epi16, _mm512_add_epi8,
_mm512_sub_epi8, _mm512_sub_epi16, _mm512_add_epi16): Likewise.
* config/i386/avx512dqintrin.h (_mm512_mullo_epi64): Likewise.
* config/i386/avx512vldqintrin.h (_mm256_mullo_epi64, _mm_mullo_epi64):
Likewise.

gcc/testsuite/
* gcc.target/i386/intrinsics_opt-1.c: New testcase.
* gcc.target/i386/intrinsics_opt-2.c: Likewise.
* gcc.target/i386/intrinsics_opt-3.c: Likewise.
* gcc.target/i386/intrinsics_opt-4.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217608 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * lto-streamer-out.c (hash_tree): Use cl_optimization_hash.
hubicka [Sat, 15 Nov 2014 16:53:51 +0000 (16:53 +0000)] 
* lto-streamer-out.c (hash_tree): Use cl_optimization_hash.
* lto-streamer.h (cl_optimization_stream_out, cl_optimization_stream_in): Declare.
* optc-save-gen.awk: Generate cl_optimization LTO streaming and hashing routines.
* opth-gen.awk: Add prototype of cl_optimization_hash.
* tree-streamer-in.c (unpack_ts_optimization): Remove.
(streamer_unpack_tree_bitfields): Use cl_optimization_stream_in.
* tree-streamer-out.c (pack_ts_optimization): Remove.
(streamer_pack_tree_bitfields): Use cl_optimization_stream_out.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217607 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc.dg/tree-ssa/pr61144.c: Add dg-require-alias.
fxcoudert [Sat, 15 Nov 2014 16:36:58 +0000 (16:36 +0000)] 
* gcc.dg/tree-ssa/pr61144.c: Add dg-require-alias.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217606 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc.dg/pubtypes-3.c: Include <string.h>.
fxcoudert [Sat, 15 Nov 2014 16:06:55 +0000 (16:06 +0000)] 
* gcc.dg/pubtypes-3.c: Include <string.h>.
* gcc.dg/pubtypes-4.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217605 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoNew unroll and jam option in Graphite.
mircea [Sat, 15 Nov 2014 15:37:49 +0000 (15:37 +0000)] 
New unroll and jam option in Graphite.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217604 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * gcc.dg/darwin-cfstring-format-1.c: Adjust dg-error.
fxcoudert [Sat, 15 Nov 2014 15:27:18 +0000 (15:27 +0000)] 
* gcc.dg/darwin-cfstring-format-1.c: Adjust dg-error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217603 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-cfg.c (replace_loop_annotate_in_block): New function extracted
ebotcazou [Sat, 15 Nov 2014 12:34:20 +0000 (12:34 +0000)] 
* tree-cfg.c (replace_loop_annotate_in_block): New function extracted
from...
(replace_loop_annotate): ...here.  Call it on the header and on the
latch block, if any.  Restore proper behavior of final cleanup.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217602 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add log message
ebotcazou [Sat, 15 Nov 2014 12:06:23 +0000 (12:06 +0000)] 
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Add log message
for max-completely-peeled-insns limit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217601 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-15 Tobias Burnus <burnus@net-b.de>
burnus [Sat, 15 Nov 2014 11:06:07 +0000 (11:06 +0000)] 
2014-11-15  Tobias Burnus  <burnus@net-b.de>

gcc/fortran/
        * error.c (gfc_fatal_error_1): Renamed from gfc_fatal_error.
        (gfc_fatal_error): Add; uses common diagnostics.
        * array.c (gfc_match_array_ref, gfc_match_array_spec): Use
        %< %>.
        * check.c (check_co_collective, gfc_check_lcobound,
        gfc_check_image_index, gfc_check_num_images,
        gfc_check_this_image, gfc_check_ucobound): Ditto.
        * cpp.c (gfc_cpp_post_options): Ditto.
        (gfc_cpp_init_0, gfc_cpp_done): Change %s to %qs.
        * gfc-diagnostic.def (DK_FATAL): Capitalize first letter.
        * gfortran.h (gfc_fatal_error_1): Add.
        * match.c (gfc_match_name, gfc_match_critical,
        lock_unlock_statement, sync_statement): Add %< %>.
        * module.c (bad_module, gfc_dump_module, gfc_use_module): Change
        %s to %qs.
        * options.c (gfc_handle_module_path_options,
        * gfc_handle_fpe_option,
        gfc_handle_coarray_option, gfc_handle_runtime_check_option,
        gfc_handle_option): Add %< %>.
        * simplify.c (gfc_simplify_num_images): Ditto.
        * trans-stmt.c (gfc_trans_sync): Use gfc_fatal_error_1.
        * trans-array.c (gfc_conv_array_initializer): Ditto.
        * trans-types.c (gfc_init_kinds): Use gfc_fatal_error instead
        of fatal_error; add %< %> quotations.

gcc/testsuite/
        * gfortran.dg/binding_label_tests_4.f03: Add dg-excess-errors.
        * gfortran.dg/coarray_9.f90: Ditto.
        * gfortran.dg/empty_label.f: Ditto.
        * gfortran.dg/empty_label.f90: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217600 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoDaily bump.
gccadmin [Sat, 15 Nov 2014 00:16:30 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217599 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * ipa-prop.h (ipa_known_type_data): Remove.
hubicka [Fri, 14 Nov 2014 23:25:20 +0000 (23:25 +0000)] 
* ipa-prop.h (ipa_known_type_data): Remove.
(ipa_binfo_from_known_type_jfunc): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217596 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[AARCH64] Add scheduler for ThunderX
pinskia [Fri, 14 Nov 2014 21:21:25 +0000 (21:21 +0000)] 
[AARCH64] Add scheduler for ThunderX

This adds the schedule model for ThunderX. There are a few TODOs in that
not all of the SIMD is model currently.  Also the idea of a simple
shift/extend is not modeled and all cases where there is a shift/extend
is considered as non simple and take up two cycles rather than correct
value of one cycle.  Also the 32bit divide and the 64bit divide
have different cycle counts but there is no way to model that currently.
Also multiply high takes one cycle more than the normal multiply but
there is no way to model that currently either.

Build and tested for aarch64-elf with no regressions.

ChangeLog:
* config/aarch64/aarch64-cores.def (thunderx): Change the scheduler
over to thunderx.
* config/aarch64/aarch64.md: Include thunderx.md.
(generic_sched): Set to no for thunderx.
* config/aarch64/thunderx.md: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217593 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[gcc]
meissner [Fri, 14 Nov 2014 20:45:21 +0000 (20:45 +0000)] 
[gcc]
2014-11-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/predicates.md (easy_fp_constant): Delete redunant
tests for 0.0.

* config/rs6000/vector.md (VEC_R): Move secondary reload support
insns to rs6000.md from vector.md.
(reload_<VEC_R:mode>_<P:mptrsize>_store): Likewise.
(reload_<VEC_R:mode>_<P:mptrsize>_load): Likewise.
(vec_reload_and_plus_<mptrsize>): Likewise.

* config/rs6000/rs6000.md (Fa): New mode attribute to give
constraint for the Altivec registers for a type.
(RELOAD): New mode iterator for all of the types that have
secondary reload address support to load up a base register.
(extendsfdf2_fpr): Use correct constraint.
(copysign<mode>3_fcpsgn): For SFmode, use correct xscpsgndp
instruction.
(floatsi<mode>2_lfiwax): Add support for -mupper-regs-{sf,df}.
Generate the non-VSX instruction if all registers were FPRs.  Do
not use the patterns in vsx.md for scalar operations.
(floatsi<mode>2_lfiwax_mem): Likewise.
(floatunssi<mode>2_lfiwzx): Likewise.
(floatunssi<mode>2_lfiwzx_mem): Likewise.
(fix_trunc<mode>di2_fctidz): Likewise.
(fixuns_trunc<mode>di2_fctiduz): Likewise.
(fctiwz_<mode>): Likewise.
(fctiwuz_<mode>): Likewise.
(friz): Likewise.
(floatdidf2_fpr): Likewise.
(floatdidf2_mem): Likewise.
(floatunsdidf2): Likewise.
(floatunsdidf2_fcfidu): Likewise.
(floatunsdidf2_mem): Likewise.
(floatdisf2_fcfids): Likewise.
(floatdisf2_mem): Likewise.
(floatdisf2_internal1): Add explicit test for not FCFIDS to make
it more obvious that the code is for pre-ISA 2.06 machines.
(floatdisf2_internal2): Likewise.
(floatunsdisf2_fcfidus): Add support for -mupper-regs-{sf,df}.
Generate the non-VSX instruction if all registers were FPRs.  Do
not use the patterns in vsx.md for scalar operations.
(floatunsdisf2_mem): Likewise.
(reload_<RELOAD:mode>_<P:mptrsize>_store): Move the reload
handlers here from vector.md, and expand the types we generate
reload handlers for.
(reload_<RELOAD:mode>_<P:mptrsize>_load): Likewise.
(vec_reload_and_plus_<mptrsize>): Likewise.

* config/rs6000/vsx.md (vsx_float<VSi><mode>2): Only provide the
vector forms of the instructions.  Move VSX scalar forms to
rs6000.md, and add support for -mupper-regs-sf.
(vsx_floatuns<VSi><mode>2): Likewise.
(vsx_fix_trunc<mode><VSi>2): Likewise.
(vsx_fixuns_trunc<mode><VSi>2): Likewise.
(vsx_float_fix_<mode>2): Delete DF version, rename to
vsx_float_fix_v2df2.
(vsx_float_fix_v2df2): Likewise.

[gcc/testsuite]
2014-11-14  Michael Meissner  <meissner@linux.vnet.ibm.com>

* gcc.target/powerpc/ppc-fpconv-1.c: Adjust for -mupper-regs-df
changes.
* gcc.target/powerpc/ppc-fpconv-2.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-3.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-4.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-5.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-6.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-7.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-8.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-9.c: Likewise.
* gcc.target/powerpc/ppc-fpconv-10.c: Likewise.
* gcc.target/powerpc/ppc-round.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217590 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-14 Martin Jambor <mjambor@suse.cz>
jamborm [Fri, 14 Nov 2014 20:07:39 +0000 (20:07 +0000)] 
2014-11-14  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.h (jump_func_type): Removed value IPA_JF_KNOWN_TYPE.
(ipa_pass_through_data): Removed field type_preserved.
(ipa_ancestor_jf_data): removed fields type and type_preserved.
(ipa_jump_func): Removed field known_type.
(ipa_get_jf_known_type_offset): Removed.
(ipa_get_jf_known_type_base_type): Likewise.
(ipa_get_jf_known_type_component_type): Likewise.
(ipa_get_jf_ancestor_type): Likewise.
* ipa-cp.c (print_ipcp_constant_value): Removed BINFO handling.
(ipa_get_jf_pass_through_result): Likewise.
(ipa_get_jf_ancestor_result): Always build ptr_node_type accesses.
(values_equal_for_ipcp_p): Removed BINFO handling.
(ipa_get_indirect_edge_target_1): Updated comment.
* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Removed handling
of IPA_JF_KNOWN_TYPE jump functions.  Do not print removed fields.
(ipa_set_jf_known_type): Removed.
(ipa_set_jf_simple_pass_through): Do not set removed fields.  Update
all callers.
(ipa_set_jf_arith_pass_through): Likewise.
(ipa_set_ancestor_jf): Likewise.
(ipa_binfo_from_known_type_jfunc): Removed.
(prop_type_change_info): Removed fields known_current_type and
multiple_types_encountered.
(extr_type_from_vtbl_ptr_store): Removed.
(check_stmt_for_type_change): Do not attempt to identify changed type.
(detect_type_change_from_memory_writes): Do not set the removed fields,
always set jfunc to unknown.
(compute_complex_assign_jump_func): Do not detect dynamic type change.
(compute_complex_ancestor_jump_func): Likewise.
(compute_known_type_jump_func): Removed.
(ipa_compute_jump_functions_for_edge): Do not detect dynamic type
change.  Do not comute known type jump functions.
(combine_known_type_and_ancestor_jfs): Removed.
(update_jump_functions_after_inlining): Removed handling of
IPA_JF_KNOWN_TYPE jump functions.  Do not set removed fields.
(ipa_write_jump_function): Do not stream removed fields or known type
jump functions.
(ipa_read_jump_function): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217589 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-14 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Fri, 14 Nov 2014 20:06:11 +0000 (20:06 +0000)] 
2014-11-14  Vladimir Makarov  <vmakarov@redhat.com>

* lra-int.h (lra_create_live_ranges): Add parameter.
* lra-lives.c (temp_bitmap): Move higher.
(initiate_live_solver): Move temp_bitmap initialization into
lra_live_ranges_init.
(finish_live_solver): Move temp_bitmap clearing into
live_ranges_finish.
(process_bb_lives): Add parameter.  Use it to control live info
update and dead insn elimination.  Pass it to mark_regno_live and
mark_regno_dead.
(lra_create_live_ranges): Add parameter.  Pass it to
process_bb_lives.
(lra_live_ranges_init, lra_live_ranges_finish): See changes in
initiate_live_solver and finish_live_solver.
* lra-remat.c (do_remat): Process insn non-operand hard regs too.
Use temp_bitmap to update avail_cands.
* lra.c (lra): Pass new parameter to lra_create_live_ranges.  Move
check with lra_need_for_spill_p after live range pass.  Switch on
rematerialization pass.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217588 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-14 Martin Jambor <mjambor@suse.cz>
jamborm [Fri, 14 Nov 2014 20:03:19 +0000 (20:03 +0000)] 
2014-11-14  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.h (ipa_get_jf_pass_through_type_preserved): use
agg_preserved flag instead.
(ipa_get_jf_ancestor_type_preserved): Likewise.
(ipa_node_params): Rename known_vals to known_csts, update all users.
New field known_contexts.
(ipa_get_indirect_edge_target): Update prototype.
(ipcp_poly_ctx_values_pool): Declare.
(ipa_context_from_jfunc): Likewise.
* ipa-inline.h (estimate_ipcp_clone_size_and_time): Updated prototype.
* cgraph.h (ipa_polymorphic_call_context): New method equal_to.  New
parameter newline of method dump.
* ipa-cp.c (ctxlat): New field.
(ipcp_values_pool): Renamed to ipcp_cst_values_pool, updated all users.
(ipcp_poly_ctx_values_pool):New variable.
(ipa_get_poly_ctx_lat): New function.
(print_ipcp_constant_value): New overloaded function for contexts.
(print_all_lattices): Also print contexts.
(ipa_topo_info): New field contexts;
(set_all_contains_variable): Also set the flag in the context lattice.
(initialize_node_lattices): Likewise for flag bottom.
(ipa_get_jf_ancestor_result): Removed BINFO handling.
(ipa_value_from_jfunc): Likewise.
(ipa_context_from_jfunc): New function.
(values_equal_for_ipcp_p): New overloaded function for contexts.
(allocate_and_init_ipcp_value): Construct the value.
(allocate_and_init_ipcp_value): New overloaded function for contexts.
(propagate_scalar_accross_jump_function): Removed handling of
KNOWN_TYPE jump functions.
(propagate_context_accross_jump_function): New function.
(propagate_constants_accross_call): Also propagate contexts.
(ipa_get_indirect_edge_target_1): Work on contexts rather than BINFOs.
(ipa_get_indirect_edge_target): Likewise.
(devirtualization_time_bonus): Likewise.
(gather_context_independent_values): Create and populate known_contexts
vector rather than known_binfos.
(perform_estimation_of_a_value): Work on contexts rather than BINFOs.
(estimate_local_effects): Likewise.
(add_all_node_vals_to_toposort): Also add contexts to teir topological
sort.
(ipcp_propagate_stage): Also propagate effects of contexts.
(ipcp_discover_new_direct_edges): Receive and pass known_contexts to
ipa_get_indirect_edge_target_1.
(cgraph_edge_brings_value_p): New overloaded function for contexts.
(create_specialized_node): Work on contexts rather than BINFOs.
(find_more_contexts_for_caller_subset): New function.
(known_contexts_useful_p): New function.
(copy_useful_known_contexts): Likewise.
(modify_known_vectors_with_val): Likewise.
(ipcp_val_in_agg_replacements_p): Renamed to
ipcp_val_agg_replacement_ok_p, return true for all offset indicating
non-aggregate.
(ipcp_val_agg_replacement_ok_p): New overloaded function for contexts.
(decide_about_value): Work on contexts rather than BINFOs.
(decide_whether_version_node): Likewise.
(ipcp_driver): Initialize the new alloc pool.
* ipa-prop.c (ipa_print_node_jump_functions_for_edge): Prettify
printing of edge contexts.
(ipa_set_ancestor_jf): Replace assert with conditional setting of
type_preserved to false.
(update_jump_functions_after_inlining): Use access function instead of
reading agg_preserved directly.  Store combined context in the ancestor
case.
(try_make_edge_direct_virtual_call): Work on contexts rather than
BINFOs.
(update_indirect_edges_after_inlining): Get context from
ipa_context_from_jfunc.
(ipa_free_node_params_substructures): Free also known_contexts.
(ipa_free_all_structures_after_ipa_cp): Free the new alloc pool.
(ipa_free_all_structures_after_iinln): Likewise.
* ipa-inline-analysis.c (evaluate_properties_for_edge): Work on
contexts rather than BINFOs.
(estimate_edge_devirt_benefit): Likewise.
(estimate_edge_size_and_time): Likewise.
(estimate_calls_size_and_time): Likewise.
(estimate_node_size_and_time): Likewise.
(estimate_ipcp_clone_size_and_time): Likewise.
(do_estimate_edge_time): Likewise.
(do_estimate_edge_size): Likewise.
(do_estimate_edge_hints): Likewise.
* ipa-polymorphic-call.c (ipa_polymorphic_call_context::dump): New
parameter newline, ouput newline only when it is set.
(ipa_polymorphic_call_context::equal_to): New method.

testsuite/
* g++.dg/ipa/devirt-11.C: Dont't run ipa-cp, remove times constraint
from the dump scan.
* g++.dg/ipa/devirt-21.C: Xfail.
* g++.dg/ipa/devirt-24.C: Likewise.
* g++.dg/ipa/devirt-10.C: Removed times constraint from the dump scan.
* g++.dg/ipa/devirt-41.C: Updated the dump scan.
* g++.dg/ipa/devirt-44.C: Likewise.
* g++.dg/ipa/devirt-43.C: Xfail.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217587 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-14 Martin Jambor <mjambor@suse.cz>
jamborm [Fri, 14 Nov 2014 19:58:18 +0000 (19:58 +0000)] 
2014-11-14  Martin Jambor  <mjambor@suse.cz>

* ipa-cp.c (ipcp_value_source): Converted to a template class.  All
users converted to the same specialization as the using class/function
or specialization on tree.
(ipcp_value): Likewise.
(ipcp_lattice): Likewise.
(ipcp_agg_lattice): Now derived from tree specialization of
ipcp_lattice.
(values_topo): Moved to new class value_topo_info.
(ipa_lat_is_single_const): Turned into ipcp_lattice::is_single_const.
Updated all callers.
(print_lattice): Turned into ipcp_lattice::print.  Updated all
callers.
(value_topo_info): New class template.
(ipa_topo_info): New field constants.  New constructor.
(build_toporder_info): Do not clear stack_top, only checkign assert
it.
(set_lattice_to_bottom): Turned into ipcp_lattice::set_to_bottom.
Updated all callers.
(set_lattice_contains_variable): Turned into
ipcp_lattice::set_contains_variable.  Updated all callers.
(add_value_source): Turned into ipcp_value::add_source.  Updated all
callers.
(allocate_and_init_ipcp_value): New function.
(add_value_to_lattice): Turned into ipcp_lattice::add_value.  Last
parameter got default a value.  Updated all callers.
(add_scalar_value_to_lattice): Removed, users converted to using
ipcp_lattice::add_value with default value of the last parameter.
(add_val_to_toposort): Turned to value_topo_info::add_val.  Updated
all callers.
(propagate_effects): Made method of value_topo_info.
(cgraph_edge_brings_value_p): Now a template function.
(get_info_about_necessary_edges): Likewise.
(gather_edges_for_value): Likewise.
(perhaps_add_new_callers): Likewise.
(decide_about_value): Likewise.
* ipa-prop.h (ipcp_lattice): Remove fowrward declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217586 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * doc/install.texi (--with-diagnostics-color=): Document.
jakub [Fri, 14 Nov 2014 19:41:33 +0000 (19:41 +0000)] 
* doc/install.texi (--with-diagnostics-color=): Document.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217585 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * tree-ssa.dce.c (eliminate_unnecessary_stmts): Eliminate
jakub [Fri, 14 Nov 2014 19:41:00 +0000 (19:41 +0000)] 
* tree-ssa.dce.c (eliminate_unnecessary_stmts): Eliminate
IFN_GOMP_SIMD_LANE without lhs as useless.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217584 138bc75d-0d04-0410-961f-82ee72b054a4

11 years agoruntime: set library name based on compiler name
ian [Fri, 14 Nov 2014 18:02:50 +0000 (18:02 +0000)] 
runtime: set library name based on compiler name

Different compilers may have different release cadences or ABI
incompatibilities, so it does not make sense to use the same library
name for runtime libraries intended for different compilers.

This CL causes a libgo built by llgo to receive the name libgo-llgo.
Likewise, libgobegin is named libgobegin-llgo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217583 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * ipa-pure-const.c (struct funct_state_d): Add can_free field.
jakub [Fri, 14 Nov 2014 17:46:50 +0000 (17:46 +0000)] 
* ipa-pure-const.c (struct funct_state_d): Add can_free field.
(varying_state): Add true for can_free.
(check_call): For builtin or internal !nonfreeing_call_p set
local->can_free.
(check_stmt): For asm volatile and asm with "memory" set
local->can_free.
(analyze_function): Clear local->can_free initially, continue
calling check_stmt until all flags are computed, dump can_free
flag.
(pure_const_write_summary): Write can_free flag.
(pure_const_read_summary): Read it back.
(propagate_pure_const): Propagate also can_free flag, set
w->nonfreeing_fn if it is false after propagation.
* cgraph.h (cgraph_node): Add nonfreeing_fn member.
* gimple.c: Include ipa-ref.h, lto-streamer.h and cgraph.h.
(nonfreeing_call_p): Return cgraph nonfreeing_fn flag if set.
Also return true for IFN_ABNORMAL_DISPATCHER.
* cgraph.c (cgraph_node::dump): Dump nonfreeing_fn flag.
* lto-cgraph.c (lto_output_node): Write nonfreeing_fn flag.
(input_overwrite_node): Read it back.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217582 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * sanopt.c: Include tree-ssa-operands.h.
jakub [Fri, 14 Nov 2014 17:28:11 +0000 (17:28 +0000)] 
* sanopt.c: Include tree-ssa-operands.h.
(struct sanopt_info): Add has_freeing_call_p,
has_freeing_call_computed_p, imm_dom_path_with_freeing_call_p,
imm_dom_path_with_freeing_call_computed_p, freeing_call_events,
being_visited_p fields.
(struct sanopt_ctx): Add asan_check_map field.
(imm_dom_path_with_freeing_call, maybe_optimize_ubsan_null_ifn,
maybe_optimize_asan_check_ifn): New functions.
(sanopt_optimize_walker): Use them, optimize even ASAN_CHECK
internal calls.
(pass_sanopt::execute): Call sanopt_optimize even for
-fsanitize=address.
* gimple.c (nonfreeing_call_p): Return true for non-ECF_LEAF
internal calls.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217581 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago[Vectorizer] Tidy up vect_create_epilog / use_scalar_result
alalaw01 [Fri, 14 Nov 2014 17:20:40 +0000 (17:20 +0000)] 
[Vectorizer] Tidy up vect_create_epilog / use_scalar_result

* tree-vect-loop.c (vect_create_epilog_for_reduction): Move code for
'if (extract_scalar_result)' to the only place that it is true.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217580 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
jakub [Fri, 14 Nov 2014 17:19:55 +0000 (17:19 +0000)] 
* libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
of 32 as block_size.
* libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
instead of 32 as block_size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217579 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago * dwarf2.def (DW_AT_APPLE_optimized, DW_AT_APPLE_flags)
jakub [Fri, 14 Nov 2014 17:18:34 +0000 (17:18 +0000)] 
* dwarf2.def (DW_AT_APPLE_optimized, DW_AT_APPLE_flags)
(DW_AT_APPLE_isa, DW_AT_APPLE_block)
(DW_AT_APPLE_major_runtime_vers, DW_AT_APPLE_runtime_class)
(DW_AT_APPLE_omit_frame_ptr, DW_AT_APPLE_property_name)
(DW_AT_APPLE_property_getter, DW_AT_APPLE_property_setter)
(DW_AT_APPLE_property_attribute, DW_AT_APPLE_objc_complete_type)
(DW_AT_APPLE_property): New macros.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217578 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-14 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Fri, 14 Nov 2014 16:59:52 +0000 (16:59 +0000)] 
2014-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

* semantics.c (end_maybe_infinite_loop): Use fold_non_dependent_expr.
* parser.c (cp_parser_omp_clause_collapse): Likewise.
(cp_parser_enumerator_definition): Don't call
instantiate_non_dependent_expr...
* decl.c (build_enumerator): ... call fold_non_dependent_expr here.
* typeck2.c (massage_init_elt): Use fold_non_dependent_expr.
* constexpr.c (maybe_constant_value): Allow VIEW_CONVERT_EXPR in
the final gcc_assert.

* constexpr.c (fold_non_dependent_expr): Add.
* cp-tree.h (fold_non_dependent_expr): Declare it.
* call.c (null_ptr_cst_p): Use it.
* pt.c (tsubst_copy_and_build, build_non_dependent_expr): Likewise.
* semantics.c (begin_maybe_infinite_loop): Likewise.
* typeck.c (cp_build_binary_op): Likewise.
* typeck2.c (check_narrowing): Likewise.

* pt.c (fold_non_dependent_expr): Rename to
instantiate_non_dependent_expr.
(fold_non_dependent_expr_sfinae): Rename to
instantiate_non_dependent_expr_sfinae.
(convert_nontype_argument, build_non_dependent_expr): Adjust.
* decl.c (compute_array_index_type): Likewise.
* parser.c (cp_parser_parenthesized_expression_list,
cp_parser_enumerator_definition, cp_parser_omp_clause_collapse):
Likewise.
* semantics.c (end_maybe_infinite_loop, finish_static_assert):
Likewise.
* typeck.c (cxx_alignas_expr): Likewise.
* typeck2.c (store_init_value, massage_init_elt): Likewise.
* call.c: Adjust comments.
* class.c: Likewise.
* constexpr.c: Likewise.
* decl2.c: Likewise.
* tree.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217577 138bc75d-0d04-0410-961f-82ee72b054a4

11 years ago2014-11-14 Joel Sherrill <joel.sherrill@oarcorp.com>
joel [Fri, 14 Nov 2014 16:57:20 +0000 (16:57 +0000)] 
2014-11-14  Joel Sherrill <joel.sherrill@oarcorp.com>

* src/c++98/mt_allocator.cc: Fix assumption that sizeof(void *) is
equal to sizeof(size_t). The m32c breaks this assumption.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217576 138bc75d-0d04-0410-961f-82ee72b054a4