Page MenuHomePhabricator

[AArch64] Emit some .cfi_* for non-SVE cases in emitEpilogue
AbandonedPublic

Authored by MaskRay on Sep 3 2021, 12:30 PM.

Details

Reviewers
None
Summary

WIP.

Ideally .cfi_def_offset should be used instead. .cfi_adjust_cfa_offset is used for now.

There are many epilogue code paths where .cfi_* directives are missing.
They need separate fixes.

Something is not correct yet (e.g. addsub-constant-folding.ll)

Diff Detail

Unit TestsFailed

TimeTest
60 msx64 debian > LLVM.CodeGen/AArch64::aarch64-dynamic-stack-layout.ll
Script: -- : 'RUN: at line 1'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/llc -verify-machineinstrs -mtriple=aarch64-none-linux-gnu -disable-post-ra < /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/aarch64-dynamic-stack-layout.ll | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/aarch64-dynamic-stack-layout.ll
40 msx64 debian > LLVM.CodeGen/AArch64::alloca.ll
Script: -- : 'RUN: at line 1'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/llc -mtriple=aarch64-linux-gnu -disable-post-ra -verify-machineinstrs -o - /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/alloca.ll | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/alloca.ll
60 msx64 debian > LLVM.CodeGen/AArch64::argument-blocks-array-of-struct.ll
Script: -- : 'RUN: at line 1'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/llc -mtriple=aarch64-none-linux-gnu -o - /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/argument-blocks-array-of-struct.ll | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/argument-blocks-array-of-struct.ll
40 msx64 debian > LLVM.CodeGen/AArch64::call-rv-marker.ll
Script: -- : 'RUN: at line 1'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/llc -o - /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/call-rv-marker.ll | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck --check-prefix=SELDAG --check-prefix=CHECK /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/call-rv-marker.ll
40 msx64 debian > LLVM.CodeGen/AArch64::fastcc-reserved.ll
Script: -- : 'RUN: at line 1'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/llc -verify-machineinstrs < /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/fastcc-reserved.ll -mtriple=aarch64-none-linux-gnu -tailcallopt | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/fastcc-reserved.ll
View Full Test Results (44 Failed)

Event Timeline

MaskRay created this revision.Sep 3 2021, 12:30 PM
MaskRay requested review of this revision.Sep 3 2021, 12:30 PM
Herald added a project: Restricted Project. · View Herald TranscriptSep 3 2021, 12:30 PM
MaskRay retitled this revision from [AArch64] Emit some .cfi_* for non-SVE cases in emitEpilogue WIP to [AArch64] Emit some .cfi_* for non-SVE cases in emitEpilogue.Sep 3 2021, 12:33 PM
MaskRay edited the summary of this revision. (Show Details)
MaskRay added inline comments.Sep 3 2021, 12:37 PM
llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
1688

SVE callee save stack seems very difficult, so not in the scope of this patch.

llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
279

This is incorrect.

1490

This is apparently incorrect.

MaskRay updated this revision to Diff 370748.Sep 4 2021, 11:22 AM

fix some issues

Matt added a subscriber: Matt.Sep 7 2021, 5:25 AM
MaskRay abandoned this revision.Mar 25 2022, 11:21 PM
Herald added a project: Restricted Project. · View Herald TranscriptMar 25 2022, 11:21 PM
Herald added a subscriber: StephenFan. · View Herald Transcript