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:
parent
09a08df719
commit
db642d60ee
1 changed files with 9 additions and 3 deletions
|
@ -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);
|
||||
|
|
Loading…
Add table
Reference in a new issue