This is an archive of the discontinued LLVM Phabricator instance.

[LoongArch] Stack realignment support
ClosedPublic

Authored by wangleiat on Oct 17 2022, 5:54 AM.

Details

Summary

This patch adds support for stack realignment while adding support for
variable sized objects.

Diff Detail

Event Timeline

wangleiat created this revision.Oct 17 2022, 5:54 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 17 2022, 5:54 AM
wangleiat requested review of this revision.Oct 17 2022, 5:54 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 17 2022, 5:54 AM
xen0n added a comment.Oct 17 2022, 7:08 PM

Some ambitious stack alignments there... VLEN=4096 LoongArch core when? ;-)

llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
210–215

Use or rd, rj, zero for LoongArch moves.

wangleiat added inline comments.Oct 17 2022, 7:25 PM
llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
210–215

Use or rd, rj, zero for LoongArch moves.

Thanks. I'll fix it right away.

wangleiat updated this revision to Diff 468396.Oct 17 2022, 7:26 PM

Address xen0n's comments.

xen0n accepted this revision.Oct 17 2022, 7:47 PM

Seems good on a cursory look.

This revision is now accepted and ready to land.Oct 17 2022, 7:47 PM
SixWeining accepted this revision.Oct 21 2022, 2:08 AM

LGTM except one nit.

llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
190

Inline one-time-used variable.

This revision was landed with ongoing or failed builds.Oct 21 2022, 2:31 AM
This revision was automatically updated to reflect the committed changes.