diff --git a/gcc/config/riscv/riscv-vsetvl.cc b/gcc/config/riscv/riscv-vsetvl.cc index 789eb04b78d0475c5aa2995d95ca8c34af789c35..bd45cb97e63bffb2e9e05dc2e788625ca72b4a29 100644 --- a/gcc/config/riscv/riscv-vsetvl.cc +++ b/gcc/config/riscv/riscv-vsetvl.cc @@ -1183,6 +1183,9 @@ extract_single_source (set_info *set) return nullptr; hash_set<set_info *> sets = get_all_sets (set, true, false, true); + if (sets.is_empty ()) + return nullptr; + insn_info *first_insn = (*sets.begin ())->insn (); if (first_insn->is_artificial ()) return nullptr;