Commit Graph

138656 Commits

Author SHA1 Message Date
Richard Biener
633343a859 re PR tree-optimization/66349 (ICE on valid code at -O1, -O2 and -O3 on x86_64-linux-gnu in dfs_enumerate_from, at cfganal.c:1195)
2015-06-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66349
	PR tree-optimization/66352
	PR tree-optimization/66357
	* gcc.dg/torture/pr66357.c: New testcase.
	* gcc.dg/torture/pr66349.c: Likewise.
	* gfortran.fortran-torture/compile/pr66352.f90: Likewise.

From-SVN: r223980
2015-06-01 13:58:50 +00:00
Richard Biener
96a956b65a revert: re PR middle-end/66314 (ice in verify_loop_structure)
2015-06-01  Richard Biener  <rguenther@suse.de>

	Revert
	2015-05-29  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66314
	* tree-ssa-threadupdate.c (create_block_for_threading): Add
	parameter that says which loop the new block belongs to.
	(ssa_create_duplicates): Blocks duplicated for the threaded
	path belong to the loop of the thread destination.

	* gcc.dg/asan/pr66314.c: New testcase.

From-SVN: r223979
2015-06-01 13:55:12 +00:00
Martin Liska
d88e64a6f4 Fix pool_allocator fallback.
* sched-deps.c: Include pool-alloc.h before
	cselib.h header file is included.

From-SVN: r223978
2015-06-01 13:53:10 +00:00
Richard Biener
4b1db7666b tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken functions.
2015-06-01  Richard Biener  <rguenther@suse.de>

	* tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
	functions.

	* gcc.dg/ipa/ipa-pta-1.c: Adjust.

From-SVN: r223977
2015-06-01 13:51:20 +00:00
Joseph Myers
95b9c8b0ce * sv.po: Update.
From-SVN: r223975
2015-06-01 14:43:13 +01:00
Martin Liska
c547dbce4a Small pool-allocator fallback.
* alloc-pool.h: Add ATTRIBUTE_UNUSED for
	a function local variabled.

From-SVN: r223974
2015-06-01 13:01:12 +00:00
Martin Liska
fdc5c392fe Remove old pool allocator.
* alloc-pool.c (create_alloc_pool): Remove.
	(empty_alloc_pool): Likewise.
	(free_alloc_pool): Likewise.
	(free_alloc_pool_if_empty): Likewise.
	(pool_alloc): Likewise.
	(pool_free): Likewise.
	* alloc-pool.h: Remove old declarations.

From-SVN: r223973
2015-06-01 12:54:05 +00:00
Martin Liska
0b470bae0c Change use to type-based pool allocator in ira-build.c.
* ira-build.c (initiate_allocnos): Use new type-based pool allocator.
	(ira_create_object): Likewise.
	(ira_create_allocno): Likewise.
	(ira_create_live_range): Likewise.
	(copy_live_range): Likewise.
	(ira_finish_live_range): Likewise.
	(ira_free_allocno_costs): Likewise.
	(finish_allocno): Likewise.
	(finish_allocnos): Likewise.
	(initiate_prefs): Likewise.
	(ira_create_pref): Likewise.
	(finish_pref): Likewise.
	(finish_prefs): Likewise.
	(initiate_copies): Likewise.
	(ira_create_copy): Likewise.
	(finish_copy): Likewise.
	(finish_copies): Likewise.
	(finish_prefs): Likewise.

From-SVN: r223972
2015-06-01 12:51:12 +00:00
Martin Liska
2651e637ce Change use to type-based pool allocator in ipa-prop.c
* ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
	(allocate_and_init_ipcp_value): Likewise.
	(ipcp_lattice::add_value): Likewise.
	(merge_agg_lats_step): Likewise.
	(ipcp_driver): Likewise.
	* ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise.
	(ipa_free_all_structures_after_iinln): Likewise.
	* ipa-prop.h: Likewise.

From-SVN: r223971
2015-06-01 12:50:36 +00:00
Martin Liska
50a41d64f3 Change use to type-based pool allocator in
* ipa-inline-analysis.c (edge_set_predicate): Use new type-based pool allocator.
	(set_hint_predicate): Likewise.
	(inline_summary_alloc): Likewise.
	(reset_inline_edge_summary): Likewise.
	(reset_inline_summary): Likewise.
	(set_cond_stmt_execution_predicate): Likewise.
	(set_switch_stmt_execution_predicate): Likewise.
	(compute_bb_predicates): Likewise.
	(estimate_function_body_sizes): Likewise.
	(inline_free_summary): Likewise.

