diff options
Diffstat (limited to 'llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp | 12 | 
1 files changed, 10 insertions, 2 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp b/llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp index 15032969890e..54c15e4e4d39 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPULowerIntrinsics.cpp @@ -22,7 +22,15 @@ using namespace llvm;  namespace { -const unsigned MaxStaticSize = 1024; +static int MaxStaticSize; + +static cl::opt<int, true> MemIntrinsicExpandSizeThresholdOpt( +  "amdgpu-mem-intrinsic-expand-size", +  cl::desc("Set minimum mem intrinsic size to expand in IR"), +  cl::location(MaxStaticSize), +  cl::init(1024), +  cl::Hidden); +  class AMDGPULowerIntrinsics : public ModulePass {  private: @@ -57,7 +65,7 @@ INITIALIZE_PASS(AMDGPULowerIntrinsics, DEBUG_TYPE, "Lower intrinsics", false,  // require splitting based on alignment)  static bool shouldExpandOperationWithSize(Value *Size) {    ConstantInt *CI = dyn_cast<ConstantInt>(Size); -  return !CI || (CI->getZExtValue() > MaxStaticSize); +  return !CI || (CI->getSExtValue() > MaxStaticSize);  }  bool AMDGPULowerIntrinsics::expandMemIntrinsicUses(Function &F) {  | 
