llvm/llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp

//===- AMDGPUAnnotateKernelFeaturesPass.cpp -------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
/// \file This pass propagates the uniform-work-group-size attribute from
/// kernels to leaf functions when possible. It also adds additional attributes
/// to hint ABI lowering optimizations later.
//
//===----------------------------------------------------------------------===//

#include "AMDGPU.h"
#include "GCNSubtarget.h"
#include "llvm/Analysis/CallGraph.h"
#include "llvm/Analysis/CallGraphSCCPass.h"
#include "llvm/CodeGen/TargetPassConfig.h"
#include "llvm/IR/IntrinsicsAMDGPU.h"
#include "llvm/IR/IntrinsicsR600.h"
#include "llvm/Target/TargetMachine.h"

#define DEBUG_TYPE

usingnamespacellvm;

namespace {
class AMDGPUAnnotateKernelFeatures : public CallGraphSCCPass {};

} // end anonymous namespace

char AMDGPUAnnotateKernelFeatures::ID =;

char &llvm::AMDGPUAnnotateKernelFeaturesID =;

INITIALIZE_PASS()

bool AMDGPUAnnotateKernelFeatures::addFeatureAttributes(Function &F) {}

bool AMDGPUAnnotateKernelFeatures::runOnSCC(CallGraphSCC &SCC) {}

bool AMDGPUAnnotateKernelFeatures::doInitialization(CallGraph &CG) {}

Pass *llvm::createAMDGPUAnnotateKernelFeaturesPass() {}