DeadStoreElimination.h revision 303231
1303231Sdim//===- DeadStoreElimination.h - Fast Dead Store Elimination -------------===//
2303231Sdim//
3303231Sdim//                     The LLVM Compiler Infrastructure
4303231Sdim//
5303231Sdim// This file is distributed under the University of Illinois Open Source
6303231Sdim// License. See LICENSE.TXT for details.
7303231Sdim//
8303231Sdim//===----------------------------------------------------------------------===//
9303231Sdim//
10303231Sdim// This file implements a trivial dead store elimination that only considers
11303231Sdim// basic-block local redundant stores.
12303231Sdim//
13303231Sdim// FIXME: This should eventually be extended to be a post-dominator tree
14303231Sdim// traversal.  Doing so would be pretty trivial.
15303231Sdim//
16303231Sdim//===----------------------------------------------------------------------===//
17303231Sdim
18303231Sdim#ifndef LLVM_TRANSFORMS_SCALAR_DSE_H
19303231Sdim#define LLVM_TRANSFORMS_SCALAR_DSE_H
20303231Sdim
21303231Sdim#include "llvm/IR/Function.h"
22303231Sdim#include "llvm/IR/PassManager.h"
23303231Sdim
24303231Sdimnamespace llvm {
25303231Sdim
26303231Sdim/// This class implements a trivial dead store elimination. We consider
27303231Sdim/// only the redundant stores that are local to a single Basic Block.
28303231Sdimclass DSEPass : public PassInfoMixin<DSEPass> {
29303231Sdimpublic:
30303231Sdim  PreservedAnalyses run(Function &F, AnalysisManager<Function> &FAM);
31303231Sdim};
32303231Sdim}
33303231Sdim
34303231Sdim#endif // LLVM_TRANSFORMS_SCALAR_DSE_H
35