From-SVN: r223970
2015-06-01 12:49:51 +00:00
Martin Liska
601f32936b Change use to type-based pool allocator in ipa-prop.c.
* ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
	(ipa_edge_duplication_hook): Likewise.
	(ipa_free_all_structures_after_ipa_cp): Likewise.
	(ipa_free_all_structures_after_iinln): Likewise.

From-SVN: r223969
2015-06-01 12:49:17 +00:00
Martin Liska
d780951804 Change use to type-based pool allocator in
* ipa-profile.c (account_time_size): Use new type-based pool allocator.
	(ipa_profile_generate_summary): Likewise.
	(ipa_profile_read_summary): Likewise.
	(ipa_profile): Likewise.

From-SVN: r223968
2015-06-01 12:48:40 +00:00
Martin Liska
dc5667a30b Change use to type-based pool allocator in
* tree-ssa-structalias.c (new_var_info): Use new type-based pool allocator.
	(new_constraint): Likewise.
	(init_alias_vars): Likewise.
	(delete_points_to_sets): Likewise.

From-SVN: r223967
2015-06-01 12:48:06 +00:00
Martin Liska
33e7d32e1c Change use to type-based pool allocator in
* tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
	(free_strinfo): Likewise.
	(pass_strlen::execute): Likewise.

From-SVN: r223966
2015-06-01 12:47:26 +00:00
Martin Liska
af6a6eec32 Change use to type-based pool allocator in
* tree-ssa-sccvn.c (vn_reference_insert): Use new type-based pool allocator.
	(vn_reference_insert_pieces): Likewise.
	(vn_phi_insert): Likewise.
	(visit_reference_op_call): Likewise.
	(copy_phi): Likewise.
	(copy_reference): Likewise.
	(process_scc): Likewise.
	(allocate_vn_table): Likewise.
	(free_vn_table): Likewise.

From-SVN: r223965
2015-06-01 12:46:55 +00:00
Martin Liska
153e42282e Change use to type-based pool allocator in
* tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based pool allocator.
	(add_repeat_to_ops_vec): Likewise.
	(get_ops): Likewise.
	(maybe_optimize_range_tests): Likewise.
	(init_reassoc): Likewise.
	(fini_reassoc): Likewise.

From-SVN: r223964
2015-06-01 12:46:24 +00:00
Martin Liska
971540bd15 Change use to type-based pool allocator in
* tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based pool allocator.
	(bitmap_set_new): Likewise.
	(get_or_alloc_expr_for_constant): Likewise.
	(get_or_alloc_expr_for): Likewise.
	(phi_translate_1): Likewise.
	(compute_avail): Likewise.
	(init_pre): Likewise.
	(fini_pre): Likewise.

From-SVN: r223963
2015-06-01 12:45:55 +00:00
Martin Liska
973004cbce Change use to type-based pool allocator in
* sched-deps.c (create_dep_node): Use new type-based pool allocator.
	(delete_dep_node): Likewise.
	(create_deps_list): Likewise.
	(free_deps_list): Likewise.
	(sched_deps_init): Likewise.
	(sched_deps_finish): Likewise.

From-SVN: r223962
2015-06-01 12:45:14 +00:00
Martin Liska
5c7337c58f Change use to type-based pool allocator in regcprop.c.
* regcprop.c (free_debug_insn_changes): Use new type-based pool allocator.
	(replace_oldest_value_reg): Likewise.
	(pass_cprop_hardreg::execute): Likewise.

From-SVN: r223961
2015-06-01 12:44:44 +00:00
Martin Liska
3599f64ae2 Change use to type-based pool allocator in ira-build.c.
* ira-build.c (initiate_cost_vectors): Use new type-based pool allocator.
	(ira_allocate_cost_vector): Likewise.
	(ira_free_cost_vector): Likewise.
	(finish_cost_vectors): Likewise.

From-SVN: r223960
2015-06-01 12:44:17 +00:00
Martin Liska
8bb6373a94 Change use to type-based pool allocator in
* sel-sched-ir.c (alloc_sched_pools): Use new type-based pool allocator.
	(free_sched_pools): Likewise.
	* sel-sched-ir.h (_list_alloc): Likewise.
	(_list_remove): Likewise.

From-SVN: r223959
2015-06-01 12:43:47 +00:00
Martin Liska
5f84469759 Change use to type-based pool allocator in stmt.c.
* stmt.c (add_case_node): Use new type-based pool allocator.
	(expand_case): Likewise.
	(expand_sjlj_dispatch_table): Likewise.

From-SVN: r223958
2015-06-01 12:43:16 +00:00
Martin Liska
2cc777fbf4 Change use to type-based pool allocator in
* tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
	(free_bb): Likewise.
	(pass_cse_reciprocals::execute): Likewise.

