[PATCH] D57614: [AutoUpgrade] Fix AutoUpgrade for x86.seh.recoverfp
Mandeep Singh Grang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 1 13:32:13 PST 2019
mgrang updated this revision to Diff 184832.
mgrang retitled this revision from "[AutoUpgrade] Fix AutoUpgrade for x86.eh.recoverfp" to "[AutoUpgrade] Fix AutoUpgrade for x86.seh.recoverfp".
mgrang added a comment.
Herald added a subscriber: javed.absar.
Added unit test.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D57614/new/
https://reviews.llvm.org/D57614
Files:
lib/IR/AutoUpgrade.cpp
test/CodeGen/AArch64/eh_recoverfp.ll
Index: test/CodeGen/AArch64/eh_recoverfp.ll
===================================================================
--- /dev/null
+++ test/CodeGen/AArch64/eh_recoverfp.ll
@@ -0,0 +1,11 @@
+; RUN: llc -mtriple arm64-windows %s -o - 2>&1 | FileCheck %s
+
+define i8* @foo(i8* %a) {
+; CHECK-LABEL: foo
+; CHECK-NOT: llvm.x86.seh.recoverfp
+ %1 = call i8* @llvm.x86.seh.recoverfp(i8* bitcast (i32 ()* @f to i8*), i8* %a)
+ ret i8* %1
+}
+
+declare i8* @llvm.x86.seh.recoverfp(i8*, i8*)
+declare i32 @f()
Index: lib/IR/AutoUpgrade.cpp
===================================================================
--- lib/IR/AutoUpgrade.cpp
+++ lib/IR/AutoUpgrade.cpp
@@ -471,6 +471,11 @@
}
}
+ if (Name == "seh.recoverfp") {
+ NewFn = Intrinsic::getDeclaration(F->getParent(), Intrinsic::eh_recoverfp);
+ return true;
+ }
+
return false;
}
@@ -546,10 +551,6 @@
NewFn = Intrinsic::getDeclaration(F->getParent(), Intrinsic::thread_pointer);
return true;
}
- if (Name == "x86.seh.recoverfp") {
- NewFn = Intrinsic::getDeclaration(F->getParent(), Intrinsic::eh_recoverfp);
- return true;
- }
break;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57614.184832.patch
Type: text/x-patch
Size: 1150 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190201/fcddeb05/attachment.bin>
More information about the llvm-commits
mailing list