aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib
diff options
context:
space:
mode:
authorMichael Liao <michael.hliao@gmail.com>2021-06-08 14:35:36 -0400
committerMichael Liao <michael.hliao@gmail.com>2021-06-08 15:42:27 -0400
commit27332968d85e1ad4a58df884030e55abc00e91b1 (patch)
tree3236e3199cf70f27e53c26ee0b22fd50595a4139 /llvm/lib
parenta9ea0a6a77b30305bfbe1b06c30bf6136f64c1ad (diff)
downloadllvm-27332968d85e1ad4a58df884030e55abc00e91b1.zip
llvm-27332968d85e1ad4a58df884030e55abc00e91b1.tar.gz
llvm-27332968d85e1ad4a58df884030e55abc00e91b1.tar.bz2
[amdgpu] Add `-enable-ocl-mangling-mismatch-workaround`.
- Add `-enable-ocl-mangling-mismatch-workaround` to work around the mismatch on OCL name mangling so far. Reviewed By: yaxunl, rampitec Differential Revision: https://reviews.llvm.org/D103920
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp b/llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
index 646087c..32262ea 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp
@@ -19,10 +19,16 @@
#include "llvm/IR/Function.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/ValueSymbolTable.h"
+#include "llvm/Support/CommandLine.h"
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
+static cl::opt<bool> EnableOCLManglingMismatchWA(
+ "amdgpu-enable-ocl-mangling-mismatch-workaround", cl::init(true),
+ cl::ReallyHidden,
+ cl::desc("Enable the workaround for OCL name mangling mismatch."));
+
namespace {
enum EManglingParam {
@@ -826,7 +832,8 @@ public:
unsigned AS = UseAddrSpace
? AMDGPULibFuncBase::getAddrSpaceFromEPtrKind(p.PtrKind)
: 0;
- if (AS != 0) os << "U3AS" << AS;
+ if (EnableOCLManglingMismatchWA || AS != 0)
+ os << "U3AS" << AS;
Ptr = p;
p.PtrKind = 0;
}