aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2015-04-27re PR target/64579 (__TM_end __builtin_tend failed to return transactional ↵Peter Bergner11-320/+296
state) gcc/ PR target/64579 * config/rs6000/htm.md: Remove all define_expands. (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC, UNSPECV_HTM_TABORTWCI): Remove. (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New. (tabort_internal, tbegin_internal, tcheck_internal, tend_internal, trechkpt_internal, treclaim_internal, tsr_internal): Rename from this... (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this. (tabortdc_internal, tabortdci_internal, tabortwc_internal, tabortwci_internal): Remove define_insns. (tabort<wd>c, tabort<wd>ci): New define_insns. (tabort): Use gpc_reg_operand. (tcheck): Remove operand. (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro. * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as expected value. * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove. (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR. (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin, tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend, tsr, ttest): Pass in the RS6000_BTC_CR attribute. (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr, get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute. (tcheck): Remove builtin argument. * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64 not TARGET_64BIT. (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the tabortdc and tabortdci builtins when not in 64-bit mode. Modify code to handle the loss of the HTM define_expands. Emit code to copy the CR register to TARGET. (htm_init_builtins): Modify code to handle the loss of the HTM define_expands. * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete. (RS6000_BTC_64BIT): Likewise. (RS6000_BTC_CR): New macro. * doc/extend.texi: Update documentation for htm builtins. gcc/testsuite/ PR target/64579 * gcc.target/powerpc/htm-1.c: New test. * gcc.target/powerpc/htm-builtin-1.c (__builtin_tabortdc): Only test on 64-bit compiles. (__builtin_tabortdci): Likewise. (__builtin_tcheck): Remove operand. * lib/target-supports.exp (check_htm_hw_available): New function. From-SVN: r222467
2015-04-27[simplify-rtx][trivial] Use std::swap instead of manually swappingKyrylo Tkachov2-12/+18
* simplify-rtx.c (simplify_gen_binary): Use std::swap instead of manually swapping. (simplify_associative_operation): Likewise. (simplify_binary_operation): Likewise. (simplify_plus_minus): Likewise. (simplify_relational_operation): Likewise. (simplify_ternary_operation): Likewise. From-SVN: r222465
2015-04-27predicates.md (xs_hi_general_operand): Delete.Richard Sandiford3-22/+9
gcc/ * config/stormy16/predicates.md (xs_hi_general_operand): Delete. (xs_hi_nonmemory_operand): Remove error. * config/stormy16/stormy16.md (movhi, movhi_internal): Use general_operand rather than xs_hi_general_operand. From-SVN: r222464
2015-04-27tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.Richard Biener4-14/+42
2015-04-27 Richard Biener <rguenther@suse.de> * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg. (record_equivalences_from_stmt): Valueize rhs. (record_equality): Canonicalize x and y order via tree_swap_operands_p. Do not swap operands for same loop depth. * gcc.target/i386/pr65217.c: XFAIL. From-SVN: r222463
2015-04-27re PR target/65296 ([avr] fix various issues with specs file generation)Georg-Johann Lay2-2/+16
PR target/65296 PR target/65895 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file. Add hint how to use own spec file. From-SVN: r222459
2015-04-27re PR tree-optimization/65875 (ICE: Segmentation fault)Jakub Jelinek4-5/+52
PR tree-optimization/65875 * tree-vrp.c (update_value_range): If in is_new case setting old_vr to VR_VARYING, also set new_vr to it. Remove old_vr->type == VR_VARYING test. (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of SSA_PROP_INTERESTING if update_value_range returned true, but new range is VR_VARYING. * gcc.c-torture/compile/pr65875.c: New test. From-SVN: r222458
2015-04-27combine.c (sign_extend_short_imm): New.Thomas Preud'homme2-28/+32
2015-04-27 Thomas Preud'homme <thomas.preudhomme@arm.com> * combine.c (sign_extend_short_imm): New. (set_nonzero_bits_and_sign_copies): Use above new function for sign extension of src short immediate. (reg_nonzero_bits_for_combine): Likewise for tem. From-SVN: r222457
2015-04-27stor-layout.c (self_referential_component_ref_p): New predicate.Eric Botcazou3-14/+31
* stor-layout.c (self_referential_component_ref_p): New predicate. (copy_self_referential_tree_r): Use it. (self_referential_size): Punt for simple operations directly involving self-referential component references. * tree-cfg.c (dump_function_to_file): Add missing final curly bracket. From-SVN: r222456
2015-04-27* ipa-icf.c (icf_handled_component_p): Remove redundant tests.Eric Botcazou2-3/+6
From-SVN: r222455
2015-04-27vec.h (vec): Make splice arguments const.Richard Sandiford2-9/+14
gcc/ * vec.h (vec): Make splice arguments const. Update definitions accordingly. From-SVN: r222454
2015-04-27arm.md (*arm_subsi3_insn): Fixed redundant alternatives.Yvan Roux2-3/+8
2015-04-27 Yvan Roux <yvan.roux@linaro.org> * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant alternatives. From-SVN: r222453
2015-04-27Daily bump.GCC Administrator1-1/+1
From-SVN: r222452
2015-04-26Mark ifn_va_arg as ECF_LEAFTom de Vries2-1/+6
2015-04-26 Tom de Vries <tom@codesourcery.com> PR tree-optimization/65826 * internal-fn.def: Mark VA_ARG with ECF_LEAF. From-SVN: r222446
2015-04-26Daily bump.GCC Administrator1-1/+1
From-SVN: r222444
2015-04-25re PR c/52085 (incomplete enum not completed correctly if packed was used)Marek Polacek5-2/+67
PR c/52085 * c-decl.c (finish_enum): Copy over TYPE_ALIGN. Also check for "mode" attribute. * gcc.dg/enum-incomplete-2.c: New test. * gcc.dg/enum-mode-1.c: New test. From-SVN: r222440
2015-04-25Daily bump.GCC Administrator1-1/+1
From-SVN: r222438
2015-04-24mips.md: (*madd4<mode>) Remove accum_in attribute.Steve Ellcey2-12/+15
2015-04-24 Steve Ellcey <sellcey@imgtec.com> * config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute. (*madd3<mode>): Ditto. (*msub4<mode>): Ditto. (*msub3<mode>): Ditto. (*nmadd4<mode>): Ditto. (*nmadd3<mode>): Ditto. (*nmadd4<mode>_fastmath): Ditto. (*nmadd3<mode>_fastmath): Ditto. (*nmsub4<mode>): Ditto. (*nmsub3<mode>): Ditto. (*nmsub4<mode>_fastmath): Ditto. (*nmsub3<mode>_fastmath): Ditto. From-SVN: r222432
2015-04-24re PR c++/50800 (Internal compiler error in finish_member_declarations, ↵Jason Merrill1-3/+0
possibly related to may_alias attribute) PR c++/50800 * g++.dg/ext/alias-canon2.C: Remove clashing fn definitions. From-SVN: r222426
2015-04-24re PR c++/50800 (Internal compiler error in finish_member_declarations, ↵Jason Merrill4-3/+12
possibly related to may_alias attribute) PR c++/50800 gcc/ * tree.c (build_reference_type_for_mode): Don't pass can_alias_all down when building TYPE_CANONICAL. (build_pointer_type_for_mode): Likewise. gcc/cp/ * typeck.c (structural_comptypes): Don't check TYPE_REF_CAN_ALIAS_ALL. From-SVN: r222419
2015-04-24genrecog.c (validate_pattern): Check matching constraint refers to a lower ↵Chen Gang2-1/+34
numbered operand. * genrecog.c (validate_pattern): Check matching constraint refers to a lower numbered operand. From-SVN: r222418
2015-04-24re PR target/65849 (Add missing tuning knobs to #pragma target/attribute ↵Michael Meissner6-13/+1541
target support) [gcc] 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/65849 * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that save to independent variables use the Save attribute. This will allow these options to be modified with the #pragma/attribute target support. (-mallow-movmisalign): Likewise. (-mallow-df-permute): Likewise. (-msched-groups): Likewise. (-malways-hint): Likewise. (-malign-branch-targets): Likewise. (-mvectorize-builtins): Likewise. (-msave-toc-indirect): Likewise. * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that can be set via the #pragma/attribute target support. (rs6000_opt_vars): Likewise. (rs6000_inner_target_options): If VSX was set, also set -mno-avoid-indexed-addresses. [gcc/testsuite] 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/65849 * gcc.target/powerpc/pr65849-1.c: New test to verify being able to set new options. * gcc.target/powerpc/pr65849-2.c: Likewise. From-SVN: r222417
2015-04-24[ARM][trivial] Use uppercase for code iterator namesKyrylo Tkachov4-20/+37
* config/arm/iterators.md (shiftable_ops): Rename to... (SHIFTABLE_OPS): ... This. Update use in comments. (ior_xor): Rename to... (IOR_XOR): ... This. (vqh_ops): Rename to... (VQH_OPS): ... This. (vqhs_ops): Rename to... (VQHS_OPS): ... This. (rshifts): Rename to... (RSHIFTS): ... This. (returns): Rename to... (RETURNS): ... This. * config/arm/arm.md: Update uses of the above. * config/arm/neon.md: Likewise. From-SVN: r222416
2015-04-24[AArch64] Implement -m{cpu,tune,arch}=native using only /proc/cpuinfoKyrylo Tkachov11-26/+404
* config.host (case ${host}): Add aarch64*-*-linux case. * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER fields to all the cores. * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS): Add MCPU_MTUNE_NATIVE_SPECS. * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING field to all extensions. * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE. * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE. Adjust definition of AARCH64_OPT_EXTENSION. * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE. (MCPU_MTUNE_NATIVE_SPECS): Define. * config/aarch64/driver-aarch64.c: New file. * config/aarch64/x-arch64: New file. * doc/invoke.texi (AArch64 Options): Document native value for -mcpu, -mtune and -march. From-SVN: r222415
2015-04-24constexpr.c (potential_constant_expression_1): Remove obsolete code.Jason Merrill2-19/+6
* constexpr.c (potential_constant_expression_1) [MINUS_EXPR]: Remove obsolete code. [NE_EXPR]: Likewise. From-SVN: r222414
2015-04-24Replace g++.dg/pr65802.C with gcc.dg/pr65802.cTom de Vries3-29/+37
2015-04-24 Tom de Vries <tom@codesourcery.com> PR tree-optimization/65802 * g++.dg/pr65802.C: Move to ... * gcc.dg/pr65802.c: ... here. Add -fexceptions to dg-options. Include stdarg.h. Rewrite for C. (fn1): Use va_list and va_arg. Make variable args function. Add use of va_start and va_end. Remove unnecessary inline asm. From-SVN: r222413
2015-04-24i386-protos.h (ix86_operands_ok_for_move_multiple): New.Uros Bizjak7-0/+176
* config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New. * config/i386/i386.c (extract_base_offset_in_addr): New function. (ix86_operands_ok_for_move_multiple): Ditto. * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern. (movlpd/movhpd to movupd peephole2): Ditto. testsuite/ChangeLog: * gcc.target/i386/sse2-load-multi.c: New test. * gcc.target/i386/sse2-store-multi.c: Ditto. Co-Authored-By: Wei Mi <wmi@google.com> From-SVN: r222410
2015-04-24re PR c/63357 (Warn for P && P and P || P (same expression used multiple ↵Marek Polacek6-14/+151
times in a condition)) PR c/63357 * c-common.c (warn_logical_operator): Warn if the operands have the same expressions. * doc/invoke.texi: Update description of -Wlogical-op. * c-c++-common/Wlogical-op-1.c: New test. From-SVN: r222408
2015-04-24re PR c/65830 (-Wno-shift-count-negative -Wno-shift-count-overflow don't ↵Marek Polacek4-6/+35
work with const ints) PR c/65830 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative and OPT_Wshift_count_overflow. * c-c++-common/pr65830.c: New test. From-SVN: r222407
2015-04-24re PR c/61534 (Wlogical-op should not warn when either operand comes from ↵Marek Polacek6-0/+40
macro expansion) PR c/61534 * input.h (from_macro_expansion_at): Define. * c-common.c (warn_logical_operator): Bail if either operand comes from a macro expansion. * c-c++-common/pr61534-1.c: New test. From-SVN: r222406
2015-04-24sse.md (*vec_widen_smult_even_v8si<mask_name>): Mark operand1 commutative.Uros Bizjak1-0/+5
* config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>): Mark operand1 commutative. From-SVN: r222403
2015-04-24unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix ternary operator in ↵Thomas Preud'homme2-2/+7
fprintf and harmonize spacing. 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com> * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix ternary operator in fprintf and harmonize spacing. From-SVN: r222401
2015-04-24sse.md (*vec_concatv2sf_sse4_1): Do not allow both input operands in memory.Uros Bizjak2-14/+34
* config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both input operands in memory. (*vec_concatv2si_sse4_1): Ditto. (*vec_concatv2df): Ditto, except for SSE3 and equal input operands. (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to register_operand. (vec_extract_hi_v32hi): Ditto. (vec_extract_hi_v64hi): Ditto. (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto. From-SVN: r222400
2015-04-24re PR rtl-optimization/34503 (Issues with constant/copy propagation ↵Thomas Preud'homme4-64/+101
implementation in gcse.c) 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com> Steven Bosscher <steven@gcc.gnu.org> gcc/ PR rtl-optimization/34503 * cprop.c (cprop_reg_p): New. (hash_scan_set): Use above function to check if register can be propagated. (find_avail_set): Return up to two sets, one whose source is a register and one whose source is a constant. Sets are returned in an array passed as parameter rather than as a return value. (cprop_insn): Use a do while loop rather than a goto. Try each of the sets returned by find_avail_set, starting with the one whose source is a constant. Use cprop_reg_p to check if register can be propagated. (do_local_cprop): Use cprop_reg_p to check if register can be propagated. (implicit_set_cond_p): Likewise. gcc/testsuite/ PR rtl-optimization/34503 * gcc.target/arm/pr64616.c: New file. Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org> From-SVN: r222398
2015-04-24pr42172-1.c: Check str instead of ldr.Bin Cheng2-1/+5
gcc/testsuite/ChangeLog * gcc.target/arm/pr42172-1.c: Check str instead of ldr. From-SVN: r222396
2015-04-24pr65710.c: Update the options.Terry Guo2-1/+6
2015-04-24 Terry Guo <terry.guo@arm.com> * gcc.target/arm/pr65710.c: Update the options. From-SVN: r222393
2015-04-24ipa-icf.c (sem_function::equals_wpa): Compare thunk info.Jan Hubicka3-41/+83
* ipa-icf.c (sem_function::equals_wpa): Compare thunk info. (sem_function::equals): IGNORED_NODES parameter is now unused; update call of equals_private. (sem_function::equals_private): Do not call equals_wpa; skip gimple body matching if there is no body. (sem_function::init): Add logic to hash tthunk info. (sem_function::parse): Also parse thunks. * ipa-icf.h (equals_private): Update declaration. From-SVN: r222392
2015-04-24Daily bump.GCC Administrator1-1/+1
From-SVN: r222391
2015-04-23altivec.md (*altivec_lvx_<mode>_internal): Remove asterisk from name so this ↵Bill Schmidt3-31/+48
can be generated directly. 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove asterisk from name so this can be generated directly. (*altivec_stvx_<mode>_internal): Likewise. * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert that this is never called during or after reload/lra. (rs6000_frame_related): Remove split_reg argument and logic that references it. (emit_frame_save): Remove last parameter from call to rs6000_frame_related. (rs6000_emit_prologue): Remove last parameter from eight calls to rs6000_frame_related. Force generation of stvx instruction for Altivec register saves. Remove split_reg handling, which is no longer needed. (rs6000_emit_epilogue): Force generation of lvx instruction for Altivec register restores. From-SVN: r222385
2015-04-23Revert:PR c++/50800Jason Merrill8-136/+53
Revert:PR c++/50800 * tree.c (strip_typedefs): Add remove_attributes parm. (strip_typedefs_expr): Likewise. (apply_identity_attributes): New subroutine of strip_typedefs. * pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs. (convert_nontype_argument, unify): Likewise. * cp-tree.h: Adjust. From-SVN: r222384
2015-04-23Skip gcc.target/i386/pr65523.c for x32H.J. Lu2-1/+5
* gcc.target/i386/pr65523.c: Skip x32. From-SVN: r222382
2015-04-23rs6000.opt (mcrypto): Change option description to match category changes in ↵Bill Schmidt2-1/+6
ISA 2.07B. 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/rs6000.opt (mcrypto): Change option description to match category changes in ISA 2.07B. From-SVN: r222381
2015-04-23tree.h (attribute_value_equal): Declare.Jan Hubicka3-1/+8
* tree.h (attribute_value_equal): Declare. * tree.c (attribute_value_equal): Export. From-SVN: r222380
2015-04-23[ARM] Rewrite vc<cond> NEON patterns to use RTL operations rather than UNSPECsKyrylo Tkachov5-111/+165
* config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code iterators. (cmp_op, cmp_type): New code attributes. (NEON_VCMP, NEON_VACMP): New int iterators. (cmp_op_unsp): New int attribute. * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand. (neon_vceq<mode>): Delete. (neon_vc<cmp_op><mode>_insn): New pattern. (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise. (neon_vcgeu<mode>): Delete. (neon_vcle<mode>): Likewise. (neon_vclt<mode>: Likewise. (neon_vcage<mode>): Likewise. (neon_vcagt<mode>): Likewise. (neon_vca<cmp_op><mode>): New define_expand. (neon_vca<cmp_op><mode>_insn): New pattern. (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise. * gcc.target/arm/neon/pr51534.c: Update vcg* scan-assembly patterns to look for vcl* where appropriate. From-SVN: r222379
2015-04-23Fix testuite for updated ICF dumps.Jan Hubicka1-1/+1
From-SVN: r222378
2015-04-23re PR c++/50800 (Internal compiler error in finish_member_declarations, ↵Jason Merrill8-53/+136
possibly related to may_alias attribute) PR c++/50800 * tree.c (strip_typedefs): Add remove_attributes parm. (strip_typedefs_expr): Likewise. (apply_identity_attributes): New subroutine of strip_typedefs. * pt.c (canonicalize_type_argument): Let strip_typedefs handle attrs. (convert_nontype_argument, unify): Likewise. * cp-tree.h: Adjust. From-SVN: r222377
2015-04-23re PR c++/65646 (ICE in invalid syntax)Jason Merrill3-4/+10
PR c++/65646 * pt.c (check_explicit_specialization): Don't SET_DECL_TEMPLATE_SPECIALIZATION for a variable with no template headers. * decl.c (grokvardecl): Revert earlier fix. From-SVN: r222376
2015-04-23Correct name and email address in the Changelog commit.Ramana Radhakrishnan1-1/+1
From-SVN: r222375
2015-04-23ipa-icf.c (sem_item::compare_attributes): New function.Jan Hubicka3-46/+152
* ipa-icf.c (sem_item::compare_attributes): New function. (sem_item::compare_referenced_symbol_properties): Compare variable attributes. (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN. (sem_function::param_used_p): New function. (sem_function::equals_wpa): Fix attribute comparsion; match parameter type codes; do not compare paremter flags when they are not used; compare edge flags; compare indirect calls. (sem_item::update_hash_by_addr_refs): Hash reference type. (sem_function::equals_private): Do not match DECL_ATTRIBUTES. (sem_variable::equals_wpa): Do not match DECL_ALIGN; match reference use type. (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p. * ipa-icf.h (compare_attributes, param_used_p): Declare. From-SVN: r222374
2015-04-23costmodel-bb-slp-9a.c: Replace vect_no_align with vect_no_align && { ! ↵Bill Schmidt2-1/+6
vect_hw_misalign }. 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.dg/vect/costmodel/ppc/costmodel-bb-slp-9a.c: Replace vect_no_align with vect_no_align && { ! vect_hw_misalign }. From-SVN: r222373
2015-04-23ipa-icf.c (symbol_compare_collection::symbol_compare_collection): cleanup.Jan Hubicka3-57/+190
* ipa-icf.c (symbol_compare_collection::symbol_compare_collection): cleanup. (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW. (sem_item::compare_referenced_symbol_properties): New. (sem_item::hash_referenced_symbol_properties): New. (sem_item::compare_cgraph_references): Rename to ... (sem_item::compare_symbol_references): ... this one; use compare_referenced_symbol_properties. (sem_function::equals_wpa): Do not compare DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P, DECL_IS_OPERATOR_NEW; compare pointer sizes. (sem_item::update_hash_by_addr_refs): Call hash_referenced_symbol_properties. (sem_item::update_hash_by_local_refs): Cleanup. (sem_function::merge): Do not mix up symbol properties. (sem_variable::equals_wpa): Use compare_symbol_references. * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New. (sem_item::hash_referenced_symbol_properties): New. (sem_item::compare_symbol_references): New. (sem_item::compare_cgraph_references): Remove. From-SVN: r222372