aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-06-14 11:41:50 +0100
committergingerBill <bill@gingerbill.org>2021-06-14 11:41:50 +0100
commitd4df325e0a2cfe1d6de90667099d9ac43e269029 (patch)
tree4e79132db8306ede57fb1ada7eecf8eb5ce1e148 /src/llvm_backend.cpp
parent9f8a63cb432881f74a2f76e627bb69479970ba96 (diff)
Just create `context` when required
Diffstat (limited to 'src/llvm_backend.cpp')
-rw-r--r--src/llvm_backend.cpp17
1 files changed, 1 insertions, 16 deletions
diff --git a/src/llvm_backend.cpp b/src/llvm_backend.cpp
index 23b32b090..ecdedcc9f 100644
--- a/src/llvm_backend.cpp
+++ b/src/llvm_backend.cpp
@@ -8518,15 +8518,6 @@ lbContextData *lb_push_context_onto_stack(lbProcedure *p, lbAddr ctx) {
return cd;
}
-lbAddr lb_find_existing_context_ptr(lbProcedure *p) {
- if (p->context_stack.count > 0) {
- return p->context_stack[p->context_stack.count-1].ctx;
- }
-
- GB_PANIC("Unable to get `context` ptr");
- return {};
-}
-
lbAddr lb_find_or_generate_context_ptr(lbProcedure *p) {
if (p->context_stack.count > 0) {
@@ -9094,7 +9085,7 @@ lbValue lb_emit_call(lbProcedure *p, lbValue value, Array<lbValue> const &args,
lbAddr context_ptr = {};
if (pt->Proc.calling_convention == ProcCC_Odin) {
- context_ptr = lb_find_existing_context_ptr(p);
+ context_ptr = lb_find_or_generate_context_ptr(p);
}
defer (if (pt->Proc.diverging) {
@@ -15169,12 +15160,6 @@ lbProcedure *lb_create_main_procedure(lbModule *m, lbProcedure *startup_runtime)
} else {
if (m->info->entry_point != nullptr) {
lbValue entry_point = lb_find_procedure_value_from_entity(m, m->info->entry_point);
- Type *pt = base_type(entry_point.type);
- GB_ASSERT(pt->kind == Type_Proc);
- if (pt->kind == Type_Proc) {
- lbAddr ctx = lb_find_or_generate_context_ptr(p);
- }
-
lb_emit_call(p, entry_point, {});
}
}