llvm-linker-hack.cpp [plain text]
#include "llvm/Module.h"
#include "llvm/ModuleProvider.h"
#include "llvm/Analysis/Verifier.h"
#include "llvm/Analysis/DebugInfo.h"
#include "llvm/Assembly/PrintModulePass.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/IPO.h"
#include "llvm/Bitcode/ReaderWriter.h"
#include "llvm/CodeGen/SchedulerRegistry.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/PrettyStackTrace.h"
#include "llvm/Support/Streams.h"
#include "llvm/Target/TargetMachineRegistry.h"
#include "llvm/Target/TargetMachine.h"
void dummy_function() {
llvm::ModuleProvider *MP = new llvm::ExistingModuleProvider(0);
llvm::createVerifierPass();
llvm::CreateBitcodeWriterPass(*llvm::cout);
llvm::WriteBitcodeToFile(0, *llvm::cout);
llvm::ParseBitcodeFile(NULL);
llvm::MemoryBuffer::getNewMemBuffer(0);
llvm::createInstructionCombiningPass();
llvm::createScalarReplAggregatesPass();
llvm::createCFGSimplificationPass();
llvm::createDefaultScheduler(NULL, llvm::CodeGenOpt::Default);
llvm::createLinearScanRegisterAllocator();
llvm::createLocalRegisterAllocator();
llvm::createGVNPass();
llvm::createLoopRotatePass();
llvm::createLICMPass();
llvm::createSCCPPass();
llvm::createPruneEHPass();
llvm::createGlobalDCEPass();
llvm::createLoopUnrollPass();
llvm::createReassociatePass();
llvm::createLoopUnswitchPass();
llvm::createLoopIndexSplitPass();
llvm::createAggressiveDCEPass();
llvm::createConstantMergePass();
llvm::createIndVarSimplifyPass();
llvm::createPredicateSimplifierPass();
llvm::createCondPropagationPass();
llvm::createGlobalOptimizerPass();
llvm::createJumpThreadingPass();
llvm::createFunctionInliningPass();
llvm::createAlwaysInlinerPass();
llvm::createRaiseAllocationsPass();
llvm::createSimplifyLibCallsPass();
llvm::createArgumentPromotionPass();
llvm::createDeadArgEliminationPass();
llvm::createTailCallEliminationPass();
llvm::createDeadStoreEliminationPass();
llvm::createIPConstantPropagationPass();
llvm::createStripDeadPrototypesPass();
llvm::createMemCpyOptPass();
llvm::createDeadTypeEliminationPass();
llvm::createLoopDeletionPass();
llvm::createFunctionAttrsPass();
llvm::createPrintModulePass(0);
llvm::PrettyStackTraceProgram::PrettyStackTraceProgram(0, 0);
llvm::DIFactory::DIFactory(*MP->getModule());
std::string Err;
llvm::TargetMachineRegistry::getClosestStaticTargetForModule(*MP->getModule(),
Err);
}