2016-07-21 21:48:45 +01:00
|
|
|
/* This file is part of the dynarmic project.
|
|
|
|
* Copyright (c) 2016 MerryMage
|
|
|
|
* This software may be used and distributed according to the terms of the GNU
|
|
|
|
* General Public License version 2 or any later version.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2018-01-04 21:12:02 +00:00
|
|
|
#include <dynarmic/A32/callbacks.h>
|
2017-01-30 21:43:40 +00:00
|
|
|
|
2016-07-21 21:48:45 +01:00
|
|
|
namespace Dynarmic {
|
|
|
|
namespace IR {
|
|
|
|
class Block;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace Dynarmic {
|
|
|
|
namespace Optimization {
|
|
|
|
|
|
|
|
void GetSetElimination(IR::Block& block);
|
2018-01-04 21:12:02 +00:00
|
|
|
void ConstantPropagation(IR::Block& block, const A32::UserCallbacks::Memory& memory_callbacks);
|
2016-07-21 21:48:45 +01:00
|
|
|
void DeadCodeElimination(IR::Block& block);
|
|
|
|
void VerificationPass(const IR::Block& block);
|
|
|
|
|
|
|
|
} // namespace Optimization
|
|
|
|
} // namespace Dynarmic
|