diff options
author | Tom Stellard <[email protected]> | 2012-07-27 20:06:43 +0000 |
---|---|---|
committer | Tom Stellard <[email protected]> | 2012-07-30 21:10:08 +0000 |
commit | 0ce6e506016222b264163ee718202371f19064db (patch) | |
tree | ff0ca7a87a3e91e8145f5a153edcbbbf08dcf081 /src/gallium/drivers/radeon/AMDGPUISelLowering.cpp | |
parent | caeaf43dad367a9a39d2f42d91731148f6dfdf32 (diff) |
radeon/llvm: Remove lowering code for unsupported features
e.g. function calls, load/store from stack
Diffstat (limited to 'src/gallium/drivers/radeon/AMDGPUISelLowering.cpp')
-rw-r--r-- | src/gallium/drivers/radeon/AMDGPUISelLowering.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeon/AMDGPUISelLowering.cpp b/src/gallium/drivers/radeon/AMDGPUISelLowering.cpp index 96b0d755687..735fe4da50f 100644 --- a/src/gallium/drivers/radeon/AMDGPUISelLowering.cpp +++ b/src/gallium/drivers/radeon/AMDGPUISelLowering.cpp @@ -35,6 +35,41 @@ AMDGPUTargetLowering::AMDGPUTargetLowering(TargetMachine &TM) : setOperationAction(ISD::UREM, MVT::i32, Expand); } +//===---------------------------------------------------------------------===// +// TargetLowering Callbacks +//===---------------------------------------------------------------------===// + +SDValue AMDGPUTargetLowering::LowerFormalArguments( + SDValue Chain, + CallingConv::ID CallConv, + bool isVarArg, + const SmallVectorImpl<ISD::InputArg> &Ins, + DebugLoc DL, SelectionDAG &DAG, + SmallVectorImpl<SDValue> &InVals) const +{ + // Lowering of arguments happens in R600LowerKernelParameters, so we can + // ignore the arguments here. + for (unsigned i = 0, e = Ins.size(); i < e; ++i) { + InVals.push_back(SDValue()); + } + return Chain; +} + +SDValue AMDGPUTargetLowering::LowerReturn( + SDValue Chain, + CallingConv::ID CallConv, + bool isVarArg, + const SmallVectorImpl<ISD::OutputArg> &Outs, + const SmallVectorImpl<SDValue> &OutVals, + DebugLoc DL, SelectionDAG &DAG) const +{ + return DAG.getNode(AMDILISD::RET_FLAG, DL, MVT::Other, Chain); +} + +//===---------------------------------------------------------------------===// +// Target specific lowering +//===---------------------------------------------------------------------===// + SDValue AMDGPUTargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const { |