diff options
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp')
-rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp b/llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp index 646087cdb7db..32262ea75fd3 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; } |