Reducing value count. IVM could take advantage of this.

This commit is contained in:
Ben Vanik
2014-01-25 22:47:21 -08:00
parent 05432242ff
commit c4d6c7a526
9 changed files with 250 additions and 23 deletions

View File

@@ -0,0 +1,38 @@
/**
******************************************************************************
* Xenia : Xbox 360 Emulator Research Project *
******************************************************************************
* Copyright 2014 Ben Vanik. All rights reserved. *
* Released under the BSD license - see LICENSE in the root for more details. *
******************************************************************************
*/
#ifndef ALLOY_COMPILER_PASSES_VALUE_REDUCTION_PASS_H_
#define ALLOY_COMPILER_PASSES_VALUE_REDUCTION_PASS_H_
#include <alloy/compiler/compiler_pass.h>
namespace alloy {
namespace compiler {
namespace passes {
class ValueReductionPass : public CompilerPass {
public:
ValueReductionPass();
virtual ~ValueReductionPass();
virtual int Run(hir::HIRBuilder* builder);
private:
void ComputeLastUse(hir::Value* value);
};
} // namespace passes
} // namespace compiler
} // namespace alloy
#endif // ALLOY_COMPILER_PASSES_VALUE_REDUCTION_PASS_H_