diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2015-10-15 14:45:41 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2015-10-15 14:45:41 +0000 |
commit | c5275bdec172ebd67272dba426dc99132dd300a3 (patch) | |
tree | 5388d460d41cac8585f012b40be961c97d52b74c /llvm/lib/Target/NVPTX/NVPTXUtilities.cpp | |
parent | 33ef8acbbd2cc1788cb92e31c38a977c0a5328bd (diff) | |
download | bcm5719-llvm-c5275bdec172ebd67272dba426dc99132dd300a3.tar.gz bcm5719-llvm-c5275bdec172ebd67272dba426dc99132dd300a3.zip |
[NVPTX] Remove dead code.
I left helpers that look useful for debugging alone. NFC.
llvm-svn: 250410
Diffstat (limited to 'llvm/lib/Target/NVPTX/NVPTXUtilities.cpp')
-rw-r--r-- | llvm/lib/Target/NVPTX/NVPTXUtilities.cpp | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/llvm/lib/Target/NVPTX/NVPTXUtilities.cpp b/llvm/lib/Target/NVPTX/NVPTXUtilities.cpp index c293058ffc6..7f6388f98ab 100644 --- a/llvm/lib/Target/NVPTX/NVPTXUtilities.cpp +++ b/llvm/lib/Target/NVPTX/NVPTXUtilities.cpp @@ -335,99 +335,6 @@ bool llvm::getAlign(const CallInst &I, unsigned index, unsigned &align) { return false; } -bool llvm::isBarrierIntrinsic(Intrinsic::ID id) { - return (id == Intrinsic::nvvm_barrier0) || - (id == Intrinsic::nvvm_barrier0_popc) || - (id == Intrinsic::nvvm_barrier0_and) || - (id == Intrinsic::nvvm_barrier0_or) || - (id == Intrinsic::cuda_syncthreads); -} - -// Interface for checking all memory space transfer related intrinsics -bool llvm::isMemorySpaceTransferIntrinsic(Intrinsic::ID id) { - return id == Intrinsic::nvvm_ptr_local_to_gen || - id == Intrinsic::nvvm_ptr_shared_to_gen || - id == Intrinsic::nvvm_ptr_global_to_gen || - id == Intrinsic::nvvm_ptr_constant_to_gen || - id == Intrinsic::nvvm_ptr_gen_to_global || - id == Intrinsic::nvvm_ptr_gen_to_shared || - id == Intrinsic::nvvm_ptr_gen_to_local || - id == Intrinsic::nvvm_ptr_gen_to_constant || - id == Intrinsic::nvvm_ptr_gen_to_param; -} - -// consider several special intrinsics in striping pointer casts, and -// provide an option to ignore GEP indices for find out the base address only -// which could be used in simple alias disambiguation. -const Value * -llvm::skipPointerTransfer(const Value *V, bool ignore_GEP_indices) { - V = V->stripPointerCasts(); - while (true) { - if (const IntrinsicInst *IS = dyn_cast<IntrinsicInst>(V)) { - if (isMemorySpaceTransferIntrinsic(IS->getIntrinsicID())) { - V = IS->getArgOperand(0)->stripPointerCasts(); - continue; - } - } else if (ignore_GEP_indices) - if (const GEPOperator *GEP = dyn_cast<GEPOperator>(V)) { - V = GEP->getPointerOperand()->stripPointerCasts(); - continue; - } - break; - } - return V; -} - -// consider several special intrinsics in striping pointer casts, and -// - ignore GEP indices for find out the base address only, and -// - tracking PHINode -// which could be used in simple alias disambiguation. -const Value * -llvm::skipPointerTransfer(const Value *V, std::set<const Value *> &processed) { - if (processed.find(V) != processed.end()) - return nullptr; - processed.insert(V); - - const Value *V2 = V->stripPointerCasts(); - if (V2 != V && processed.find(V2) != processed.end()) - return nullptr; - processed.insert(V2); - - V = V2; - - while (true) { - if (const IntrinsicInst *IS = dyn_cast<IntrinsicInst>(V)) { - if (isMemorySpaceTransferIntrinsic(IS->getIntrinsicID())) { - V = IS->getArgOperand(0)->stripPointerCasts(); - continue; - } - } else if (const GEPOperator *GEP = dyn_cast<GEPOperator>(V)) { - V = GEP->getPointerOperand()->stripPointerCasts(); - continue; - } else if (const PHINode *PN = dyn_cast<PHINode>(V)) { - if (V != V2 && processed.find(V) != processed.end()) - return nullptr; - processed.insert(PN); - const Value *common = nullptr; - for (unsigned i = 0; i != PN->getNumIncomingValues(); ++i) { - const Value *pv = PN->getIncomingValue(i); - const Value *base = skipPointerTransfer(pv, processed); - if (base) { - if (!common) - common = base; - else if (common != base) - return PN; - } - } - if (!common) - return PN; - V = common; - } - break; - } - return V; -} - // The following are some useful utilities for debugging BasicBlock *llvm::getParentBlock(Value *v) { |