• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===-- llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp - Call lowering ---===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 ///
10 /// \file
11 /// This file implements the lowering of LLVM calls to machine code calls for
12 /// GlobalISel.
13 ///
14 //===----------------------------------------------------------------------===//
15 
16 #include "AMDGPUCallLowering.h"
17 #include "AMDGPUISelLowering.h"
18 
19 #include "llvm/CodeGen/GlobalISel/MachineIRBuilder.h"
20 #include "llvm/CodeGen/MachineInstrBuilder.h"
21 
22 using namespace llvm;
23 
24 #ifndef LLVM_BUILD_GLOBAL_ISEL
25 #error "This shouldn't be built without GISel"
26 #endif
27 
AMDGPUCallLowering(const AMDGPUTargetLowering & TLI)28 AMDGPUCallLowering::AMDGPUCallLowering(const AMDGPUTargetLowering &TLI)
29   : CallLowering(&TLI) {
30 }
31 
lowerReturn(MachineIRBuilder & MIRBuilder,const Value * Val,unsigned VReg) const32 bool AMDGPUCallLowering::lowerReturn(MachineIRBuilder &MIRBuilder,
33                                         const Value *Val, unsigned VReg) const {
34   return true;
35 }
36 
lowerFormalArguments(MachineIRBuilder & MIRBuilder,const Function::ArgumentListType & Args,const SmallVectorImpl<unsigned> & VRegs) const37 bool AMDGPUCallLowering::lowerFormalArguments(
38     MachineIRBuilder &MIRBuilder, const Function::ArgumentListType &Args,
39     const SmallVectorImpl<unsigned> &VRegs) const {
40   // TODO: Implement once there are generic loads/stores.
41   return true;
42 }
43