Ronald Caesar
703ad41ec6
docs: Design Tiered Architecture
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-31 20:04:42 -04:00
Ronald Caesar
9130e485f3
docs: Add required optimizations
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-31 19:30:25 -04:00
Ronald Caesar
c99a7fd93f
doxs: Fix incorrect terminology in instruction docs
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-31 18:27:47 -04:00
Ronald Caesar
5edb36df2a
docs: Remove type from ssa_version_t
...
The variable type will be determine by the opcode, like OPCODE_ADD32.
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-31 18:25:55 -04:00
Ronald Caesar
b424b3e2ee
docs: Replace proxy instructions with OPCODE_DEF_EXTENSION
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-31 18:03:59 -04:00
Ronald Caesar
5aa4aca03a
docs: Add support for more than three operands
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-29 19:45:04 -04:00
Ronald Caesar
c8c76a52a9
docs: Add constant bit flag to operands
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-29 18:17:23 -04:00
Ronald Caesar
81d0d57418
docs: Remove redundant ssa_version_t struct attribute
...
instruction[i] defines ssa_versions[i]. So it doesnt make sense to have
the attribite `defining_instruction_index`.
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-29 17:44:12 -04:00
Ronald Caesar
723fb8326e
docs: Replace { with OPCODE_END_BLOCK
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-29 08:24:13 -04:00
Ronald Caesar
78c1da03ba
docs: Add proof of concept
...
Demonstrates how the SSSA model will work on a while loop. I plan to add
more examples to iron out the flaws of the model.
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-28 08:58:59 -04:00
Ronald Caesar
76e3c92f35
docs: Make proxy opcode name shorter
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-27 19:16:05 -04:00
Ronald Caesar
b4ee3bf9bf
docs: Remove flat ssa model
...
This model is designed for fast code execution speed which is something
we do not want. We care about compilation speed, so we will focus on
implementing the Structures SSA model.
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-27 18:56:14 -04:00
Ronald Caesar
622d65490a
docs: Fix incorrect types in proxy instruction example
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-27 18:52:42 -04:00
Ronald Caesar
f6083444d3
docs: Add proxy instruction design
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-27 18:48:04 -04:00
Ronald Caesar
0406767a3a
docs: Add Control Instruction Design
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-27 14:34:00 -04:00
Ronald Caesar
c8aaded86f
docs: Add section for handling void instructions
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-27 03:02:56 -04:00
Ronald Caesar
1ea02d4ba9
docs: Add docs for source_variable_t
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-27 02:39:20 -04:00
Ronald Caesar
15c7418b77
docs: Fix instruction design section formatting
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-27 02:34:44 -04:00
Ronald Caesar
97352e3259
docs: Add section for checking variable definitions
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-27 02:30:58 -04:00
Ronald Caesar
ad5983a59d
docs: Add instruction design
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-27 02:18:23 -04:00
Ronald Caesar
34f40ce871
docs: Design instruction encoding
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-27 02:14:06 -04:00
Ronald Caesar
438474cfbc
docs: Add variable design
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-27 02:04:43 -04:00
Ronald Caesar
63b7c6c069
doxs: Add missing line in Structured SSA example
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-26 21:54:59 -04:00
Ronald Caesar
51f8d747cc
docs: Initial Structured SSA design
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-26 21:44:45 -04:00
Ronald Caesar
96e0ce0897
docs: Add terminal to basic_block_t
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-26 19:01:55 -04:00
Ronald Caesar
ea13b18928
docs: Add dominator tree to basic_block_t
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-26 17:51:39 -04:00
Ronald Caesar
b8929a7d6d
docs: Add pred/succ for basic_block_t
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-26 17:51:31 -04:00
Ronald Caesar
5f23adb4b5
docs: Add dominance frontier to basic_block_t
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-26 13:28:44 -04:00
Ronald Caesar
743b843986
docs: Add basic_blocks array
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-26 13:18:25 -04:00
Ronald Caesar
144bafcfa7
docs: Add phi_nodes[]
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-26 00:22:41 -04:00
Ronald Caesar
6eb336441f
docs: Add block_indices
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-25 23:46:16 -04:00
Ronald Caesar
690b2a4729
docs: Add phi attributes to basic_block_t
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-25 22:41:04 -04:00
Ronald Caesar
f5264b0eec
docs: Add execution_count to basic_block_t
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-25 22:33:30 -04:00
Ronald Caesar
dc3a8b8fb8
docs: Initial basic block design
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-25 22:10:36 -04:00
Ronald Caesar
530287e29a
docs: Add fixed width types to ssa_version_t
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-25 21:41:42 -04:00
Ronald Caesar
d31e6e6761
docs: Rename phi struct
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-25 21:24:02 -04:00
Ronald Caesar
36769a90e4
docs: Fix incorrect doc for bitfield src3
...
Src3 is 11 bits not 12.
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-25 20:34:10 -04:00
Ronald Caesar
fb7ca4faa7
docs: Rework instruction bitfields
...
- Add bitfield src3
- Removed bitfield cs
- Remove bitfield wid
- Made bitfield opc 10 bits
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-25 20:25:02 -04:00
Ronald Caesar
d4ace021d8
docs: Massive redesign of ssa instructions
...
1. Turns `instruction_t` from a struct into a uint64_t.
2. Remove Global Flags.
3. Add `large_instruction_t` for situations where definition, source1,
and source2 are greater than 14 bits.
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-25 18:47:10 -04:00
Ronald Caesar
780b884d35
docs: Aggressively packed instruction struct
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-25 02:53:06 -04:00
Ronald Caesar
752a708bd8
docs: Add extention bit to instruction flags
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-25 00:05:59 -04:00
Ronald Caesar
b56c6a63c7
docs: Design phi operands
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-24 23:28:49 -04:00
Ronald Caesar
bc26f1c09a
docs: Remove instruction topology
...
Instructions are stored in a contiguous array. So having an intrusive
linked list doesn't really make sense, Basic blocks will be responsible
for indexing into the instructions array.
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-24 22:32:06 -04:00
Ronald Caesar
e9651839a7
docs: Update constants design
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-24 11:36:33 -04:00
Ronald Caesar
807696d7b1
docs: Fix incorrect width bits statement
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-24 11:16:42 -04:00
Ronald Caesar
a2c92266cf
docs: Design instruction flags
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-24 10:56:05 -04:00
Ronald Caesar
b8e38c5ba9
docs: Design constant struct
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-24 07:34:54 -04:00
Ronald Caesar
aba03bc3ac
docs: Remove incorrect tagging system comment
...
The value of an operand is its index in the array ssa_versions[].
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-24 00:49:03 -04:00
Ronald Caesar
01f1bf5252
docs: Add instuction struct size limit
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-24 00:44:37 -04:00
Ronald Caesar
ee8d950c32
docs: Design tagging system for operands
...
Signed-off-by: Ronald Caesar <github43132@proton.me >
2025-12-24 00:36:15 -04:00