#include "MCTargetDesc/NVPTXBaseInfo.h"
#include "NVPTX.h"
#include "NVPTXUtilities.h"
#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Operator.h"
#include "llvm/IR/ValueMap.h"
#include "llvm/Transforms/Utils/ValueMapper.h"
usingnamespacellvm;
namespace llvm {
void initializeGenericToNVVMLegacyPassPass(PassRegistry &);
}
namespace {
class GenericToNVVM { … };
}
bool GenericToNVVM::runOnModule(Module &M) { … }
Value *GenericToNVVM::remapConstant(Module *M, Function *F, Constant *C,
IRBuilder<> &Builder) { … }
Value *GenericToNVVM::remapConstantVectorOrConstantAggregate(
Module *M, Function *F, Constant *C, IRBuilder<> &Builder) { … }
Value *GenericToNVVM::remapConstantExpr(Module *M, Function *F, ConstantExpr *C,
IRBuilder<> &Builder) { … }
namespace {
class GenericToNVVMLegacyPass : public ModulePass { … };
}
char GenericToNVVMLegacyPass::ID = …;
ModulePass *llvm::createGenericToNVVMLegacyPass() { … }
INITIALIZE_PASS(…)
bool GenericToNVVMLegacyPass::runOnModule(Module &M) { … }
PreservedAnalyses GenericToNVVMPass::run(Module &M, ModuleAnalysisManager &AM) { … }