Displaying 20 results from an estimated 1000 matches similar to: "RFC: Disambiguate RegClass->getSize()"
2013 Jan 09
2
[LLVMdev] LLVM ERROR: ran out of registers during register allocation
Ok, I've found that marking tiny live intervals as not spillable inside
VirtRegAuxInfo::CalculateWeightAndHint is not playing nicely with very
constrained regclasses, in my case a regclass composed of only one
register.
As a workaround, instead of marking them as not spillable, I've marked them
with a very high spill cost and the regalloc is able to compile the
function with good code
2015 Jul 15
2
[LLVMdev] SymbolRef and getSize
Hi everyone,
I’m currently playing with the clang driver and I encounter a strange bug.
It occurs when I used the getSize function from the SymbolRef class.
On iOS, the number returned is not always correct (some function have the right size).
Sadly,
This is my code (at the end of the main function into driver.cpp) :
####
ErrorOr<OwningBinary<Binary>> BinaryOrErr =
2013 Jan 09
0
[LLVMdev] LLVM ERROR: ran out of registers during register allocation
On Jan 9, 2013, at 10:46 AM, Borja Ferrer <borja.ferav at gmail.com> wrote:
> Ok, I've found that marking tiny live intervals as not spillable inside VirtRegAuxInfo::CalculateWeightAndHint is not playing nicely with very constrained regclasses, in my case a regclass composed of only one register.
> As a workaround, instead of marking them as not spillable, I've marked them
2012 Mar 30
1
[LLVMdev] getInstructionName() in XXXGenAsmWriter.cpp
On Mar 30, 2012, at 3:12 PM, Benjamin Kramer <benny.kra at googlemail.com> wrote:
>
> On 30.03.2012, at 23:30, Jakob Stoklund Olesen wrote:
>
>> Is this function required?
>>
>> MCInstrInfo::getName(OpCode) returns the same string, and we have two copies of the string table now.
>>
>> Can MCInstrPrinter refer to MCInstrInfo, and why not?
>
>
2015 Aug 31
3
MCRegisterClass mandatory vs preferred alignment?
Looking around today, it appears that TargetRegisterClass and
MCRegisterClass only includes a single alignment. This is documented as
being the minimum legal alignment, but it appears to often be greater
than this in practice. For instance, on x86 the alignment of %ymm0 is
listed as 32, not 1. Does anyone know why this is?
Additionally, where are these alignments actually defined? I
2013 Jan 07
0
[LLVMdev] LLVM ERROR: ran out of registers during register allocation
On Jan 7, 2013, at 4:58 AM, Borja Ferrer <borja.ferav at gmail.com> wrote:
> Hello Jakob,
>
> Did you get a chance to take a look into this, and if not, can you do it when you get some spare time?
It's not likely I'll have time to look at this in the near future. I'd recommend you do it yourself.
/jakob
> 2012/12/19 Borja Ferrer <borja.ferav at gmail.com>
2009 Sep 23
2
[LLVMdev] DebugFactory
On Sep 22, 2009, at 4:49 PM, Talin wrote:
>
> // Calculate the size of the specified LLVM type.
> Constant * DebugInfoBuilder::getSize(const Type * type) {
> Constant * one = ConstantInt::get(Type::Int32Ty, 1);
> return ConstantExpr::getPtrToInt(
> ConstantExpr::getGetElementPtr(
> ConstantPointerNull::get(PointerType::getUnqual(type)),
>
2013 Jan 07
2
[LLVMdev] LLVM ERROR: ran out of registers during register allocation
Hello Jakob,
Did you get a chance to take a look into this, and if not, can you do it
when you get some spare time?
Thanks!
2012/12/19 Borja Ferrer <borja.ferav at gmail.com>
> We did something like this back when the register allocator couldn't split
>> live ranges.
>>
>
> Yes, I remember the isWinToJoinCrossClass() function, removed here:
>
>
2009 Sep 22
0
[LLVMdev] DebugFactory
On Tue, Sep 22, 2009 at 9:21 AM, Devang Patel <devang.patel at gmail.com>wrote:
> On Tue, Sep 22, 2009 at 9:21 AM, Devang Patel <devang.patel at gmail.com>
> wrote:
> > On Tue, Sep 22, 2009 at 12:14 AM, Talin <viridia at gmail.com> wrote:
> >> So, one feature of the late, lamented DebugInfoBuilder that I am missing
> >> quite badly, and which is not
2011 Aug 26
1
R.oo data members / inheritance
If someone is able, can you tell me if there is a better way to do this?
More specifically, do I have to rewrite all of the data members stuff and
extend stuff of parent class in the child class? See below. Thanks in
advance!
Example 1:
setConstructorS3("ClassA", function(A,x) {
if(missing(A))A=15;
if(missing(x))x=NA;
extend(Object(), "ClassA",
.size = A,
.x=x
2009 Sep 23
0
[LLVMdev] DebugFactory
On Wed, Sep 23, 2009 at 1:51 PM, Dan Gohman <gohman at apple.com> wrote:
>
> On Sep 22, 2009, at 4:49 PM, Talin wrote:
>
>>
>> // Calculate the size of the specified LLVM type.
>> Constant * DebugInfoBuilder::getSize(const Type * type) {
>> Constant * one = ConstantInt::get(Type::Int32Ty, 1);
>> return ConstantExpr::getPtrToInt(
>>
2015 Aug 31
2
MCRegisterClass mandatory vs preferred alignment?
On 08/31/2015 03:59 PM, Matthias Braun wrote:
> Looks to me like the alignment is specified in tablegen. From Target.td:
>
> class RegisterClass<string namespace, list<ValueType> regTypes, int alignment,
> dag regList, RegAltNameIndex idx = NoRegAltName>
>
> X86RegisterInfo.td:
>
> def VR256 : RegisterClass<"X86", [v32i8,
2009 Sep 23
2
[LLVMdev] DebugFactory
On Wed, Sep 23, 2009 at 2:27 PM, Talin <viridia at gmail.com> wrote:
> On Wed, Sep 23, 2009 at 1:51 PM, Dan Gohman <gohman at apple.com> wrote:
>>
>> On Sep 22, 2009, at 4:49 PM, Talin wrote:
>>>
>>> // Calculate the size of the specified LLVM type.
>>> Constant * DebugInfoBuilder::getSize(const Type * type) {
>>> Constant * one =
2009 Sep 23
1
[LLVMdev] DebugFactory
On Tue, Sep 22, 2009 at 4:49 PM, Talin <viridia at gmail.com> wrote:
>
>
> On Tue, Sep 22, 2009 at 9:21 AM, Devang Patel <devang.patel at gmail.com>
> wrote:
>>
>> On Tue, Sep 22, 2009 at 9:21 AM, Devang Patel <devang.patel at gmail.com>
>> wrote:
>> > On Tue, Sep 22, 2009 at 12:14 AM, Talin <viridia at gmail.com> wrote:
>>
2014 Dec 19
2
[LLVMdev] [Patches][RFC] What to do about bitcode streaming.
Hi Rafael,
We will try out your patch and check to see how it will fit.
You also talked about "It might be even possible to drop the requirement
for the size to be known: Replace the call to AtEndOfStream by just trying
to read more and checking if it failed, but that is a bit more than I
wanted to do for this."
That is to remove some calls to getSize()? Is there any expectation that
2016 Sep 20
7
RFC: Implement variable-sized register classes
I have posted a patch that switches the API to one that supports this
(yet non-existent functionality) earlier:
https://reviews.llvm.org/D24631
The comments from that were incorporated into the following RFC.
Motivation:
Certain targets feature "variable-sized" registers, i.e. a situation
where the register size can be configured by a hardware switch. A
common instruction set
2016 Feb 03
2
[buildSchedGraph] memory dependencies
Hi,
(This only concerns MISNeedChainEdge(), and is separate from D8705)
I found out that the MIScheduler (pre-ra) could not handle a simple test
case (test/CodeGen/SystemZ/alias-01.ll), with 16 independent load / add
/ stores.
The buildSchedGraph() put too many edges between memory accesses, because
1) There was no implementation of areMemAccessesTriviallyDisjoint() for
SystemZ.
2) Type
2002 Nov 11
1
[LLVMdev] DSGraph questions
Dear Prof. Adve,
I recently checked out the llvm using
cvs update
command under the llvm directory. But when I went to see the DSNode.h,
there is no getPointerSize function. I checked the doxygen tree, it's
there. So that means I didn't update my cvs tree correctly. Could you let
me know how to update my CVS tree? Or there is a problem at somewhere
else?
Thanks,
xiaodong
On Sun, 10 Nov
2002 Nov 10
3
[LLVMdev] DSGraph questions
1. What is the difference between DSNodeHandle and DSNode? What do the
functions getLink() and getSize() do?
2. In the previous email, you mentioned that we can use
DSNode::getPointerSize() to get the number of links, But I checked the
doxygen documentation, there is no such member for DSNode.
3. Previously I use the following code:
for( df_iterator<DSNode*> I = df_begin(pnode),
2006 Sep 27
2
GetSize and GetPosition
Right now we default to returning objects instead of arrays.
perl/python have alternates that return tuples/lists. Do we want to
%alias those so we can get arrays back or does it really matter?