This code adds initial support for generating the HLSL resources
metadata entries. It has a lot of FIXMEs laying around because there
is a lot more work to do here, but this lays a solid groundwork and can
accurately handle some trivial cases.
I've filed a swath of issues covering the deficiencies here and left the
issues in comments so that we can easily follow them.
One big change to make sooner rather than later is to move some of this
code into a new libLLVMFrontendHLSL so that we can share it with the
Clang CodeGen layer.
Maybe another class like
class HLSL_UAVs {
public:
private:
};