#include "src/compiler/branch-elimination.h"
#include "src/base/small-vector.h"
#include "src/compiler/common-operator.h"
#include "src/compiler/js-graph.h"
#include "src/compiler/node-matchers.h"
#include "src/compiler/node-properties.h"
#include "src/compiler/opcodes.h"
namespace v8 {
namespace internal {
namespace compiler {
BranchElimination::BranchElimination(Editor* editor, JSGraph* js_graph,
Zone* zone, Phase phase)
: … { … }
BranchElimination::~BranchElimination() = default;
Reduction BranchElimination::Reduce(Node* node) { … }
void BranchElimination::SimplifyBranchCondition(Node* branch) { … }
bool BranchElimination::TryEliminateBranchWithPhiCondition(Node* branch,
Node* phi,
Node* merge) { … }
Reduction BranchElimination::ReduceBranch(Node* node) { … }
Reduction BranchElimination::ReduceTrapConditional(Node* node) { … }
Reduction BranchElimination::ReduceDeoptimizeConditional(Node* node) { … }
Reduction BranchElimination::ReduceIf(Node* node, bool is_true_branch) { … }
Reduction BranchElimination::ReduceLoop(Node* node) { … }
Reduction BranchElimination::ReduceMerge(Node* node) { … }
Reduction BranchElimination::ReduceStart(Node* node) { … }
Reduction BranchElimination::ReduceOtherControl(Node* node) { … }
Graph* BranchElimination::graph() const { … }
Isolate* BranchElimination::isolate() const { … }
CommonOperatorBuilder* BranchElimination::common() const { … }
template bool DefaultConstruct<bool>(Zone* zone);
}
}
}