summaryrefslogtreecommitdiff
path: root/source/slang/slang-ir-specialize-dispatch.cpp
AgeCommit message (Collapse)Author
2021-02-16Add an accessor for IRInst opcode (#1707)Tim Foley
* Add an accessor for IRInst opcode This main changing is renaming `IRInst::op` over to `IRInst::m_op` and then adds an accessor `IRInst::getOp()` to read it. The rest of the changes are just changing use sites to `getOp` (or to `m_op` in the limited cases where we write to it). This work is in anticipation of a future change that might need to store an extra bit in the same field as the opcode. It seemed better to do this massive refactoring as a separate PR. * fixup
2020-11-20Make witness and RTTI handles lower to `uint2`. (#1613)Yong He
* Make witness and RTTI handles lower to `uint2`. And enable some dynamic dispatch tests on D3D/VK. * Bug fixes.
2020-11-10Use integer RTTI/witness handles in existential tuples. (#1598)Yong He
* Use integer RTTI/witness handles in existential tuples. * Fix clang error. * Fix IR serialization to use 16bits for opcode. * Undo accidental comment change. * Use variable length encoding for opcode. * Fix compile error. * Fixing issues * Fix code review issues.
2020-11-06Specialize witness table lookups. (#1596)Yong He
* Specialize witness table lookups. * Remove generated files from vcxproj * Fix call to generic interface methods.
2020-10-29Generate `switch` based dynamic dispatch logic. (#1591)Yong He
Co-authored-by: Tim Foley <tim.foley.is@gmail.com>
2020-10-28Add sequential ID cache in Linkage for witness tables and RTTI objects. (#1590)Yong He
2020-10-22Generate `if` based dispatch logic on GPU targets. (#1585)Yong He