Remove the silly function and remove the bogus comment.

This commit is contained in:
Zack Rusin 2007-10-24 11:41:28 -04:00
parent d76a7b61bb
commit 9d4b51aab8

View file

@ -47,71 +47,62 @@ struct ga_llvm_prog {
using namespace llvm; using namespace llvm;
#include "llvm_base_shader.cpp" #include "llvm_base_shader.cpp"
static int GLOBAL_ID = 0; static int GLOBAL_ID = 0;
static inline void addPass(PassManager &PM, Pass *P) {
// Add the pass to the pass manager...
PM.add(P);
}
static inline void AddStandardCompilePasses(PassManager &PM) { static inline void AddStandardCompilePasses(PassManager &PM) {
PM.add(createVerifierPass()); // Verify that input is correct PM.add(createVerifierPass()); // Verify that input is correct
addPass(PM, createLowerSetJmpPass()); // Lower llvm.setjmp/.longjmp PM.add(createLowerSetJmpPass()); // Lower llvm.setjmp/.longjmp
// If the -strip-debug command line option was specified, do it. //PM.add(createStripSymbolsPass(true));
//if (StripDebug)
// addPass(PM, createStripSymbolsPass(true));
addPass(PM, createRaiseAllocationsPass()); // call %malloc -> malloc inst PM.add(createRaiseAllocationsPass()); // call %malloc -> malloc inst
addPass(PM, createCFGSimplificationPass()); // Clean up disgusting code PM.add(createCFGSimplificationPass()); // Clean up disgusting code
addPass(PM, createPromoteMemoryToRegisterPass());// Kill useless allocas PM.add(createPromoteMemoryToRegisterPass());// Kill useless allocas
addPass(PM, createGlobalOptimizerPass()); // Optimize out global vars PM.add(createGlobalOptimizerPass()); // Optimize out global vars
addPass(PM, createGlobalDCEPass()); // Remove unused fns and globs PM.add(createGlobalDCEPass()); // Remove unused fns and globs
addPass(PM, createIPConstantPropagationPass());// IP Constant Propagation PM.add(createIPConstantPropagationPass());// IP Constant Propagation
addPass(PM, createDeadArgEliminationPass()); // Dead argument elimination PM.add(createDeadArgEliminationPass()); // Dead argument elimination
addPass(PM, createInstructionCombiningPass()); // Clean up after IPCP & DAE PM.add(createInstructionCombiningPass()); // Clean up after IPCP & DAE
addPass(PM, createCFGSimplificationPass()); // Clean up after IPCP & DAE PM.add(createCFGSimplificationPass()); // Clean up after IPCP & DAE
addPass(PM, createPruneEHPass()); // Remove dead EH info PM.add(createPruneEHPass()); // Remove dead EH info
//if (!DisableInline) PM.add(createFunctionInliningPass()); // Inline small functions
addPass(PM, createFunctionInliningPass()); // Inline small functions PM.add(createArgumentPromotionPass()); // Scalarize uninlined fn args
addPass(PM, createArgumentPromotionPass()); // Scalarize uninlined fn args
addPass(PM, createTailDuplicationPass()); // Simplify cfg by copying code PM.add(createTailDuplicationPass()); // Simplify cfg by copying code
addPass(PM, createInstructionCombiningPass()); // Cleanup for scalarrepl. PM.add(createInstructionCombiningPass()); // Cleanup for scalarrepl.
addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs PM.add(createCFGSimplificationPass()); // Merge & remove BBs
addPass(PM, createScalarReplAggregatesPass()); // Break up aggregate allocas PM.add(createScalarReplAggregatesPass()); // Break up aggregate allocas
addPass(PM, createInstructionCombiningPass()); // Combine silly seq's PM.add(createInstructionCombiningPass()); // Combine silly seq's
addPass(PM, createCondPropagationPass()); // Propagate conditionals PM.add(createCondPropagationPass()); // Propagate conditionals
addPass(PM, createTailCallEliminationPass()); // Eliminate tail calls PM.add(createTailCallEliminationPass()); // Eliminate tail calls
addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs PM.add(createCFGSimplificationPass()); // Merge & remove BBs
addPass(PM, createReassociatePass()); // Reassociate expressions PM.add(createReassociatePass()); // Reassociate expressions
addPass(PM, createLoopRotatePass()); PM.add(createLoopRotatePass());
addPass(PM, createLICMPass()); // Hoist loop invariants PM.add(createLICMPass()); // Hoist loop invariants
addPass(PM, createLoopUnswitchPass()); // Unswitch loops. PM.add(createLoopUnswitchPass()); // Unswitch loops.
addPass(PM, createLoopIndexSplitPass()); // Index split loops. PM.add(createLoopIndexSplitPass()); // Index split loops.
addPass(PM, createInstructionCombiningPass()); // Clean up after LICM/reassoc PM.add(createInstructionCombiningPass()); // Clean up after LICM/reassoc
addPass(PM, createIndVarSimplifyPass()); // Canonicalize indvars PM.add(createIndVarSimplifyPass()); // Canonicalize indvars
addPass(PM, createLoopUnrollPass()); // Unroll small loops PM.add(createLoopUnrollPass()); // Unroll small loops
addPass(PM, createInstructionCombiningPass()); // Clean up after the unroller PM.add(createInstructionCombiningPass()); // Clean up after the unroller
addPass(PM, createGVNPass()); // Remove redundancies PM.add(createGVNPass()); // Remove redundancies
addPass(PM, createSCCPPass()); // Constant prop with SCCP PM.add(createSCCPPass()); // Constant prop with SCCP
// Run instcombine after redundancy elimination to exploit opportunities // Run instcombine after redundancy elimination to exploit opportunities
// opened up by them. // opened up by them.
addPass(PM, createInstructionCombiningPass()); PM.add(createInstructionCombiningPass());
addPass(PM, createCondPropagationPass()); // Propagate conditionals PM.add(createCondPropagationPass()); // Propagate conditionals
addPass(PM, createDeadStoreEliminationPass()); // Delete dead stores PM.add(createDeadStoreEliminationPass()); // Delete dead stores
addPass(PM, createAggressiveDCEPass()); // SSA based 'Aggressive DCE' PM.add(createAggressiveDCEPass()); // SSA based 'Aggressive DCE'
addPass(PM, createCFGSimplificationPass()); // Merge & remove BBs PM.add(createCFGSimplificationPass()); // Merge & remove BBs
addPass(PM, createSimplifyLibCallsPass()); // Library Call Optimizations PM.add(createSimplifyLibCallsPass()); // Library Call Optimizations
addPass(PM, createDeadTypeEliminationPass()); // Eliminate dead types PM.add(createDeadTypeEliminationPass()); // Eliminate dead types
addPass(PM, createConstantMergePass()); // Merge dup global constants PM.add(createConstantMergePass()); // Merge dup global constants
} }
static void static void
@ -119,7 +110,6 @@ translate_declaration(llvm::Module *module,
struct tgsi_full_declaration *decl, struct tgsi_full_declaration *decl,
struct tgsi_full_declaration *fd) struct tgsi_full_declaration *fd)
{ {
/* i think this is going to be a noop */
} }
@ -658,9 +648,11 @@ ga_llvm_from_tgsi(struct pipe_context *pipe, const struct tgsi_token *tokens)
(struct ga_llvm_prog *)malloc(sizeof(struct ga_llvm_prog)); (struct ga_llvm_prog *)malloc(sizeof(struct ga_llvm_prog));
ga_llvm->id = GLOBAL_ID; ga_llvm->id = GLOBAL_ID;
tgsi_dump(tokens, 0); tgsi_dump(tokens, 0);
llvm::Module *mod = tgsi_to_llvm(ga_llvm, tokens); llvm::Module *mod = tgsi_to_llvm(ga_llvm, tokens);
ga_llvm->module = mod; ga_llvm->module = mod;
ga_llvm_prog_dump(ga_llvm, 0); ga_llvm_prog_dump(ga_llvm, 0);
/* Run optimization passes over it */ /* Run optimization passes over it */
PassManager passes; PassManager passes;
passes.add(new TargetData(mod)); passes.add(new TargetData(mod));