[PATCH] Round 3: add unconditional support for block signatures

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[PATCH] Round 3: add unconditional support for block signatures

Blaine Garst
Thanks to Fariborz suggestion that I write a unit test I discovered that clang was not emitting the type signature information for global blocks.

While there I renamed his "types" field internally to "signature" to reflect its more natural name which I will be using in the runtime.

More significantly, I realized that we can recover the unused-by-the-runtime (1<<29) bit now that unconditionally mark (1<<30).  This will enable the compiler to (re)use that bit sometime in the future.

Test "blocksignature.c" attached.




Blaine

_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev

clang-4.patch (11K) Download Attachment
blocksignature.c (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Round 3: add unconditional support for block signatures

jahanian
You want to remove #ifdef'ed out code in your test case.

Also, this test may or may not pass for 32bit mode. So, you may want to add something
like -triple x86_64-unknown-unknown  to command line.

- Fariborz


On Feb 22, 2010, at 5:30 PM, Blaine Garst wrote:

Thanks to Fariborz suggestion that I write a unit test I discovered that clang was not emitting the type signature information for global blocks.

While there I renamed his "types" field internally to "signature" to reflect its more natural name which I will be using in the runtime.

More significantly, I realized that we can recover the unused-by-the-runtime (1<<29) bit now that unconditionally mark (1<<30).  This will enable the compiler to (re)use that bit sometime in the future.

Test "blocksignature.c" attached.

<clang-4.patch>
<blocksignature.c>

Blaine
_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev


_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
Reply | Threaded
Open this post in threaded view
|

Re: [PATCH] Round 3: add unconditional support for block signatures

Blaine Garst

On Feb 22, 2010, at 5:53 PM, Fariborz Jahanian wrote:

You want to remove #ifdef'ed out code in your test case.

Also, this test may or may not pass for 32bit mode. So, you may want to add something
like -triple x86_64-unknown-unknown  to command line.

Yes, I remembered that moments after I sent out the patch.


The #if 0 code is non-trivial, why require it to be removed?

Blaine


- Fariborz


On Feb 22, 2010, at 5:30 PM, Blaine Garst wrote:

Thanks to Fariborz suggestion that I write a unit test I discovered that clang was not emitting the type signature information for global blocks.

While there I renamed his "types" field internally to "signature" to reflect its more natural name which I will be using in the runtime.

More significantly, I realized that we can recover the unused-by-the-runtime (1<<29) bit now that unconditionally mark (1<<30).  This will enable the compiler to (re)use that bit sometime in the future.

Test "blocksignature.c" attached.

<clang-4.patch>
<blocksignature.c>

Blaine
_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev



_______________________________________________
cfe-dev mailing list
[hidden email]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev

blocksignature.c (3K) Download Attachment