This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Produce the right kind of va_arg for windows
ClosedPublic

Authored by mstorsjo on Jul 5 2017, 4:43 AM.

Diff Detail

Repository
rL LLVM

Event Timeline

mstorsjo created this revision.Jul 5 2017, 4:43 AM

Needs a testcase (to check the emitted IR).

lib/CodeGen/TargetInfo.cpp
4769 ↗(On Diff #105253)

Can we extend ABIKind rather than adding a separate boolean?

mstorsjo marked an inline comment as done.Jul 6 2017, 3:42 AM
mstorsjo added inline comments.
lib/CodeGen/TargetInfo.cpp
4769 ↗(On Diff #105253)

Sure. I was afraid there was a lot of checks like Kind == AAPCS which would need to be changed into Kind == AAPCS || Kind == Win64, but it didn't turn out to be an issue.

mstorsjo updated this revision to Diff 105392.Jul 6 2017, 3:43 AM
mstorsjo marked an inline comment as done.

Added a testcase, using a different Kind instead of adding a separate bool.

mstorsjo edited the summary of this revision. (Show Details)Jul 13 2017, 10:44 AM
mstorsjo added reviewers: efriedma, rnk.

Ping - the dependency, D35006, has now been committed.

rnk accepted this revision.Jul 13 2017, 10:46 AM

lgtm

lib/CodeGen/TargetInfo.cpp
8463 ↗(On Diff #105392)

Triple.isOSWindows() is probably cleaner.

This revision is now accepted and ready to land.Jul 13 2017, 10:46 AM
This revision was automatically updated to reflect the committed changes.