Dmitry Stogov
a5054f4c31
Add hints for passing arguments
2022-04-20 19:15:03 +03:00
Dmitry Stogov
ffdb53821d
Refactor constraint model
...
Each instruction consist from 4 sub positions LOAD, USE, DEF, SAVE.
Hardware constraints are modeled conectiong live intervals and fixed
intervals to different sub-positions.
2022-04-20 18:53:15 +03:00
Dmitry Stogov
9d18dd765b
Fix stack frame layout
2022-04-20 14:12:52 +03:00
Dmitry Stogov
9796a7d9a4
Fixed stack frame corruption
2022-04-20 12:27:29 +03:00
Dmitry Stogov
705f0f1e1d
VADDR instruction
2022-04-20 12:00:36 +03:00
Dmitry Stogov
81852e6536
Separate tasks
2022-04-20 10:03:00 +03:00
Dmitry Stogov
90e2104fd8
Missing break
2022-04-20 10:02:46 +03:00
Dmitry Stogov
51daf5556c
Initial support for ALLOCA, LOAD and STORE (incomplete)
2022-04-19 23:42:05 +03:00
Dmitry Stogov
016a7c14d7
Fixed format
2022-04-19 22:41:51 +03:00
Dmitry Stogov
6b60d8fba9
Code generation for VLOAD and VSTORE
2022-04-19 22:35:29 +03:00
Dmitry Stogov
7e9d1d7dba
Improve VLOAD/VSTORE support in C code generator
2022-04-19 17:14:44 +03:00
Dmitry Stogov
e449345514
Fix few CSSP bugs
2022-04-19 16:45:03 +03:00
Dmitry Stogov
a1366ebd92
Use zero-extended load if possible
2022-04-19 14:18:39 +03:00
Dmitry Stogov
207dca73e8
64-bit constants support
2022-04-19 14:11:07 +03:00
Dmitry Stogov
d44dc682f4
Added support for hex numbers
2022-04-19 13:11:12 +03:00
Dmitry Stogov
ac464ffe5e
Support for 64-bit constants in switch
2022-04-19 11:55:12 +03:00
Dmitry Stogov
155c9572c8
Add ability to run "ir_test" with different optimization levels
...
Fix JIT for "cmp mem, imm"
2022-04-19 11:03:01 +03:00
Dmitry Stogov
e327fe2737
Cleanup dessa code
2022-04-19 01:55:11 +03:00
Dmitry Stogov
efe9a96bd2
Cleanup dessa code
2022-04-19 01:28:55 +03:00
Dmitry Stogov
6444a1141a
Support for 64-bit constants
2022-04-19 01:02:07 +03:00
Dmitry Stogov
0768bfa60c
Initial support for 64-bit constants
2022-04-18 23:26:46 +03:00
Dmitry Stogov
ff887eaf49
comment
2022-04-15 16:44:12 +03:00
Dmitry Stogov
af2919ee5c
Suppot for TAILCALL
2022-04-15 16:39:07 +03:00
Dmitry Stogov
879c4e75f5
Update vreg hints when compacting
2022-04-15 16:14:42 +03:00
Dmitry Stogov
0922b7cd7f
Add vreg hints
2022-04-15 16:02:23 +03:00
Dmitry Stogov
f04433999f
Reload loading to avoid register clobbering
2022-04-15 15:22:17 +03:00
Dmitry Stogov
9f24f34aca
Cleanup
2022-04-15 14:46:03 +03:00
Dmitry Stogov
3cb707522f
Allocate scratch (caller-saved) registers first
2022-04-15 14:22:35 +03:00
Dmitry Stogov
2c2f2dabab
Better use placement
2022-04-15 00:35:02 +03:00
Dmitry Stogov
6b0c4435c2
Separate tasks
2022-04-14 23:03:30 +03:00
Dmitry Stogov
3a05363a9d
typo
2022-04-14 22:59:00 +03:00
Dmitry Stogov
3f6a6aa3ea
Better CPU constraint model and initial support for live interval splitting (incomplete)
2022-04-14 22:40:13 +03:00
Dmitry Stogov
d8e7a8579f
Use LEA for 32-bit integers
2022-04-14 18:11:43 +03:00
Dmitry Stogov
c5a39865b0
Use correct function
2022-04-13 21:21:12 +03:00
Dmitry Stogov
58a993ab32
Fix ir_array_insert, ir_array_remove, ir_list_insert, ir_list_remove
2022-04-13 18:03:25 +03:00
Dmitry Stogov
1f7a5bcdc7
Switch temporay FP register to %xmm7
2022-04-12 21:57:59 +03:00
Dmitry Stogov
787a443154
Separate common code
2022-04-12 21:53:10 +03:00
Dmitry Stogov
58c80c48e0
Create fixed interval for a temporary register used for DESSA moves
2022-04-12 16:09:53 +03:00
Dmitry Stogov
8770d21673
Use parallel copy for arguments passing
2022-04-12 15:08:17 +03:00
Dmitry Stogov
63e1c0fc87
Update TODO
2022-04-12 10:37:20 +03:00
Dmitry Stogov
15b0f10a87
ws
2022-04-11 22:39:52 +03:00
Dmitry Stogov
bf8d1e284c
Code generation for IR_SWITCH
2022-04-11 17:47:48 +03:00
Dmitry Stogov
9ccefcf973
Support for more instruction in C backend and BOOL_NOT in x86_86
2022-04-08 19:02:11 +03:00
Dmitry Stogov
f1cc9a4ddb
Added tests for unary integer instructions
2022-04-08 16:40:28 +03:00
Dmitry Stogov
fa7a34c629
Support for unordered floating point comparison
2022-04-08 15:29:05 +03:00
Dmitry Stogov
552aeec7d5
x86_64: Optimize integer comparison with zero
2022-04-08 10:49:22 +03:00
Dmitry Stogov
1210b5814e
Cleanup old code
2022-04-08 10:15:10 +03:00
Dmitry Stogov
0f92e7dc67
Added more x86_64 tests for integer comparison
2022-04-08 10:05:42 +03:00
Dmitry Stogov
67b23a95b5
Added x86_64 tests for integer comparison
2022-04-08 00:59:45 +03:00
Dmitry Stogov
14f4fdf29d
Added few more basic x86_64 tests
2022-04-08 00:29:49 +03:00