diff options
| author | Ginger Bill <bill@gingerbill.org> | 2016-09-03 22:07:16 +0100 |
|---|---|---|
| committer | Ginger Bill <bill@gingerbill.org> | 2016-09-03 22:07:16 +0100 |
| commit | cdd8eadda172b3ced7a774dfa1f22a976b3bdb7f (patch) | |
| tree | ef7488fa2155950d36290e6a06b181cc6fee878e /src/codegen/print_llvm.cpp | |
| parent | 7f884ed25187416bb3994e498eae30fe65233940 (diff) | |
Fix type system in SSA generation
Removes a lot of dodgy things
Still needs to be tested a lot and better refactored
Diffstat (limited to 'src/codegen/print_llvm.cpp')
| -rw-r--r-- | src/codegen/print_llvm.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/codegen/print_llvm.cpp b/src/codegen/print_llvm.cpp index ecbf48d54..383800f96 100644 --- a/src/codegen/print_llvm.cpp +++ b/src/codegen/print_llvm.cpp @@ -338,7 +338,7 @@ void ssa_print_instr(gbFile *f, ssaModule *m, ssaValue *value) { } break; case ssaInstr_Store: { - Type *type = ssa_type(instr->Store.address); + Type *type = ssa_type(instr); ssa_fprintf(f, "store "); ssa_print_type(f, m->sizes, type); ssa_fprintf(f, " "); @@ -368,10 +368,10 @@ void ssa_print_instr(gbFile *f, ssaModule *m, ssaValue *value) { ssa_fprintf(f, "inbounds "); } - ssa_print_type(f, m->sizes, et); + ssa_print_type(f, m->sizes, type_deref(et)); ssa_fprintf(f, ", "); ssa_print_type(f, m->sizes, et); - ssa_fprintf(f, "* "); + ssa_fprintf(f, " "); ssa_print_value(f, m, instr->GetElementPtr.address, et); for (isize i = 0; i < instr->GetElementPtr.index_count; i++) { ssaValue *index = instr->GetElementPtr.indices[i]; |