From d307537327cccfa975061e53a4230aece1cde9c0 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 1 Nov 2001 02:39:49 +0000 Subject: [PATCH] Move level change xfor into the transforms directory llvm-svn: 1070 --- llvm/include/llvm/Optimizations/AllOpts.h | 5 -- llvm/include/llvm/Optimizations/LevelChange.h | 85 ------------------- 2 files changed, 90 deletions(-) delete mode 100644 llvm/include/llvm/Optimizations/LevelChange.h diff --git a/llvm/include/llvm/Optimizations/AllOpts.h b/llvm/include/llvm/Optimizations/AllOpts.h index 4add7137654f..bbe9af6d31dd 100644 --- a/llvm/include/llvm/Optimizations/AllOpts.h +++ b/llvm/include/llvm/Optimizations/AllOpts.h @@ -39,9 +39,4 @@ #include "llvm/Optimizations/InductionVars.h" -//===----------------------------------------------------------------------===// -// LevelChange - Code lowering and raising -// -#include "llvm/Optimizations/LevelChange.h" - #endif diff --git a/llvm/include/llvm/Optimizations/LevelChange.h b/llvm/include/llvm/Optimizations/LevelChange.h deleted file mode 100644 index b68ed765f2ad..000000000000 --- a/llvm/include/llvm/Optimizations/LevelChange.h +++ /dev/null @@ -1,85 +0,0 @@ -//===-- LevelChange.h - Functions for raising/lowering methods ---*- C++ -*--=// -// -// This family of functions is useful for changing the 'level' of a method. -// This can either be raising (converting direct addressing to use getelementptr -// for structs and arrays), or lowering (for instruction selection). -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_OPT_LEVELCHANGE_H -#define LLVM_OPT_LEVELCHANGE_H - -#include "llvm/Pass.h" -#include "llvm/Module.h" -#include "llvm/Method.h" - -namespace opt { - struct Level { // Define a namespace to contain the enum - enum ID { // Define an enum of levels to change into - Lowest, // The lowest level: ... - //... - - Normal, // The level LLVM is assumed to be in - - Simplified, // Elminate silly things like unnecesary casts - - StructureAccess, // Convert pointer addressing to structure getelementptr - // instructions. - - ArrayAccess, // Simple direct access through pointers is converted to - // array accessors - - InductionVars, // Auxillary induction variables are eliminated by - // introducing a cannonical indvar, and making all - // others use it. This creates more opportunites to - // apply the previous optimizations. - - Highest = InductionVars, - }; - }; - - // DoRaiseRepresentation - Raise a method representation to a higher level. - // The specific features to add are specified with the ToLevel argument. - // - bool DoRaiseRepresentation(Method *M, Level::ID ToLevel); - bool DoRaiseRepresentation(Module *M, Level::ID ToLevel); - static inline bool DoRaiseRepresentation(Method *M) { - return DoRaiseRepresentation(M, Level::Highest); - } - bool DoRaiseRepresentation(Module *M, Level::ID ToLevel); - static inline bool DoRaiseRepresentation(Module *M) { - return DoRaiseRepresentation(M, Level::Highest); - } - - struct RaiseRepresentation : public Pass { - virtual bool doPerMethodWork(Method *M) { - return DoRaiseRepresentation(M); - } - }; - - - // DoEliminateAuxillaryInductionVariables - Eliminate all aux indvars. This - // is one of the transformations performed by DoRaiseRepresentation, that - // converts all induction variables to reference a cannonical induction - // variable (which starts at 0 and counts by 1). - // - bool DoEliminateAuxillaryInductionVariables(Method *M); - static inline bool DoEliminateAuxillaryInductionVariables(Module *M) { - return M->reduceApply(DoEliminateAuxillaryInductionVariables); - } - - - // DoLowerRepresentation - Lower a method representation to a lower level. - // The specific features to eliminate are specified with the ToLevel argument. - // - bool DoLowerRepresentation(Method *M, Level::ID ToLevel); - bool DoLowerRepresentation(Module *M, Level::ID ToLevel); - static inline bool DoLowerRepresentation(Module *M) { - return DoLowerRepresentation(M, Level::Lowest); - } - static inline bool DoLowerRepresentation(Method *M) { - return DoLowerRepresentation(M, Level::Lowest); - } -} // End namespace opt - -#endif