Dmitry Stogov
58ba18bb7d
Fix ir_test and set proper initial SP offset info for GDB backtraces
2023-01-31 11:51:55 +03:00
Dmitry Stogov
6a4e239773
Create a sparate pass to remove unreachableble CFG blocks.
...
SCCP pass removes unreachable blocks before CFG construction.
In case of -O0 or -O1 pipeline (without SCCP) it's simpler and faster
to unlink unreachable CFG blocks once, then check for reachability
in almost any compilation pass.
-O2 pipeline (with SCCP) don't need this pass.
2022-11-29 20:02:07 +03:00
Dmitry Stogov
cc56f12f13
Add LICENSE and copyright notices
2022-11-08 11:32:46 +03:00
Dmitry Stogov
d2a0347b21
Merge basic blocks by removing connected END to BEGIN nodes
2022-10-05 16:29:49 +03:00
Dmitry Stogov
70f6faa612
Add basic IR verification
2022-08-24 13:57:55 +03:00
Dmitry Stogov
d7ddbf89fb
Fix usage help
2022-08-10 09:31:19 +03:00
Dmitry Stogov
2148f05392
Initial support for fascall calling convention (incomplete)
2022-06-22 23:59:56 +03:00
Dmitry Stogov
082bcf89c9
Use ir_ctx.fixed_regset to limit available registers
2022-06-21 16:13:14 +03:00
Dmitry Stogov
411dd20331
Support for code fragments with multiple entries
2022-06-16 23:49:27 +03:00
Dmitry Stogov
af4558e439
Allow emitting native code into preallocated buffer
2022-06-10 11:30:19 +03:00
Dmitry Stogov
5cafe50d36
Initial support for PHP
2022-06-10 00:16:29 +03:00
Dmitry Stogov
91bddc09ed
Cleanup & unification
2022-06-01 00:34:45 +03:00
Dmitry Stogov
41f3e43cf7
cleanup
2022-05-27 13:18:04 +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
19e93fd3f6
Allow multi-target test suite
2022-05-25 17:38:22 +03:00
Dmitry Stogov
463002107a
Rename "gcm_blocks" into "cfg_map"
2022-05-25 09:33:47 +03:00
Dmitry Stogov
58b67fec18
Topological sort of nodes in each basic block
2022-05-24 18:04:38 +03:00
Dmitry Stogov
d3c1e4a02f
Reorder basic blocks to reduce number of jumps and improve code locality
2022-05-24 00:43:35 +03:00
Dmitry Stogov
e794451451
Preallocate call stack
2022-05-17 22:37:13 +03:00
Dmitry Stogov
4eaca331b9
Allow using debug_regset in RELEASE build
2022-05-13 09:22:31 +03:00
Dmitry Stogov
2b9e793b4e
Add debug options
2022-04-27 14:47:52 +03:00
Dmitry Stogov
6b60d8fba9
Code generation for VLOAD and VSTORE
2022-04-19 22:35:29 +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
02863d7dc9
Initial JIT support for IR_CALL
2022-04-07 18:08:06 +03:00
Dmitry Stogov
2937993190
Initial import
2022-04-06 00:19:23 +03:00