<feed xmlns='http://www.w3.org/2005/Atom'>
<title>slang.git/tests/compute/dynamic-generics-simple.slang.expected.txt, branch master</title>
<subtitle>Making it easier to work with shaders</subtitle>
<id>https://git.yummers.dev/slang.git/atom?h=master</id>
<link rel='self' href='https://git.yummers.dev/slang.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/'/>
<updated>2020-06-15T16:04:53+00:00</updated>
<entry>
<title>Generate IRType for interfaces, and reference them as `operand[0]` in IRWitnessTable values (#1387)</title>
<updated>2020-06-15T16:04:53+00:00</updated>
<author>
<name>Yong He</name>
<email>yonghe@outlook.com</email>
</author>
<published>2020-06-15T16:04:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.yummers.dev/slang.git/commit/?id=90444f8366255f274993ce4699738d9ab7cf4ee1'/>
<id>urn:sha1:90444f8366255f274993ce4699738d9ab7cf4ee1</id>
<content type='text'>
* Generate IRType for interfaces, and  use them as the type of IRWitnessTable values.

This results the following IR for the included test case:
```
[export("_S3tu010IInterface7Computep1pii")]
let  %1 : _     = key
[export("_ST3tu010IInterface")]
[nameHint("IInterface")]
interface %IInterface   : _(%1);

[export("_S3tu04Impl7Computep1pii")]
[nameHint("Impl.Compute")]
func %Implx5FCompute    : Func(Int, Int)
{
block %2(
                [nameHint("inVal")]
                param %inVal    : Int):
        let  %3 : Int   = mul(%inVal, %inVal)
        return_val(%3)
}
[export("_SW3tu04Impl3tu010IInterface")]
witness_table %4        : %IInterface
{
        witness_table_entry(%1,%Implx5FCompute)

}
```

* Fixes per code review comments.

Moved interface type reference in IRWitnessTable from their type to operand[0].

* Fix typo in comment.</content>
</entry>
</feed>
