Skip to content

Commit db642d6

Browse files
zhongjuzhepatrick-rivos
authored andcommitted
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.
1 parent 09a08df commit db642d6

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

gcc/config/riscv/riscv-vsetvl.cc

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -596,6 +596,14 @@ extract_single_source (set_info *set)
596596
return first_insn;
597597
}
598598

599+
static insn_info *
600+
extract_single_source (def_info *def)
601+
{
602+
if (!def)
603+
return nullptr;
604+
return extract_single_source (dyn_cast<set_info *> (def));
605+
}
606+
599607
static bool
600608
same_equiv_note_p (set_info *set1, set_info *set2)
601609
{
@@ -2692,9 +2700,7 @@ pre_vsetvl::compute_lcm_local_properties ()
26922700
def_lookup dl = crtl->ssa->find_def (resource, insn);
26932701
def_info *def
26942702
= dl.matching_set_or_last_def_of_prev_group ();
2695-
gcc_assert (def);
2696-
insn_info *def_insn = extract_single_source (
2697-
dyn_cast<set_info *> (def));
2703+
insn_info *def_insn = extract_single_source (def);
26982704
if (def_insn && vsetvl_insn_p (def_insn->rtl ()))
26992705
{
27002706
vsetvl_info def_info = vsetvl_info (def_insn);

0 commit comments

Comments
 (0)