5 Actually the using of exceptions is much simpler because there is no `O(n^2)`
6 work required at all, it is just the number of exceptions which are available.
10 I could keep the SSA states simple by having it be input based rather than
11 both input and output based. The input of a target instruction is the output
12 of the source instruction's input. For example, there could be some work that
13 is performed and then a `return` is reached making that work pointless.
17 When it comes to SSA, I am going to after decoding the operations go then
18 determine the state of everything.
22 Sharing the compute machines with SSA computations would complicate and put the
23 SSA related stuff in the computations. Once all the SSA stuff is figured out
24 then nothing needs to be figured out after that. Thus, in these cases the
25 computation code would be checking immutable state and just doing nothing
26 anyway. So the SSA stuff is elsewhere then.
30 For SSA stuff, everything can be a "phi" junction so to speak.
34 When an instruction has multiple jump sources and possibly from
35 instructions which have not been calculated yet, then I can create virtual
36 phi and values for the current instructions. They would be marked as potential
37 phi functions. So the values would be newly assigned and unique, however the
38 compiler could just treat the vlaue as an alias of another. So basically it is
39 a pointless copy operation that is performed. But this is only for jump
40 sources. If it is determined that state is known from the jump sources then
41 only known changed variables need to be calculated.
45 For broadband SSA set, I need a function which sets all the desired types and
46 potential checking in the target type. So basically it goes through all targets
47 and exception handlers for an operation and sets the type and values. If they
48 are already set then they become phis and things are checked to make sure they