- unsigned id = hash32(v->name)%features.constant_id_range;
- while(used_ids.count(id))
- id = (id+1)%features.constant_id_range;
+ unsigned id;
+ auto j = existing_constants.find(v->name);
+ if(j!=existing_constants.end())
+ id = j->second;
+ else
+ {
+ id = hash<32>(v->name)%features.constant_id_range;
+ while(used_ids.count(id))
+ id = (id+1)%features.constant_id_range;
+ }