os

An operating system
git clone https://erai.gay/code/os/
Log | Files | Refs | README | LICENSE

commit 5c2fd7178042b54c0c2e5b9045d66cd2853a66ed
parent c497784654927b8bdc2c893ccef54332f6600a4f
Author: erai <erai@omiltem.net>
Date:   Sun,  2 Feb 2025 17:47:00 +0000

re-bootstrap

Diffstat:
Mcc0.c | 213-------------------------------------------------------------------------------
1 file changed, 0 insertions(+), 213 deletions(-)

diff --git a/cc0.c b/cc0.c @@ -779,10 +779,6 @@ struct my_irvar**( my_irfind_var)(struct my_irfunc* my_ic,unsigned char* my_name void( my_irjump)(struct my_irfunc* my_ic,struct my_irblock* my_to,struct my_irblock* my_next); void( my_irreset)(struct my_irblock* my_b); void( my_irreturn)(struct my_irfunc* my_ic,struct my_irop* my_value); -void( my_irshow)(struct my_file* my_out,struct my_irblock* my_b); -void( my_irshow2)(struct my_file* my_out,struct my_irblock* my_b,unsigned long* my_id); -void( my_irshow3)(struct my_file* my_out,struct my_irblock* my_b); -void( my_irshow4)(struct my_file* my_out,struct my_irop* my_o); void( my_labels_to_ir)(struct my_irfunc* my_ic,struct my_node* my_n); void( my_layout_struct)(struct my_compiler* my_c,struct my_decl* my_d); void( my_layout_union)(struct my_compiler* my_c,struct my_decl* my_d); @@ -4521,9 +4517,6 @@ void( my_ir_optimize)(struct my_irfunc* my_ic){ (my_irblock_fold)((my_ic),(((my_ic)->my_blocks)[my_i])); (my_i)=((unsigned long)(((unsigned long)(my_i))+((unsigned long)(1UL)))); } - if ((unsigned long)(((long)((my_strcmp)(((my_ic)->my_name),((unsigned char *)"reconstruct_dec"))))==((long)(0UL)))) { - (my_irshow)(((void *)0),(((my_ic)->my_blocks)[0UL])); - } } void( my_iraddarg)(struct my_irfunc* my_ic,unsigned char* my_name,struct my_type* my_t){ struct my_irvar** my_iv = 0; @@ -4974,212 +4967,6 @@ void( my_irreturn)(struct my_irfunc* my_ic,struct my_irop* my_value){ } ((my_ic)->my_cur)=((void *)0); } -void( my_irshow)(struct my_file* my_out,struct my_irblock* my_b){ - unsigned long my_id = 0; - (my_id)=(1UL); - (my_irshow2)((my_out),(my_b),(&(my_id))); - (my_irreset)((my_b)); -} -void( my_irshow2)(struct my_file* my_out,struct my_irblock* my_b,unsigned long* my_id){ - if ((unsigned long)(!(my_b))) { - return; - } - if ((my_b)->my_mark) { - return; - } - ((my_b)->my_mark)=(*(my_id)); - (*(my_id))=((unsigned long)(((unsigned long)(*(my_id)))+((unsigned long)(1UL)))); - (my_irshow3)((my_out),(my_b)); - if ((my_b)->my_out) { - (my_irshow2)((my_out),((my_b)->my_out),(my_id)); - } - if ((my_b)->my_alt) { - (my_irshow2)((my_out),((my_b)->my_alt),(my_id)); - } -} -void( my_irshow3)(struct my_file* my_out,struct my_irblock* my_b){ - unsigned long my_i = 0; - (my_fputd)((my_out),((my_b)->my_mark)); - (my_fputs)((my_out),((unsigned char *)"{\012")); - (my_i)=(0UL); - while (1) { - if ((unsigned long)(((long)(my_i))==((long)((my_b)->my_ops_len)))) { - break; - } - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),(((my_b)->my_ops)[my_i])); - (my_fputs)((my_out),((unsigned char *)"\012")); - (my_i)=((unsigned long)(((unsigned long)(my_i))+((unsigned long)(1UL)))); - } - (my_fputs)((my_out),((unsigned char *)"}\012")); -} -void( my_irshow4)(struct my_file* my_out,struct my_irop* my_o){ - unsigned long my_kind = 0; - if ((unsigned long)(!(my_o))) { - (my_fputs)((my_out),((unsigned char *)"(nil)")); - return; - } - (my_kind)=((my_o)->my_kind); - if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_VAR)))) { - (my_fputs)((my_out),((unsigned char *)"(var ")); - (my_fputd)((my_out),((my_o)->my_n)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_FUNC)))) { - (my_fputs)((my_out),((unsigned char *)"(func ")); - (my_fputs)((my_out),((my_o)->my_s)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_CONST)))) { - (my_fputs)((my_out),((unsigned char *)"(const ")); - (my_fputd)((my_out),((my_o)->my_n)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_STR)))) { - (my_fputs)((my_out),((unsigned char *)"(str)")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_LOAD)))) { - (my_fputs)((my_out),((unsigned char *)"(load ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_STORE)))) { - (my_fputs)((my_out),((unsigned char *)"(store ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_REF)))) { - (my_fputs)((my_out),((unsigned char *)"(ref ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_RETVAL)))) { - (my_fputs)((my_out),((unsigned char *)"(retval ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_ARG)))) { - (my_fputs)((my_out),((unsigned char *)"(arg ")); - (my_fputd)((my_out),((my_o)->my_n)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_NEG)))) { - (my_fputs)((my_out),((unsigned char *)"(neg ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_NOT)))) { - (my_fputs)((my_out),((unsigned char *)"(not ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_ADD)))) { - (my_fputs)((my_out),((unsigned char *)"(add ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_AND)))) { - (my_fputs)((my_out),((unsigned char *)"(and ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_OR)))) { - (my_fputs)((my_out),((unsigned char *)"(or ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_XOR)))) { - (my_fputs)((my_out),((unsigned char *)"(xor ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_DIV)))) { - (my_fputs)((my_out),((unsigned char *)"(div ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_MOD)))) { - (my_fputs)((my_out),((unsigned char *)"(mod ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_LSH)))) { - (my_fputs)((my_out),((unsigned char *)"(lsh ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_RSH)))) { - (my_fputs)((my_out),((unsigned char *)"(rsh ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_MUL)))) { - (my_fputs)((my_out),((unsigned char *)"(mul ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_SUB)))) { - (my_fputs)((my_out),((unsigned char *)"(sub ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_EQ)))) { - (my_fputs)((my_out),((unsigned char *)"(eq ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_NE)))) { - (my_fputs)((my_out),((unsigned char *)"(ne ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_GT)))) { - (my_fputs)((my_out),((unsigned char *)"(gt ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_GE)))) { - (my_fputs)((my_out),((unsigned char *)"(ge ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_LT)))) { - (my_fputs)((my_out),((unsigned char *)"(lt ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_LE)))) { - (my_fputs)((my_out),((unsigned char *)"(le ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)" ")); - (my_irshow4)((my_out),((my_o)->my_b)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_CALL)))) { - (my_fputs)((my_out),((unsigned char *)"(call ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_JUMP)))) { - (my_fputs)((my_out),((unsigned char *)"(jump)")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_BRANCH)))) { - (my_fputs)((my_out),((unsigned char *)"(branch ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)")")); - } else if ((unsigned long)(((long)(my_kind))==((long)(my_IOP_RETURN)))) { - (my_fputs)((my_out),((unsigned char *)"(return ")); - (my_irshow4)((my_out),((my_o)->my_a)); - (my_fputs)((my_out),((unsigned char *)")")); - } else { - (my_die)(((unsigned char *)"invalid iop")); - } -} void( my_labels_to_ir)(struct my_irfunc* my_ic,struct my_node* my_n){ unsigned long my_kind = 0; unsigned char* my_name = 0;