@@ -97,17 +97,15 @@ SPIRVTargetMachine::SPIRVTargetMachine(const Target &T, const Triple &TT,
9797 setRequiresStructuredCFG (false );
9898}
9999
100- namespace {
101- enum AddressSpace {
102- Function = storageClassToAddressSpace (SPIRV::StorageClass::Function),
103- CrossWorkgroup =
104- storageClassToAddressSpace (SPIRV::StorageClass::CrossWorkgroup),
105- UniformConstant =
106- storageClassToAddressSpace (SPIRV::StorageClass::UniformConstant),
107- Workgroup = storageClassToAddressSpace (SPIRV::StorageClass::Workgroup),
108- Generic = storageClassToAddressSpace (SPIRV::StorageClass::Generic)
109- };
110- }
100+ enum AddressSpace {
101+ Function = storageClassToAddressSpace (SPIRV::StorageClass::Function),
102+ CrossWorkgroup =
103+ storageClassToAddressSpace (SPIRV::StorageClass::CrossWorkgroup),
104+ UniformConstant =
105+ storageClassToAddressSpace (SPIRV::StorageClass::UniformConstant),
106+ Workgroup = storageClassToAddressSpace (SPIRV::StorageClass::Workgroup),
107+ Generic = storageClassToAddressSpace (SPIRV::StorageClass::Generic)
108+ };
111109
112110unsigned SPIRVTargetMachine::getAssumedAddrSpace (const Value *V) const {
113111 const auto *LD = dyn_cast<LoadInst>(V);
@@ -148,9 +146,10 @@ SPIRVTargetMachine::getPredicatedAddrSpace(const Value *V) const {
148146 Value *Ptr;
149147 if (getTargetTriple ().getVendor () == Triple::VendorType::AMD &&
150148 match (
151- const_cast <Value *>(V),
152- m_c_And (m_Not (m_Intrinsic<Intrinsic::amdgcn_is_shared>(m_Value (Ptr))),
153- m_Not (m_Intrinsic<Intrinsic::amdgcn_is_private>(m_Deferred (Ptr))))))
149+ const_cast <Value *>(V),
150+ m_c_And (m_Not (m_Intrinsic<Intrinsic::amdgcn_is_shared>(m_Value (Ptr))),
151+ m_Not (m_Intrinsic<Intrinsic::amdgcn_is_private>(
152+ m_Deferred (Ptr))))))
154153 return std::pair (Ptr, AddressSpace::CrossWorkgroup);
155154
156155 return std::pair (nullptr , UINT32_MAX);
@@ -165,19 +164,19 @@ bool SPIRVTargetMachine::isNoopAddrSpaceCast(unsigned SrcAS,
165164}
166165
167166void SPIRVTargetMachine::registerPassBuilderCallbacks (PassBuilder &PB) {
168- PB.registerCGSCCOptimizerLateEPCallback ([](CGSCCPassManager &PM,
169- OptimizationLevel Level) {
170- if (Level == OptimizationLevel::O0)
171- return ;
167+ PB.registerCGSCCOptimizerLateEPCallback (
168+ [](CGSCCPassManager &PM, OptimizationLevel Level) {
169+ if (Level == OptimizationLevel::O0)
170+ return ;
172171
173- FunctionPassManager FPM;
172+ FunctionPassManager FPM;
174173
175- // Add infer address spaces pass to the opt pipeline after inlining
176- // but before SROA to increase SROA opportunities.
177- FPM.addPass (InferAddressSpacesPass (AddressSpace::Generic));
174+ // Add infer address spaces pass to the opt pipeline after inlining
175+ // but before SROA to increase SROA opportunities.
176+ FPM.addPass (InferAddressSpacesPass (AddressSpace::Generic));
178177
179- PM.addPass (createCGSCCToFunctionPassAdaptor (std::move (FPM)));
180- });
178+ PM.addPass (createCGSCCToFunctionPassAdaptor (std::move (FPM)));
179+ });
181180}
182181
183182namespace {
0 commit comments