From-SVN: r223957
2015-06-01 12:42:45 +00:00
Martin Liska
bc2c893bb4 Change use to type-based pool allocator in tree-sra.c.
* tree-sra.c (sra_initialize): Use new type-based pool allocator.
	(sra_deinitialize) Likewise.
	(create_access_1) Likewise.
	(build_accesses_from_assign) Likewise.
	(create_artificial_child_access) Likewise.

From-SVN: r223956
2015-06-01 12:42:16 +00:00
Martin Liska
da6603c626 Change use to type-based pool allocator in dse.c.
* dse.c (get_group_info):Use new type-based pool allocator.
	(dse_step0) Likewise.
	(free_store_info) Likewise.
	(delete_dead_store_insn) Likewise.
	(free_read_records) Likewise.
	(record_store) Likewise.
	(replace_read) Likewise.
	(check_mem_read_rtx) Likewise.
	(scan_insn) Likewise.
	(dse_step1) Likewise.
	(dse_step7) Likewise.

From-SVN: r223955
2015-06-01 12:41:48 +00:00
Martin Liska
e956943eb1 Change use to type-based pool allocator in df-scan.c.
* df-scan.c (struct df_scan_problem_data):Use new type-based pool allocator.
	(df_scan_free_internal) Likewise.
	(df_scan_alloc) Likewise.
	(df_grow_reg_info) Likewise.
	(df_free_ref) Likewise.
	(df_insn_create_insn_record) Likewise.
	(df_mw_hardreg_chain_delete) Likewise.
	(df_insn_info_delete) Likewise.
	(df_free_collection_rec) Likewise.
	(df_mw_hardreg_chain_delete_eq_uses) Likewise.
	(df_sort_and_compress_mws) Likewise.
	(df_ref_create_structure) Likewise.
	(df_ref_record) Likewise.

From-SVN: r223954
2015-06-01 12:41:18 +00:00
Martin Liska
295e704728 Change use to type-based pool allocator in
* df-problems.c (df_chain_create):Use new type-based pool allocator.
	(df_chain_unlink_1) Likewise.
	(df_chain_unlink) Likewise.
	(df_chain_remove_problem) Likewise.
	(df_chain_alloc) Likewise.
	(df_chain_free) Likewise.
	* df.h (struct dataflow) Likewise.

From-SVN: r223953
2015-06-01 12:40:47 +00:00
Martin Liska
a78a26f11e Change use to type-based pool allocator in cselib.c.
* cselib.c (new_elt_list):Use new type-based pool allocator.
	(new_elt_loc_list) Likewise.
	(unchain_one_elt_list) Likewise.
	(unchain_one_elt_loc_list) Likewise.
	(unchain_one_value) Likewise.
	(new_cselib_val) Likewise.
	(cselib_init) Likewise.
	(cselib_finish) Likewise.

From-SVN: r223952
2015-06-01 12:39:32 +00:00
Martin Liska
533ab6c4c8 Change use to type-based pool allocator in sh.c.
* config/sh/sh.c (add_constant):Use new type-based pool allocator.
	(sh_reorg) Likewise.

From-SVN: r223951
2015-06-01 12:38:48 +00:00
Martin Liska
ac0539d7ac Change use to type-based pool allocator in cfg.c.
* cfg.c (initialize_original_copy_tables):Use new type-based pool allocator.
	(free_original_copy_tables) Likewise.
	(copy_original_table_clear) Likewise.
	(copy_original_table_set) Likewise.

From-SVN: r223950
2015-06-01 12:38:23 +00:00
Martin Liska
4fef8379d7 Change use to type-based pool allocator in c-format.c.
* c-format.c (check_format_arg):Use new type-based pool allocator.
	(check_format_info_main) Likewise.

From-SVN: r223949
2015-06-01 12:37:49 +00:00
Martin Liska
c1f5ce4830 Change use to type-based pool allocator in asan.c.
* asan.c (asan_mem_ref_get_alloc_pool):Use new type-based pool allocator.
	(asan_mem_ref_new) Likewise.
	(free_mem_ref_resources) Likewise.

