aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2023-07-19 11:39:37 +0100
committergingerBill <bill@gingerbill.org>2023-07-19 11:39:37 +0100
commit569397bd7eeb8db7aeff0033b3d8cb79af2c9893 (patch)
tree4e3070f8eb8a795973fa43960561b3407f17e88b /src
parent3535d16c3a9f2a16b420f34777cbbc56ccadfd5d (diff)
Update TB
Diffstat (limited to 'src')
-rw-r--r--src/tilde/tb.h5
-rw-r--r--src/tilde/tb.libbin4141318 -> 4146174 bytes
-rw-r--r--src/tilde_expr.cpp7
-rw-r--r--src/tilde_proc.cpp12
4 files changed, 13 insertions, 11 deletions
diff --git a/src/tilde/tb.h b/src/tilde/tb.h
index e240966c6..3924bbe8e 100644
--- a/src/tilde/tb.h
+++ b/src/tilde/tb.h
@@ -33,8 +33,9 @@
// These are flags
typedef enum TB_ArithmeticBehavior {
- TB_ARITHMATIC_NSW = 1,
- TB_ARITHMATIC_NUW = 2,
+ TB_ARITHMATIC_NONE = 0,
+ TB_ARITHMATIC_NSW = 1,
+ TB_ARITHMATIC_NUW = 2,
} TB_ArithmeticBehavior;
typedef enum TB_DebugFormat {
diff --git a/src/tilde/tb.lib b/src/tilde/tb.lib
index 84dba790b..c42e02d98 100644
--- a/src/tilde/tb.lib
+++ b/src/tilde/tb.lib
Binary files differ
diff --git a/src/tilde_expr.cpp b/src/tilde_expr.cpp
index 351ee7b45..e754d473f 100644
--- a/src/tilde_expr.cpp
+++ b/src/tilde_expr.cpp
@@ -1185,7 +1185,7 @@ handle_op:;
}
}
- TB_ArithmeticBehavior arith_behavior = cast(TB_ArithmeticBehavior)50;
+ TB_ArithmeticBehavior arith_behavior = cast(TB_ArithmeticBehavior)0;
Type *integral_type = type;
if (is_type_simd_vector(integral_type)) {
@@ -2065,13 +2065,13 @@ gb_internal cgValue cg_build_expr_internal(cgProcedure *p, Ast *expr) {
Type *type = default_type(type_of_expr(expr));
- incoming_values[0] = cg_emit_conv(p, cg_build_expr(p, te->x), type);
+ incoming_values [0] = cg_emit_conv(p, cg_build_expr(p, te->x), type);
incoming_regions[0] = tb_inst_get_control(p->func);
tb_inst_goto(p->func, done);
tb_inst_set_control(p->func, else_);
- incoming_values[1] = cg_emit_conv(p, cg_build_expr(p, te->y), type);
+ incoming_values [1] = cg_emit_conv(p, cg_build_expr(p, te->y), type);
incoming_regions[1] = tb_inst_get_control(p->func);
tb_inst_goto(p->func, done);
@@ -2080,6 +2080,7 @@ gb_internal cgValue cg_build_expr_internal(cgProcedure *p, Ast *expr) {
GB_ASSERT(incoming_values[0].kind == cgValue_Value ||
incoming_values[0].kind == cgValue_Addr);
GB_ASSERT(incoming_values[0].kind == incoming_values[1].kind);
+
cgValue res = {};
res.kind = incoming_values[0].kind;
res.type = type;
diff --git a/src/tilde_proc.cpp b/src/tilde_proc.cpp
index b3ab0b778..c925ee692 100644
--- a/src/tilde_proc.cpp
+++ b/src/tilde_proc.cpp
@@ -244,13 +244,13 @@ gb_internal void cg_procedure_end(cgProcedure *p) {
}
// if (p->name == "main") {
if (p->name == "bug.main") {
- // TB_Arena *arena = tb_default_arena();
- // defer (arena->free(arena));
- // TB_FuncOpt *opt = tb_funcopt_enter(p->func, arena);
- // defer (tb_funcopt_exit(opt));
- // tb_funcopt_print(opt);
+ TB_Arena *arena = tb_default_arena();
+ defer (arena->free(arena));
+ TB_FuncOpt *opt = tb_funcopt_enter(p->func, arena);
+ defer (tb_funcopt_exit(opt));
+ tb_funcopt_print(opt);
- tb_function_print(p->func, tb_default_print_callback, stdout);
+ // tb_function_print(p->func, tb_default_print_callback, stdout);
}
tb_module_compile_function(p->module->mod, p->func, TB_ISEL_FAST);
}