summaryrefslogtreecommitdiff
path: root/compiler/optimizing/graph_checker.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing/graph_checker.cc')
-rw-r--r--compiler/optimizing/graph_checker.cc11
1 files changed, 2 insertions, 9 deletions
diff --git a/compiler/optimizing/graph_checker.cc b/compiler/optimizing/graph_checker.cc
index 091f1c7e89..5814d7556f 100644
--- a/compiler/optimizing/graph_checker.cc
+++ b/compiler/optimizing/graph_checker.cc
@@ -162,13 +162,6 @@ void GraphChecker::VisitBoundsCheck(HBoundsCheck* check) {
VisitInstruction(check);
}
-// Returns true if there exists `index2` such that `index2 > index` and
-// `array[index] == array[index2]`.
-static bool ContainsSameValueAfter(ArrayRef<HBasicBlock* const> array, size_t index) {
- ArrayRef<HBasicBlock* const> tail = array.SubArray(index + 1);
- return std::find(tail.begin(), tail.end(), array[index]) != tail.end();
-}
-
void GraphChecker::VisitTryBoundary(HTryBoundary* try_boundary) {
ArrayRef<HBasicBlock* const> handlers = try_boundary->GetExceptionHandlers();
@@ -188,8 +181,8 @@ void GraphChecker::VisitTryBoundary(HTryBoundary* try_boundary) {
// Ensure that handlers are not listed multiple times.
for (size_t i = 0, e = handlers.size(); i < e; ++i) {
- if (ContainsSameValueAfter(handlers, i)) {
- AddError(StringPrintf("Exception handler block %d of %s:%d is listed multiple times.",
+ if (ContainsElement(handlers, handlers[i], i + 1)) {
+ AddError(StringPrintf("Exception handler block %d of %s:%d is listed multiple times.",
handlers[i]->GetBlockId(),
try_boundary->DebugName(),
try_boundary->GetId()));