From 4cc5eb2615a8633a505dab199193133ee634da1f 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1070 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Optimizations/AllOpts.h | 5 -- include/llvm/Optimizations/LevelChange.h | 85 ------------------------ 2 files changed, 90 deletions(-) delete mode 100644 include/llvm/Optimizations/LevelChange.h diff --git a/include/llvm/Optimizations/AllOpts.h b/include/llvm/Optimizations/AllOpts.h index 4add7137654..bbe9af6d31d 100644 --- a/include/llvm/Optimizations/AllOpts.h +++ b/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/include/llvm/Optimizations/LevelChange.h b/include/llvm/Optimizations/LevelChange.h deleted file mode 100644 index b68ed765f2a..00000000000 --- a/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 -- 2.34.1