Displaying 3 results from an estimated 3 matches for "aarch64framelow".
2019 Jul 26
2
Stackmap offset computation on AArch64
Hi all,
I am trying to implement statepoints for the AArch64 target and I’m running into the issue where the following bitcode:
define i32 addrspace(1)* @test(i32 addrspace(1)* %ptr) gc "statepoint-example" {
entry:
call token (i64, i32, i1 ()*, i32, i32, ...) @llvm.experimental.gc.statepoint.p0f_i1f(i64 0, i32 0, i1 ()* @foo, i32 0, i32 0, i32 0, i32 0, i32 addrspace(1)* %ptr)
ret
2019 Jul 31
0
Stackmap offset computation on AArch64
Thanks for the pointers! The problem was that the offset was mistakenly computed in the way it should be for Win64 exception handling. This is now fixed by taking the IgnoreSPUpdates argument into account in AArch64FrameLowering::getFrameIndexReferencePreferSP.
Loïc
> On 30 Jul 2019, at 20:21, Philip Reames <listmail at philipreames.com> wrote:
>
> Looking at PrologEpilogInserter and searching for STATEPOINT is a a good starting point.
>
> Philip
>
> On 7/27/19 2:22 AM, Sam Elliott via...
2020 Nov 11
3
An update on scalable vectors in LLVM
...same stack frame as fixed-sized objects. To support that, a stack offset needs to be comprised of a combination of a fixed and scalable part. For that we reason we created a new class StackOffset (https://reviews.llvm.org/D88982).
AArch64 uses Stack-IDs to keep fixed- and scalable types apart, but AArch64FrameLowering finally allocates them together in the regular stack frame. StackOffset is returned by e.g. `getFrameIndexReference`, and is used in AArch64FrameLowering/AArch64RegisterInfo to calculate and resolve frame offsets.
What works for scalable vectors today?
======================================...