From-SVN: r223948
2015-06-01 12:37:26 +00:00
Martin Liska
7e46899d1d Change use to type-based pool allocator in
* var-tracking.c (variable_htab_free):Use new type-based pool allocator.
	(attrs_list_clear) Likewise.
	(attrs_list_insert) Likewise.
	(attrs_list_copy) Likewise.
	(shared_hash_unshare) Likewise.
	(shared_hash_destroy) Likewise.
	(unshare_variable) Likewise.
	(var_reg_delete_and_set) Likewise.
	(var_reg_delete) Likewise.
	(var_regno_delete) Likewise.
	(drop_overlapping_mem_locs) Likewise.
	(variable_union) Likewise.
	(insert_into_intersection) Likewise.
	(canonicalize_values_star) Likewise.
	(variable_merge_over_cur) Likewise.
	(dataflow_set_merge) Likewise.
	(remove_duplicate_values) Likewise.
	(variable_post_merge_new_vals) Likewise.
	(dataflow_set_preserve_mem_locs) Likewise.
	(dataflow_set_remove_mem_locs) Likewise.
	(variable_from_dropped) Likewise.
	(variable_was_changed) Likewise.
	(set_slot_part) Likewise.
	(clobber_slot_part) Likewise.
	(delete_slot_part) Likewise.
	(loc_exp_insert_dep) Likewise.
	(notify_dependents_of_changed_value) Likewise.
	(emit_notes_for_differences_1) Likewise.
	(vt_emit_notes) Likewise.
	(vt_initialize) Likewise.
	(vt_finalize) Likewise.

From-SVN: r223947
2015-06-01 12:36:49 +00:00
Martin Liska
8b17d27f76 Change use to type-based pool allocator in ira-color.c.
* ira-color.c (init_update_cost_records):Use new type-based pool allocator.
	(get_update_cost_record) Likewise.
	(free_update_cost_record_list) Likewise.
	(finish_update_cost_records) Likewise.
	(initiate_cost_update) Likewise.

From-SVN: r223946
2015-06-01 12:36:01 +00:00
Martin Liska
2f77a6072c Change use to type-based pool allocator in lra.c.
* lra.c (init_insn_regs): Use new type-based pool allocator.
	(new_insn_reg) Likewise.
	(free_insn_reg) Likewise.
	(free_insn_regs) Likewise.
	(finish_insn_regs) Likewise.
	(init_insn_recog_data) Likewise.
	(init_reg_info) Likewise.
	(finish_reg_info) Likewise.
	(lra_free_copies) Likewise.
	(lra_create_copy) Likewise.
	(invalidate_insn_data_regno_info) Likewise.

From-SVN: r223945
2015-06-01 12:35:20 +00:00
Martin Liska
cb8abb1cf9 Change use to type-based pool allocator in lra-lives.c.
* lra-lives.c (free_live_range): Use new type-based pool allocator.
	(free_live_range_list) Likewise.
	(create_live_range) Likewise.
	(copy_live_range) Likewise.
	(lra_merge_live_ranges) Likewise.
	(remove_some_program_points_and_update_live_ranges) Likewise.
	(lra_live_ranges_init) Likewise.
	(lra_live_ranges_finish) Likewise.

From-SVN: r223944
2015-06-01 12:34:31 +00:00
Martin Liska
64afff5b02 Change use to type-based pool allocator in et-forest.c.
* et-forest.c (et_new_occ): Use new type-based pool allocator.
	(et_new_tree): Likewise.
	(et_free_tree): Likewise.
	(et_free_tree_force): Likewise.
	(et_free_pools): Likewise.
	(et_split): Likewise.

From-SVN: r223943
2015-06-01 12:33:23 +00:00
Martin Liska
7d50111bc5 Introduce new type-based pool allocator.
* alloc-pool.c (struct alloc_pool_descriptor): Move definition
	to header file.
	* alloc-pool.h (pool_allocator::pool_allocator): New function.
	(pool_allocator::release): Likewise.
	(inline pool_allocator::release_if_empty): Likewise.
	(inline pool_allocator::~pool_allocator): Likewise.
	(pool_allocator::allocate): Likewise.
	(pool_allocator::remove): Likewise.

From-SVN: r223942
2015-06-01 12:29:12 +00:00
James Greenhalgh
32d48af55e [Patch obvious] Fuseable is not a word -> s/fuseable/fusible/g
gcc/

	* sched-deps.c (sched_analyze_2): Replace fuseable with fusible
	in comment.

From-SVN: r223940
2015-06-01 12:00:09 +00:00
James Greenhalgh
fe0b29c7f4 [ARM Obvious] Fuseable is not a word -> s/fuseable/fusible/g
gcc/

	* gcc/config/arm/arm-protos.h (tune_params): Rename fuseable_ops
	to fusible_ops.
	* gcc/config/arm/arm.c (arm_print_tune_info): Likewise.
	(arm_macro_fusion_p): Likewise.
	(arm_macro_fusion_pair_p): Likewise.

