35d3098917
Optimizer - So, UD chains are broken
...
Disabled broken code and added some notes, which are probably broken as
well but fuck it.
2017-12-10 09:59:55 +01:00
fac8de1fde
Optimizer - Mostly OK use/define chain construction
...
In which "mostly" means that it will work, unless:
1/ something is used before being defined (will trigger assertion)
2/ a local variable is re-used before being redefined, which will
be detected as using the def from the previous execution (won't be a
problem for now as it'll crash first, due to (1))
2017-12-08 22:00:43 +01:00
f58226aa79
Optimizer - Fixed control flow graph building
2017-12-08 21:57:41 +01:00
61cd7719f1
Optimizer - WIP UD chain construction
2017-12-08 07:38:59 +01:00
be007f8f96
Optimizer - Some progress on building UD chains
...
From the table of variables we build a table of per-instruction
uses/defines.
2017-12-06 07:42:41 +01:00
5ecc95766a
Optimizer - Some refactoring
2017-12-06 07:05:26 +01:00
9151ceb2c9
Optimizer - Fixed syntax that confused older G++
2017-12-05 06:52:03 +01:00
3d500d4976
Optimizer - UD chains: all uses and defs are added to the list
2017-12-04 07:41:09 +01:00
ffdd3d0a63
Optimizer - Resource uses in UD chain
2017-12-04 07:19:43 +01:00
fa7fba0f98
Optimizer - Var use finder refactored
2017-12-04 07:03:54 +01:00
f1ec2cf18c
Optimizer - Gather variable/resource uses
...
First step to build the UD chains.
2017-12-03 23:15:44 +01:00
b6f9d06be0
Optimizer - Control flow graph construction
2017-12-03 18:35:56 +01:00
c7e4ccf67e
Builder tool - Various, pre-constant propagation
...
+ Prepared flags for constant propagation
+ UI instructions removal in compiler
+ Various changes to test "demo"
2017-12-03 14:59:39 +01:00
c4ce6e90d7
Builder tool - Logging
...
Added logging using F_OPLogger wherever there were traces.
2017-12-03 13:05:54 +01:00
3986bd5386
Builder tool - Logging
2017-12-02 12:18:31 +01:00
ffcf2917d5
Optimizer - Replace curve-less inputs with single default
2017-12-02 10:40:47 +01:00
f1b51f564d
Optimizer - Errors when folding bad operations
...
Errors will be added to an array if the optimizer finds invalid
operations involving constants (e.g. (inv 0))
2017-12-02 10:07:14 +01:00
3de17b918d
Optimizer - Replace constant inputs with constants
2017-12-01 23:08:05 +01:00
8f21177058
Optimizer - Partial constant folding
...
Handles:
* size vars in fixed size mode,
* unary operators with constant argument,
* binary operators with constant arguments.
Doesn't handle as of yet:
* constant inputs,
* folding chained, compatible binary operators, e.g. (X-2)+(3-Y)
2017-12-01 22:10:36 +01:00
0175bed077
Optimizer - Began working on constant folding
2017-12-01 07:30:03 +01:00