aboutsummaryrefslogtreecommitdiff
path: root/src/codegen/print_llvm.cpp
diff options
context:
space:
mode:
authorGinger Bill <bill@gingerbill.org>2016-09-07 14:03:17 +0100
committerGinger Bill <bill@gingerbill.org>2016-09-07 14:03:17 +0100
commit61fcfd6f3d3c6cffd7e610abab83445b4cd1950d (patch)
treef61e6d7be5f13c79ab3d98c76fcb836901b3c25e /src/codegen/print_llvm.cpp
parent455820fc8438ab72c963ef354b9e32f6e5af1e65 (diff)
Begin Type_Info
Missing stuff in records, procedures, and tuples
Diffstat (limited to 'src/codegen/print_llvm.cpp')
-rw-r--r--src/codegen/print_llvm.cpp20
1 files changed, 4 insertions, 16 deletions
diff --git a/src/codegen/print_llvm.cpp b/src/codegen/print_llvm.cpp
index fffdee805..c8dff6d6b 100644
--- a/src/codegen/print_llvm.cpp
+++ b/src/codegen/print_llvm.cpp
@@ -314,7 +314,7 @@ void ssa_print_exact_value(ssaFileBuffer *f, ssaModule *m, ExactValue value, Typ
void ssa_print_block_name(ssaFileBuffer *f, ssaBlock *b) {
ssa_print_escape_string(f, b->label, false);
- ssa_fprintf(f, "..%d", b->id);
+ ssa_fprintf(f, "-%d", b->id);
}
void ssa_print_value(ssaFileBuffer *f, ssaModule *m, ssaValue *value, Type *type_hint) {
@@ -352,7 +352,9 @@ void ssa_print_instr(ssaFileBuffer *f, ssaModule *m, ssaValue *value) {
switch (instr->kind) {
case ssaInstr_StartupRuntime: {
- ssa_fprintf(f, "call void @." SSA_STARTUP_RUNTIME_PROC_NAME "()\n");
+ ssa_fprintf(f, "call void ");
+ ssa_print_encoded_global(f, make_string(SSA_STARTUP_RUNTIME_PROC_NAME));
+ ssa_fprintf(f, "()\n");
} break;
case ssaInstr_Comment:
@@ -642,20 +644,6 @@ void ssa_print_instr(ssaFileBuffer *f, ssaModule *m, ssaValue *value) {
ssa_fprintf(f, "\n");
} break;
- case ssaInstr_MemCopy: {
- ssa_fprintf(f, "call void @.memory_move");
- ssa_fprintf(f, "(i8* ");
- ssa_print_value(f, m, instr->CopyMemory.dst, t_rawptr);
- ssa_fprintf(f, ", i8* ");
- ssa_print_value(f, m, instr->CopyMemory.src, t_rawptr);
- ssa_fprintf(f, ", ");
- ssa_print_type(f, m->sizes, t_int);
- ssa_fprintf(f, " ");
- ssa_print_value(f, m, instr->CopyMemory.len, t_int);
- ssa_fprintf(f, ")\n");
- } break;
-
-
case ssaInstr_ExtractElement: {
Type *vt = ssa_type(instr->ExtractElement.vector);
ssa_fprintf(f, "%%%d = extractelement ", value->id);