From-SVN: r223939
2015-06-01 11:59:03 +00:00
James Greenhalgh
e9a3a1750a [AArch64 Obvious] "Fuseable" is not a word -> s/fuseable/fusible/g
gcc/

	* config/aarch64/aarch64-protos.h (tune_params): Rename
	fuseable_ops to fusible_ops.
	* config/aarch64/aarch64.c (generic_tunings): Rename
	fuseable_ops to fusible_ops.
	(cortexa53_tunings): Likewise.
	(cortexa57_tunings): Likewise.
	(thunderx_tunings): Likewise.
	(xgene1_tunings): Likewise.
	(aarch64_macro_fusion_p): Likewise.
	(aarch64_macro_fusion_pair_p): Likewise.

From-SVN: r223938
2015-06-01 11:57:54 +00:00
Jonathan Wakely
77d0ed47e8 libstdc++.exp (libstdc++_init): Unset LANGUAGE environment variable.
* testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE
	environment variable.

From-SVN: r223937
2015-06-01 12:57:33 +01:00
Dominik Vogt
cb0edc3993 S390: Support -mtune=native and -march=native.
gcc/ChangeLog

2015-06-01  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	    * config/s390/driver-native.c: New file.
	    * config/s390/x-native: New file.
	    * config.host: Add new files for s390.
	    * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native
	    and -march=native
	    * config.gcc: Likewise.
	    * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE
	    * config/s390/s390-opts.h (enum processor_type): Ditto.
	    * config/s390/s390.c (s390_option_override): Catch unhandled
	    PROCESSOR_NATIVE

From-SVN: r223934
2015-06-01 11:38:44 +00:00
Jakub Jelinek
a48b05f911 hotpatch-compile-15.c: Remove dg-prune-output directives.
* gcc.target/s390/hotpatch-compile-15.c: Remove dg-prune-output
	directives.
	(hp3, hp4): Add inline keyword.
	* gcc.target/s390/hotpatch-19.c: Remove dg-prune-output directive.
	(hp2): Add inline keyword.
	* gcc.target/s390/hotpatch-19.c: Remove dg-prune-output directives.
	(hp2): Add inline keyword.

From-SVN: r223933
2015-06-01 13:38:04 +02:00
Ilya Enkovich
8e9b277397 re PR target/65527 (ICE: in expand_builtin_with_bounds, at builtins.c:7120 with -fcheck-pointer-bounds -mmpx)
gcc/

	PR target/65527
	* cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
	redirection for instrumented calls.
	* lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
	(append_compiler_options): Append -fcheck-pointer-bounds.
	* tree-chkp.h (chkp_copy_call_skip_bounds): New.
	(chkp_redirect_edge): New.
	* tree-chkp.c (chkp_copy_call_skip_bounds): New.
	(chkp_redirect_edge): New.

gcc/testsuite/

	PR target/65527
	* gcc.target/i386/mpx/chkp-fix-calls-1.c: New.
	* gcc.target/i386/mpx/chkp-fix-calls-2.c: New.
	* gcc.target/i386/mpx/chkp-fix-calls-3.c: New.
	* gcc.target/i386/mpx/chkp-fix-calls-4.c: New.

From-SVN: r223929
2015-06-01 11:24:07 +00:00
Alan Lawrence
f4fa7bb473 [ARM/AArch64 Testsuite] Cleanup advsimd-intrinsics.exp, removing unnecessary loop
* gcc.target/aarch64/advsimd-intrinsics/advsimd-intrinsics.exp: Pass
	wildcard to gcc-dg-runtest; remove loop and unnecessary initialization.

From-SVN: r223928
2015-06-01 10:56:28 +00:00
Richard Biener
29764870aa re PR tree-optimization/66280 (ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1472)
2015-06-01  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66280
	* tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
	def-use walking.

	* g++.dg/torture/pr66280.C: New testcase.
	* g++.dg/torture/pr66280-2.C: Likewise.

From-SVN: r223927
2015-06-01 10:37:30 +00:00
Eric Botcazou
b4900b374e * gcc-interface/Makefile.in: Fix ARM/Darwin configuration.
From-SVN: r223924
2015-06-01 09:16:55 +00:00
Kyrylo Tkachov
dba606bfa8 [AArch64] Fix type of *<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3 pattern
* config/aarch64/aarch64.md
	(*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to
	logic_shift_imm.

From-SVN: r223922
2015-06-01 09:11:34 +00:00
Pierre-Marie de Rodat
3b5d86ec77 utils.c (scale_by_factor_of): When handling a function call expression, process the corresponding function body.
* gcc-interface/utils.c (scale_by_factor_of): When handling a function
	call expression, process the corresponding function body.  Also handle
	potential addends.

From-SVN: r223921
2015-06-01 09:03:34 +00:00