This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Handle stack rounding only in RISCVFrameLowering.
AbandonedPublic

Authored by HsiangKai on Dec 25 2020, 6:45 AM.

Details

Summary

Implement targetHandlesStackFrameRounding() and return true. Handle stack rounding only in RISCVFrameLowering to avoid double-counting alignment; one in PEI::calculateFrameObjectOffsets() and another in determineFrameLayout() in RISCVFrameLowering.cpp.

Diff Detail

Event Timeline

HsiangKai created this revision.Dec 25 2020, 6:45 AM
HsiangKai requested review of this revision.Dec 25 2020, 6:45 AM
Herald added a project: Restricted Project. · View Herald TranscriptDec 25 2020, 6:45 AM
Herald added a subscriber: MaskRay. · View Herald Transcript

@lenary, is it reasonable to implement targetHandlesStackFrameRounding() and handle the alignment in RISCVFrameLowering.cpp?

lenary added a comment.Jan 4 2021, 4:37 AM

@HsiangKai Can you coordinate with @rogfer01 about this patch vs https://reviews.llvm.org/D89237 ? Roger hit this when looking at the emergency spill slot work.

craig.topper added inline comments.Jan 4 2021, 3:54 PM
llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
246

"out going" -> outgoing

llvm/lib/Target/RISCV/RISCVFrameLowering.h
68

No need to write the function name in the doxygen comment.

HsiangKai abandoned this revision.Jan 7 2021, 8:27 AM

D89237 is a better way to go.