Displaying 20 results from an estimated 400 matches similar to: "Simulation of load-store forwarding with MI scheduler on AArch64"
2020 Sep 15
2
[EXTERNAL] Re: Simulation of load-store forwarding with MI scheduler on AArch64
Thanks for prompt response, Andy
This will work for cases when address is not modified. However this doesn’t seem to work for pre/post increment load stores.
Consider data to address forwarding:
$x0 = ldr x0, [x1]
$x0, $x2 = ldr x2, [x0, 16]!
The second instruction will have it’s own latency for address modification ($x0 register). So I don’t see how we can use ReadAdr stuff
here. May be
2018 Nov 19
2
Per-write cycle count with ReadAdvance - Do I really need that?
It does not work. I have tried to use the latest master today. But tblgen
still give me information like
error: Resources are defined for both SchedRead and its alias on processor
MyArchModel
def : ReadAdvance<MyReadVector, 3, [MyWriteAddVector]>;
^
Unless I change "MyReadVector" to another read like "MyReadVector1", it
would not work. Debugging into tblgen, there is
2018 Nov 17
2
Per-write cycle count with ReadAdvance - Do I really need that?
Thanks Andrew. I have tried with recent tblgen, ReadAdvance would not work
for multiple latencies. Maybe I should make improvement into tblgen if
Pierre-Andre
does not have the change anymore.
However, I just a little curious about the situation I met. The hardware
forwording may fail for different reasons, which different register read
may have different latencies, depending both on the register
2018 Nov 15
2
Per-write cycle count with ReadAdvance - Do I really need that?
Hi list,
I happened to read below thread (written in 3 years ago). I think I may
need this ReadAdvance feature to work with my ARCH.
It is about the scheduler info which describes reading my ARCH's vector
register. There are different latencies since forwarding/bypass appears. I
give it as below example:
def : WriteRes<WriteVector, [MyArchVALU]> { let Latency = 6; }
...
def
2014 Feb 19
2
[LLVMdev] Question about per-operand machine model
Hi JinGu,
We currently have the ResourceCycles list to indicate the number of cpu cycles during which a resource is reserved. We could simply add a ResourceDelay with similar grammar. The MachineScheduler could be taught to keep track of the first and last time that a resource is reserved.
Note that the MachineScheduler will work with the instruction itineraries if you choose to implement them.
2014 Feb 28
2
[LLVMdev] Question about per-operand machine model
On Feb 19, 2014, at 1:54 PM, jingu <jingu at codeplay.com> wrote:
> Hi Andy,
>
> I am trying to schedule and packetize instructions for VLIW at post-RA
> stage or final codegen stage, where code transformations are not allowed
> any more, because hardware can not resolve resource conflict. There is a
> simple example as following:
>
> ADD dest_reg1, src_reg1,
2014 Mar 03
2
[LLVMdev] Question about per-operand machine model
On Mar 3, 2014, at 8:53 AM, Pierre-Andre Saulais <pierre-andre at codeplay.com> wrote:
> Hi Andrew,
>
> We are currently using a custom model where scheduling information is attached to each MCInstrDesc through tablegen, and we're trying to move to one of LLVM's models.
>
> To expand on what JinGu mentioned, our target has explicit ports that are used to read and
2016 May 13
2
A question about AArch64 Cortex-A57 subtarget definition
Hello everybody,
I'm reading the .td files defining the Cortex-A57 processor,
which is a subtarget of AArch64 target, and there is something
confusing me in the `AArch64SchedA57.td` file.
In the top of `AArch64SchedA57.td`, various processor resource are
defined, as follows
```
def A57UnitB : ProcResource<1>; // Type B micro-ops
def A57UnitI : ProcResource<2>; // Type
2014 Mar 04
2
[LLVMdev] Question about per-operand machine model
On Mar 4, 2014, at 10:05 AM, Pete Cooper <peter_cooper at apple.com> wrote:
>
> On Mar 3, 2014, at 2:21 PM, Andrew Trick <atrick at apple.com> wrote:
>
>>
>> On Mar 3, 2014, at 8:53 AM, Pierre-Andre Saulais <pierre-andre at codeplay.com> wrote:
>>
>>> Hi Andrew,
>>>
>>> We are currently using a custom model where
2014 Feb 18
2
[LLVMdev] Question about per-operand machine model
>Resources and latency are not tied. An instruction is mapped to a scheduling class. A scheduling class is mapped to a set of resources and a per-operand list of latencies.
Thanks for your kind explanation.
Our heuristic algorithm have needed the latency and the resource per operand to check resource conflicts per cycle. In order to support this with LLVM, I expected a per-operand list of
2018 Mar 21
3
lld/lto/win32 crash on DIE code
Thanks!
Unfortunately this doesn't seem to cause it, because when I fix it to
match the other files (and pretty much how clang emits it:)
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = !DIGlobalVariable(name: "IDispatch_UID", linkageName:
"f_t2b_RemObjects_d_Elements_d_System_d_____Global.IDispatchUID", scope:
!2, file: !3, type: !622, isLocal:
2018 Mar 21
0
lld/lto/win32 crash on DIE code
Yep, it's once again variable and it's type using different scopes.
Is there any strong reason why you set scope for global DIDerivedType?
________________________________________
От: Carlo Kok <ck at remobjects.com>
Отправлено: 21 марта 2018 г. 18:22
Кому: Evgeny Leviant; llvm-dev at lists.llvm.org
Тема: Re: [llvm-dev] lld/lto/win32 crash on DIE code
Thanks!
Unfortunately this
2014 Feb 18
2
[LLVMdev] Question about per-operand machine model
Hi Andy and all,
I have a question about per-operand machine model. I am finding some
relations between 'MCWriteLatencyEntry' and 'MCWriteProcResEntry'.
For example,
class InstTEST<..., InstrItinClass itin> : Instruction {
let Itinerary = Itin;
}
// I assume this MI writes 2 registers.
def TESTINST : InstTEST<..., II_TEST>
// schedule info
II_TEST:
2018 Mar 21
2
lld/lto/win32 crash on DIE code
Op 21-3-2018 om 10:28 schreef Evgeny Leviant:
> It looks the problem lies in how your compiler generates debug info. LLVM doesn't
> expect DIDerivedType scope to be an instance of DICompileUnit. Here is a quick fix:
>
> DIE *DwarfUnit::getOrCreateContextDIE(const DIScope *Context) {
> - if (!Context || isa<DIFile>(Context))
> + if (!Context ||
2013 Nov 13
2
[LLVMdev] SchedMachineModel clarifications
Dear Andrew and the Group,
I’m trying come up with a SchedMachineModel for the AMD bulldozer
http://en.wikipedia.org/wiki/Bulldozer_(microarchitecture).
The model is not exist for the same .Please correct me if am i wrong here.
I was going through your reference @
https://llvm.org/svn/llvm-project/llvm/trunk/include/llvm/Target/TargetSchedule.td
.
But I couldn’t model some of the
2019 Jan 02
2
[HWASAN] Is Buildbot missing hwasan tests?
After updating from trunk today, I am seeing this failure in hwasan:
FAIL: HWAddressSanitizer-x86_64 :: TestCases/sizes.cpp (19011 of 49508)
******************** TEST 'HWAddressSanitizer-x86_64 :: TestCases/sizes.cpp' FAILED ********************
<snip>
Command Output (stderr):
--
+ : 'RUN: at line 1'
+ /build/./bin/clang --driver-mode=g++ -fsanitize=hwaddress -mllvm
2018 Mar 21
0
lld/lto/win32 crash on DIE code
Ok, I've done a bit more investigation. I found the module which declares broken DIE
(e54b3dc8c0536e29a65f8548b5ae7958-Global.o) and here is what I found there:
!2 = !DIFile(filename: "island.windows.elements", ...
...
!4 = distinct !DICompileUnit(language: DW_LANG_C99, file: !5, ...
!5 = !DIFile(filename: "island.windows.elements-e54b3dc8c0536e29a65f8548b5ae7958-global",
2019 Jan 02
3
[HWASAN] Is Buildbot missing hwasan tests?
This commit has added __hwasan_memset to compiler-rt:
commit 749bd83b08b7239f5d18c4e3095183919c68eb30
Author: Eugene Leviant <eleviant at accesssoftek.com>
Date: Thu Dec 20 09:10:03 2018 +0000
[HWASAN] Add support for memory intrinsics
This is patch complements D55117 implementing __hwasan_mem*
functions in runtime
Differential revision: https://reviews.llvm.org/D55554
2018 Mar 20
2
lld/lto/win32 crash on DIE code
Op 16-3-2018 om 20:16 schreef Evgeny Leviant:
> Hello Carlo,
>
> I tried your reproducer and faced different problem from one you described
> (I'm using MacOS Sierra and lld built from trunk on Mar, 15). The crash happens
> when SelectionDAGBuilder::lowerInvokable tries to access EH info of this function:
>
>
2009 Oct 16
1
Please help in understanding Speex echo cancellation
I'm using Speex in Windows VoIP application and trying to implement echo
cancellationI'm using waveInXXXX and waveOutXXXX API. I'm doing quite simple
thing:
After buffer is played (I get MM_WOM_DONE message) I'm just copying it's
content to temporary playback buffer
After buffer is recorded (I get MM_WIM_DONE message) I call
speex_echo_cancellation(state, recorded_buf,