We shouldn't even have sampler variables left over by the time we get to sm1.
I am not sure if you meant to say "textures" instead of "samplers", but combined samplers appear like "Texture2D" in the CTAB, and `register(s·)` can be used in textures so that they reserve a particular sampler register:
https://shader-playground.timjones.io/d201fdfb98dd0cfa8149d3abb5f19320
Well, maybe I didn't consider the possibility of handling the combined sampler internally as a Sampler and adding a special flag to present it like a texture.
But we need an intermediate mapping from HLSL_REGSET_* to backend-specific register type enums anyway. Why does it matter how we map hlsl types to regsets?
I think that what I care about, rather than the name change, is that regsets can be used directly in the passes for allocating objects and for calculating deref offsets, both of which are backend-specific but have to be done before writing the actual bytecode.