Displaying 9 results from an estimated 9 matches for "issubclass".
2011 Jun 21
2
[LLVMdev] Register class proliferation
...ctored most of that away by now, though.
I can't think of any super-linear algorithms remaining except for getCommonSubClass() which could easily be fixed. I've never seen it show up on a Shark trace, though.
If we give each register class a bit vector of sub-classes, the currently linear isSubClass() / isSuperClass() would become constant time, and getCommonSubClass() could be made linear with CountTrailingZeros(A and B).
Yes, those bit vectors would require N^2 space, but the constant factor is 1 bit, so I don't care. I am not adding that many register classes.
/jakob
2009 May 26
0
[LLVMdev] Exception Personality Function
...he
code LLVM-specific - for example, I only included decoding functions for
those encodings that are actually emitted by LLVM.
The personality function uses type descriptors from my language (Tart)
rather than C++ std::type_info objects, and tests the exception type
using my language's own isSubclass() method. This can serve as an
example for how to use exceptions for languages that are different from C++.
To invoke the personality function and have it catch an exception, the
IR that you generate should look like the following:
try:
;; Throw some exception
invoke { } @"throwSomethi...
2011 Jun 21
0
[LLVMdev] Register class proliferation
On Jun 21, 2011, at 8:51 AM, Jakob Stoklund Olesen wrote:
> In the past, I've seen some pushback on the list against adding more register classes. You can see it in the code as well, TargetLowering::getRegClassForInlineAsmConstraint() returns a vector of registers instead of a real register class.
>
> What is the reason we don't like adding register classes? Is it still a valid
2011 Jun 21
2
[LLVMdev] Register class proliferation
In the past, I've seen some pushback on the list against adding more register classes. You can see it in the code as well, TargetLowering::getRegClassForInlineAsmConstraint() returns a vector of registers instead of a real register class.
What is the reason we don't like adding register classes? Is it still a valid reason?
The new register allocators, fast and greedy, don't care at
2009 Nov 24
0
[LLVMdev] RFC: New Exception Handling Proposal
...ve my own personality function (which can be
viewed here:
http://code.google.com/p/tart/source/browse/trunk/runtime/lib/tart_eh_personality.c)
My compiler generates the list of filter parameters as pointers to Type
objects. In the personality function, it examines each such pointer and
does an IsSubclass test. The action code returned by the personality
function is a simple integer index (0, 1, 2, ...etc) which represents
the number of the catch block to transfer control to. This index is then
fed into a IR switch instruction in the landing pad.
The concern I have is that the 'convoke'...
2010 Aug 27
3
[PATCH 0 of 3] libxl: cleanups for type destructor generation
Following series cleans up a few niggles in the libxl destructor
autogeneration.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
2011 Jun 22
0
[LLVMdev] Register class proliferation
...away by now, though.
>
> I can't think of any super-linear algorithms remaining except for getCommonSubClass() which could easily be fixed. I've never seen it show up on a Shark trace, though.
>
> If we give each register class a bit vector of sub-classes, the currently linear isSubClass() / isSuperClass() would become constant time, and getCommonSubClass() could be made linear with CountTrailingZeros(A and B).
>
> Yes, those bit vectors would require N^2 space, but the constant factor is 1 bit, so I don't care. I am not adding that many register classes.
We should mak...
2009 Nov 18
11
[LLVMdev] RFC: New Exception Handling Proposal
I've been looking into a new way to implement exception handling in
LLVM. The current model has many disadvantages, in my opinion. I try
to address them with this proposal. I also try to make exception
handling much more understandable to the normal human reader. :-) Any
new proposal will need to address all present and future languages'
exception handling methodologies. I
2010 Aug 18
16
[PATCH 00 of 16] libxl: autogenerate type definitions and destructor functions
The series introduces auto-generation of the type definitions used in
the libxl interface followed by auto-generation of a destructor
function for each type. In the future it may be possible to use the
related data structures for other purposes, for example auto-generation
of the functions to marshal between C and language binding data types.
tools/_libxl_types.h should be identical both before