Emitting more x64.

This commit is contained in:
Ben Vanik
2014-01-04 00:30:43 -08:00
parent 2468645bf2
commit 88b631b160
17 changed files with 633 additions and 109 deletions

View File

@@ -12,6 +12,7 @@
#include <alloy/hir/block.h>
#include <alloy/hir/instr.h>
#include <alloy/hir/label.h>
#include <alloy/runtime/symbol_info.h>
using namespace alloy;
using namespace alloy::hir;
@@ -120,10 +121,13 @@ void HIRBuilder::DumpOp(
}
break;
case OPCODE_SIG_TYPE_O:
str->Append("+%d", op->offset);
str->Append("+%lld", op->offset);
break;
case OPCODE_SIG_TYPE_S:
str->Append("<function>");
if (true) {
auto target = op->symbol_info;
str->Append(target->name() ? target->name() : "<fn>");
}
break;
case OPCODE_SIG_TYPE_V:
DumpValue(str, op->value);

View File

@@ -64,6 +64,7 @@ public:
Instr* def;
Use* use_head;
// TODO(benvanik): remove to shrink size.
void* tag;
Use* AddUse(Arena* arena, Instr* instr);