Skip to content

Commit a707363

Browse files
committed
Implement feedback.
1 parent cb9d363 commit a707363

File tree

2 files changed

+0
-35
lines changed

2 files changed

+0
-35
lines changed

llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -131,39 +131,6 @@ unsigned SPIRVTargetMachine::getAssumedAddrSpace(const Value *V) const {
131131
return AddressSpace::CrossWorkgroup;
132132
}
133133

134-
std::pair<const Value *, unsigned>
135-
SPIRVTargetMachine::getPredicatedAddrSpace(const Value *V) const {
136-
// TODO: this is will only fire for AMDGCN flavoured SPIR-V at the moment,
137-
// where the intrinsics are available; we should re-implement the predicates
138-
// on top of SPIR-V specific intrinsics OpGenericPtrMemSemantics directly.
139-
using namespace PatternMatch;
140-
141-
if (auto *II = dyn_cast<IntrinsicInst>(V)) {
142-
switch (II->getIntrinsicID()) {
143-
case Intrinsic::amdgcn_is_shared:
144-
return std::pair(II->getArgOperand(0), AddressSpace::Workgroup);
145-
case Intrinsic::amdgcn_is_private:
146-
return std::pair(II->getArgOperand(0), AddressSpace::Function);
147-
default:
148-
break;
149-
}
150-
return std::pair(nullptr, UINT32_MAX);
151-
}
152-
// Check the global pointer predication based on
153-
// (!is_share(p) && !is_private(p)). Note that logic 'and' is commutative and
154-
// the order of 'is_shared' and 'is_private' is not significant.
155-
Value *Ptr;
156-
if (getTargetTriple().getVendor() == Triple::VendorType::AMD &&
157-
match(
158-
const_cast<Value *>(V),
159-
m_c_And(m_Not(m_Intrinsic<Intrinsic::amdgcn_is_shared>(m_Value(Ptr))),
160-
m_Not(m_Intrinsic<Intrinsic::amdgcn_is_private>(
161-
m_Deferred(Ptr))))))
162-
return std::pair(Ptr, AddressSpace::CrossWorkgroup);
163-
164-
return std::pair(nullptr, UINT32_MAX);
165-
}
166-
167134
bool SPIRVTargetMachine::isNoopAddrSpaceCast(unsigned SrcAS,
168135
unsigned DestAS) const {
169136
if (SrcAS != AddressSpace::Generic && SrcAS != AddressSpace::CrossWorkgroup)

llvm/lib/Target/SPIRV/SPIRVTargetMachine.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,6 @@ class SPIRVTargetMachine : public CodeGenTargetMachineImpl {
4545
}
4646

4747
unsigned getAssumedAddrSpace(const Value *V) const override;
48-
std::pair<const Value *, unsigned>
49-
getPredicatedAddrSpace(const Value *V) const override;
5048
bool isNoopAddrSpaceCast(unsigned SrcAS, unsigned DstAS) const override;
5149

5250
void registerPassBuilderCallbacks(PassBuilder &PB) override;

0 commit comments

Comments
 (0)