aboutsummaryrefslogtreecommitdiff
path: root/src/codegen
diff options
context:
space:
mode:
authorGinger Bill <github@gingerbill.org>2016-08-18 15:58:36 +0100
committerGinger Bill <github@gingerbill.org>2016-08-18 15:58:36 +0100
commitf931b089d5ce0374e36c3241176e4ef24953522e (patch)
tree034bcf331e049919b6ecd42ab48e19fc77993a16 /src/codegen
parent6b2cd1b33fafb18e052ebc5df19481232202607b (diff)
print_(f32|f64)
Diffstat (limited to 'src/codegen')
-rw-r--r--src/codegen/ssa.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/codegen/ssa.cpp b/src/codegen/ssa.cpp
index fc927b735..be38b2c1b 100644
--- a/src/codegen/ssa.cpp
+++ b/src/codegen/ssa.cpp
@@ -1364,12 +1364,10 @@ ssaValue *ssa_emit_conv(ssaProcedure *proc, ssaValue *value, Type *t) {
// Pointer <-> int
if (is_type_pointer(src) && is_type_int_or_uint(dst)) {
- ssaValue *p = ssa_emit_load(proc, value);
- return ssa_emit(proc, ssa_make_instr_conv(proc, ssaConv_ptrtoint, p, src, dst));
+ return ssa_emit(proc, ssa_make_instr_conv(proc, ssaConv_ptrtoint, value, src, dst));
}
if (is_type_int_or_uint(src) && is_type_pointer(dst)) {
- ssaValue *i = ssa_emit_load(proc, value);
- return ssa_emit(proc, ssa_make_instr_conv(proc, ssaConv_inttoptr, i, src, dst));
+ return ssa_emit(proc, ssa_make_instr_conv(proc, ssaConv_inttoptr, value, src, dst));
}
// Pointer <-> Pointer
@@ -1708,7 +1706,7 @@ ssaValue *ssa_build_single_expr(ssaProcedure *proc, AstNode *expr, TypeAndValue
Entity **found = map_get(&proc->module->info->uses, hash_pointer(p));
if (found && (*found)->kind == Entity_Builtin) {
Entity *e = *found;
- switch (e->builtin.id) {
+ switch (e->Builtin.id) {
case BuiltinProc_len: {
// len :: proc(Type) -> int
// NOTE(bill): len of an array is a constant expression