Displaying 20 results from an estimated 200 matches similar to: "Dynamically determine the CostPerUse value in the register allocator."
2020 May 30
2
Dynamically determine the CostPerUse value in the register allocator.
I dont know the history behind CostPerUse word so I may be missing the
background associated with it. It seems that it's misnomer for what it is
intended. At first sight, the word indicates that the cost is a function of
uses of the register - more the uses more the cost. How do we want to
define the value of CostPerUse. Should it be a function of uses? or just
the target?
On Sat, May 30,
2011 May 03
2
[LLVMdev] Greedy register allocation
On May 3, 2011, at 12:03 PM, David A. Greene wrote:
>>
>> The greedy allocator is trying to pick registers so inner loops are as
>> small as possible, but that is not always the right thing to do.
>
> How does it balance that against spill cost?
I added the CostPerUse field to the register descriptions. The allocator will try to minimize the spill weight assigned to
2011 May 03
0
[LLVMdev] Greedy register allocation
Jakob Stoklund Olesen <stoklund at 2pi.dk> writes:
>>> The greedy allocator is trying to pick registers so inner loops are as
>>> small as possible, but that is not always the right thing to do.
>>
>> How does it balance that against spill cost?
>
> I added the CostPerUse field to the register descriptions. The
> allocator will try to minimize the
2012 Oct 26
0
[LLVMdev] Data sharing between two ALUs and avoiding illegal copies
Hi,
I'm working on support for the latest generation of AMD GPUs (Southern
Islands) in the R600 backend, and I need some advice on how to handle
interactions between two different ALUs.
The processors on Southern Islands GPUs are grouped into compute units,
which contain 1 Scalar ALU (sALU) and 64 Vector ALUs (vALU). The sALU
is mainly responsible for flow control (implemented using
2017 Jul 13
2
Question about thinLTO
On Thu, Jul 13, 2017 at 8:37 AM, Christudasan D <xander.cd at gmail.com> wrote:
>
> Hi Teresa,
>
> Yes, we plan to have our code at CG directly.
> We use our own linker. That's the pain. We might only get a partial
> benefit of thinLTO which occurs at compile time.
>
There is no compile-time only benefit of ThinLTO. You'll need the linker to
interface with the
2017 Jul 13
2
Question about thinLTO
On Thu, Jul 13, 2017 at 2:54 AM, Christudasan D <xander.cd at gmail.com> wrote:
> Thank you Teresa.
>
> Yes, I would like to save the IR (*.bc and/or *.ll) after all
> optimizations (especially thinLTO) are done and call *llc* separately.
> Is there any specific document available online to see more about this
> feature and various command-line switches that a compiler
2011 May 03
2
[LLVMdev] Greedy register allocation
On May 3, 2011, at 3:23 PM, David A. Greene wrote:
> Jakob Stoklund Olesen <stoklund at 2pi.dk> writes:
>
>>>> The greedy allocator is trying to pick registers so inner loops are as
>>>> small as possible, but that is not always the right thing to do.
>>>
>>> How does it balance that against spill cost?
>>
>> I added the
2020 Jul 26
2
[LAA] RtCheck on pointers of different address spaces.
Hi Stefanos,
Attached the testcase. I tried to reduce it further, but the problem goes away when I remove the instructions further.
There is a nested loop and the fault occurs while processing the inner loop (for.body)
To reproduce the crash:
opt -O3 testcase.ll -o out.ll
> `groupChecks()` will only try to group pointers that are on the same alias set.
If that’s true, the RT check
2011 May 03
0
[LLVMdev] Greedy register allocation
Jakob Stoklund Olesen <stoklund at 2pi.dk> writes:
>> Yikes! Do we know why these codes got so much worse? Even 5% is a big
>> deal on x86.
>
> On x86-64, n-body and puzzle have the exact same instructions as with
> linear scan. The only difference is the choice of registers. This
> causes some loops to be a few bytes longer or shorter which can easily
> change
2017 Jul 12
2
Question about thinLTO
On Wed, Jul 12, 2017 at 10:19 AM, Teresa Johnson <tejohnson at google.com>
wrote:
> Hi Christu,
>
> Thanks for the note!
>
> On Wed, Jul 12, 2017 at 9:56 AM, Christudasan D via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> Hello,
>>
>>
>>
>> My impression on *thinLTO* when I first heard of it, (EuroLLVM2015) was
>> about
2011 May 03
3
[LLVMdev] Greedy register allocation
On May 3, 2011, at 9:19 AM, David A. Greene wrote:
> Jakob Stoklund Olesen <stoklund at 2pi.dk> writes:
>
>> +10.0% SingleSource/Benchmarks/CoyoteBench/huffbench
>> +12.0% SingleSource/Benchmarks/McGill/chomp
>> +18.0% SingleSource/Benchmarks/BenchmarkGame/n-body
>> +45.5% SingleSource/Benchmarks/BenchmarkGame/puzzle
>> +10.0%
2011 May 03
0
[LLVMdev] Greedy register allocation
Jakob Stoklund Olesen <stoklund at 2pi.dk> writes:
>> That was my initial reaction. Splitting should have at least
>> rematerialized the value just before header2. That should significantly
>> improve things. This is a classic motivational case for live range
>> splitting.
>
> Well, not really. Note there there are plenty of registers available
> and no
2017 Jul 12
2
Question about thinLTO
Hello,
My impression on *thinLTO* when I first heard of it, (EuroLLVM2015) was
about achieving Cross Module Optimization (CMO) at the IR level.
Having parallel front-end compilation & initial optimization first, a
thin-link of individual input units, more optimization by calling opt again
on the combined IR, and finally the target codegen using llc.
A transformation similar to the
2016 Aug 23
2
How to describe the RegisterInfo?
Hi Escha,
Great to have your comment! Do you have any specific reason for not doing
like this?
I am not sure whether I understand your point correctly. For "just model
one thread",
do you mean "only considering ONE of the 8/16 working lanes that running in
lock-step way"??
For my case, may be something like I only need to define r0~r127 as
register for i32 register (each r#
2011 May 04
4
[LLVMdev] Greedy register allocation
On May 3, 2011, at 4:08 PM, David A. Greene wrote:
>>
>> It's just that an REX prefix is required on some instructions when
>> %xmm8 is used. Is it worth it to undo LICM just for that? In this
>> case, probably. In general, no.
>
> Ah, so you're saying the regression is due to the inner loop icache
> footprint increasing. Ok, that makes total sense to
2020 Jul 26
2
[LAA] RtCheck on pointers of different address spaces.
Hello,
I Have a question related to the RT check on pointers during Loop Access Analysis pass.
There is a testcase with loop code that consist of 4 different memory operations referring two global objects of different address spaces.
One from global constant (address space 4, addr_size = 64) and the other from local, LDS (address space 3, addr_size= 32).
(Details of various address spaces
2015 Mar 03
2
Asssistance
Hi to All,
I am building a package in R and whenever I run command "R CMD build OAR"
in the terminal, I get the following error:
* checking for file ?OAR/DESCRIPTION? ... OK
* preparing ?OAR?:
* checking DESCRIPTION meta-information ... ERROR
Malformed Depends or Suggests or Imports or Enhances field.
Offending entries:
R (>=3.0.2)
Entries must be names of packages optionally
2009 Feb 13
1
equivalent to SAS genmod code in R?
Hello,
I have to run a general linear mixed model which looks at 2 dependent
variables at the same time (var1 divided by var2). I have tryed to search
for such a kind of model structure but since I just started using R my
search was not successful. Especielly since I only have an old SAS GENMOD
code structure from my project supervisor as an indication.
My question is no, does there exist a code
2011 Mar 07
1
null model for a single species?
Dear List members,
I would like to test whether an observed occupancy of lakes in a landscape has occurred randomly (by chance) or not.
How can I do that? The problem is that it concerns only a single species and I would like to use binary data only.
At first I thought of generating null models and test the observed occupancy against the randomly generated one. However, this needs more than one
2016 Aug 23
2
How to describe the RegisterInfo?
Yes, the arch is just as you said, something like AMD GPU, but Intel GPU
don't have separate register file for 'scalar/vector'.
In fact my idea of defining the register tuples was borrowed from
SIRegisterInfo.td in AMD GPU.
But seems that AMD GPU mainly support i32/i64 register type, while Intel
GPU also support byte/short register type.
So I have to start defining the registers from