Age | Commit message (Collapse) | Author | Files | Lines |
|
gimple.
2014-07-29 Martin Jambor <mjambor@suse.cz>
* tree-sra.c (sra_modify_constructor_assign): Change type of stmt
parameter to gimple.
(sra_modify_assign): Likewise.
From-SVN: r213154
|
|
2014-07-29 Richard Biener <rguenther@suse.de>
PR middle-end/52478
* expr.c (expand_expr_real_2): Revert last change.
From-SVN: r213153
|
|
* cgraph.c (cgraph_node::create_indirect_edge): Copy speculative data.
* cgraph.h (cgraph_indirect_call_info): Add speculative data.
* gimple-fold.c (fold_gimple_assign): Fix check for virtual
call.
* ipa-devirt.c (ipa_dummy_polymorphic_call_context): Update
(contains_type_p): Forward declare.
(polymorphic_call_target_hasher::hash): Hash speculative info.
(polymorphic_call_target_hasher::equal): Compare speculative info.
(get_class_context): Handle speuclation.
(contains_type_p): Update.
(get_polymorphic_call_info_for_decl): Update.
(walk_ssa_copies): Break out from ...
(get_polymorphic_call_info): ... here; set speculative context
before giving up.
* ipa-prop.c (ipa_write_indirect_edge_info, ipa_read_indirect_edge_info):
Stream speculative context.
* ipa-utils.h (ipa_polymorphic_call_context): Add speculative info
(SPECULATIVE_OFFSET, SPECULATIVE_OUTER_TYPE,
SPECULATIVE_MAYBE_DERIVED_TYPE).
(possible_polymorphic_call_targets overriders): Update.
(dump_possible_polymorphic_call_targets overriders): Update.
(dump_possible_polymorphic_call_target_p overriders): Update.
From-SVN: r213152
|
|
fix thinko there.
* gimple-fold.c (fold_gimple_assign): Fix condition guarding
ipa-devirt path; fix thinko there.
From-SVN: r213150
|
|
From-SVN: r213145
|
|
attribute can actually sometimes be unused.
2014-07-28 Trevor Saunders <tsaunders@mozilla.com>
* config/i386/i386.c (ix86_return_in_memory): replace one
ATTRIBUTE_UNUSED where the attribute can actually sometimes be unused.
From-SVN: r213142
|
|
From-SVN: r213136
|
|
From-SVN: r213134
|
|
From-SVN: r213126
|
|
* config.gcc (powerpc*-*-linux*): Include gnu-user.h in tm_file.
* config/rs6000/sysv4.h (CC!_SPEC): Undefine it before defining it.
* config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): Delete define.
(LINK_GCC_C_SEQUENCE_SPEC): Likewise.
(USE_LD_AS_NEEDED): Likewise.
(ASM_APP_ON): Likewise.
(ASM_APP_OFF): Likewise.
(TARGET_POSIX_IO): Likewise.
* config/rs6000/linux64.h (CPLUSPLUS_CPP_SPEC): Likewise.
(LINK_GCC_C_SEQUENCE_SPEC): Likewise.
(USE_LD_AS_NEEDED): Likewise.
(ASM_APP_ON): Likewise.
(ASM_APP_OFF): Likewise.
(TARGET_POSIX_IO): Likewise.
From-SVN: r213125
|
|
2014-07-28 Richard Biener <rguenther@suse.de>
PR rtl-optimization/61801
* gcc.target/i386/pr61801.c: Fix testcase.
From-SVN: r213121
|
|
PR middle-end/61734
* fold-const.c (fold_comparison): Disable X - Y CMP 0 to X CMP Y for
operators other than the equality operators.
From-SVN: r213118
|
|
2014-07-28 Richard Biener <rguenther@suse.de>
PR middle-end/52478
* optabs.c (gen_int_libfunc): For -ftrapv libfuncs make
sure to register SImode ones, not only >= word_mode ones.
* expr.c (expand_expr_real_2): When expanding -ftrapv
binops do not use OPTAB_LIB_WIDEN.
* gcc.dg/torture/ftrapv-1.c: New testcase.
From-SVN: r213117
|
|
gcc/
PR middle-end/61919
* tree-outof-ssa.c (insert_partition_copy_on_edge)
(insert_value_copy_on_edge, insert_rtx_to_part_on_edge)
(insert_part_to_rtx_on_edge): Copy partition_to_pseudo rtxes before
inserting them in the insn stream.
From-SVN: r213116
|
|
PR middle-end/61913
* common.opt (Wodr): Add Var.
From-SVN: r213115
|
|
varpool.c:275 with -O2 -fipa-pta)
2014-07-28 Richard Biener <rguenther@suse.de>
PR tree-optimization/61921
* tree-ssa-structalias.c (create_variable_info_for_1): Check
if there is a varpool node before dereferencing it.
* gfortran.dg/pr61921.f90: New testcase.
From-SVN: r213114
|
|
2014-07-28 Richard Biener <rguenther@suse.de>
PR rtl-optimization/61801
* gcc.target/i386/pr61801.c: New testcase.
From-SVN: r213111
|
|
* graphite-sese-to-poly.c:
(new_pbb_from_pbb): Set a new id of pbb1->domain (instead of using the
id of the pbb), which contains pointer to the pbb1.
[gcc/testsuite]
* gcc.dg/graphite/isl-ast-gen-if-2.c: New testcase.
From-SVN: r213110
|
|
* graphite-isl-ast-to-gimple.c:
(graphite_create_new_guard): New function.
(translate_isl_ast_node_if): New function.
(translate_isl_ast): Add calling of translate_isl_ast_node_if.
[gcc/testsuite]
* gcc.dg/graphite/isl-ast-gen-if-1.c: New testcase.
From-SVN: r213109
|
|
From-SVN: r213108
|
|
From-SVN: r213107
|
|
From-SVN: r213103
|
|
PR c/61861
* macro.c (builtin_macro): Add location parameter. Set
location of builtin macro to the expansion point.
(enter_macro_context): Pass location to builtin_macro.
* gcc.dg/pr61861.c: New test.
From-SVN: r213102
|
|
From-SVN: r213098
|
|
2014-07-27 Alan Modra <amodra@gmail.com>
Matthias Klose <doko@ubuntu.com>
PR libobjc/61920
* encoding.c: Define rs6000_special_adjust_field_align_p.
Co-Authored-By: Matthias Klose <doko@ubuntu.com>
From-SVN: r213097
|
|
gcc/testsuite/
* gcc.target/i386/avx512f-vbroadcastf64x4-2.c: Fix the uninitialized
variable problem.
From-SVN: r213096
|
|
ordering)
gcc/testsuite/
PR rtl-optimization/61926
* gcc.target/mips/const-anchor-1.c, gcc.target/mips/const-anchor-2.c:
Reverse argument order.
* gcc.target/mips/const-anchor-3.c, gcc.target/mips/const-anchor-4.c:
New XFAILed tests that match the original order.
From-SVN: r213093
|
|
* libgcov-driver.c (struct gcov_filename_aux): Rename ...
(struct gcov_filename): ... here. Include buffer and max length
fields.
(gcov_max_filename): Remove.
(gi_filename): Remove.
(gcov_exit_compute_summary): Compute max filename here.
(gcov_exit_merge_gcda): Add filename parm, adjust.
(gcov_exit_merge_summary): Likewise.
(gcov_exit_dump_gcov): Adjust for struct gcov_filename changes.
(gcov_exit): Likewise.
(__gcov_init): Don't calculate max length here.
* libgcov_util.c (max_filename_len): Remove.
(read_gcda_file): Don't calculate max length here.
(gcov_read_profile_dir): Don't propagate here.
* libgcov-driver-system.c (alloc_filename_struct): Adjust for
struct gcov_filename changes.
(gcov_exit_open_gcda_file): Likewise.
From-SVN: r213092
|
|
2014-07-26 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64.md (*extr_insv_lower_reg<mode>): Remove +
from the read only register.
From-SVN: r213090
|
|
From-SVN: r213089
|
|
2014-07-26 Tobias Burnus <burnus@net-b.de>
PR fortran/61881
PR fortran/61888
PR fortran/57305
* intrinsic.texi (SIZEOF): Document changed behavior
for polymorphic arrays.
From-SVN: r213085
|
|
diagnosed)
PR c/61077
* gcc.dg/pr61077.c: Use \[^\n\]* instead of .* in the regexp.
From-SVN: r213084
|
|
"relocation truncated to fit: GPREL16 against ...")
PR target/47230
* configure.ac (alpha*-*-linux*): Use mh-alpha-linux.
* configure: Regenerate.
config/ChangeLog:
PR target/47230
* mh-alpha-linux: New file.
From-SVN: r213081
|
|
From-SVN: r213080
|
|
array descriptor.
2014-07-26 Tobias Burnus <burnus@net-b.de>
* check.c (gfc_check_sizeof): Permit for assumed type if and
only if it has an array descriptor.
* intrinsic.c (do_ts29113_check): Permit SIZEOF.
(add_functions): SIZEOF is an Inquiry function.
* intrinsic.texi (SIZEOF): Add note that only contiguous
arrays are permitted.
* trans-expr.c (gfc_conv_intrinsic_to_class): Handle assumed
rank.
* trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle
assumed type + array descriptor, CLASS and assumed rank.
(gfc_conv_intrinsic_storage_size): Handle class arrays.
2014-07-26 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/sizeof_2.f90: Change dg-error.
* gfortran.dg/sizeof_4.f90: New.
* gfortran.dg/storage_size_1.f08: Correct expected
value.
From-SVN: r213079
|
|
gcc/
* ira-costs.c (find_costs_and_classes): For -O0, use the best class
as the allocation class if it isn't likely to be spilled.
From-SVN: r213078
|
|
gcc/
* rtl.h (tls_referenced_p): Declare.
* rtlanal.c (tls_referenced_p_1, tls_referenced_p): New functions.
* config/mips/mips.c (mips_tls_symbol_ref_1): Delete.
(mips_cannot_force_const_mem): Use tls_referenced_p.
* config/pa/pa-protos.h (pa_tls_referenced_p): Delete.
* config/pa/pa.h (CONSTANT_ADDRESS_P): Use tls_referenced_p
instead of pa_tls_referenced_p.
* config/pa/pa.c (hppa_legitimize_address, pa_cannot_force_const_mem)
(pa_emit_move_sequence, pa_emit_move_sequence): Likewise.
(pa_legitimate_constant_p): Likewise.
(pa_tls_symbol_ref_1, pa_tls_referenced_p): Delete.
* config/rs6000/rs6000.c (rs6000_tls_referenced_p): Delete.
(rs6000_cannot_force_const_mem, rs6000_emit_move)
(rs6000_address_for_altivec): Use tls_referenced_p instead of
rs6000_tls_referenced_p.
(rs6000_tls_symbol_ref_1): Delete.
From-SVN: r213077
|
|
2014-07-26 Marc Glisse <marc.glisse@inria.fr>
PR target/44551
gcc/
* simplify-rtx.c (simplify_binary_operation_1) <VEC_SELECT>:
Optimize inverse of a VEC_CONCAT.
gcc/testsuite/
* gcc.target/i386/pr44551-1.c: New file.
From-SVN: r213076
|
|
From-SVN: r213071
|
|
From-SVN: r213068
|
|
cp/
2014-07-25 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement N4051 - Allow typename in a template template parameter
* parser.c (cp_parser_type_parameter_key): New funtion;
(cp_parser_token_is_type_parameter_key): Ditto;
(cp_parser_type_parameter): Look for type-parameter-key for all versions
but pedwarn for less than cxx1z.
testsuite/
2014-07-25 Edward Smith-Rowland <3dw4rd@verizon.net>
Implement N4051 - Allow typename in a template template parameter
* lib/target-supports.exp (check_effective_target_c++1y): Now
means C++1y and up.
(check_effective_target_c++1y_down): New.
(check_effective_target_c++1z_only): New.
(check_effective_target_c++1z): New.
* g++.dg/cpp1z/typename-tmpl-tmpl-parm.C: New.
* g++.dg/cpp1z/typename-tmpl-tmpl-parm-neg.C: New.
* g++.dg/cpp1z/typename-tmpl-tmpl-parm-.C: New.
From-SVN: r213065
|
|
returned value.
2014-07-25 Tobias Burnus <burnus@net-b.de>
* simplify.c (gfc_simplify_storage_size): Use proper
integer kind for the returned value.
2014-07-25 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/storage_size_5.f90: New.
From-SVN: r213060
|
|
* lto-streamer-out.c (struct sccs): Turn to ...
(class DFS): ... this one; refactor the DFS walk so it can
be re-done on per-SCC basis.
(DFS::DFS): New constructor.
(DFS::~DFS): New destructor.
(hash_tree): Add new MAP argument holding in-SCC hash values;
remove POINTER_TYPE hashing hack.
(scc_entry_compare): Rename to ...
(DFS::scc_entry_compare): ... this one.
(hash_scc): Rename to ...
(DFS::hash_scc): ... this one; pass output_block instead
of streamer_cache; work harder to get unique and stable SCC
hashes.
(DFS_write_tree): Rename to ...
(DFS::DFS_write_tree): ... this one; add SINGLE_P parameter.
(lto_output_tree): Update.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r213059
|
|
polluting user's namespace.
* libgcov-driver.c (set_gcov_dump_complete,
reset_gcov_dump_complete, get_gcov_dump_complete): Remove global
functions polluting user's namespace.
(gcov_exit): Set variable directly.
(gcov_clear): Reset variable directly.
* libgcov-interface.c (get_gcov_dymp_complete,
reset_gov_dump_complete): Remove declarations.
(__gcov_reset, __gcov_dump): Don't call them.
From-SVN: r213058
|
|
No substantial changes, although the hash values will be slightly
different.
v2: add_flag moved to inchash. Some minor changes.
gcc/:
2014-07-25 Andi Kleen <ak@linux.intel.com>
* lto-streamer-out.c (hash_tree): Convert to inchash.
From-SVN: r213057
|
|
v2: Use commutative interface. Be much nearer to the old
code.
gcc/:
2014-07-25 Andi Kleen <ak@linux.intel.com>
* tree.c (build_type_attribute_qual_variant): Use inchash.
(type_hash_list): Dito.
(attribute_hash_list): Dito
(iterative_hstate_expr): Dito.
(iterative_hash_expr): Dito.
(build_range_type_1): Dito.
(build_array_type_1): Dito.
(build_function_type): Dito.
(build_method_type_directly): Dito.
(build_offset_type): Dito.
(build_complex_type): Dito.
(make_vector_type): Dito.
* tree.h (iterative_hash_expr): Add compat wrapper.
(iterative_hstate_expr): Add.
gcc/lto/:
2014-07-25 Andi Kleen <ak@linux.intel.com>
* lto.c (hash_canonical_type): Call iterative_hstate_expr.
From-SVN: r213056
|
|
Should not really change any behavior, it's just a more abstract
interface, but uses the same underlying hash functions.
gcc/lto/:
2014-07-25 Andi Kleen <ak@linux.intel.com>
* lto.c (hash_canonical_type): Convert to inchash.
(iterative_hash_canonical_type): Dito.
From-SVN: r213055
|
|
Some files in gcc, like lto or tree, do large scale incremential hashing.
The current jhash implementation of this could be likely improved
by using an incremential hash that does not do a full rehashing
for every new value added.
This patch adds a new "inchash" class that abstracts the internal
state of the hash. This makes it easier to plug in new hashes
and also cleans up the code a bit.
Right now it is just implemented in the same way as the old
iterative hash in tree.c. The previous iterative hash code
from tree.c moved into a new separate file. Also I fixed up all
users to include the new header.
It should not really significantly change any hashing by itself,
it's mostly a cleanup at this point.
v2: Remove begin. Add commutative interface.
Add merge hash interface. Add add_flag.
gcc/:
2014-07-25 Andi Kleen <ak@linux.intel.com>
* Makefile.in (OBJS): Add inchash.o.
(PLUGIN_HEADERS): Add inchash.h.
* ipa-devirt.c: Include inchash.h.
* lto-streamer-out.c: Dito.
* tree-ssa-dom.c: Dito.
* tree-ssa-pre.c: Dito.
* tree-ssa-sccvn.c: Dito.
* tree-ssa-tail-merge.c: Dito.
* asan.c: Dito.
* tree.c (iterative_hash_hashval_t): Move to ...
(iterative_hash_host_wide_int): Move to ...
* inchash.c: Here. New file.
* tree.h (iterative_hash_hashval_t): Move to ...
(iterative_hash_host_wide_int): Move to ...
* inchash.h: Here. New file.
gcc/lto/:
2014-07-25 Andi Kleen <ak@linux.intel.com>
* lto.c: Include inchash.h
From-SVN: r213054
|
|
* src/alpha/ffi.c: Do not include stdlib.h.
(ffi_closure_osf_inner) <default>: Use FFI_ASSERT instead of abort.
From-SVN: r213049
|
|
2014-07-25 Richard Biener <rguenther@suse.de>
PR middle-end/61762
PR middle-end/61894
* fold-const.c (native_encode_int): Add and handle offset
parameter to do partial encodings of expr.
(native_encode_fixed): Likewise.
(native_encode_real): Likewise.
(native_encode_complex): Likewise.
(native_encode_vector): Likewise.
(native_encode_string): Likewise.
(native_encode_expr): Likewise.
* fold-const.c (native_encode_expr): Add offset parameter
defaulting to -1.
* gimple-fold.c (fold_string_cst_ctor_reference): Remove.
(fold_ctor_reference): Handle all reads from tcc_constant
ctors.
* gcc.dg/pr61762.c: New testcase.
* gcc.dg/fold-cstring.c: Likewise.
* gcc.dg/fold-cvect.c: Likewise.
From-SVN: r213045
|