Skip to content
Snippets Groups Projects
  1. Aug 30, 2017
    • Richard Sandiford's avatar
      Split out parts of scompare_loc_descriptor and emit_store_flag · 8afacf2c
      Richard Sandiford authored
      This patch splits some cases out of scompare_loc_descriptor and
      emit_store_flag, which helps with the upcoming machmode series.
      
      2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* dwarf2out.c (scompare_loc_descriptor_wide)
      	(scompare_loc_descriptor_narrow): New functions, split out from...
      	(scompare_loc_descriptor): ...here.
      	* expmed.c (emit_store_flag_int): New function, split out from...
      	(emit_store_flag): ...here.
      
      From-SVN: r251451
      8afacf2c
    • Richard Biener's avatar
      dwarf2out.c (dwarf2out_finish): Remove setting AT_pubnames. · 70704d42
      Richard Biener authored
      2017-08-30  Richard Biener  <rguenther@suse.de>
      
      	* dwarf2out.c (dwarf2out_finish): Remove setting AT_pubnames.
      	(dwarf2out_early_finish): Move setting of AT_pubnames from
      	early debug output to early finish.
      
      From-SVN: r251450
      70704d42
    • Jozef Lawrynowicz's avatar
      msp430.h: Pass -mcode/data-region to the linker and -mdata-region to the assembler. · 39459216
      Jozef Lawrynowicz authored
      	* gcc/config/msp430/msp430.h: Pass -mcode/data-region to the linker
      	and -mdata-region to the assembler.
      
      From-SVN: r251449
      39459216
    • Richard Biener's avatar
      dwarf2out.c (add_dwarf_attr): Check we don't add duplicate attributes. · 36ef8e6f
      Richard Biener authored
      2017-08-30  Richard Biener  <rguenther@suse.de>
      
      	* dwarf2out.c (add_dwarf_attr): Check we don't add duplicate
      	attributes.
      	(gen_subprogram_die): Add DW_AT_object_pointer only early.
      	(dwarf2out_early_global_decl): Only generate a DIE for the
      	abstract origin if it doesn't already exist or is a declaration DIE.
      	(resolve_addr): Do not add the linkage name twice when
      	generating a stub DIE for the DW_TAG_GNU_call_site target.
      
      	* g++.dg/pr78112-2.C: Do not expect duplicate DW_AT_object_pointer.
      
      From-SVN: r251448
      36ef8e6f
    • Richard Sandiford's avatar
      [rs6000] int->machine_mode in rs6000-c.c · 68905c28
      Richard Sandiford authored
      2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
      	Use machine_mode rather than int for arg1_mode.
      
      From-SVN: r251447
      68905c28
    • GCC Administrator's avatar
      Daily bump. · ceafcc5c
      GCC Administrator authored
      From-SVN: r251444
      ceafcc5c
  2. Aug 29, 2017
    • Ian Lance Taylor's avatar
      53a36c26
    • Ian Lance Taylor's avatar
      6222bddc
    • Jason Merrill's avatar
      PR c++/81236 - ICE with template-id in generic lambda · 88b811bd
      Jason Merrill authored
      	* semantics.c (finish_id_expression): Remove special dependent case.
      	Avoid some later pieces when dependent.
      	(finish_qualified_id_expr): Do normal BASELINK handling in a
      	template.  Always build a SCOPE_REF for a destructor BIT_NOT_EXPR.
      	(parsing_default_capturing_generic_lambda_in_template): Remove.
      	* parser.c (cp_parser_postfix_dot_deref_expression): Always give an
      	error for types that will never be complete.
      	* mangle.c (write_expression): Add sanity check.
      	* tree.c (build_qualified_name): Add sanity check.
      	(cp_walk_subtrees): Walk into the class context of a BASELINK.
      	* lambda.c (add_capture): Improve diagnostic for generic lambda
      	capture failure.
      	* call.c (build_new_method_call_1): Print the right constructor
      	name.
      
      From-SVN: r251438
      88b811bd
    • Ian Lance Taylor's avatar
      libgo: fix Stat_t on AIX · 888a9854
      Ian Lance Taylor authored
          
          Reviewed-on: https://go-review.googlesource.com/59911
      
      From-SVN: r251436
      888a9854
    • Ian Lance Taylor's avatar
      6fa7df98
    • Jason Merrill's avatar
      tweak ChangeLog · e2d59a13
      Jason Merrill authored
      From-SVN: r251434
      e2d59a13
    • Jason Merrill's avatar
      Reimplement handling of lambdas in templates. · f44a8dd5
      Jason Merrill authored
      	* cp-tree.h (LAMBDA_FUNCTION_P): Check DECL_DECLARES_FUNCTION_P.
      	* decl.c (start_preparsed_function): Call start_lambda_scope.
      	(finish_function): Call finish_lambda_scope.
      	* init.c (get_nsdmi): Call start/finish_lambda_scope.
      	* lambda.c (start_lambda_scope): Only ignore VAR_DECL in a function.
      	* parser.c (cp_parser_function_definition_after_declarator): Don't
      	call start/finish_lambda_scope.
      	* pt.c (retrieve_specialization): Ignore lambda functions in
      	templates.
      	(find_parameter_packs_r): Ignore capture proxies.  Look into
      	lambdas.
      	(check_for_bare_parameter_packs): Allow bare packs in lambdas.
      	(tsubst_default_argument): Call start/finish_lambda_scope.
      	(tsubst_function_decl): Handle lambda functions differently.
      	(tsubst_template_decl): Likewise.
      	(tsubst_expr) [DECL_EXPR]: Skip closure declarations and capture
      	proxies.
      	(tsubst_lambda_expr): Create a new closure rather than instantiate
      	the one from the template.
      	(tsubst_copy_and_build): Don't register a specialization of a pack.
      	(regenerate_decl_from_template): Call start/finish_lambda_scope.
      	(instantiate_decl): Remove special lambda function handling.
      	* semantics.c (process_outer_var_ref): Remove special generic lambda
      	handling.  Don't implicitly capture in a lambda in a template.  Look
      	for an existing proxy.
      	* class.c (current_nonlambda_class_type): Use decl_type_context.
      
      From-SVN: r251433
      f44a8dd5
    • Michael Meissner's avatar
      re PR target/82015 (PowerPC should check if 2nd argument to... · 72932ccf
      Michael Meissner authored
      re PR target/82015 (PowerPC should check if 2nd argument to __builtin_unpackv1ti and similar functions is 0 or 1)
      
      [gcc]
      2017-08-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/82015
      	* config/rs6000/rs6000.c (rs6000_expand_binop_builtin): Insure
      	that the second argument of the built-in functions to unpack
      	128-bit scalar types to 64-bit values is 0 or 1.  Change to use a
      	switch statement instead a lot of if statements.
      	* config/rs6000/rs6000.md (unpack<mode>, FMOVE128_VSX iterator):
      	Allow 64-bit values to be in Altivec registers as well as
      	traditional floating point registers.
      	(pack<mode>, FMOVE128_VSX iterator): Likewise.
      
      [gcc/testsuite]
      2017-08-29  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/82015
      	* gcc.target/powerpc/pr82015.c: New test.
      
      From-SVN: r251432
      72932ccf
    • Jason Merrill's avatar
      PR c++/78840 - ICE with const and nested generic lambda · 10f61650
      Jason Merrill authored
      	* g++.dg/cpp1y/lambda-generic-const5.C: New.
      
      From-SVN: r251431
      10f61650
    • Jason Merrill's avatar
      Remove unnecessary LAMBDA_EXPR fields. · 9925f216
      Jason Merrill authored
      	* cp-tree.h (LAMBDA_EXPR_CLOSURE): Use TREE_TYPE.
      	(LAMBDA_EXPR_RETURN_TYPE): Remove.
      	(struct tree_lambda_expr): Remove closure and return_type fields.
      	* lambda.c (build_lambda_expr): Don't set LAMBDA_EXPR_RETURN_TYPE.
      	* pt.c (tsubst_copy_and_build): Likewise.
      	* parser.c (cp_parser_lambda_declarator_opt): Track return type.
      	(cp_parser_lambda_body): Adjust unspecified return type check.
      	* ptree.c (cxx_print_lambda_node): Don't print closure or
      	return type.
      
      From-SVN: r251430
      9925f216
    • Jason Merrill's avatar
      PR c++/80935 - wrong C++17 error with lambda · 5d4e573b
      Jason Merrill authored
      	* decl.c (check_for_uninitialized_const_var): Check
      	is_instantiation_of_constexpr.
      	* constexpr.c (ensure_literal_type_for_constexpr_object): Check
      	is_instantiation_of_constexpr.
      	(potential_constant_expression_1): Check var_in_maybe_constexpr_fn.
      
      From-SVN: r251429
      5d4e573b
    • Jason Merrill's avatar
      Various small fixes. · 11399477
      Jason Merrill authored
      	* lambda.c (build_lambda_object): Check for error_mark_node.
      	* pt.c (make_pack_expansion): Set PACK_EXPANSION_LOCAL_P on the type
      	pack as well.
      	(tsubst_decl) [FUNCTION_DECL]: Set DECL_CONTEXT on the parameters.
      	(tsubst) [TEMPLATE_PARM_INDEX]: Check for error_mark_node.
      
      From-SVN: r251428
      11399477
    • Jason Merrill's avatar
      PR c++/80767 - unnecessary instantiation of generic lambda · 1a9de5b6
      Jason Merrill authored
      	* call.c (convert_like_real): Call build_user_type_conversion_1 if
      	cand is null.
      	(add_conv_candidate): Build a ck_user conversion with no candidate.
      
      From-SVN: r251427
      1a9de5b6
    • Jason Merrill's avatar
      Fix lambdas in template default argument of inherited ctor. · b3eae0dd
      Jason Merrill authored
      	* method.c (synthesized_method_base_walk): Replace an inherited
      	template with its specialization.
      	(synthesized_method_walk): Make inheriting_ctor a pointer.
      	(maybe_explain_implicit_delete, explain_implicit_non_constexpr)
      	(deduce_inheriting_ctor, implicitly_declare_fn): Adjust.
      
      From-SVN: r251426
      b3eae0dd
    • Jason Merrill's avatar
      Adjust C++17 class deduction use of DECL_ABSTRACT_ORIGIN. · 4cc20315
      Jason Merrill authored
      	* pt.c (build_deduction_guide): Set DECL_ABSTRACT_ORIGIN on the
      	template, not the function.
      	(template_guide_p): Adjust.
      
      From-SVN: r251425
      4cc20315
    • Jason Merrill's avatar
      Support copying local_specializations. · 82b0ce2e
      Jason Merrill authored
      	* cp-tree.h (enum lss_policy): New.
      	(local_specialization_stack): Add policy parameter to default ctor.
      	* pt.c (local_specialization_stack): Copy local_specializations if
      	lss_copy.
      
      From-SVN: r251424
      82b0ce2e
    • Jason Merrill's avatar
      Add immediate potential_constant_expression variants. · a0ab7ccd
      Jason Merrill authored
      	* constexpr.c (potential_constant_expression_1): Add "now" parm.
      	(is_constant_expression, require_constant_expression): New.
      	(is_static_init_expression, is_nondependent_constant_expression)
      	(is_nondependent_static_init_expression): Drop "potential".
      	* except.c (build_must_not_throw_expr): Do type conversion on
      	value-dependent argument.
      	* pt.c, semantics.c, typeck2.c: Use variants without "potential".
      
      From-SVN: r251423
      a0ab7ccd
    • Jason Merrill's avatar
      Instantiate default arguments/member initializers once. · 12659e10
      Jason Merrill authored
      	* init.c (get_nsdmi): Remember NSDMI instantiations.
      	* parser.c (inject_this_parameter): Be more picky about
      	current_class_ptr.
      	* pt.c (tsubst_copy): Simplify 'this' handling.
      	(tsubst_default_argument): Remember default argument
      	instantiations.  Take parameter number.
      	(tsubst_default_arguments): Pass it.
      	* call.c (convert_default_arg): Likewise.
      
      From-SVN: r251422
      12659e10
    • Jason Merrill's avatar
      Fix default argument conversion failure and SFINAE. · 1aeafba2
      Jason Merrill authored
      	* call.c (build_over_call): Check convert_default_arg result for
      	error_mark_node.
      	* parser.c (cp_parser_late_parsing_default_args): Remember
      	error_mark_node.
      
      From-SVN: r251421
      1aeafba2
    • Ian Lance Taylor's avatar
      runtime: fix lfstack for 64-bit AIX · a2aa807e
      Ian Lance Taylor authored
          
          Reviewed-on: https://go-review.googlesource.com/57550
      
      From-SVN: r251420
      a2aa807e
    • Uros Bizjak's avatar
      *.c: Remove excess braces from target selectors. · 4e395d91
      Uros Bizjak authored
      	* gcc.target/i386/*.c: Remove excess braces from target selectors.
      
      From-SVN: r251419
      4e395d91
    • Alexander Monakov's avatar
      ira-costs: avoid missing base registers in record_address_regs · 9f1c93df
      Alexander Monakov authored
      	* ira-costs.c (record_address_regs): Handle both operands of PLUS for
      	MAX_REGS_PER_ADDRESS == 1.
      
      From-SVN: r251418
      9f1c93df
    • Uros Bizjak's avatar
      20030926-1.c: Add dg-additional-options. · 2ffc0382
      Uros Bizjak authored
      	* gcc.target/i386/20030926-1.c: Add dg-additional-options.
      	* gcc.target/i386/abi-2.c: Ditto.
      	* gcc.target/i386/interrupt-sibcall-2.c: Ditto.
      	* gcc.target/i386/pr22076.c: Ditto.
      	* gcc.target/i386/pr37216.c: Ditto.
      	* gcc.target/i386/pr39431.c: Ditto.
      	* gcc.target/i386/pr40906-1.c: Ditto.
      	* gcc.target/i386/pr40906-2.c: Ditto.
      	* gcc.target/i386/pr43766.c: Ditto.
      	* gcc.target/i386/pr46226.c: Ditto.
      	* gcc.target/i386/pr46470.c: Ditto.
      	* gcc.target/i386/pr59929.c: Ditto.
      	* gcc.target/i386/sse-10.c: Ditto.
      	* gcc.target/i386/vararg-1.c: Ditto.
      	* gcc.target/i386/vararg-1.c: Ditto.
      	* gcc.target/i386/asm-6.c: Compile for fpic target only.
      	* gcc.target/i386/pr44223.c: Ditto.
      	* gcc.target/i386/bitfield1.c (dg-options): Remove target selector.
      	* gcc.target/i386/bitfield2.c (dg-options): Ditto.
      	* gcc.target/i386/pr67480.c (dg-options): Ditto.
      	* gcc.target/i386/vect-cond-1.c (dg-options): Ditto.
      	* gcc.target/i386/bittest.c (scan-assembler-times): Ditto.
      	* gcc.target/i386/darwin-fpmath.c (dg-do): Simplify target selector.
      	* gcc.target/i386/mvc9.c: Compile for lto target only.
      	* gcc.target/i386/pr45234.c: Compile for ia32 target only.
      	* gcc.target/i386/pr49866.c: Compile for lp64 target only.
      	* gcc.target/i386/pr57091.c: Ditto.
      	* gcc.target/i386/pr61599-2.c: Ditto.
      
      From-SVN: r251417
      2ffc0382
    • Uros Bizjak's avatar
      i386.opt (flag_fentry): Do not init to -1. · be0ffecc
      Uros Bizjak authored
      	* config/i386/i386.opt (flag_fentry): Do not init to -1.
      	* config/i386/i386.c (ix86_option_override_internal): Simplify
      	setting of opts->x_flag_entry.
      
      From-SVN: r251416
      be0ffecc
    • Bill Schmidt's avatar
      re PR tree-optimization/81503 (Wrong code at -O2) · 8eb91869
      Bill Schmidt authored
      
      [gcc]
      
      2017-08-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      	    Jakub Jelinek  <jakub@redhat.com>
      	    Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/81503
      	* gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure
      	folded constant fits in the target type; reorder tests for clarity.
      
      [gcc/testsuite]
      
      2017-08-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/81503
      	* gcc.c-torture/execute/pr81503.c: New file.
      
      
      Co-Authored-By: default avatarJakub Jelinek <jakub@redhat.com>
      Co-Authored-By: default avatarRichard Biener <rguenther@suse.de>
      
      From-SVN: r251414
      8eb91869
    • Martin Liska's avatar
      Make expansion of balanced binary trees of switches on tree level. · 9dc3d6a9
      Martin Liska authored
      2017-08-29  Martin Liska  <mliska@suse.cz>
      
      	* passes.def: Include pass_lower_switch.
      	* stmt.c (dump_case_nodes): Remove and move to
      	tree-switch-conversion.
      	(case_values_threshold): Likewise.
      	(expand_switch_as_decision_tree_p): Likewise.
      	(emit_case_decision_tree): Likewise.
      	(expand_case): Likewise.
      	(balance_case_nodes): Likewise.
      	(node_has_low_bound): Likewise.
      	(node_has_high_bound): Likewise.
      	(node_is_bounded): Likewise.
      	(emit_case_nodes): Likewise.
      	(struct simple_case_node): New struct.
      	(add_case_node): Remove.
      	(emit_case_dispatch_table): Use vector instead of case_list.
      	(reset_out_edges_aux): Remove.
      	(compute_cases_per_edge): Likewise.
      	(expand_case): Build list of simple_case_node.
      	(expand_sjlj_dispatch_table): Use it.
      	* tree-switch-conversion.c (struct case_node): Moved from
      	stmt.c and adjusted.
      	(emit_case_nodes): Likewise.
      	(node_has_low_bound): Likewise.
      	(node_has_high_bound): Likewise.
      	(node_is_bounded): Likewise.
      	(case_values_threshold): Likewise.
      	(reset_out_edges_aux): Likewise.
      	(compute_cases_per_edge): Likewise.
      	(add_case_node): Likewise.
      	(dump_case_nodes): Likewise.
      	(balance_case_nodes): Likewise.
      	(expand_switch_as_decision_tree_p): Likewise.
      	(emit_jump): Likewise.
      	(emit_case_decision_tree): Likewise.
      	(try_switch_expansion): Likewise.
      	(do_jump_if_equal): Likewise.
      	(emit_cmp_and_jump_insns): Likewise.
      	(fix_phi_operands_for_edge): New function.
      	(record_phi_operand_mapping): Likewise.
      	(class pass_lower_switch): New pass.
      	(pass_lower_switch::execute): New function.
      	(make_pass_lower_switch): Likewise.
      	(conditional_probability):
      	* timevar.def: Add TV_TREE_SWITCH_LOWERING.
      	* tree-pass.h: Add make_pass_lower_switch.
      2017-08-29  Martin Liska  <mliska@suse.cz>
      
      	* gcc.dg/tree-prof/update-loopch.c: Scan patterns in
      	switchlower.
      	* gcc.dg/tree-ssa/vrp104.c: Likewise.
      
      From-SVN: r251412
      9dc3d6a9
    • Jozef Lawrynowicz's avatar
      re PR target/80993 ([msp430] __attribute__((interrupt)) should imply __attribute__((used))) · 10bcba61
      Jozef Lawrynowicz authored
      	PR target/80993
      	* gcc/config/msp430/msp430.c (msp430_attr): Mark interrupt
      	handlers as used.
      
      From-SVN: r251410
      10bcba61
    • Richard Biener's avatar
      dwarf2out.c (add_dwarf_attr): When checking is enabled verify we do not add a... · 12d84791
      Richard Biener authored
      dwarf2out.c (add_dwarf_attr): When checking is enabled verify we do not add a DW_AT_inline attribute twice.
      
      2017-08-29  Richard Biener  <rguenther@suse.de>
      
      	* dwarf2out.c (add_dwarf_attr): When checking is enabled verify
      	we do not add a DW_AT_inline attribute twice.
      	(gen_subprogram_die): Remove code setting DW_AT_inline on
      	DECL_ABSTRACT_P nodes.
      
      From-SVN: r251409
      12d84791
    • Martin Liska's avatar
      Fix --help=target (Ada) (PR other/39851) · 0694da45
      Martin Liska authored
      2017-08-29  Martin Liska  <mliska@suse.cz>
      
      	PR other/39851
      	* gcc-interface/trans.c (Pragma_to_gnu): Set argument to NULL.
      
      From-SVN: r251406
      0694da45
    • Richard Sandiford's avatar
      Set the call nothrow flag more often · a844293d
      Richard Sandiford authored
      This patch sets the nothrow flag for various calls to internal functions
      that are not inherently NOTHROW (and so can't be declared that way in
      internal-fn.def) but that are used in contexts that can guarantee
      NOTHROWness.
      
      2017-08-29  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* gimplify.c (gimplify_call_expr): Copy the nothrow flag to
      	calls to internal functions.
      	(gimplify_modify_expr): Likewise.
      	* tree-call-cdce.c (use_internal_fn): Likewise.
      	* tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
      	(convert_to_divmod): Set the nothrow flag.
      	* tree-if-conv.c (predicate_mem_writes):  Likewise.
      	* tree-vect-stmts.c (vectorizable_mask_load_store): Likewise.
      	(vectorizable_call): Likewise.
      	(vectorizable_store): Likewise.
      	(vectorizable_load): Likewise.
      	* tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
      	(vect_recog_mask_conversion_pattern): Likewise.
      
      From-SVN: r251401
      a844293d
    • Martin Liska's avatar
      Fix --help=target (PR other/39851). · 130fcab0
      Martin Liska authored
      2017-08-29  Martin Liska  <mliska@suse.cz>
      
      	PR other/39851
      	* gcc.c (driver_handle_option): Add new argument.
      	* opts-common.c (handle_option): Pass
      	target_option_override_hook.
      	* opts-global.c (lang_handle_option): Add new option.
      	(set_default_handlers):  Add new argument.
      	(decode_options): Likewise.
      	* opts.c (target_handle_option): Likewise.
      	(common_handle_option): Call target_option_override_hook.
      	* opts.h (struct cl_option_handler_func): Add hook for
      	target option override.
      	(struct cl_option_handlers): Likewise.
      	(set_default_handlers): Add new argument.
      	(decode_options): Likewise.
      	(common_handle_option): Likewise.
      	(target_handle_option): Likewise.
      	* toplev.c (toplev::main): Pass targetm.target_option.override
      	hook.
      2017-08-29  Martin Liska  <mliska@suse.cz>
      
      	PR other/39851
      	* c-common.c (parse_optimize_options): Add argument to function
      	call.
      	* c-pragma.c (handle_pragma_diagnostic): Likewise.
      
      From-SVN: r251400
      130fcab0
    • Richard Biener's avatar
      tree-vect-slp.c (vect_bb_slp_scalar_cost): Properly confine life to the active subtree. · faa5399b
      Richard Biener authored
      
      2017-08-29  Richard Biener  <rguenther@suse.de>
      	Dominik Infuehr <dominik.infuehr@theobroma-systems.com>
      
      	* tree-vect-slp.c (vect_bb_slp_scalar_cost): Properly confine
      	life to the active subtree.
      
      	* gcc.dg/vect/costmodel/x86_64/costmodel-vect-slp.c: New testcase.
      
      Co-Authored-By: default avatarDominik Infuehr <dominik.infuehr@theobroma-systems.com>
      
      From-SVN: r251398
      faa5399b
    • Jeff Law's avatar
      tree-ssa-dom.c (edge_info::record_simple_equiv): Call derive_equivalences. · 14d62813
      Jeff Law authored
      	* tree-ssa-dom.c (edge_info::record_simple_equiv): Call
      	derive_equivalences.
      	(derive_equivalences_from_bit_ior, record_temporary_equivalences):
      	Code moved into....
      	(edge_info::derive_equivalences): New private member function
      
      	* gcc.dg/torture/pr57214.c: Fix type of loop counter.
      	* gcc.dg/tree-ssa/ssa-sink-16.c: Disable DOM.
      	* gcc.dg/tree-ssa/ssa-dom-thread-11.c: New test.
      	* gcc.dg/tree-ssa/ssa-dom-thread-12.c: New test.
      	* gcc.dg/tree-ssa/ssa-dom-thread-13.c: New test.
      	* gcc.dg/tree-ssa/ssa-dom-thread-14.c: New test.
      	* gcc.dg/tree-ssa/ssa-dom-thread-15.c: New test.
      	* gcc.dg/tree-ssa/ssa-dom-thread-16.c: New test.
      	* gcc.dg/tree-ssa/ssa-dom-thread-17.c: New test.
      
      From-SVN: r251397
      14d62813
    • Jeff Law's avatar
      tree-ssa-dom.c (class edge_info): Changed from a struct to a class. · a09f784a
      Jeff Law authored
      	* tree-ssa-dom.c (class edge_info): Changed from a struct
      	to a class.  Add ctor/dtor, methods and data members.
      	(edge_info::edge_info): Renamed from allocate_edge_info.
      	Initialize additional members.
      	(edge_info::~edge_info): New.
      	(free_dom_edge_info): Delete the edge info.
      	(record_edge_info): Use new class & associated member functions.
      	Tighten forms for testing for edge equivalences.
      	(record_temporary_equivalences): Iterate over the simple
      	equivalences rather than assuming there's only one per edge.
      	(cprop_into_successor_phis): Iterate over the simple
      	equivalences rather than assuming there's only one per edge.
      	(optimize_stmt): Use operand_equal_p rather than pointer
      	equality for mini-DSE code.
      
      From-SVN: r251396
      a09f784a
Loading