rsandifo [Thu, 17 Sep 2015 14:28:59 +0000 (14:28 +0000)]
Split up optabs.[hc]
optabs.[hc] is a bit of a behemoth. It includes basic functions for querying
what a target can do, related tree- and gimple-level query functions,
related rtl-level query functions, and the functions that actually
generate code. Some gimple optimisations therefore need:
#include "insn-config.h"
#include "expmed.h"
#include "dojump.h"
#include "explow.h"
#include "emit-rtl.h"
#include "varasm.h"
#include "stmt.h"
#include "expr.h"
purely to query whether the target has support for a particular operation.
This patch splits optabs up as follows:
- optabs-query.[hc]: IL-independent functions for querying what a target
can do natively.
- optabs-tree.[hc]: tree and gimple query functions (an extension of
optabs-query.[hc]).
- optabs-libfuncs.[hc]: optabs-specific libfuncs (an extension of
libfuncs.h)
- optabs.h: For now includes optabs-query.h and optabs-libfuncs.h.
Only two files outside optabs need to include both optabs.h and
optabs-tree.h: expr.c and function.c. I think that's expected given
that both are related to expand.
It might be good to split optabs.h further, but this is already quite
a big patch.
I changed can_conditionally_move_p from returning an int to returning
a bool and fixed a few formatting glitches. There should be no other
changes to the functions themselves.
gcc/
* Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o
and optabs-tree.o.
(GTFILES): Replace optabs.c with optabs-libfunc.c.
* genopinit.c (main): Add an include guard to insn-opinit.h.
Protect the rtx_code parts with NUM_RTX_CODE.
* optabs.h: Split parts out to...
* optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these
new files.
* optabs.c: Split parts out to...
* optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these
new files.
* cilk-common.c: Include optabs-query.h rather than optabs.h.
* fold-const.c: Likewise.
* target-globals.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-math-opts.c: Include optabs-tree.h rather than
optabs.h. Remove unncessary include files.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vrp.c: Likewise.
* toplev.c: Include optabs-query.h and optabs-libfuncs.h
rather than optabs.h.
* expr.c: Include optabs-tree.h.
* function.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227865
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Thu, 17 Sep 2015 13:57:40 +0000 (13:57 +0000)]
compiler: Issue channel type errors earlier.
When asking for the type of a receive operation, the compiler would
return an error type if the receive operator was being used on an
invalid channel type and the error would be reported in a later pass.
There are several ways that the type checking pass would not see
the original node and fail to issue the error. This patch modifies
receive operations to give an error immediately once it is known that
the channel type is invalid.
Fixes golang/go#12323.
Reviewed-on: https://go-review.googlesource.com/13987
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227863
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Thu, 17 Sep 2015 11:06:57 +0000 (11:06 +0000)]
PR middle-end/65958
* config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN): Define.
* config/arm/arm-protos.h (output_probe_stack_range): Declare.
* config/arm/arm.c: Include common/common-target.h.
(use_return_insn): Return 0 if the static chain register was saved
above a non-APCS frame.
(arm_compute_static_chain_stack_bytes): Adjust for stack checking.
(struct scratch_reg): New.
(get_scratch_register_on_entry): New function.
(release_scratch_register_on_entry): Likewise.
(arm_emit_probe_stack_range): Likewise.
(output_probe_stack_range): Likewise.
(arm_expand_prologue): Factor out code dealing with the IP register
for nested function and adjust it for stack checking.
Invoke arm_emit_probe_stack_range if static builtin stack checking
is enabled.
(thumb1_expand_prologue): Sorry out if static builtin stack checking
is enabled.
(arm_expand_epilogue): Add the saved static chain register, if any, to
the amount of pre-pushed registers to pop.
(arm_frame_pointer_required): Return true if static stack checking is
enabled and we want to catch the exception with the EABI unwinder.
* config/arm/unspecs.md (UNSPEC_PROBE_STACK): New constant.
(UNSPEC_PROBE_STACK_RANGE): Likewise.
* config/arm/arm.md (probe_stack): New insn.
(probe_stack_range): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227860
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 17 Sep 2015 11:02:11 +0000 (11:02 +0000)]
2015-09-17 Richard Biener <rguenther@suse.de>
* genmatch.c (parser::parse_expr): Improve error message
for mis-placed flags.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227859
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 17 Sep 2015 09:47:43 +0000 (09:47 +0000)]
2015-09-17 Richard Biener <rguenther@suse.de>
* passes.c (rest_of_decl_compilation): Always call early_global_decl
debug hook when we created a varpool node.
* dwarf2out.c (dwarf2out_late_global_decl): When in LTO call
dwarf2out_early_global_decl, when not just add location or
value attributes to existing DIEs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227857
138bc75d-0d04-0410-961f-
82ee72b054a4
pault [Thu, 17 Sep 2015 09:09:34 +0000 (09:09 +0000)]
2015-09-17 Paul Thomas <pault@gcc.gnu.org>
PR fortran/52846
PR fortran/67588
* module.c : Add static no_module_procedures.
(gfc_match_submodule): Correct memory leakage caused during the
freeing of use_lists.
(mio_symbol_attribute): Reset above if module procedure is
encountered.
(gfc_dump_module): Set above and exit without writing smod file
if it reset.
* gfortran.texi : Add section on submodule support.
2015-09-17 Paul Thomas <pault@gcc.gnu.org>
PR fortran/52846
* gfortran.dg/public_private_module_5.f90: Add module procedure
trigger_smod to ensure that the smod file is written.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227855
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Thu, 17 Sep 2015 08:23:05 +0000 (08:23 +0000)]
[AArch64] Implement copysign[ds]f3
gcc/
* config/aarch64/aarch64.md (copysigndf3): New.
(copysignsf3): Likewise.
gcc/testsuite/
* gcc.target/aarch64/copysign_1.c: New.
* gcc.target/aarch64/copysign_2.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227849
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Thu, 17 Sep 2015 07:54:07 +0000 (07:54 +0000)]
Fix LRA regressions on 64-bit SPARC.
gcc/
* config/sparc/sparc-protos.h (sparc_secondary_memory_needed):
Declare.
* config/sparc/sparc.c (sparc_secondary_memory_needed): New
function.
* config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
(HARD_REGNO_CALLER_SAVE_MODE): Define.
* config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
(setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
(embmedany_losum, embmedany_brsum, embmedany_textuhi)
(embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
provide when flag_pic.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227847
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 17 Sep 2015 07:48:09 +0000 (07:48 +0000)]
2015-09-17 Richard Biener <rguenther@suse.de>
* cp-tree.h (note_decl_for_pch): Remove.
* class.c (build_clone): Do not call note_decl_for_pch.
* semantics.c (finish_member_declaration): Likewise.
(note_decl_for_pch): Remove.
* decl2.c (c_parse_final_cleanups): Mangle all globals before
writing the PCH.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227846
138bc75d-0d04-0410-961f-
82ee72b054a4
kkojima [Thu, 17 Sep 2015 07:45:41 +0000 (07:45 +0000)]
Fix build failure for SH.
* config/sh/sh.c (label_ref_list_d_pool): Adjust to object_allocator change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227845
138bc75d-0d04-0410-961f-
82ee72b054a4
amker [Thu, 17 Sep 2015 03:40:18 +0000 (03:40 +0000)]
PR tree-optimization/66388
* tree-ssa-loop-ivopts.c (struct iv, iv_cand, ivopts_data): New
fields.
(dump_iv): Dump no_overflow information.
(alloc_iv): Initialize new field for struct iv.
(mark_bivs): Count number of no_overflow bivs.
(find_deriving_biv_for_expr, record_biv_for_address_use): New
functions.
(idx_find_step): Call new functions above.
(add_candidate_1, add_candidate): New paramter.
(add_iv_candidate_for_biv): Add sizetype cand for BIV.
(get_computation_aff): Simplify convertion of cand for BIV.
(get_computation_cost_at): Step cand's base if necessary.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227844
138bc75d-0d04-0410-961f-
82ee72b054a4
amker [Thu, 17 Sep 2015 03:08:41 +0000 (03:08 +0000)]
* tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New
parameter.
(tree_simplify_using_condition): Ditto.
(simplify_using_initial_conditions): Ditto.
(loop_exits_before_overflow): Pass new argument to function
simplify_using_initial_conditions. Remove case for type conversions
simplification.
* tree-ssa-loop-niter.h (simplify_using_initial_conditions): New
parameter.
* tree-scalar-evolution.c (simple_iv): Simplify type conversions
in iv base using loop initial conditions.
gcc/testsuite/ChangeLog
* gcc.dg/tree-ssa/loop-bound-2.c: New test.
* gcc.dg/tree-ssa/loop-bound-4.c: New test.
* gcc.dg/tree-ssa/loop-bound-6.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227843
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 17 Sep 2015 03:01:03 +0000 (03:01 +0000)]
[PATCH] Pass in avail_expr_stack and setup edge_infos earlier
PR tree-optimization/47679
* tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos.
(free_all_edge_infos): Use it.
(allocate_edge_info): Free preexisting edge info data.
(pass_dominator::execute): Set up initial edge info structures.
(dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to
thread_across_edge.
* tree-ssa-threadedge.c (thread_across_edge): Accept new argument. If
non-null, then push/pop markers appropriately.
* tree-ssa-threadedge.h (thread_across_edge): Update prototype.
* tree-vrp.c (identify_jump_threads): Pass NULL for new argument to
thread-across_edge.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227842
138bc75d-0d04-0410-961f-
82ee72b054a4
jamesbowman [Thu, 17 Sep 2015 02:29:25 +0000 (02:29 +0000)]
[FT32] Fix memory address space predicate.
gcc/
* config/ft32/ft32.c Fix the memory address space predicate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227841
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Thu, 17 Sep 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227840
138bc75d-0d04-0410-961f-
82ee72b054a4
kkojima [Thu, 17 Sep 2015 00:12:57 +0000 (00:12 +0000)]
PR target/67573
* config/sh/sh.md: Add early clobber to scratch operand of *call_*pcrel
insn_and_split so not to CSE scratch reg.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227837
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Wed, 16 Sep 2015 22:50:28 +0000 (22:50 +0000)]
Implement filesystem::canonical() without realpath
PR libstdc++/67173
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION
and PATH_MAX for _GLIBCXX_USE_REALPATH.
* config.h.in: Regenerate.
* configure: Regenerate.
* src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add
alternative implementation.
* testsuite/experimental/filesystem/operations/canonical.cc: New.
* testsuite/experimental/filesystem/operations/exists.cc: Add more
tests.
* testsuite/experimental/filesystem/operations/absolute.cc: Add test
variables.
* testsuite/experimental/filesystem/operations/copy.cc: Likewise.
* testsuite/experimental/filesystem/operations/current_path.cc:
Likewise.
* testsuite/experimental/filesystem/operations/file_size.cc: Likewise.
* testsuite/experimental/filesystem/operations/status.cc: Likewise.
* testsuite/experimental/filesystem/operations/temp_directory_path.cc:
Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227836
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Wed, 16 Sep 2015 21:25:28 +0000 (21:25 +0000)]
Move check_global_declaration from toplev.c to cgraphunit.c
Unfortunately, toplev.c is a kitchen sink of things that do not belong anywhere
in particular. For example, check_global_declarations is only used in
cgraphunit.c. Moving it there allows us to make it static and remove one call
to symtab_node::get.
gcc/ChangeLog:
2015-09-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
* toplev.h (check_global_declaration): Remove declaration.
* toplev.c (check_global_declaration): Move to ...
* cgraphunit.c: ... here. Make it static and pass a symtab_node *.
(analyze_functions): Update call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227835
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 16 Sep 2015 18:04:22 +0000 (18:04 +0000)]
compiler: Don't crash on erroneous channel reads.
Fixes golang/go#12320.
Reviewed-on: https://go-review.googlesource.com/13932
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227834
138bc75d-0d04-0410-961f-
82ee72b054a4
davem [Wed, 16 Sep 2015 17:46:21 +0000 (17:46 +0000)]
Fix endianness assumption in LRA.
gcc/
* lra-constraints.c (simplify_operand_subreg): Do not assume that
lowpart of a SUBREG has offset zero.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227833
138bc75d-0d04-0410-961f-
82ee72b054a4
kargl [Wed, 16 Sep 2015 17:32:36 +0000 (17:32 +0000)]
2015-09-16 John Marino <gnugcc@marino.st>
* gfortran.dg/read_dir.f90: XFAIL this testcase on DragonFly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227832
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Wed, 16 Sep 2015 17:25:51 +0000 (17:25 +0000)]
[PATCH] Move code out of tree-ssa-dom into tree-ssa-scopedtables
PR tree-optimization/47679
* tree-ssa-dom.c (enum expr_kind): Moved from here to
tree-ssa-scopedtables.h.
(struct hashable_expr, class expr_hash_elt): Likewise.
(struct expr_elt_hasher, class avail_exprs_stack): Likewise.
Move associated methods into tree-ssa-scopedtables.c.
(avail_expr_hash, initialize_expr_from_cond): Similarly.
(hashable_expr_equal_p, add_expr_commutative): Likewise.
(add_hashable_expr): Likewise.
(record_cond): Delete element directly.
* tree-ssa-scopedtables.h (avail_expr_stack, const_and_copies): Add
private copy ctor and assignment operator methods.
(expr_elt_hasher): Inline trivial methods.
(initialize_expr_from_cond): Prototype.
* tree-ssa-scopedtables.c: Add necessary includes, functions and
methods that were previously in tree-ssa-dom.c. Improve various
comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227831
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Wed, 16 Sep 2015 17:21:33 +0000 (17:21 +0000)]
compiler: Don't crash on malformed numeric constants.
Fixes golang/go#11548.
Reviewed-on: https://go-review.googlesource.com/13794
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227830
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Wed, 16 Sep 2015 15:14:39 +0000 (15:14 +0000)]
2015-09-16 Paolo Carlini <paolo.carlini@oracle.com>
* doc/invoke.texi ([Wsubobject-linkage]): Extend documentation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227828
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Wed, 16 Sep 2015 15:02:32 +0000 (15:02 +0000)]
shrink-wrap: Fix up partitions (PR67587)
With the new shrink-wrap algorithm, blocks reachable both with and
without prologue are duplicated, and their incoming edges are then
distributed accordingly. So we need to call fixup_partitions.
2015-09-16 Segher Boessenkool <segher@kernel.crashing.org>
PR bootstrap/67587
* function.c (rest_of_handle_thread_prologue_and_epilogue): Call
fixup_partitions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227827
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 16 Sep 2015 14:27:52 +0000 (14:27 +0000)]
2015-09-16 Richard Biener <rguenther@suse.de>
PR middle-end/67253
* cfgexpand.c (expand_gimple_stmt_1): Do not clobber
location of possibly shared trees.
* gcc.dg/torture/pr67253.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227826
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 16 Sep 2015 14:26:04 +0000 (14:26 +0000)]
2015-09-16 Richard Biener <rguenther@suse.de>
PR middle-end/67271
* fold-const.c (native_encode_expr): Bail out on bogus offsets.
* gcc.dg/pr67271.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227825
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Wed, 16 Sep 2015 10:02:21 +0000 (10:02 +0000)]
* tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for
offset and size computations instead of HOST_WIDE_INT.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227819
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Wed, 16 Sep 2015 07:25:15 +0000 (07:25 +0000)]
2015-09-16 Richard Biener <rguenther@suse.de>
PR middle-end/67442
* fold-const.c (extract_muldiv_1): Properly extend multiplication
result before builting a tree via wide_int_to_tree.
* gcc.dg/torture/pr67442.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227818
138bc75d-0d04-0410-961f-
82ee72b054a4
miyuki [Wed, 16 Sep 2015 00:56:54 +0000 (00:56 +0000)]
Share memory blocks between pool allocators
gcc/
* Makefile.in: Add memory-block.cc
(pool_allocator::initialize): Use fixed block size.
(pool_allocator::release): Use memory_block_pool.
(pool_allocator::allocate): Likewise.
* asan.c (asan_mem_ref_pool): Adjust to use common block size in all
object pools.
* cfg.c (initialize_original_copy_tables): Likewise.
* cselib.c (elt_list_pool, elt_loc_list_pool,
cselib_val_pool): Likewise.
* df-problems.c (df_chain_alloc): Likewise.
* df-scan.c (df_scan_alloc): Likewise.
* dse.c (cse_store_info_pool, rtx_store_info_pool,
read_info_type_pool, insn_info_type_pool, bb_info_pool,
group_info_pool, deferred_change_pool): Likewise.
* et-forest.c (et_nodes, et_occurrences): Likewise.
* ipa-cp.c (ipcp_cst_values_pool, ipcp_sources_pool,
ipcp_agg_lattice_pool): Likewise.
* ipa-inline-analysis.c (edge_predicate_pool): Likewise.
* ipa-profile.c (histogram_pool): Likewise.
* ipa-prop.c (ipa_refdesc_pool): Likewise.
* ira-build.c (live_range_pool, allocno_pool, object_pool,
initiate_cost_vectors, pref_pool, copy_pool): Likewise.
* ira-color.c (update_cost_record_pool): Likewise.
* lra-lives.c (lra_live_range_pool): Likewise.
* lra.c (lra_insn_reg_pool, lra_copy_pool): Likewise.
* memory-block.cc: New file.
* memory-block.h: New file.
* regcprop.c (queued_debug_insn_change_pool): Use common block size.
* sched-deps.c (sched_deps_init): Likewise.
* sel-sched-ir.c (sched_lists_pool): Likewise.
* stmt.c (expand_case, expand_sjlj_dispatch_table): Likewise.
* tree-sra.c (access_pool): Likewise.
* tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
* tree-ssa-pre.c (pre_expr_pool, bitmap_set_pool): Likewise.
* tree-ssa-reassoc.c (operand_entry_pool): Likewise.
* tree-ssa-sccvn.c (allocate_vn_table): Likewise.
* tree-ssa-strlen.c (strinfo_pool): Likewise.
* tree-ssa-structalias.c (variable_info_pool): Likewise.
* var-tracking.c (attrs_def_pool, var_pool, valvar_pool,
location_chain_pool, shared_hash_pool, loc_exp_dep_pool): Likewise.
gcc/c-family/
* c-format.c (check_format_arg): Adjust to use common block size in all
object pools.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227817
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 16 Sep 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227816
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 15 Sep 2015 23:12:03 +0000 (23:12 +0000)]
compiler: Report init dependency errors with builtin functions.
Fixes golang/go#12319.
Reviewed-on: https://go-review.googlesource.com/13931
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227813
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 15 Sep 2015 21:15:37 +0000 (21:15 +0000)]
libgo: If compiler can split-stack and linker can not, use -fno-split-stack.
If the compiler supports split-stack but we are using a gold linker that
does not, as happens on PPC with current GCC but old gold, then we need
to compile the Go code with -fno-split-stack to avoid a linker error
avoid the inability to call from split-stack code to non-split-stack
code.
Reviewed-on: https://go-review.googlesource.com/14598
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227811
138bc75d-0d04-0410-961f-
82ee72b054a4
jcmvbkbc [Tue, 15 Sep 2015 19:30:32 +0000 (19:30 +0000)]
xtensa: fix xtensa_fallback_frame_state for call0 ABI
2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
gcc/
* config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New
definition.
(DWARF_FRAME_REGISTERS): Reserve space for one extra register in
call0 ABI.
libgcc/
* config/xtensa/linux-unwind.h (xtensa_fallback_frame_state):
Add support for call0 ABI.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227809
138bc75d-0d04-0410-961f-
82ee72b054a4
jcmvbkbc [Tue, 15 Sep 2015 19:24:26 +0000 (19:24 +0000)]
xtensa: fix TLS calls for call0 ABI
2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
gcc/
* config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2
to pass TLS call argument, according to current ABI.
* config/xtensa/xtensa.md (tls_call pattern): Use callx8 or
callx0 for TLS call, according to current ABI.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227808
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 15 Sep 2015 17:57:49 +0000 (17:57 +0000)]
* tree-eh.c (lower_try_finally_dup_block): Clear location information
on stack restore statements.
(decide_copy_try_finally): Do not consider a stack restore statement as
coming from sources.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227805
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Tue, 15 Sep 2015 17:50:15 +0000 (17:50 +0000)]
* config/alpha/alpha.c (alpha_expand_block_clear): Use
HOST_WIDE_INT_M1U instead of ~(HOST_WIDE_INT)0 when shifting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227804
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Tue, 15 Sep 2015 17:19:11 +0000 (17:19 +0000)]
PR c/67580
* c-decl.c (tag_exists_p): New function.
* c-parser.c (c_parser_declaration_or_fndef): Give a hint when
struct/union/enum keywords are missing.
* c-tree.h (tag_exists_p): Declare.
* gcc.dg/pr67580.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227803
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 15 Sep 2015 17:05:14 +0000 (17:05 +0000)]
libgo: test linking split-stack and non-split-stack together
PPC has split-stack support in current GCC, but old version of gold will
reject attempts to link PPC split-stack and non-split-stack code
together. Test for that, and don't compile the C code with
-fsplit-stack if it doesn't work.
Reviewed-on: https://go-review.googlesource.com/14594
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227802
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Tue, 15 Sep 2015 17:03:49 +0000 (17:03 +0000)]
[PATCH] More class-ification of DOM
PR tree-optimization/47679
* tree-ssa-dom.c (expr_hash_elt): Now a class with ctors/dtors,
methods and private members.
(avail_exprs_stack): Similarly. Change type of global
from a pair of expr_hash_elt_t to the new class.
(expr_elt_hasher::hash): Corresponding changes.
(expr_elt_hasher::equal): Similarly.
(avail_expr_hash): Similarly.
(pass_dominator::execute): Similarly.
(dom_opt_dom_walker::thread_across_edge): Similarly.
(record_cond): Similarly.
(dom_opt_dom_walker::before_dom_children): Similarly.
(dom_opt_dom_walker::after_dom_children): Similarly.
(lookup_avail_expr): Likewise.
(initialize_hash_element): Now a expr_hash_elt constructor.
(initialize_hash_element_from_expr): Similarly.
(free_expr_hash_elt_contents): Now a dtor for class expr_hash_elt.
(free_expr_hash_elt): Call dtor for the element.
(remove_local_expressions_from_table): Now the "pop_to_marker"
method in the available_exprs_stack class.
(avail_expr_stack::record_expr): Method factored out.
(print_expr_hash_elt): Now a method in the expr_hash_elt class.
Fix formatting.
(hashable_expr_equal_p): Fix formatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227801
138bc75d-0d04-0410-961f-
82ee72b054a4
dmalcolm [Tue, 15 Sep 2015 16:53:01 +0000 (16:53 +0000)]
Change of location_get_source_line signature
gcc/ChangeLog:
* input.h (location_get_source_line): Drop "expanded_location"
param in favor of a file and line number.
* input.c (location_get_source_line): Likewise.
(dump_location_info): Update for change in signature of
location_get_source_line.
* diagnostic.c (diagnostic_print_caret_line): Likewise.
gcc/c-family/ChangeLog:
* c-format.c (location_from_offset): Update for change in
signature of location_get_source_line.
* c-indentation.c (get_visual_column): Likewise.
(line_contains_hash_if): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227800
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Tue, 15 Sep 2015 16:25:59 +0000 (16:25 +0000)]
* defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions.
Bump to 4KB for SJLJ exceptions.
(STACK_CHECK_PROTECT): Likewise. Bump to 8KB for SJLJ exceptions.
* doc/tm.texi.in (STACK_CHECK_PROTECT): Adjust.
* doc/tm.texi: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227799
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Tue, 15 Sep 2015 15:03:23 +0000 (15:03 +0000)]
[ARM] Fix arm bootstrap failure due to -Werror=shift-negative-value
* config/arm/arm.c (arm_gen_constant): Use HOST_WIDE_INT_M1U instead
of -1 when shifting. Change type of val to unsigned HOST_WIDE_INT.
Update prototype.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227798
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 15 Sep 2015 14:10:10 +0000 (14:10 +0000)]
2015-09-15 Richard Biener <rguenther@suse.de>
PR tree-optimization/67470
* tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI
structure for PHI hoisting by inserting a forwarder block
if appropriate.
* gcc.dg/torture/pr67470.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227797
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Tue, 15 Sep 2015 13:46:57 +0000 (13:46 +0000)]
2015-09-15 Christian Bruel <christian.bruel@st.com>
* config/arm/arm.c (TARGET_OPTION_PRINT): Define.
(arm_option_print): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227796
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Tue, 15 Sep 2015 13:43:17 +0000 (13:43 +0000)]
2015-09-15 Christian Bruel <christian.bruel@st.com>
PR target/52144
* config/arm/arm.c (arm_option_params_internal): Remove opts parameter.
* config/arm/arm-c.c (arm_cpu_builtins): Declare static.
Remove flags parameter.
* config/arm/arm.h (TARGET_32BIT_P, TARGET_ARM_QBIT_P)
(TARGET_ARM_SAT_P, TARGET_IDIV_P, TARGET_HAVE_LDREX_P)
(TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P, TARGET_DSP_MULTIPLY_P)
(TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros with...
(TARGET_ARM_SAT, TARGET_IDIV, TARGET_HAVE_LDREX)
(TARGET_HAVE_LDREXBH, TARGET_HAVE_LDREXD, TARGET_ARM_FEATURE_LDREX)
(TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Redefined macros.
* gcc/config/arm/arm-protos.h (arm_cpu_builtins): Remove declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227795
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 15 Sep 2015 13:16:58 +0000 (13:16 +0000)]
[AArch64 array_mode 8/8] Add d-registers to TARGET_ARRAY_MODE_SUPPORTED_P
gcc/:
* config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): New.
* config/aarch64/aarch64.c (aarch64_array_mode_supported_p): Add
AARCH64_VALID_SIMD_DREG_MODE.
gcc/testsuite/:
* gcc.target/aarch64/vect_int32x2x4_1.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227794
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 15 Sep 2015 13:09:45 +0000 (13:09 +0000)]
[AArch64 array_mode 7/8] Combine the expanders using VSTRUCT:nregs
* config/aarch64/aarch64-simd.md (aarch64_ld2r<mode>,
aarch64_ld3r<mode>, aarch64_ld4r<mode>): Combine together, making...
(aarch64_simd_ld<VSTRUCT:nregs>r<VALLDIF:mode>): ...this.
(aarch64_ld2_lane<mode>, aarch64_ld3_lane<mode>,
aarch64_ld4_lane<mode>): Combine together, making...
(aarch64_ld<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
(aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
aarch64_st4_lane<mode>): Combine together, making...
(aarch64_st<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
* config/aarch64/iterators.md (nregs): Add comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227793
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Tue, 15 Sep 2015 12:48:50 +0000 (12:48 +0000)]
* c-decl.c (lookup_label): Return NULL_TREE instead of 0.
(lookup_tag): Change the type of THISLEVEL_ONLY to bool.
Return NULL_TREE instead of 0.
(lookup_name): Return NULL_TREE instead of 0.
(lookup_name_in_scope): Likewise.
(shadow_tag_warned): Use true instead of 1 and NULL_TREE instead of 0.
(parser_xref_tag): Use false instead of 0.
(start_struct): Use true instead of 1.
(start_enum): Use true instead of 1 and NULL_TREE instead of 0.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227791
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 15 Sep 2015 12:48:15 +0000 (12:48 +0000)]
[AArch64 array_mode 6/8] Remove V_TWO_ELEM, again using BLKmode + set_mem_size.
* config/aarch64/aarch64-simd.md (aarch64_simd_ld2r<mode>):
Change operand mode from <V_TWO_ELEM> to BLK.
(aarch64_vec_load_lanesoi_lane<mode>): Likewise.
(aarch64_vec_store_lanesoi_lane<mode): Likewise
(aarch64_ld2r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
(aarch64_ld2_lane<mode>): Likewise.
(aarch64_st2_lane<VQ:mode>): Likewise.
* config/aarch64/iterators.md (V_TWO_ELEM): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227790
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 15 Sep 2015 12:43:07 +0000 (12:43 +0000)]
[AArch64 array_mode 5/8] Remove V_FOUR_ELEM, again using BLKmode + set_mem_size.
* config/aarch64/aarch64-simd.md (aarch64_simd_ld4r<mode>):
Change operand mode from <V_FOUR_ELEM> to BLK.
(aarch64_vec_load_lanesxi_lane<mode>): Likewise.
(aarch64_vec_store_lanesxi_lane<mode): Likewise.
(aarch64_ld4r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
(aarch64_ld4_lane<mode>): Likewise.
(aarch64_st4_lane<mode>): Likewise.
* config/aarch64/iterators.md (V_FOUR_ELEM): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227789
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 15 Sep 2015 12:37:19 +0000 (12:37 +0000)]
2015-09-15 Richard Biener <rguenther@suse.de>
PR middle-end/67563
* gimple-fold.c (gimplify_and_update_call_from_tree): Do not
transfer EH info from old to new stmt.
(replace_call_with_value): Likewise.
(replace_call_with_call_and_fold): Likewise.
(gimple_fold_builtin_memory_op): Likewise.
(gimple_fold_builtin_memset): Likewise.
(gimple_fold_builtin_stpcpy): Likewise.
(gimple_fold_call): Likewise.
* gcc.dg/pr67563.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227788
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 15 Sep 2015 12:33:42 +0000 (12:33 +0000)]
[AArch64 array_mode 4/8] Remove EImode
* config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update
comment.
* config/aarch64/aarch64-builtins.c (ei_UP): Remove.
(aarch64_simd_intEI_type_node): Likewise.
(aarch64_simd_builtin_std_type): Remove EImode case.
(aarch64_init_simd_builtin_types): Don't create/add intEI_type_node.
* config/aarch64/aarch64-modes.def: Remove EImode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227787
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 15 Sep 2015 12:32:31 +0000 (12:32 +0000)]
runtime: Ignore stack sizes when deciding when to GC.
This restores https://golang.org/cl/6081043 which was lost accidentally
when updating a new version of libgo in https://golang.org/cl/
22440043 .
Reviewed-on: https://go-review.googlesource.com/14569
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227784
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 15 Sep 2015 12:28:20 +0000 (12:28 +0000)]
[AArch64 array_mode 3/8] Stop using EImode in aarch64-simd.md and iterators.md
* config/aarch64/aarch64-simd.md (aarch64_simd_ld3r<mode>):
Change operand mode from <V_THREE_ELEM> to BLK.
(aarch64_vec_load_lanesci_lane<mode>): Likewise.
(aarch64_vec_store_lanesci_lane<mode>): Likewise.
(aarch64_ld3r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
(aarch64_ld3_lane<mode>): Likewise.
(aarch64_st3_lane<mode>): Likewise.
* config/aarch64/iterators.md (V_THREE_ELEM): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227783
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 15 Sep 2015 12:11:27 +0000 (12:11 +0000)]
[AArch64 array_mode 2/8] Remove VSTRUCT_DREG, use BLKmode for d-reg aarch64_st/ld expands
* config/aarch64/aarch64-simd.md
(aarch64_ld2<mode>_dreg VD & DX, aarch64_st2<mode>_dreg VD & DX ):
Change all TImode operands to BLKmode.
(aarch64_ld3<mode>_dreg VD & DX, aarch64_st3<mode>_dreg VD & DX):
Change all EImode operands to BLKmode.
(aarch64_ld4<mode>_dreg VD & DX, aarch64_st4<mode>_dreg VD & DX):
Change all OImode operands to BLKmode.
(aarch64_ld<VSTRUCT:nregs><VDC:mode>): Generate MEM rtx with BLKmode
and call set_mem_size.
(aarch64_st<VSTRUCT:nregs><VDC:mode>): Likewise
* config/aarch64/iterators.md (VSTRUCT_DREG): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227782
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 15 Sep 2015 11:39:12 +0000 (11:39 +0000)]
[AArch64 array_mode 1/8] Rename vec_store_lanes<mode>_lane to aarch64_vec_store_lanes<mode>_lane
* config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Rename
to...
(aarch64_vec_store_lanesoi_lane<mode>): ...this.
(vec_store_lanesci_lane<mode>): Rename to...
(aarch64_vec_store_lanesci_lane<mode>): ...this.
(vec_store_lanesxi_lane<mode>): Rename to...
(aarch64_vec_store_lanesxi_lane<mode>): ...this.
(aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
aarch64_st4_lane<mode>): Follow renaming.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227781
138bc75d-0d04-0410-961f-
82ee72b054a4
krebbel [Tue, 15 Sep 2015 11:07:16 +0000 (11:07 +0000)]
S/390: Add missing brackets.
gcc/ChangeLog:
2015-09-15 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_const_operand_ok): Add missing
brackets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227780
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 15 Sep 2015 08:00:30 +0000 (08:00 +0000)]
2015-09-15 Richard Biener <rguenther@suse.de>
PR lto/67568
* lto-streamer.h (lto_location_cache::current_sysp): Properly
initialize.
* lto-streamer-out.c (clear_line_info): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227779
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 15 Sep 2015 07:33:15 +0000 (07:33 +0000)]
2015-09-15 Richard Biener <rguenther@suse.de>
* doc/match-and-simplify.texi: Fix wording.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227778
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 15 Sep 2015 03:43:01 +0000 (03:43 +0000)]
libgo: don't provide ustat on arm64 GNU/Linux
This avoids linker warnings when linking against glibc, as apparently
arm64 GNU/Linux does not support the ustat system call.
Also update to automake 1.11.6, as that is the new GCC standard.
Reviewed-on: https://go-review.googlesource.com/14567
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227777
138bc75d-0d04-0410-961f-
82ee72b054a4
amker [Tue, 15 Sep 2015 02:12:47 +0000 (02:12 +0000)]
* tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip
unnecessary type conversion in op1.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227776
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Tue, 15 Sep 2015 00:38:21 +0000 (00:38 +0000)]
shrink-wrap: Rewrite
This patch rewrites the shrink-wrapping algorithm, allowing non-linear
pieces of CFG to be duplicated for use without prologue instead of just
linear pieces.
* shrink-wrap.c (requires_stack_frame_p): Fix formatting.
(dup_block_and_redirect): Delete function.
(can_dup_for_shrink_wrapping): New function.
(fix_fake_fallthrough_edge): New function.
(try_shrink_wrapping): Rewrite function.
(convert_to_simple_return): Call fix_fake_fallthrough_edge.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227775
138bc75d-0d04-0410-961f-
82ee72b054a4
kkojima [Tue, 15 Sep 2015 00:20:14 +0000 (00:20 +0000)]
* configure.ac: [SH] Fix target pattern for TLS support test so to
enable more arches.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227774
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 15 Sep 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227773
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Mon, 14 Sep 2015 20:10:30 +0000 (20:10 +0000)]
[PATCH] Minor DOM cleanup
PR tree-optimization/47679
* tree-ssa-dom.c (avail_expr_hash): Pass a pointer to a real
type rather than void *.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227762
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 14 Sep 2015 19:54:27 +0000 (19:54 +0000)]
PR c++/44282
* mangle.c (write_CV_qualifiers_for_type): Also warn about regparm
mangling with lower -fabi-version.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227761
138bc75d-0d04-0410-961f-
82ee72b054a4
manu [Mon, 14 Sep 2015 19:27:50 +0000 (19:27 +0000)]
The flag diagnostic_context::some_warnings_are_errors controls whether
to give the message "all warnings being treated as errors". However, when
warnings are buffered and then discarded, this flag is not reset. It turns
out we do not need this flag at all, since we already count explicitly how
many warnings were converted into errors, and this number is kept up to
date for the buffered diagnostics used by Fortran.
gcc/ChangeLog:
2015-09-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/67460
* diagnostic.c (diagnostic_initialize): Do not set
some_warnings_are_errors.
(diagnostic_finish): Use DK_WERROR count instead.
(diagnostic_report_diagnostic): Do not set
some_warnings_are_errors.
* diagnostic.h (struct diagnostic_context): Remove
some_warnings_are_errors.
gcc/testsuite/ChangeLog:
2015-09-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/67460
* gfortran.dg/pr67460.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227760
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 14 Sep 2015 17:54:08 +0000 (17:54 +0000)]
compiler: Ignore result context in constant expressions.
When evaluating a constant expression, the gofrontend would incorrectly
force each operand to be represented as the resulting type before
checking if the operation was valid with the untyped constants.
According to the language specification on constant
expressions(http://golang.org/ref/spec#Constant_expressions): "Untyped
boolean, numeric, and string constants may be used as operands wherever
it is legal to use an operand of boolean, numeric, or string type,
respectively."
Fixes golang/go#11566.
Reviewed-on: https://go-review.googlesource.com/12716
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227758
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 14 Sep 2015 17:44:22 +0000 (17:44 +0000)]
[SPARC] Simplify const_all_ones_operand
gen_rtx_CONST_VECTOR ensures that there is a single instance of:
(const_vector:M [(const_int -1) ... (const_int -1)])
for each M, so pointer equality with CONSTM1_RTX is enough. Also,
HOST_BITS_PER_WIDE_INT == 32 is doubly dead: HOST_WIDE_INT is always
64 bits now, and we always use const_int rather than const_double
or const_wide_int for all-ones values (or any other value that
fits in a signed HOST_WIDE_INT).
gcc/
* config/sparc/predicates.md (const_all_ones_operand): Use
CONSTM1_RTX to simplify definition.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227757
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 14 Sep 2015 17:41:13 +0000 (17:41 +0000)]
* ChangeLog: Fix shitespace.
* testsuite/ChangeLog: Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227756
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Mon, 14 Sep 2015 17:07:58 +0000 (17:07 +0000)]
* gcc.dg/gomp/dump-new-function-3.c (dg-final): Also scan for $loopfn.
* gcc.dg/gomp/notify-new-function-3.c (dg-final): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227755
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 14 Sep 2015 15:25:00 +0000 (15:25 +0000)]
/cp
2015-09-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51911
* parser.c (cp_parser_new_expression): Enforce 5.3.4/2 (as amended
per the spirit of DR 1467).
/testsuite
2015-09-14 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51911
* g++.dg/cpp0x/new-auto1.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227753
138bc75d-0d04-0410-961f-
82ee72b054a4
olegendo [Mon, 14 Sep 2015 13:46:14 +0000 (13:46 +0000)]
gcc/
PR target/67061
* config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop.
Handle call insns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227750
138bc75d-0d04-0410-961f-
82ee72b054a4
cltang [Mon, 14 Sep 2015 13:25:36 +0000 (13:25 +0000)]
2015-09-14 Chung-Lin Tang <cltang@codesourcery.com>
* lto-wrapper.c (merge_and_complain): Add OPT_fdiagnostics_show_caret,
OPT_fdiagnostics_show_option, OPT_fdiagnostics_show_location_, and
OPT_fshow_column to handled saved option cases.
(append_compiler_options): Do not skip the above added options.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227749
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Mon, 14 Sep 2015 13:16:59 +0000 (13:16 +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@227748
138bc75d-0d04-0410-961f-
82ee72b054a4
danglin [Mon, 14 Sep 2015 12:05:58 +0000 (12:05 +0000)]
PR middle-end/67401
* optabs.c (expand_atomic_compare_and_swap): Move result of emitting
sync_compare_and_swap_optab libcall to target_oval.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227746
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 14 Sep 2015 10:40:51 +0000 (10:40 +0000)]
* c-opts.c (c_common_post_options): Set C++ standard earlier, before
setting various warnings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227744
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Mon, 14 Sep 2015 10:36:50 +0000 (10:36 +0000)]
* c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
a negative value.
* c-typeck.c (set_nonincremental_init_from_string): Use
HOST_WIDE_INT_M1U when shifting a negative value.
* rtlanal.c (split_double): Cast to unsigned when shifting a negative
value.
* sched-int.h (UNKNOWN_DEP_COST): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227743
138bc75d-0d04-0410-961f-
82ee72b054a4
mark [Mon, 14 Sep 2015 09:49:47 +0000 (09:49 +0000)]
PR28901 -Wunused-variable ignores unused const initialised variables in C
12 years ago it was decided that -Wunused-variable shouldn't warn about
static const variables because some code used const static char rcsid[]
strings which were never used but wanted in the code anyway. But as the
bug points out this hides some real bugs. These days the usage of rcsids
is not very popular anymore. So this patch changes the default to warn
about unused static const variables in C with -Wunused-variable. And it
adds a new option -Wno-unused-const-variable to turn this warning off.
For C++ this new warning is off by default, since const variables can be
used as #defines in C++. New testcases for the new defaults in C and C++
are included testing the new warning and suppressing it with an unused
attribute or using -Wno-unused-const-variable.
gcc/ChangeLog
PR c/28901
* toplev.c (check_global_declaration): Check and use
warn_unused_const_variable.
* doc/invoke.texi (Warning Options): Add -Wunused-const-variable.
(-Wunused-variable): Remove non-constant. For C implies
-Wunused-const-variable.
(-Wunused-const-variable): New.
gcc/c-family/ChangeLog
PR c/28901
* c.opt (Wunused-variable): Option from common.opt.
(Wunused-const-variable): New option.
gcc/cp/ChangeLog
PR c/28901
* cp-objcp-common.c (cxx_warn_unused_global_decl): Remove hard-coded
VAR_P TREE_READONLY override.
gcc/testsuite/ChangeLog
PR c/28901
* g++.dg/warn/unused-variable-1.C: New test.
* g++.dg/warn/unused-variable-2.C: Likewise.
* gcc.dg/unused-4.c: Adjust warning for static const.
* gcc.dg/unused-variable-1.c: New test.
* gcc.dg/unused-variable-2.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227742
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 14 Sep 2015 09:40:17 +0000 (09:40 +0000)]
2015-09-14 Richard Biener <rguenther@suse.de>
* doc/match-and-simplify.texi: Update for changed syntax
of inner ifs and the new switch expression.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227741
138bc75d-0d04-0410-961f-
82ee72b054a4
ienkovich [Mon, 14 Sep 2015 09:36:29 +0000 (09:36 +0000)]
* config/i386/haswell.md: New file describing Haswell pipeline.
* config/i386/i386.c (processor_alias_table): Use CPU_HASWELL for
haswell-like processors.
(ix86_reassociation_width): Increase reassociation width for 64-bit
Haswell processor family.
* config/i386/i386.md: Introduce haswell cpu and include new md file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227740
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 14 Sep 2015 09:25:16 +0000 (09:25 +0000)]
2015-09-14 Richard Biener <rguenther@suse.de>
* doc/match-and-simplify.texi: Fixup some formatting issues
and document the 's' flag.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227739
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Mon, 14 Sep 2015 09:04:57 +0000 (09:04 +0000)]
Update my email address.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227738
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 14 Sep 2015 07:53:49 +0000 (07:53 +0000)]
* gcc-interface/misc.c (gnat_post_options): Issue a warning if
generating STABS debugging information when not the default.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227737
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 14 Sep 2015 07:21:38 +0000 (07:21 +0000)]
* gcc-interface/gigi.h (ref_filename): Delete.
(Sloc_to_locus): Add clean_column parameter defaulting to false.
(build_call_raise): Adjust comment.
(build_call_raise_range): Move around.
* gcc-interface/trans.c (ref_filename): Delete.
(gigi): Fix formatting.
(block_end_locus_sink): Delete.
(Sloc_to_locus1): Tidy up and reformat. Rename into...
(Sloc_to_locus): ...this. Add default for clean_colmun parameter.
(set_expr_location_from_node1): Rename into...
(set_expr_location_from_node): ...this.
(set_end_locus_from_node): Move around. Adjust for renaming.
(Handled_Sequence_Of_Statements_to_gnu): Likewise.
(add_cleanup): Likewise.
* gcc-interface/utils2.c (expand_sloc): New static function.
(build_call_raise): Call it.
(build_call_raise_column): Likewise.
(build_call_raise_range): Likewise. Move around.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227736
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 14 Sep 2015 07:05:51 +0000 (07:05 +0000)]
* gcc-interface/utils2.c (gnat_rewrite_reference) <COMPOUND_EXPR>: Add
another acceptable pattern for the RHS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227735
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 14 Sep 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227733
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Sun, 13 Sep 2015 18:54:59 +0000 (18:54 +0000)]
* gfortran.dg/private_type_3.f90: Require visibility.
* gfortran.dg/module_variable_2.f90: Same.
* gfortran.dg/nested_forall_1.f: Same.
* gfortran.dg/elemental_dependency_4.f90: Same.
* gfortran.dg/bind_c_usage_25.f90: Same.
* gfortran.dg/access_spec_1.f90: Same.
* gfortran.dg/public_private_module_2.f90: Same.
* gfortran.dg/host_assoc_variable_1.f90: Same.
* gfortran.dg/public_private_module_6.f90: Same.
* gfortran.dg/module_variable_1.f90: Same.
* gfortran.dg/pr37286.f90: Same.
* gfortran.dg/internal_pack_7.f90: Same.
* gfortran.dg/submodule_10.f08: Same.
* gfortran.dg/allocatable_function_8.f90: Same.
* gfortran.dg/merge_init_expr_2.f90: Same.
* gfortran.dg/class_37.f03: Same.
* gfortran.dg/vect/fast-math-vect-8.f90: Same.
* gfortran.dg/typebound_call_20.f03: Same.
* gfortran.dg/proc_ptr_result_3.f90: Same.
* gfortran.dg/pr32535.f90: Same.
* gfortran.dg/typebound_proc_19.f90: Same.
* gfortran.dg/initialization_10.f90: Same.
* gfortran.dg/bind_c_usage_8.f03: Same.
* gfortran.dg/pr61335.f90: Same.
* gfortran.dg/elemental_dependency_5.f90: Same.
* gfortran.dg/proc_ptr_3.f90: Same.
* gfortran.dg/debug/pr46756.f: XFAIL on AIX.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227730
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 13 Sep 2015 17:18:50 +0000 (17:18 +0000)]
* gcc.dg/torture/type-generic-1.c: Pass -DUNSAFE for Visium.
* gcc.dg/Wno-frame-address.c: Skip for Visium.
* gcc.dg/loop-8.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227729
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sun, 13 Sep 2015 17:10:54 +0000 (17:10 +0000)]
* config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and
gr6 as possible values, defaulting to gr5. Set target_cpu_default2.
* config/visium/visium.h (OPTION_DEFAULT_SPECS): Define.
(TARGET_CPU_gr5): Likewise.
(TARGET_CPU_gr6): Likewise.
(MULTILIB_DEFAULTS): Likewise.
* config/visium/t-visium (MULTILIB_OPTIONS): Request distinct variants
for mcpu=gr5 and mcpu=gr6.
(MULTILIB_DIRNAMES): Adjust accordingly.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227728
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 13 Sep 2015 16:55:38 +0000 (16:55 +0000)]
tree-ssa-loop-im.c: remove typedefs that hide pointerness
gcc/ChangeLog:
2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* tree-ssa-loop-im.c (mem_ref_loc_p): Remove typedef.
(mem_ref_p): Likewise.
(outermost_indep_loop): Adjust.
(mem_ref_in_stmt): Likewise.
(determine_max_movement): Likewise.
(mem_ref_alloc): Likewise.
(record_mem_ref_loc): Likewise.
(set_ref_stored_in_loop): Likewise.
(mark_ref_stored): Likewise.
(gather_mem_refs_stmt): Likewise.
(mem_refs_may_alias_p): Likewise.
(for_all_locs_in_loop): Likewise.
(struct rewrite_mem_ref_loc): Likewise.
(rewrite_mem_refs): Likewise.
(struct first_mem_ref_loc_1): Likewise.
(first_mem_ref_loc): Likewise.
(struct sm_set_flag_if_changed): Likewise.
(execute_sm_if_changed_flag_set): Likewise.
(execute_sm): Likewise.
(hoist_memory_references):
(struct ref_always_accessed): Likewise.
(ref_always_accessed_p): Likewise.
(refs_independent_p): Likewise.
(record_dep_loop): Likewise.
(ref_indep_loop_p_1): Likewise.
(ref_indep_loop_p_2): Likewise.
(ref_indep_loop_p): Likewise.
(can_sm_ref_p): Likewise.
(find_refs_for_sm): Likewise.
(tree_ssa_lim_finalize): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227727
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 13 Sep 2015 16:55:22 +0000 (16:55 +0000)]
dwarf2out.c: remove typedefs that hide pointerness
gcc/ChangeLog:
2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* dwarf2out.c (dw_attr_ref): Remove typedef.
(dw_line_info_ref): Likewise.
(pubname_ref): Likewise.
(dw_ranges_ref): Likewise.
(dw_ranges_by_label_ref): Likewise.
(comdat_type_node_ref): Likewise.
(dw_line_info_table_struct): Rename to dw_line_info_table.
(get_AT): Adjust.
(get_AT_low_pc): Likewise.
(get_AT_hi_pc): Likewise.
(get_AT_string): Likewise.
(get_AT_flag): Likewise.
(get_AT_unsigned): Likewise.
(get_AT_ref): Likewise.
(get_AT_file): Likewise.
(remove_AT): Likewise.
(print_die): Likewise.
(check_die): Likewise.
(die_checksum): Likewise.
(attr_checksum_ordered): Likewise.
(struct checksum_attributes): Likewise.
(collect_checksum_attributes): Likewise.
(die_checksum_ordered): Likewise.
(same_die_p): Likewise.
(is_declaration_die): Likewise.
(clone_die): Likewise.
(clone_as_declaration): Likewise.
(copy_declaration_context): Likewise.
(break_out_comdat_types): Likewise.
(copy_decls_walk): Likewise.
(output_location_lists): Likewise.
(external_ref_hasher::hash): Likewise.
(optimize_external_refs_1): Likewise.
(build_abbrev_table): Likewise.
(size_of_die): Likewise.
(unmark_all_dies): Likewise.
(size_of_pubnames): Likewise.
(output_die_abbrevs): Likewise.
(output_die): Likewise.
(output_pubnames): Likewise.
(add_ranges_num): Likewise.
(add_ranges_by_labels): Likewise.
(add_high_low_attributes): Likewise.
(gen_producer_string): Likewise.
(dwarf2out_set_name): Likewise.
(new_line_info_table): Likewise.
(prune_unused_types_walk_attribs): Likewise.
(prune_unused_types_update_strings): Likewise.
(prune_unused_types): Likewise.
(resolve_addr): Likewise.
(optimize_location_lists_1): Likewise.
(index_location_lists): Likewise.
(dwarf2out_finish): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227726
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 13 Sep 2015 16:55:05 +0000 (16:55 +0000)]
dwarf2cfi.c: remove typedef that hides pointerness
gcc/ChangeLog:
2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* dwarf2cfi.c (dw_trace_info_ref): Remove typedef.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227725
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 13 Sep 2015 16:54:48 +0000 (16:54 +0000)]
tree-vrp.c: remove typedefs that hide pointerness
gcc/ChangeLog:
2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* tree-vrp.c (struct assert_locus_d): Rename to assert_locus.
(dump_asserts_for): Adjust.
(register_new_assert_for): Likewise.
(process_assert_insertions): Likewise.
(insert_range_assertions): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227724
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 13 Sep 2015 16:54:32 +0000 (16:54 +0000)]
tree-ssa-ter.c: remove typedefs that hide pointerness
gcc/ChangeLog:
2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* tree-ssa-ter.c (temp_expr_table_d): Rename to temp_expr_table
and remove typedef.
(new_temp_expr_table): Adjust.
(free_temp_expr_table): Likewise.
(version_to_be_replaced_p): Likewise.
(make_dependent_on_partition): Likewise.
(add_to_partition_kill_list): Likewise.
(remove_from_partition_kill_list): Likewise.
(add_dependence): Likewise.
(finished_with_expr): Likewise.
(process_replaceable): Likewise.
(kill_expr): Likewise.
(kill_virtual_exprs): Likewise.
(mark_replaceable): Likewise.
(find_replaceable_in_bb): Likewise.
(find_replaceable_exprs): Likewise.
(debug_ter): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227723
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 13 Sep 2015 16:54:15 +0000 (16:54 +0000)]
bt-load.c: remove typedefs that hide pointerness
gcc/ChangeLog:
2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* bt-load.c (struct btr_def_group): Rename from btr_def_group_s.
(struct btr_user): Rename from btr_user_s.
(struct btr_def): Rename from btr_def_s.
(find_btr_def_group): Adjust.
(add_btr_def): Likewise.
(new_btr_user): Likewise.
(note_other_use_this_block): Likewise.
(compute_defs_uses_and_gen): Likewise.
(link_btr_uses): Likewise.
(build_btr_def_use_webs): Likewise.
(block_at_edge_of_live_range_p): Likewise.
(btr_def_live_range): Likewise.
(combine_btr_defs): Likewise.
(move_btr_def): Likewise.
(migrate_btr_def): Likewise.
(migrate_btr_defs): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227722
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 13 Sep 2015 16:53:59 +0000 (16:53 +0000)]
var-tracking.c: remove typedef of shared_hash
gcc/ChangeLog:
2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* var-tracking.c (shared_hash_def): Rename to shared_hash.
(shared_hash): Remove typedef.
(struct dataflow_set): Adjust.
(shared_hash_unshare): Likewise.
(dataflow_set_merge): Likewise.
(vt_initialize): Likewise.
(vt_finalize): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227721
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 13 Sep 2015 16:53:42 +0000 (16:53 +0000)]
var-tracking.c: remove typedef of location_chain
gcc/ChangeLog:
2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* var-tracking.c (struct location_chain): Rename from
location_chain_def.
(struct variable_part): Adjust.
(variable_htab_free): Likewise.
(unshare_variable): Likewise.
(get_init_value): Likewise.
(get_addr_from_local_cache): Likewise.
(drop_overlapping_mem_locs): Likewise.
(val_reset): Likewise.
(struct variable_union_info): Likewise.
(variable_union): Likewise.
(find_loc_in_1pdv): Likewise.
(insert_into_intersection): Likewise.
(intersect_loc_chains): Likewise.
(canonicalize_loc_order_check): Likewise.
(canonicalize_values_mark): Likewise.
(canonicalize_values_star): Likewise.
(canonicalize_vars_star): Likewise.
(variable_merge_over_cur): Likewise.
(remove_duplicate_values): Likewise.
(variable_post_merge_new_vals): Likewise.
(variable_post_merge_perm_vals): Likewise.
(find_mem_expr_in_1pdv): Likewise.
(dataflow_set_preserve_mem_locs): Likewise.
(dataflow_set_remove_mem_locs): Likewise.
(variable_part_different_p): Likewise.
(onepart_variable_different_p): Likewise.
(find_src_set_src): Likewise.
(dump_var): Likewise.
(set_slot_part): Likewise.
(clobber_slot_part): Likewise.
(delete_slot_part): Likewise.
(vt_expand_var_loc_chain): Likewise.
(emit_note_insn_var_location): Likewise.
(vt_finalize): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227720
138bc75d-0d04-0410-961f-
82ee72b054a4
tbsaunde [Sun, 13 Sep 2015 16:53:25 +0000 (16:53 +0000)]
dse.c: remove some typedefs that hide pointerness
gcc/ChangeLog:
2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* dse.c (store_info_t): Remove typedef.
(group_info_t): Likewise.
(const_group_info_t): Likewise.
(deferred_change_t): Likewise.
(get_group_info): Adjust.
(free_store_info): Likewise.
(canon_address): Likewise.
(clear_rhs_from_active_local_stores): Likewise.
(record_store): Likewise.
(replace_read): Likewise.
(check_mem_read_rtx): Likewise.
(scan_insn): Likewise.
(remove_useless_values): Likewise.
(dse_step1): Likewise.
(dse_step2_init): Likewise.
(dse_step2_nospill): Likewise.
(scan_stores_nospill): Likewise.
(scan_reads_nospill): Likewise.
(dse_step3_exit_block_scan): Likewise.
(dse_step3): Likewise.
(dse_step5_nospill): Likewise.
(dse_step6): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227719
138bc75d-0d04-0410-961f-
82ee72b054a4