summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2011-09-28 04:32:36 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2011-09-28 04:32:36 +0000
commitca9215970d3a7fb9450d4ad1c22a2418f686a1a4 (patch)
tree8694a51168aaa8498f62a1897d8813a44c5cdfb8 /lib
parent8adae0c9406461dc078700ce1630832bda81f48f (diff)
downloadllvm-ca9215970d3a7fb9450d4ad1c22a2418f686a1a4.tar.gz
llvm-ca9215970d3a7fb9450d4ad1c22a2418f686a1a4.tar.bz2
llvm-ca9215970d3a7fb9450d4ad1c22a2418f686a1a4.tar.xz
PTX: Simplify code. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140680 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Target/PTX/PTXISelLowering.cpp18
1 files changed, 5 insertions, 13 deletions
diff --git a/lib/Target/PTX/PTXISelLowering.cpp b/lib/Target/PTX/PTXISelLowering.cpp
index 44733ac491..c439d4c173 100644
--- a/lib/Target/PTX/PTXISelLowering.cpp
+++ b/lib/Target/PTX/PTXISelLowering.cpp
@@ -399,19 +399,11 @@ PTXTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
Ops[0] = Chain;
// Identify the callee function
- if (GlobalAddressSDNode *G = dyn_cast<GlobalAddressSDNode>(Callee)) {
- const GlobalValue *GV = G->getGlobal();
- if (const Function *F = dyn_cast<Function>(GV)) {
- assert(F->getCallingConv() == CallingConv::PTX_Device &&
- "PTX function calls must be to PTX device functions");
- Callee = DAG.getTargetGlobalAddress(GV, dl, getPointerTy());
- Ops[Ins.size()+1] = Callee;
- } else {
- assert(false && "GlobalValue is not a function");
- }
- } else {
- assert(false && "Function must be a GlobalAddressSDNode");
- }
+ const GlobalValue *GV = cast<GlobalAddressSDNode>(Callee)->getGlobal();
+ assert(cast<Function>(GV)->getCallingConv() == CallingConv::PTX_Device &&
+ "PTX function calls must be to PTX device functions");
+ Callee = DAG.getTargetGlobalAddress(GV, dl, getPointerTy());
+ Ops[Ins.size()+1] = Callee;
// Generate STORE_PARAM nodes for each function argument. In PTX, function
// arguments are explicitly stored into .param variables and passed as