Dmitry Stogov
|
30e11861dd
|
Aarch64 back-end (incomplete)
|
2022-06-03 00:38:49 +03:00 |
|
Dmitry Stogov
|
fb998c9058
|
Aarch64 back-end (incomplete)
|
2022-06-02 18:34:47 +03:00 |
|
Dmitry Stogov
|
ab8019e0cd
|
Aarch64 back-end (incomplete)
|
2022-06-02 15:12:56 +03:00 |
|
Dmitry Stogov
|
bb842b489c
|
Aarch64 backend support & unification
|
2022-06-01 18:16:32 +03:00 |
|
Dmitry Stogov
|
91bddc09ed
|
Cleanup & unification
|
2022-06-01 00:34:45 +03:00 |
|
Dmitry Stogov
|
00c300fc9f
|
Start Aarch64 back-end
|
2022-05-31 11:22:31 +03:00 |
|
Dmitry Stogov
|
a45d40277c
|
Replace xmm(dst-IR_REG_XMM0) by xmm(dst-IR_REG_FP_FIRST)
|
2022-05-31 10:44:10 +03:00 |
|
Dmitry Stogov
|
ad8248af31
|
Cleanup
|
2022-05-31 00:23:04 +03:00 |
|
Dmitry Stogov
|
41f3e43cf7
|
cleanup
|
2022-05-27 13:18:04 +03:00 |
|
Dmitry Stogov
|
3e1816a71f
|
Fix register allocation for ABS_INT
|
2022-05-27 00:11:31 +03:00 |
|
Dmitry Stogov
|
77f7d7e2af
|
SWITCH elated fixes
|
2022-05-26 20:58:07 +03:00 |
|
Dmitry Stogov
|
4a39bda507
|
Fix double passing in 32-bit x86
|
2022-05-26 18:26:37 +03:00 |
|
Dmitry Stogov
|
4974c301bc
|
Fix code generation for preserved registers and dessa moves
|
2022-05-26 18:08:39 +03:00 |
|
Dmitry Stogov
|
f5bbdeea27
|
Fix buffer overflow
|
2022-05-26 17:19:43 +03:00 |
|
Dmitry Stogov
|
62d7fa7147
|
Fix string argument passing
|
2022-05-26 16:34:01 +03:00 |
|
Dmitry Stogov
|
0eef46493e
|
Improve code generation
|
2022-05-26 16:01:29 +03:00 |
|
Dmitry Stogov
|
8aac74dfb7
|
Improve code generation
|
2022-05-26 15:52:42 +03:00 |
|
Dmitry Stogov
|
2917dbbd59
|
Fix register clobbering
|
2022-05-26 15:26:04 +03:00 |
|
Dmitry Stogov
|
4862d69609
|
Improve code generation by load fusing
|
2022-05-26 14:43:19 +03:00 |
|
Dmitry Stogov
|
4598bd5b12
|
Better 32/64-bit assertions
|
2022-05-26 13:37:15 +03:00 |
|
Dmitry Stogov
|
e9fe55faa0
|
Fix param spill-slot assignment in 32-bit back-end
|
2022-05-26 13:09:20 +03:00 |
|
Dmitry Stogov
|
e28a3c801e
|
Fix retutn FP numbers for 32-bit x86 back-end
|
2022-05-26 11:58:51 +03:00 |
|
Dmitry Stogov
|
7e782a291a
|
Extend disassembler to support .rodata section and IP relative data labels
|
2022-05-26 01:17:02 +03:00 |
|
Dmitry Stogov
|
ead2b69fc6
|
x86_32 backend (incomplete)
|
2022-05-25 22:00:18 +03:00 |
|
Dmitry Stogov
|
235c1f2d65
|
Fix stack parameter loading for x86_32
|
2022-05-25 15:53:21 +03:00 |
|
Dmitry Stogov
|
341e3b8083
|
Initial support for x86_32 backend (incomplete)
|
2022-05-25 14:58:39 +03:00 |
|
Dmitry Stogov
|
9215162833
|
Ger rid of ir_ctx.bb_num and double neaning of ir_ctx.prev_insn_len
|
2022-05-25 11:58:35 +03:00 |
|
Dmitry Stogov
|
6f7f7b1268
|
Implement code generation for type conversion instructions
Register constraints might need to be tweeked.
|
2022-05-20 13:07:41 +03:00 |
|
Dmitry Stogov
|
911219493d
|
Implement IJMP instruction (indirect jump or computed goto)
|
2022-05-19 18:56:48 +03:00 |
|
Dmitry Stogov
|
bae7df6a5f
|
Implement code generation for MIN and MAX instructions
|
2022-05-19 17:03:00 +03:00 |
|
Dmitry Stogov
|
8ccb7bc13a
|
Implement overflow checks
|
2022-05-19 15:49:47 +03:00 |
|
Dmitry Stogov
|
09cee45fd0
|
Fix compilation warnings
|
2022-05-19 14:40:57 +03:00 |
|
Dmitry Stogov
|
113b76c867
|
Add support for instructions that modify result directly in memory for LOAD/STORE
|
2022-05-19 14:04:29 +03:00 |
|
Dmitry Stogov
|
bf369d0eac
|
Swap operands for better load fusion
|
2022-05-19 13:17:50 +03:00 |
|
Dmitry Stogov
|
c9bb858e50
|
Fuse loads without register allocation when this makes sense.
Make oarameters passed through stack to reuse the same stack slot for spilling.
|
2022-05-19 10:53:08 +03:00 |
|
Dmitry Stogov
|
b77f722cb9
|
cleanup
|
2022-05-19 09:11:51 +03:00 |
|
Dmitry Stogov
|
177e556754
|
Fix spill slot comparison
|
2022-05-18 23:44:59 +03:00 |
|
Dmitry Stogov
|
cdd39f22b0
|
Merge spills for VSTORE with -O0
|
2022-05-18 23:12:20 +03:00 |
|
Dmitry Stogov
|
c5a24ff734
|
Add support for instructions that modify result directly in memory
|
2022-05-18 21:49:08 +03:00 |
|
Dmitry Stogov
|
2507dde1ad
|
Fix stack alignment
|
2022-05-18 14:42:03 +03:00 |
|
Dmitry Stogov
|
438c7801cf
|
Fix param offset calculation
|
2022-05-18 14:36:49 +03:00 |
|
Dmitry Stogov
|
96fc0fb520
|
Allow passing arguments from MEM to MEM
|
2022-05-18 10:07:48 +03:00 |
|
Dmitry Stogov
|
efd9ab9a83
|
cleanup
|
2022-05-18 00:20:02 +03:00 |
|
Dmitry Stogov
|
5319951060
|
Align stack once
|
2022-05-17 23:01:37 +03:00 |
|
Dmitry Stogov
|
e794451451
|
Preallocate call stack
|
2022-05-17 22:37:13 +03:00 |
|
Dmitry Stogov
|
445dd65c78
|
Improve argument passing
|
2022-05-17 17:30:04 +03:00 |
|
Dmitry Stogov
|
4e917faaba
|
Fix stack parameters loading
|
2022-05-17 15:00:58 +03:00 |
|
Dmitry Stogov
|
da5de8a390
|
Introduce IR_PREALLOCATED_STACK flag
|
2022-05-17 13:15:41 +03:00 |
|
Dmitry Stogov
|
1e7059d7e0
|
Pass arguments through stack in reverse order
|
2022-05-17 12:34:31 +03:00 |
|
Dmitry Stogov
|
92ba2fb534
|
Add support for passing arguments throug stack
This may be improved by preallocating stack area and
better register allocation.
|
2022-05-17 11:20:28 +03:00 |
|