This is an archive of the discontinued LLVM Phabricator instance.

[WinEH] Fix establisher param reg in CLR funclets
ClosedPublic

Authored by JosephTremoulet on Nov 4 2015, 11:22 AM.

Details

Summary

The CLR's personality routine passes the pointer to the establisher frame
in RCX, not RDX.

Diff Detail

Event Timeline

JosephTremoulet retitled this revision from to [WinEH] Fix establisher param reg in CLR funclets.
JosephTremoulet updated this object.
JosephTremoulet added reviewers: rnk, pgavlin, majnemer.
JosephTremoulet added a subscriber: llvm-commits.
rnk edited edge metadata.Nov 4 2015, 11:26 AM

Add a test?

lib/Target/X86/X86FrameLowering.cpp
718

Should we use the shadow slot for RCX at [RSP+8], or do we not care?

JosephTremoulet edited edge metadata.

add test

Test added.

lib/Target/X86/X86FrameLowering.cpp
718

Don't care.

rnk accepted this revision.Nov 4 2015, 3:25 PM
rnk edited edge metadata.

lgtm

lib/Target/X86/X86FrameLowering.cpp
718

Oh, nevermind, I see this is not emitted for CLR funclets.

This revision is now accepted and ready to land.Nov 4 2015, 3:25 PM