Rearrange code
authorChris Lattner <sabre@nondot.org>
Mon, 26 Nov 2001 16:49:49 +0000 (16:49 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 26 Nov 2001 16:49:49 +0000 (16:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1334 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Transforms/IPO/SimpleStructMutation.h

index 62da4185dad36f402a37be655ae0bded18dc5d41..77b962b1079cac4860b61dc68240326759878460 100644 (file)
@@ -8,28 +8,18 @@
 #ifndef LLVM_TRANSFORMS_SWAPSTRUCTCONTENTS_H
 #define LLVM_TRANSFORMS_SWAPSTRUCTCONTENTS_H
 
-#include "llvm/Pass.h"
+#include "llvm/Transforms/MutateStructTypes.h"
 
-class SwapStructContents : public Pass {
-  Pass *StructMutator;
+// FIXME: Move to correct location!
+class PrebuiltStructMutation : public MutateStructTypes {
 public:
-  // doPassInitialization - Figure out what transformation to do
-  //
-  bool doPassInitialization(Module *M);
+  enum Transform { SwapElements, SortElements };
 
-  // doPerMethodWork - Virtual method overriden by subclasses to do the
-  // per-method processing of the pass.
-  //
-  virtual bool doPerMethodWork(Method *M) {
-    return StructMutator->doPerMethodWork(M);
-  }
-
-  // doPassFinalization - Forward to our worker.
-  //
-  virtual bool doPassFinalization(Module *M) {
-    return StructMutator->doPassFinalization(M);
-  }
+  PrebuiltStructMutation(Module *M, enum Transform XForm)
+    : MutateStructTypes(getTransforms(M, XForm)) {}
 
+private:
+  static TransformsType getTransforms(Module *M, enum Transform);
 };
 
 #endif