This is an archive of the discontinued LLVM Phabricator instance.

[WinEH] Fix the wrong alignment orientation during calculating EH frame.
ClosedPublic

Authored by pengfei on Nov 13 2019, 11:23 PM.

Diff Detail

Event Timeline

pengfei created this revision.Nov 13 2019, 11:23 PM
Herald added a project: Restricted Project. · View Herald TranscriptNov 13 2019, 11:23 PM
rnk accepted this revision.Nov 14 2019, 9:44 AM

lgtm

llvm/test/CodeGen/X86/win64-funclet-savexmm.ll
92

So, this was wrong, it was storing to memory at RSP+[80-96], which would overwrite pushq %rbx from above. Yikes.

This revision is now accepted and ready to land.Nov 14 2019, 9:44 AM
This revision was automatically updated to reflect the committed changes.
pengfei marked an inline comment as done.Nov 14 2019, 6:01 PM

Hi @rnk, I guess we need to merge it to 9.0 branch, right? I haven't did such before, do I need wait for someone approval? Is there someone responsible for committing, or I can do it myself?

llvm/test/CodeGen/X86/win64-funclet-savexmm.ll
92

Sorry for the mistake.

rnk added a comment.Nov 17 2019, 9:21 AM

Hi @rnk, I guess we need to merge it to 9.0 branch, right? I haven't did such before, do I need wait for someone approval? Is there someone responsible for committing, or I can do it myself?

I don't know if there is a separate list of committers who can push to the release/9.x branch. I'd suggest trying it. Merging should be a matter of doing the following:

$ git pull # make sure up to date
$ git checkout release/9.x  # check out current 9.0.1 release, typically slow
$ git cherry-pick -x ${githash}  # cherry pick this patch. -x adds a note about the original hash.
$ git push ${remote} release/9.x  # push to the llvm github remote release/9.x branch

Fill in appropriate values of githash and remote. If it doesn't work, I'll give it a shot next week.

Thanks for following up! Bugs happen.

Thanks for the detailed guidance. I have merged it to 9.0 branch now. Thank you!

Anyone can commit to the release branch, yes, but nobody is supposed to unless the release manager approves. See http://llvm.org/docs/HowToReleaseLLVM.html#release-patch-rules .

I guess with the move to GitHub, we could start applying per-branch permissions to enforce that?

Thanks for the reminding! I will follow this rule in future work.