summaryrefslogtreecommitdiff
path: root/compiler/optimizing/nodes.h
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2014-06-04 11:12:39 +0100
committer Nicolas Geoffray <ngeoffray@google.com> 2014-06-12 10:02:06 +0100
commit86dbb9a12119273039ce272b41c809fa548b37b6 (patch)
treea4626e21ae16a9a5e133ea3e5e95b58d2ea4d8e5 /compiler/optimizing/nodes.h
parentc936622863a50bdda9b10062515dfc02a8c8b652 (diff)
Final CL to enable register allocation on x86.
This CL implements: 1) Resolution after allocation: connecting the locations allocated to an interval within a block and between blocks. 2) Handling of fixed registers: some instructions require inputs/output to be at a specific location, and the allocator needs to deal with them in a special way. 3) ParallelMoveResolver::EmitNativeCode for x86. Change-Id: I0da6bd7eb66877987148b87c3be6a983b4e3f858
Diffstat (limited to 'compiler/optimizing/nodes.h')
-rw-r--r--compiler/optimizing/nodes.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h
index 68848de636..143d5c9e6f 100644
--- a/compiler/optimizing/nodes.h
+++ b/compiler/optimizing/nodes.h
@@ -508,6 +508,7 @@ class HInstruction : public ArenaObject {
void ReplaceWith(HInstruction* instruction);
#define INSTRUCTION_TYPE_CHECK(type) \
+ bool Is##type() { return (As##type() != nullptr); } \
virtual H##type* As##type() { return nullptr; }
FOR_EACH_INSTRUCTION(INSTRUCTION_TYPE_CHECK)