summaryrefslogtreecommitdiffstats
path: root/source/slang/parameter-binding.cpp
diff options
context:
space:
mode:
authorTim Foley <tfoley@nvidia.com>2018-05-10 20:28:39 -0700
committerTim Foley <tfoley@nvidia.com>2018-05-10 20:28:39 -0700
commit4e07e22f5d6b62481108f620d28c24e480dfff7a (patch)
treed8cd92fb4727955f01e945701998b4d480dca507 /source/slang/parameter-binding.cpp
parent140e51e8f9f3b966372efef112f00aa931dd0ca5 (diff)
Workaround for cases where we emit illegal-but-unused types
This is a quick workaround to deal with cases where we try to emit an unreferenced IR type that contains references to pre-legalization types (which might have been removed from the IR even thought they are still referenced). The basic fix is to *not* add types to our global order of instructions to emit by default, and only add them on demand as they are referenced by other instructions. This is not a real fix for the underlying issue, which is that type legalization is only being applied to a subset of global instructions instead of all of them. A more detailed fix for that problem will need to be devised next. This fix also doesn't address the question of why an unreferenced `struct` type came to be present in the IR code passed to the back-end in the first place. It would be good to understand how this scenario is arising.
Diffstat (limited to 'source/slang/parameter-binding.cpp')
0 files changed, 0 insertions, 0 deletions