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