aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/AutoUpgrade.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2022-01-15 14:37:34 -0500
committerMatt Arsenault <Matthew.Arsenault@amd.com>2022-01-18 14:08:36 -0500
commit82de129ab8f723ba94d0026b54d76b11b2a9e4f9 (patch)
tree5faad9b1501af4433ac826a015166a9c0588bece /llvm/lib/IR/AutoUpgrade.cpp
parentea27adb45b780e32d996d9c85f932a71f3e068ba (diff)
downloadllvm-82de129ab8f723ba94d0026b54d76b11b2a9e4f9.zip
llvm-82de129ab8f723ba94d0026b54d76b11b2a9e4f9.tar.gz
llvm-82de129ab8f723ba94d0026b54d76b11b2a9e4f9.tar.bz2
AMDGPU: Remove llvm.amdgcn.alignbit and handle bitcode upgrade to fshr
Diffstat (limited to 'llvm/lib/IR/AutoUpgrade.cpp')
-rw-r--r--llvm/lib/IR/AutoUpgrade.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/IR/AutoUpgrade.cpp b/llvm/lib/IR/AutoUpgrade.cpp
index 6dd607a..5aa3b30 100644
--- a/llvm/lib/IR/AutoUpgrade.cpp
+++ b/llvm/lib/IR/AutoUpgrade.cpp
@@ -727,6 +727,13 @@ static bool UpgradeIntrinsicFunction1(Function *F, Function *&NewFn) {
Name == "arm.cde.vcx3qa.predicated.v2i64.v4i1")
return true;
+ if (Name == "amdgcn.alignbit") {
+ // Target specific intrinsic became redundant
+ NewFn = Intrinsic::getDeclaration(F->getParent(), Intrinsic::fshr,
+ {F->getReturnType()});
+ return true;
+ }
+
break;
}