RISC-V: Fix PR112888 ICE

Committed as it is obvious.

gcc/ChangeLog:

	* config/riscv/riscv-vsetvl.cc (extract_single_source): new function.
	(pre_vsetvl::compute_lcm_local_properties): Fix ICE.
This commit is contained in:
Juzhe-Zhong 2023-12-07 06:35:02 +08:00 committed by Patrick O'Neill
parent 09a08df719
commit db642d60ee
No known key found for this signature in database
GPG key ID: A021A255BA0CDD04

View file

@ -596,6 +596,14 @@ extract_single_source (set_info *set)
return first_insn;
}
static insn_info *
extract_single_source (def_info *def)
{
if (!def)
return nullptr;
return extract_single_source (dyn_cast<set_info *> (def));
}
static bool
same_equiv_note_p (set_info *set1, set_info *set2)
{
@ -2692,9 +2700,7 @@ pre_vsetvl::compute_lcm_local_properties ()
def_lookup dl = crtl->ssa->find_def (resource, insn);
def_info *def
= dl.matching_set_or_last_def_of_prev_group ();
gcc_assert (def);
insn_info *def_insn = extract_single_source (
dyn_cast<set_info *> (def));
insn_info *def_insn = extract_single_source (def);
if (def_insn && vsetvl_insn_p (def_insn->rtl ()))
{
vsetvl_info def_info = vsetvl_info (def_insn);