summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes.h
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2014-09-18 15:02:40 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2014-09-18 15:02:41 +0000
commitaaadf03fd8d9f6a50a3b8b4b916e7cc161e4edba (patch)
tree2447d33b3338e2448f061aaeff471bd9342325d3 /compiler/optimizing/nodes.h
parent6aa606c9284ac31961f4c5b20c3645ac78acfaad (diff)
parent604c6e4764edb2fd244e9f47626868cda5644a7a (diff)
Merge "Ensure the first predecessor of a loop is the pre header."
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r--compiler/optimizing/nodes.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h
index b012cef3da..a4c8ce50c3 100644
--- a/compiler/optimizing/nodes.h
+++ b/compiler/optimizing/nodes.h
@@ -338,6 +338,13 @@ class HBasicBlock : public ArenaObject {
block->successors_.Add(this);
}
+ void SwapPredecessors() {
+ DCHECK(predecessors_.Size() == 2);
+ HBasicBlock* temp = predecessors_.Get(0);
+ predecessors_.Put(0, predecessors_.Get(1));
+ predecessors_.Put(1, temp);
+ }
+
size_t GetPredecessorIndexOf(HBasicBlock* predecessor) {
for (size_t i = 0, e = predecessors_.Size(); i < e; ++i) {
if (predecessors_.Get(i) == predecessor) {