Displaying 19 results from an estimated 19 matches for "getlatency".
2013 Sep 09
2
[LLVMdev] TableGen and computed expressions
...ed value instead of a constant?
For example, with the latency issues, the old instruction might have a
latency of 2 - expressed as the constant '2' - while the value for the
revised instruction is '3'. I would like to be able to provide this value
using a function call ( e.g. 'getLatency()'), or some other externally
computed value.
For the mnemonics I was wondering if it is possible to provide a fragment to
'strconcat' from a function call, or perhaps from an array with an index
(e.g. 'AsmFrag[VALUE]')?
I have tried variants of '[{ code }]' but this d...
2015 Feb 04
2
[LLVMdev] Question on Machine Combiner Pass
...d latency for the current
instruction (MUL+ADD) and the alternate instruction (MADD).
But we call two different set of APIs for the current and new instructions:
For new instruction we use:
unsigned NewRootDepth = getDepth(InsInstrs, InstrIdxForVirtReg, BlockTrace);
unsigned NewRootLatency = getLatency(Root, NewRoot, BlockTrace);
While for the current instruction we use:
unsigned RootDepth = BlockTrace.getInstrCycles(Root).Depth;
unsigned RootLatency = TSchedModel.computeInstrLatency(Root);
This is related to the following commit:
commit e4fa341dde3c9521b7f11bd53ecdcbeb3f8fcbda
Author...
2013 Sep 22
0
[LLVMdev] TableGen and computed expressions
...ed value instead of a constant?
For example, with the latency issues, the old instruction might have a latency of 2 - expressed as the constant '2' - while the value for the revised instruction is '3'. I would like to be able to provide this value using a function call ( e.g. 'getLatency()'), or some other externally computed value.
For the mnemonics I was wondering if it is possible to provide a fragment to 'strconcat' from a function call, or perhaps from an array with an index (e.g. 'AsmFrag[VALUE]')?
I have tried variants of '[{ code }]' but this d...
2013 Sep 29
2
[LLVMdev] Tblgen and computed expressions
...ed value instead of a constant?
For example, with the latency issues, the old instruction might have a latency of 2 - expressed as the constant '2' - while the value for the revised instruction is '3'. I would like to be able to provide this value using a function call ( e.g. 'getLatency()'), or some other externally computed value.
For the mnemonics I was wondering if it is possible to provide a fragment to 'strconcat' from a function call, or perhaps from an array with an index (e.g. 'AsmFrag[VALUE]')?
I have tried variants of '[{ code }]' but this d...
2016 Mar 17
4
[PATCH mesa v2 1/2] nouveau: codegen: Use FILE_MEMORY_BUFFER for buffers
...return false;
if (typeSizeof(ty) > 4)
- return (file == FILE_MEMORY_LOCAL) || (file == FILE_MEMORY_GLOBAL);
+ return (file == FILE_MEMORY_LOCAL) || (file == FILE_MEMORY_GLOBAL) ||
+ (file == FILE_MEMORY_BUFFER);
return true;
}
@@ -509,6 +511,7 @@ int TargetNV50::getLatency(const Instruction *i) const
switch (i->src(0).getFile()) {
case FILE_MEMORY_LOCAL:
case FILE_MEMORY_GLOBAL:
+ case FILE_MEMORY_BUFFER:
return 100; // really 400 to 800
default:
return 22;
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_i...
2013 Sep 27
1
[LLVMdev] TableGen and computed expressions
...ed value instead of a constant?
For example, with the latency issues, the old instruction might have a
latency of 2 - expressed as the constant '2' - while the value for the
revised instruction is '3'. I would like to be able to provide this value
using a function call ( e.g. 'getLatency()'), or some other externally
computed value.
For the mnemonics I was wondering if it is possible to provide a fragment to
'strconcat' from a function call, or perhaps from an array with an index
(e.g. 'AsmFrag[VALUE]')?
I have tried variants of '[{ code }]' but this d...
2013 Oct 01
0
[LLVMdev] Tblgen and computed expressions
...ed value instead of a constant?
For example, with the latency issues, the old instruction might have a
latency of 2 - expressed as the constant '2' - while the value for the
revised instruction is '3'. I would like to be able to provide this value
using a function call ( e.g. 'getLatency()'), or some other externally
computed value.
For the mnemonics I was wondering if it is possible to provide a fragment to
'strconcat' from a function call, or perhaps from an array with an index
(e.g. 'AsmFrag[VALUE]')?
I have tried variants of '[{ code }]' but this d...
2011 Dec 20
0
[LLVMdev] specializing hybrid_ls_rr_sort (was: Re: Bottom-Up Scheduling?)
...function first checks
> for stalls and returns 1 or -1. Only after that does it look at the
> relative latencies.
Looking at this more carefully, I think that I see the problem. The
heights are set to account for the latencies:
PredSU->setHeightToAtLeast(SU->getHeight() + PredEdge->getLatency());
but the latencies are considered only if the node as an ILP scheduling
preference (the default in TargetLowering.h is None):
bool LStall = (!checkPref || left->SchedulingPref == Sched::ILP) &&
BUHasStall(left, LHeight, SPQ);
...
and the PPC backend does not override getSchedu...
2016 Apr 08
2
[PATCH mesa v2 1/2] nouveau: codegen: Use FILE_MEMORY_BUFFER for buffers
...eturn (file == FILE_MEMORY_LOCAL) || (file == FILE_MEMORY_GLOBAL);
>> + return (file == FILE_MEMORY_LOCAL) || (file == FILE_MEMORY_GLOBAL) ||
>> + (file == FILE_MEMORY_BUFFER);
>> return true;
>> }
>>
>> @@ -509,6 +511,7 @@ int TargetNV50::getLatency(const Instruction *i) const
>> switch (i->src(0).getFile()) {
>> case FILE_MEMORY_LOCAL:
>> case FILE_MEMORY_GLOBAL:
>> + case FILE_MEMORY_BUFFER:
>> return 100; // really 400 to 800
>> default:
>>...
2011 Dec 20
1
[LLVMdev] specializing hybrid_ls_rr_sort (was: Re: Bottom-Up Scheduling?)
...gt; for stalls and returns 1 or -1. Only after that does it look at the
>> relative latencies.
>
> Looking at this more carefully, I think that I see the problem. The
> heights are set to account for the latencies:
> PredSU->setHeightToAtLeast(SU->getHeight() + PredEdge->getLatency());
>
> but the latencies are considered only if the node as an ILP scheduling
> preference (the default in TargetLowering.h is None):
> bool LStall = (!checkPref || left->SchedulingPref == Sched::ILP) &&
> BUHasStall(left, LHeight, SPQ);
> ...
>
> and the P...
2016 Mar 23
0
[PATCH mesa v2 1/2] nouveau: codegen: Use FILE_MEMORY_BUFFER for buffers
...y) > 4)
> - return (file == FILE_MEMORY_LOCAL) || (file == FILE_MEMORY_GLOBAL);
> + return (file == FILE_MEMORY_LOCAL) || (file == FILE_MEMORY_GLOBAL) ||
> + (file == FILE_MEMORY_BUFFER);
> return true;
> }
>
> @@ -509,6 +511,7 @@ int TargetNV50::getLatency(const Instruction *i) const
> switch (i->src(0).getFile()) {
> case FILE_MEMORY_LOCAL:
> case FILE_MEMORY_GLOBAL:
> + case FILE_MEMORY_BUFFER:
> return 100; // really 400 to 800
> default:
> return 22;
> diff --gi...
2011 Dec 20
2
[LLVMdev] specializing hybrid_ls_rr_sort (was: Re: Bottom-Up Scheduling?)
On Mon, 2011-12-19 at 23:20 -0800, Andrew Trick wrote:
>
> On Dec 19, 2011, at 10:53 PM, Hal Finkel wrote:
>
> > Here's my "thought experiment" (from PR11589): I have a bunch of
> > load-fadd-store chains to schedule. A store takes two cycles to
> > clear
> > its last pipeline stage. The fadd takes longer to compute its result
> > (say 5
2016 Apr 12
2
[PATCH mesa v2 1/2] nouveau: codegen: Use FILE_MEMORY_BUFFER for buffers
...;
>>>> + return (file == FILE_MEMORY_LOCAL) || (file ==
>>>> FILE_MEMORY_GLOBAL) ||
>>>> + (file == FILE_MEMORY_BUFFER);
>>>> return true;
>>>> }
>>>>
>>>> @@ -509,6 +511,7 @@ int TargetNV50::getLatency(const Instruction *i)
>>>> const
>>>> switch (i->src(0).getFile()) {
>>>> case FILE_MEMORY_LOCAL:
>>>> case FILE_MEMORY_GLOBAL:
>>>> + case FILE_MEMORY_BUFFER:
>>>> return 100; // real...
2016 Apr 08
0
[PATCH mesa v2 1/2] nouveau: codegen: Use FILE_MEMORY_BUFFER for buffers
...>> FILE_MEMORY_GLOBAL);
>>> + return (file == FILE_MEMORY_LOCAL) || (file ==
>>> FILE_MEMORY_GLOBAL) ||
>>> + (file == FILE_MEMORY_BUFFER);
>>> return true;
>>> }
>>>
>>> @@ -509,6 +511,7 @@ int TargetNV50::getLatency(const Instruction *i)
>>> const
>>> switch (i->src(0).getFile()) {
>>> case FILE_MEMORY_LOCAL:
>>> case FILE_MEMORY_GLOBAL:
>>> + case FILE_MEMORY_BUFFER:
>>> return 100; // really 400 to 800
>>&g...
2016 Apr 14
0
[PATCH mesa v2 1/2] nouveau: codegen: Use FILE_MEMORY_BUFFER for buffers
...return (file == FILE_MEMORY_LOCAL) || (file ==
>>>>> FILE_MEMORY_GLOBAL) ||
>>>>> + (file == FILE_MEMORY_BUFFER);
>>>>> return true;
>>>>> }
>>>>>
>>>>> @@ -509,6 +511,7 @@ int TargetNV50::getLatency(const Instruction *i)
>>>>> const
>>>>> switch (i->src(0).getFile()) {
>>>>> case FILE_MEMORY_LOCAL:
>>>>> case FILE_MEMORY_GLOBAL:
>>>>> + case FILE_MEMORY_BUFFER:
>>>>>...
2016 Mar 16
2
[PATCH mesa 4/6] nouveau: codegen: s/FILE_MEMORY_GLOBAL/FILE_MEMORY_BUFFER/
...)
> return false;
> if (typeSizeof(ty) > 4)
> - return (file == FILE_MEMORY_LOCAL) || (file == FILE_MEMORY_GLOBAL);
> + return (file == FILE_MEMORY_LOCAL) || (file == FILE_MEMORY_BUFFER);
> return true;
> }
>
> @@ -508,7 +508,7 @@ int TargetNV50::getLatency(const Instruction *i) const
> if (i->op == OP_LOAD) {
> switch (i->src(0).getFile()) {
> case FILE_MEMORY_LOCAL:
> - case FILE_MEMORY_GLOBAL:
> + case FILE_MEMORY_BUFFER:
> return 100; // really 400 to 800
> default:
>...
2016 Mar 16
0
[PATCH mesa 4/6] nouveau: codegen: s/FILE_MEMORY_GLOBAL/FILE_MEMORY_BUFFER/
...if (ty == TYPE_B96 || ty == TYPE_NONE)
return false;
if (typeSizeof(ty) > 4)
- return (file == FILE_MEMORY_LOCAL) || (file == FILE_MEMORY_GLOBAL);
+ return (file == FILE_MEMORY_LOCAL) || (file == FILE_MEMORY_BUFFER);
return true;
}
@@ -508,7 +508,7 @@ int TargetNV50::getLatency(const Instruction *i) const
if (i->op == OP_LOAD) {
switch (i->src(0).getFile()) {
case FILE_MEMORY_LOCAL:
- case FILE_MEMORY_GLOBAL:
+ case FILE_MEMORY_BUFFER:
return 100; // really 400 to 800
default:
return 22;
diff --git a/src/gallium...
2016 Mar 16
0
[PATCH mesa 4/6] nouveau: codegen: s/FILE_MEMORY_GLOBAL/FILE_MEMORY_BUFFER/
...;> if (typeSizeof(ty) > 4)
>> - return (file == FILE_MEMORY_LOCAL) || (file == FILE_MEMORY_GLOBAL);
>> + return (file == FILE_MEMORY_LOCAL) || (file == FILE_MEMORY_BUFFER);
>> return true;
>> }
>>
>> @@ -508,7 +508,7 @@ int TargetNV50::getLatency(const Instruction *i) const
>> if (i->op == OP_LOAD) {
>> switch (i->src(0).getFile()) {
>> case FILE_MEMORY_LOCAL:
>> - case FILE_MEMORY_GLOBAL:
>> + case FILE_MEMORY_BUFFER:
>> return 100; // really 400 to 800
>...
2016 Mar 16
13
[PATCH mesa 1/6] tgsi_build: Fix return of uninitialized memory in tgsi_*_instruction_memory
tgsi_default_instruction_memory / tgsi_build_instruction_memory were
returning uninitialized memory for tgsi_instruction_memory.Texture and
tgsi_instruction_memory.Format. Note 0 means not set, and thus is a
correct default initializer for these.
Fixes: 3243b6fc97 ("tgsi: add Texture and Format to tgsi_instruction_memory")
Cc: Nicolai Hähnle <nicolai.haehnle at amd.com>