diff options
author | Joseph Tremoulet <jotrem@microsoft.com> | 2015-11-05 02:20:07 +0000 |
---|---|---|
committer | Joseph Tremoulet <jotrem@microsoft.com> | 2015-11-05 02:20:07 +0000 |
commit | b0d280a58878b855dacbc1848d220fed4484b708 (patch) | |
tree | 864bfbd562b024082801c221357614615410eb5b /test/CodeGen/WinEH | |
parent | 4ae094a8512df6cdb6d3f8f17ef2565b8f9cd7e5 (diff) |
[WinEH] Fix establisher param reg in CLR funclets
Summary:
The CLR's personality routine passes the pointer to the establisher frame
in RCX, not RDX.
Reviewers: pgavlin, majnemer, rnk
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D14343
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252135 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/WinEH')
-rw-r--r-- | test/CodeGen/WinEH/wineh-coreclr.ll | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/test/CodeGen/WinEH/wineh-coreclr.ll b/test/CodeGen/WinEH/wineh-coreclr.ll index 56675fefae7..f5e046aa01c 100644 --- a/test/CodeGen/WinEH/wineh-coreclr.ll +++ b/test/CodeGen/WinEH/wineh-coreclr.ll @@ -50,6 +50,8 @@ catch1.pad: %catch1 = catchpad [i32 1] to label %catch1.body unwind label %catch2.pad catch1.body: +; CHECK: leaq {{[0-9]+}}(%rcx), %rbp +; ^ establisher frame pointer passed in rcx ; CHECK: .seh_endprologue ; CHECK: [[L_before_f3:.+]]: ; CHECK-NEXT: movl $3, %ecx @@ -64,6 +66,8 @@ catch2.pad: %catch2 = catchpad [i32 2] to label %catch2.body unwind label %catch.end catch2.body: +; CHECK: leaq {{[0-9]+}}(%rcx), %rbp +; ^ establisher frame pointer passed in rcx ; CHECK: .seh_endprologue ; CHECK: [[L_before_f4:.+]]: ; CHECK-NEXT: movl $4, %ecx @@ -82,6 +86,8 @@ try_in_catch: fault.pad: ; CHECK: .seh_proc [[L_fault:[^ ]+]] %fault = cleanuppad [i32 undef] +; CHECK: leaq {{[0-9]+}}(%rcx), %rbp +; ^ establisher frame pointer passed in rcx ; CHECK: .seh_endprologue ; CHECK: [[L_before_f6:.+]]: ; CHECK-NEXT: movl $6, %ecx @@ -103,6 +109,8 @@ finally.clone: finally.pad: ; CHECK: .seh_proc [[L_finally:[^ ]+]] %finally = cleanuppad [] +; CHECK: leaq {{[0-9]+}}(%rcx), %rbp +; ^ establisher frame pointer passed in rcx ; CHECK: .seh_endprologue ; CHECK: [[L_before_f7:.+]]: ; CHECK-NEXT: movl $7, %ecx |