summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp')
-rw-r--r--gnu/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp65
1 files changed, 0 insertions, 65 deletions
diff --git a/gnu/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp b/gnu/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp
deleted file mode 100644
index 13b4b50149c..00000000000
--- a/gnu/llvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-//===-- AMDGPUMachineFunctionInfo.cpp ---------------------------------------=//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "AMDGPUMachineFunction.h"
-#include "AMDGPUSubtarget.h"
-#include "AMDGPUPerfHintAnalysis.h"
-#include "llvm/CodeGen/MachineModuleInfo.h"
-
-using namespace llvm;
-
-AMDGPUMachineFunction::AMDGPUMachineFunction(const MachineFunction &MF) :
- MachineFunctionInfo(),
- LocalMemoryObjects(),
- ExplicitKernArgSize(0),
- MaxKernArgAlign(0),
- LDSSize(0),
- IsEntryFunction(AMDGPU::isEntryFunctionCC(MF.getFunction().getCallingConv())),
- NoSignedZerosFPMath(MF.getTarget().Options.NoSignedZerosFPMath),
- MemoryBound(false),
- WaveLimiter(false) {
- const AMDGPUSubtarget &ST = AMDGPUSubtarget::get(MF);
-
- // FIXME: Should initialize KernArgSize based on ExplicitKernelArgOffset,
- // except reserved size is not correctly aligned.
- const Function &F = MF.getFunction();
-
- if (auto *Resolver = MF.getMMI().getResolver()) {
- if (AMDGPUPerfHintAnalysis *PHA = static_cast<AMDGPUPerfHintAnalysis*>(
- Resolver->getAnalysisIfAvailable(&AMDGPUPerfHintAnalysisID, true))) {
- MemoryBound = PHA->isMemoryBound(&F);
- WaveLimiter = PHA->needsWaveLimiter(&F);
- }
- }
-
- CallingConv::ID CC = F.getCallingConv();
- if (CC == CallingConv::AMDGPU_KERNEL || CC == CallingConv::SPIR_KERNEL)
- ExplicitKernArgSize = ST.getExplicitKernArgSize(F, MaxKernArgAlign);
-}
-
-unsigned AMDGPUMachineFunction::allocateLDSGlobal(const DataLayout &DL,
- const GlobalValue &GV) {
- auto Entry = LocalMemoryObjects.insert(std::make_pair(&GV, 0));
- if (!Entry.second)
- return Entry.first->second;
-
- unsigned Align = GV.getAlignment();
- if (Align == 0)
- Align = DL.getABITypeAlignment(GV.getValueType());
-
- /// TODO: We should sort these to minimize wasted space due to alignment
- /// padding. Currently the padding is decided by the first encountered use
- /// during lowering.
- unsigned Offset = LDSSize = alignTo(LDSSize, Align);
-
- Entry.first->second = Offset;
- LDSSize += DL.getTypeAllocSize(GV.getValueType());
-
- return Offset;
-}