Trevor Saunders
59cdeebcbe
use c++ for gimple_build_debug_bind{,_source}
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* gimple.c (gimple_build_debug_bind_stat): Remove _stat from name.
(gimple_build_debug_bind_source_stat): Likewise.
* gimple.h (gimple_build_debug_bind): Remove macro.
(gimple_build_debug_bind_source): Likewise.
From-SVN: r250711
2017-07-29 01:39:42 +00:00
Trevor Saunders
2a1a5f3080
use c++ for bitmap_initialize
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* bitmap.c (bitmap_alloc): Adjust.
(bitmap_gc_alloc): Likewise.
* bitmap.h (bitmap_initialize_stat): Remove _stat from name.
From-SVN: r250710
2017-07-29 01:39:36 +00:00
Trevor Saunders
3fe793df7c
simplify the bitmap alloc_stat functions with c++
...
gcc/fortran/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* resolve.c (find_reachable_labels): Adjust.
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* bitmap.c (bitmap_obstack_alloc_stat): Rename to bitmap_alloc.
(bitmap_gc_alloc_stat): Rename to bitmap_gc_alloc.
* bitmap.h (bitmap_obstack_alloc_stat): Adjust prototype.
(bitmap_gc_alloc_stat): Likewise.
(BITMAP_ALLOC, BITMAP_GGC_ALLOC): Adjust.
From-SVN: r250709
2017-07-29 01:39:31 +00:00
Trevor Saunders
22a7303de2
replace shallow_copy_rtx_stat with c++
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* rtl.c (shallow_copy_rtx_stat): Remove _stat from name.
* rtl.h (shallow_copy_rtx): Remove macro.
From-SVN: r250708
2017-07-29 01:39:25 +00:00
Trevor Saunders
84c2ad2314
replace rtx_alloc_stat with c++
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* emit-rtl.c (gen_raw_REG): Adjust.
* gengenrtl.c (gendef): Likewise.
* rtl.c (rtx_alloc_stat): Remove _stat from name.
* rtl.h (rtx_alloc): Remove macro.
From-SVN: r250707
2017-07-29 01:39:17 +00:00
Trevor Saunders
623ee2853e
use c++ for build_tree_list{,_vec}_stat
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* tree.c (build_tree_list_vec_stat): Remove _stat from name.
(build_tree_list_stat): Likewise.
* tree.h (build_tree_list): Remove macro.
(build_tree_list_vec): Likewise.
From-SVN: r250706
2017-07-29 01:39:10 +00:00
Trevor Saunders
7488a79fa3
use C++ for {make,build}_vector_stat
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* tree.c (make_vector_stat): Remove _stat from name.
(build_vector_stat): Likewise.
* tree.h (make_vector_stat): Remove macro.
(build_vector_stat): Likewise.
From-SVN: r250705
2017-07-29 01:39:03 +00:00
Trevor Saunders
b161404990
remove unused build_var_debug_value prototype
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* tree.h (build_var_debug_value): Remove prototype.
From-SVN: r250704
2017-07-29 01:38:57 +00:00
Trevor Saunders
126d0cd4ad
use c++ for tree_cons_stat
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* tree.c (tree_cons_stat): Remove _stat from name.
* tree.h (tree_cons): Remove macro.
From-SVN: r250703
2017-07-29 01:38:51 +00:00
Trevor Saunders
7aa717c1d1
use c++ instead of build_vl_exp_stat
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* tree.c (build_vl_exp_stat): Remove _stat from name.
* tree.h (build_vl_exp): Remove macro.
From-SVN: r250702
2017-07-29 01:38:43 +00:00
Trevor Saunders
31b8d81fa6
use c++ instead of build_decl_stat
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* tree.c (build_decl_stat): Remove _stat from name.
* tree.h (build_decl): Remove macro.
From-SVN: r250701
2017-07-29 01:38:37 +00:00
Trevor Saunders
9e2d7f4604
replace gimple_alloc_stat with c++
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* gimple.c (gimple_build_with_ops_stat): Adjust.
(gimple_alloc_stat): Remove _stat from name.
* gimple.h (gimple_alloc): Remove macro.
From-SVN: r250700
2017-07-29 01:38:31 +00:00
Trevor Saunders
9f896a4520
use c++ instead of {make,grow}_tree_vec_stat
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* tree.c (make_tree_vec_stat): Remove _stat from name.
(grow_tree_vec_stat): Likewise.
* tree.h (make_tree_vec_stat): Adjust prototype.
(grow_tree_vec_stat): Likewise.
(make_tree_vec): Remove macro.
(grow_tree_vec): Likewise.
From-SVN: r250699
2017-07-29 01:38:25 +00:00
Trevor Saunders
6db60760b3
use c++ instead of buildN_stat{,_loc}
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* fold-const.c (fold_build1_stat_loc): Adjust.
(fold_build2_stat_loc): Likewise.
(fold_build3_stat_loc): Likewise.
* tree.c (build0_stat): Remove _stat from name.
(build1_stat): Likewise.
(build2_stat): Likewise.
(build3_stat): Likewise.
(build4_stat): Likewise.
(build5_stat): Likewise.
* tree.h (build1_loc): Remove macro, and rename _stat function
to this.
(build2_loc): Likewise.
(build3_loc): Likewise.
(build4_loc): Likewise.
(build5_loc): Likewise.
From-SVN: r250698
2017-07-29 01:38:19 +00:00
Trevor Saunders
4bd2de4b45
use c++ for make_int_cst_stat
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* tree.c (make_int_cst_stat): Remove _stat from name.
* tree.h (make_int_cst_stat): Adjust prototype.
(make_int_cst): Remove macro.
From-SVN: r250697
2017-07-29 01:38:12 +00:00
Trevor Saunders
86cbccd7d5
use cxx instead of make_tree_binfo_stat
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* tree.c (make_tre_binfo_stat): Remove _stat from name.
* tree.h (make_tree_binfo_stat): Adjust prototype.
(make_tree_binfo): Remove.
From-SVN: r250696
2017-07-29 01:38:06 +00:00
Trevor Saunders
39d970d7d2
use c++ instead of _stat for copy_node_stat
...
gcc/cp/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* lex.c (copy_decl): Adjust.
(copy_type): Likewise.
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* tree.c (copy_node_stat): Rename to copy_node.
(build_distinct_type_copy): Adjust.
* tree.h (copy_node_stat): Adjust prototype.
(copy_node): Remove macro.
From-SVN: r250695
2017-07-29 01:38:00 +00:00
Trevor Saunders
f719e2f1d7
use c++ instead of make_node_stat
...
gcc/ChangeLog:
2017-07-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org >
* tree.c (make_node_stat): rename to make_node.
(build_tree_list_stat): Adjust.
(build0_stat): Likewise.
(build2_stat): Likewise.
(build3_stat): Likewise.
(build4_stat): Likewise.
(build5_stat): Likewise.
(build_decl_stat): Likewise.
* tree.h (make_node_stat): Adjust prototype.
(make_node): remove macro.
From-SVN: r250694
2017-07-29 01:37:54 +00:00
GCC Administrator
57a93c6a66
Daily bump.
...
From-SVN: r250693
2017-07-29 00:16:41 +00:00
Peter Bergner
782a7850ed
ppc-auxv.h (PPC_FEATURE2_DARN): New define.
...
gcc/
* config/rs6000/ppc-auxv.h (PPC_FEATURE2_DARN): New define.
(PPC_FEATURE2_SCV): Likewise.
* config/rs6000/rs6000.c (cpu_supports_info): Use them.
gcc/testsuite/
* gcc.target/powerpc/cpu-builtin-1.c (darn, scv): Add tests.
From-SVN: r250687
2017-07-28 15:10:45 -05:00
Ian Lance Taylor
02c7e7eb5e
compiler: add backend type conversion
...
Tweak Interface_field_reference_expression::do_get_backend to apply an
additional backend type conversion to the returned result. This is
needed due to the fact that the top level type of the expression is a
function descriptor, however the value being manufactured is a pointer
to <thunk-descriptor, value> struct.
Reviewed-on: https://go-review.googlesource.com/51712
From-SVN: r250686
2017-07-28 19:58:01 +00:00
Tony Reix
5a427c633b
configure.ac (target-libffi): Don't disable for AIX.
...
2017-07-28 Tony Reix <tony.reix@atos.net >
* configure.ac (target-libffi): Don't disable for AIX.
(go): Don't add to unsupported_languages on AIX.
(target-libgo): Don't disable for AIX.
* configure: Regenerate.
From-SVN: r250685
2017-07-28 14:56:28 -04:00
Tony Reix
afce7debdc
* xcoff.c: Don't leak a file descriptor if an archive is malformed.
...
From-SVN: r250684
2017-07-28 18:52:13 +00:00
Ian Lance Taylor
9761988fc7
compiler: track placeholder pointer types for conversion
...
We recently started walking through the hash table of pointer types to
finalize them. Unfortunately it is possible to create a new pointer
type while finalizing an existing one (test case: test/fixedbugs/issue5291)
and that breaks the iteration. So, instead, keep a list of
placeholder pointer types, and iterate through them while permitting
the list to be extended as we go.
Reviewed-on: https://go-review.googlesource.com/51771
From-SVN: r250683
2017-07-28 18:03:29 +00:00
Ian Lance Taylor
97a0928c52
compiler: use a single temporary for calls with multiple results
...
For calls that return multiple results we used to create a temporary
of struct type to hold the results, and also create a separate
temporary for each result. Then the call expression would copy each
result out of the struct to the temporary, and Call_result_expression
would refer to the desired temporary.
Simplify this to just use a single temporary of struct type, and
change Call_result_expression to fetch a field of the struct.
This may reduce some incorrect tree sharing in the backend code.
Reviewed-on: https://go-review.googlesource.com/51770
From-SVN: r250682
2017-07-28 17:42:05 +00:00
Tamar Christina
9de009354e
2017-07-28 Tamar Christina <tamar.christina@arm.com>
...
* config/aarch64/aarch64.c
(aarch64_internal_mov_immediate): Add new special pattern.
* config/aarch64/aarch64.md (*movdi_aarch64):
Add reg/32bit const mov case.
gcc/testsuite/
2017-07-28 Tamar Christina <tamar.christina@arm.com >
* gcc.target/aarch64/int_mov_immediate_1.c: New.
From-SVN: r250680
2017-07-28 16:47:08 +00:00
Bin Cheng
8de33df278
pr80815-3.c: Require vect_perm.
...
gcc/testsuite
* gcc.dg/vect/pr80815-3.c: Require vect_perm.
From-SVN: r250676
2017-07-28 16:30:44 +00:00
Rainer Orth
cf311b0355
Fix pid_t printing
...
* fileline.c (fileline_initialize): Print pid_t as long.
From-SVN: r250675
2017-07-28 16:26:39 +00:00
Tamar Christina
8acb8421b9
dbl_mov_immediate_1.c: New.
...
2017-07-28 Tamar Christina <tamar.christina@arm.com >
Bilyan Borisov <bilyan.borisov@arm.com >
* gcc.target/aarch64/dbl_mov_immediate_1.c: New.
* gcc.target/aarch64/flt_mov_immediate_1.c: New.
* gcc.target/aarch64/f16_mov_immediate_1.c: New.
* gcc.target/aarch64/f16_mov_immediate_2.c: New.
* gcc.target/aarch64/pr63304_1.c: Changed to double.
Co-Authored-By: Bilyan Borisov <bilyan.borisov@arm.com >
From-SVN: r250674
2017-07-28 15:14:25 +00:00
Tamar Christina
90e6443f3a
aarch64.md (mov<mode>): Generalize.
...
2017-07-28 Tamar Christina <tamar.christina@arm.com >
Richard Sandiford <richard.sandiford@linaro.org >
* config/aarch64/aarch64.md (mov<mode>): Generalize.
(*movhf_aarch64, *movsf_aarch64, *movdf_aarch64):
Add integer and movi cases.
(movi-split-hf-df-sf split, fp16): New.
(enabled): Added TARGET_FP_F16INST.
* config/aarch64/iterators.md (GPF_HF): New.
* config/aarch64/predicates.md (aarch64_reg_or_fp_float): New.
Co-Authored-By: Richard Sandiford <richard.sandiford@linaro.org >
From-SVN: r250673
2017-07-28 15:12:32 +00:00
Tamar Christina
a217096563
2017-07-28 Tamar Christina <tamar.christina@arm.com>
...
* config/aarch64/aarch64.c
(aarch64_simd_container_mode): Add prototype.
(aarch64_expand_mov_immediate): Add HI support.
(aarch64_reinterpret_float_as_int, aarch64_float_const_rtx_p: New.
(aarch64_can_const_movi_rtx_p): New.
(aarch64_preferred_reload_class):
Remove restrictions of using FP registers for certain SIMD operations.
(aarch64_rtx_costs): Added new cost for CONST_DOUBLE moves.
(aarch64_valid_floating_const): Add integer move validation.
(aarch64_simd_imm_scalar_p): Remove.
(aarch64_output_scalar_simd_mov_immediate): Generalize function.
(aarch64_legitimate_constant_p): Expand list of supported cases.
* config/aarch64/aarch64-protos.h
(aarch64_float_const_rtx_p, aarch64_can_const_movi_rtx_p): New.
(aarch64_reinterpret_float_as_int): New.
(aarch64_simd_imm_scalar_p): Remove.
* config/aarch64/constraints.md (Uvi): New.
(Dd): Split into Ds and new Dd.
* config/aarch64/aarch64.md (*movsi_aarch64):
Add SIMD mov case.
(*movdi_aarch64): Add SIMD mov case.
From-SVN: r250672
2017-07-28 15:11:25 +00:00
Bin Cheng
39ff50cef1
tree-predcom.c: (struct chain): Handle store-store chain in which stores for elimination only...
...
* tree-predcom.c: (struct chain): Handle store-store chain in which
stores for elimination only store loop invariant values.
(execute_pred_commoning_chain): Ditto.
(prepare_initializers_chain_store_elim): Ditto.
(prepare_finalizers): Ditto.
(is_inv_store_elimination_chain): New function.
(initialize_root_vars_store_elim_1): New function.
From-SVN: r250670
2017-07-28 15:03:09 +00:00
Bin Cheng
d9c259efd7
tree-predcom.c: Revise general description of the pass.
...
* tree-predcom.c: Revise general description of the pass.
(enum chain_type): New enum type for store elimination.
(struct chain): New field supporting store elimination.
(struct component): Ditto.
(dump_chain): Dump store-stores chain.
(release_chain): Release resources.
(split_data_refs_to_components): Compute and create component
contains only stores for elimination.
(get_chain_last_ref_at): New function.
(make_invariant_chain): Initialization.
(make_rooted_chain): Specify chain type in parameter and record it.
(add_looparound_copies): Skip for store-stores chain.
(determine_roots_comp): Compute type of chain and pass it to
make_rooted_chain.
(initialize_root_vars_store_elim_2): New function.
(finalize_eliminated_stores): New function.
(remove_stmt): Handle store for elimination.
(execute_pred_commoning_chain): Execute predictive commoning on
store-store chains.
(determine_unroll_factor): Skip unroll for store-stores chain.
(prepare_initializers_chain_store_elim): New function.
(prepare_initializers_chain): Hanlde store-store chain.
(prepare_finalizers_chain, prepare_finalizers): New function.
(tree_predictive_commoning_loop): Return integer value indicating
if loop is unrolled or lcssa form is corrupted.
(tree_predictive_commoning): Rewrite for lcssa form if necessary.
gcc/testsuite
* gcc.dg/tree-ssa/predcom-dse-1.c: New test.
* gcc.dg/tree-ssa/predcom-dse-2.c: New test.
* gcc.dg/tree-ssa/predcom-dse-3.c: New test.
* gcc.dg/tree-ssa/predcom-dse-4.c: New test.
* gcc.dg/tree-ssa/predcom-dse-5.c: New test.
* gcc.dg/tree-ssa/predcom-dse-6.c: New test.
* gcc.dg/tree-ssa/predcom-dse-7.c: New test.
* gcc.dg/tree-ssa/predcom-dse-8.c: New test.
* gcc.dg/tree-ssa/predcom-dse-9.c: New test.
* gcc.dg/tree-ssa/predcom-dse-10.c: New test.
* gcc.dg/tree-ssa/predcom-dse-11.c: New test.
From-SVN: r250669
2017-07-28 15:01:28 +00:00
Bin Cheng
10dfaf9a3b
tree-predcom.c (initialize_root): Delete.
...
* tree-predcom.c (initialize_root): Delete.
(execute_pred_commoning_chain): Initialize root vars and replace
reference of non-combined chain directly, rather than call above
function.
From-SVN: r250668
2017-07-28 14:58:11 +00:00
Bin Cheng
3c62a7fb6e
tree-predcom.c (ref_at_iteration): Add parameter NITERS.
...
* tree-predcom.c (ref_at_iteration): Add parameter NITERS. Compute
memory reference to DR at (NITERS + ITERS)-th iteration of loop.
From-SVN: r250667
2017-07-28 14:57:05 +00:00
Bin Cheng
aa4de160cc
tree-predcom.c (struct chain): New field init_seq.
...
* tree-predcom.c (struct chain): New field init_seq.
(release_chain): Release init_seq.
(prepare_initializers_chain): Record intialization stmts in above
field.
(insert_init_seqs): New function.
(tree_predictive_commoning_loop): Call insert_init_seqs.
From-SVN: r250666
2017-07-28 14:55:49 +00:00
Bin Cheng
67bb451dfb
* tree-predcom.c (determine_roots_comp): Skip trivial components.
...
From-SVN: r250665
2017-07-28 14:54:20 +00:00
Richard Biener
6c35e5b022
match.pd: Remove superfluous :c.
...
2017-07-28 Richard Biener <rguenther@suse.de >
* match.pd: Remove superfluous :c.
* genmatch.c (simplify::id): Add member.
(lower_commutative, lower_opt_convert, lower_cond, lower_for):
Copy id.
(current_id): New global.
(dt_node::parent): Move from ...
(dt_operand::parent): ... here. Add for_id member.
(is_a_helper <dt_operand *>::test): DT_TRUE is also a dt_operand.
(decision_tree::find_node): Relax order requirement when
merging DT_TRUE nodes to ones inbetween the current simplify
and the one we try to merge with. Add diagnostic whenever
we need to enforce pattern order by not merging.
(decision_tree::insert): Set current_id.
(decision_tree::print_node): Dump parent node and for_id.
(parser::last_id): Add member.
(parser::push_simplify): Assign unique id.
(parser::parser): Initialize last_id.
From-SVN: r250664
2017-07-28 13:38:01 +00:00
Martin Liska
6d7649f8b7
Set DECL_VALUE_EXPR after a debug stmt is generated (PR sanitizer/81340).
...
2017-07-28 Martin Liska <mliska@suse.cz >
PR sanitizer/81340
* sanopt.c (sanitize_rewrite_addressable_params): Set VALUE_EXPR after
gimple_build_debug_bind.
2017-07-28 Martin Liska <mliska@suse.cz >
PR sanitizer/81340
* g++.dg/asan/pr81340.C: New test.
From-SVN: r250660
2017-07-28 11:56:47 +00:00
Richard Biener
92e29a5e86
re PR middle-end/81502 (In some cases the data is moved to memory unnecessarily [partial regression])
...
2017-07-28 Richard Biener <rguenther@suse.de >
PR tree-optimization/81502
* match.pd: Add pattern combining BIT_INSERT_EXPR with
BIT_FIELD_REF.
* tree-cfg.c (verify_expr): Verify types of BIT_FIELD_REF
size/pos operands.
(verify_gimple_assign_ternary): Likewise for BIT_INSERT_EXPR pos.
* gimple-fold.c (maybe_canonicalize_mem_ref_addr): Use bitsizetype
for BIT_FIELD_REF args.
* fold-const.c (make_bit_field_ref): Likewise.
* tree-vect-stmts.c (vectorizable_simd_clone_call): Likewise.
* gcc.target/i386/pr81502.c: New testcase.
From-SVN: r250659
2017-07-28 11:27:45 +00:00
Jakub Jelinek
c9b39a4955
re PR sanitizer/80998 (Implement -fsanitize=pointer-overflow)
...
PR sanitizer/80998
* sanopt.c (pass_sanopt::execute): Handle IFN_UBSAN_PTR.
* tree-ssa-alias.c (call_may_clobber_ref_p_1): Likewise.
* flag-types.h (enum sanitize_code): Add SANITIZER_POINTER_OVERFLOW.
Or it into SANITIZER_UNDEFINED.
* ubsan.c: Include gimple-fold.h and varasm.h.
(ubsan_expand_ptr_ifn): New function.
(instrument_pointer_overflow): New function.
(maybe_instrument_pointer_overflow): New function.
(instrument_object_size): Formatting fix.
(pass_ubsan::execute): Call instrument_pointer_overflow
and maybe_instrument_pointer_overflow.
* internal-fn.c (expand_UBSAN_PTR): New function.
* ubsan.h (ubsan_expand_ptr_ifn): Declare.
* sanitizer.def (__ubsan_handle_pointer_overflow,
__ubsan_handle_pointer_overflow_abort): New builtins.
* tree-ssa-tail-merge.c (merge_stmts_p): Handle IFN_UBSAN_PTR.
* internal-fn.def (UBSAN_PTR): New internal function.
* opts.c (sanitizer_opts): Add pointer-overflow.
* lto-streamer-in.c (input_function): Handle IFN_UBSAN_PTR.
* fold-const.c (build_range_check): Compute pointer range check in
integral type if pointer arithmetics would be needed. Formatting
fixes.
gcc/testsuite/
* c-c++-common/ubsan/ptr-overflow-1.c: New test.
* c-c++-common/ubsan/ptr-overflow-2.c: New test.
libsanitizer/
* ubsan/ubsan_handlers.cc: Cherry-pick upstream r304461.
* ubsan/ubsan_checks.inc: Likewise.
* ubsan/ubsan_handlers.h: Likewise.
From-SVN: r250656
2017-07-28 12:37:51 +02:00
Martin Liska
70affe6aff
Do not handle VLA in sanitization (PR sanitizer/81460).
...
2017-07-28 Martin Liska <mliska@suse.cz >
PR sanitizer/81460
* sanopt.c (sanitize_rewrite_addressable_params): Do not rewrite
parameters that are of a variable-length.
2017-07-28 Martin Liska <mliska@suse.cz >
PR sanitizer/81460
* gcc.dg/asan/pr81460.c: New test.
From-SVN: r250655
2017-07-28 10:36:36 +00:00
Sebastian Huber
16bab95a79
[PowerPC/RTEMS] Add 64-bit support using ELFv2 ABI
...
Add 64-bit support for RTEMS using the ELFv2 ABI with 64-bit long
double.
gcc/
* config.gcc (powerpc-*-rtems*): Remove rs6000/eabi.h. Add
rs6000/biarch64.h.
* config/rs6000/rtems.h (ASM_DECLARE_FUNCTION_SIZE): New macro.
(ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
(CRT_CALL_STATIC_FUNCTION): Likewise.
(ASM_DEFAULT_SPEC): New define.
(ASM_SPEC32): Likewise.
(ASM_SPEC64): Likewise.
(ASM_SPEC_COMMON): Likewise.
(ASM_SPEC): Likewise.
(INVALID_64BIT): Likewise.
(LINK_OS_DEFAULT_SPEC): Likewise.
(LINK_OS_SPEC32): Likewise.
(LINK_OS_SPEC64): Likewise.
(POWERPC_LINUX): Likewise.
(PTRDIFF_TYPE): Likewise.
(RESTORE_FP_PREFIX): Likewise.
(RESTORE_FP_SUFFIX): Likewise.
(SAVE_FP_PREFIX): Likewise.
(SAVE_FP_SUFFIX): Likewise.
(SIZE_TYPE): Likewise.
(SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
(TARGET_64BIT): Likewise.
(TARGET_64BIT): Likewise.
(TARGET_AIX): Likewise.
(WCHAR_TYPE_SIZE): Likewise.
(WCHAR_TYPE): Undefine.
(TARGET_OS_CPP_BUILTINS): Add 64-bit PowerPC defines.
(CPP_OS_DEFAULT_SPEC): Use previous CPP_OS_RTEMS_SPEC.
(CPP_OS_RTEMS_SPEC): Delete.
(SUBSUBTARGET_EXTRA_SPECS): Remove cpp_os_rtems. Add
asm_spec_common, asm_spec32, asm_spec64, link_os_spec32, and
link_os_spec64.
* config/rs6000/t-rtems: Add mcpu=e6500/m64 multilibs.
libgcc/
* config/rs6000/ibm-ldouble.c: Disable if defined __rtems__.
From-SVN: r250652
2017-07-28 07:17:10 +00:00
Jakub Jelinek
d0ee55a1f7
re PR tree-optimization/81578 (ICE in omp_reduction_init_op)
...
PR tree-optimization/81578
* tree-parloops.c (build_new_reduction): Bail out if
reduction_code isn't one of the standard OpenMP reductions.
Move the details printing after that decision.
* gcc.dg/pr81578.c: New test.
From-SVN: r250651
2017-07-28 09:11:51 +02:00
Richard Biener
1ce75e4156
re PR tree-optimization/81573 (wrong code at -O3 on x86_64-linux-gnu)
...
2017-07-28 Richard Biener <rguenther@suse.de >
PR tree-optimization/81573
* gcc.dg/torture/pr81573.c: Explicitely use signed char.
From-SVN: r250650
2017-07-28 07:08:38 +00:00
Tony Reix
4ce21457db
go-backend.c (go_write_export_data): Use EXCLUDE section for AIX.
...
* go-backend.c (go_write_export_data): Use EXCLUDE section for
AIX.
From-SVN: r250648
2017-07-28 00:16:36 +00:00
GCC Administrator
91258d934f
Daily bump.
...
From-SVN: r250647
2017-07-28 00:16:34 +00:00
Peter Bergner
3cb8ee5cd6
predicates.md (volatile_mem_operand): Remove code related to reload_in_progress.
...
* config/rs6000/predicates.md (volatile_mem_operand): Remove code
related to reload_in_progress.
(splat_input_operand): Likewise.
* config/rs6000/rs6000-protos.h (rs6000_secondary_memory_needed_rtx):
Delete prototype.
* config/rs6000/rs6000.c (machine_function): Remove sdmode_stack_slot
field.
(TARGET_EXPAND_TO_RTL_HOOK): Delete.
(TARGET_INSTANTIATE_DECLS): Likewise.
(legitimate_indexed_address_p): Delete reload_in_progress code.
(rs6000_debug_legitimate_address_p): Likewise.
(rs6000_eliminate_indexed_memrefs): Likewise.
(rs6000_emit_le_vsx_store): Likewise.
(rs6000_emit_move_si_sf_subreg): Likewise.
(rs6000_emit_move): Likewise.
(register_to_reg_type): Likewise.
(rs6000_pre_atomic_barrier): Likewise.
(rs6000_machopic_legitimize_pic_address): Likewise.
(rs6000_allocate_stack_temp): Likewise.
(rs6000_address_for_fpconvert): Likewise.
(rs6000_address_for_altivec): Likewise.
(rs6000_secondary_memory_needed_rtx): Delete function.
(rs6000_check_sdmode): Likewise.
(rs6000_alloc_sdmode_stack_slot): Likewise.
(rs6000_instantiate_decls): Likewise.
* config/rs6000/rs6000.h (SECONDARY_MEMORY_NEEDED_RTX): Delete.
* config/rs6000/rs6000.md (splitter for *movsi_got_internal):
Delete reload_in_progress.
(*vec_reload_and_plus_<mptrsize>): Likewise.
* config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
(vsx_div_v2di): Likewise.
(vsx_udiv_v2di): Likewise.
From-SVN: r250638
2017-07-27 15:04:53 -05:00
Peter Bergner
7a5cbf29be
rs6000.opt (mlra): Replace with stub.
...
gcc/
* config/rs6000/rs6000.opt (mlra): Replace with stub.
* config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Delete OPTION_MASK_LRA.
* config/rs6000/rs6000.c (TARGET_LRA_P): Delete.
(rs6000_debug_reg_global): Delete print of LRA status.
(rs6000_option_override_internal): Delete dead LRA related code.
(rs6000_lra_p): Delete function.
* doc/invoke.texi (RS/6000 and PowerPC Options): Delete -mlra.
gcc/testsuite/
* g++.dg/pr69667.C: Remove option -mlra.
* gcc.target/powerpc/dform-1.c: Likewise.
* gcc.target/powerpc/dform-2.c: Likewise.
* gcc.target/powerpc/dform-3.c: Likewise.
* gcc.target/powerpc/p8vector-int128-1.c: Likewise.
* gcc.target/powerpc/p9-vparity.c: Likewise.
* gcc.target/powerpc/pr63491.c: Likewise.
* gcc.target/powerpc/pr67808.c: Likewise.
* gcc.target/powerpc/pr68805.c: Likewise.
* gcc.target/powerpc/pr69461.c: Likewise.
* gcc.target/powerpc/pr71680.c: Likewise.
* gcc.target/powerpc/pr77289.c: Likewise.
* gcc.target/powerpc/pr78458.c: Likewise.
* gcc.target/powerpc/pr78543.c: Likewise.
* g++.dg/pr71294.C: Remove option -mno-lra.
* gcc.target/powerpc/pr71656-1.c: Likewise.
* gcc.target/powerpc/pr71656-2.c: Likewise.
* gcc.target/powerpc/pr71698.c: Likewise.
From-SVN: r250637
2017-07-27 15:03:35 -05:00
Jakub Jelinek
a40ff0ae8b
re PR c/45784 (gcc OpenMP - error: invalid controlling predicate)
...
PR c/45784
* c-omp.c (c_finish_omp_for): If the condition is wrapped in
rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
new COMPOUND_EXPRs around the rhs of the comparison.
* testsuite/libgomp.c/pr45784.c: New test.
* testsuite/libgomp.c++/pr45784.C: New test.
From-SVN: r250635
2017-07-27 21:13:42 +02:00