allocateFinalLiteralId(*this, bc);
final_to_frag_map = groupByFragment(*this, bc);
+ // Write the fragment IDs into the literal_info structures.
+ for (auto &info : literal_info) {
+ if (info.final_id == MO_INVALID_IDX) {
+ continue;
+ }
+ assert(contains(final_to_frag_map, info.final_id));
+ info.fragment_id = final_to_frag_map.at(info.final_id).fragment_id;
+ }
+
auto anchored_dfas = buildAnchoredDfas(*this);
bc.floatingMinLiteralMatchOffset =
ue2::flat_set<RoseVertex> vertices;
rose_group group_mask = 0;
u32 undelayed_id = MO_INVALID_IDX;
- u32 final_id = MO_INVALID_IDX; /* id reported by fdr */
+ u32 final_id = MO_INVALID_IDX; // TODO: remove
+ u32 fragment_id = MO_INVALID_IDX; //!< ID corresponding to literal prog.
bool squash_group = false;
bool requires_benefits = false;
};