Dmitry Stogov
|
31220b1de9
|
Add code generators for missing GUARDs
|
2022-09-26 20:47:29 +03:00 |
|
Dmitry Stogov
|
da11454058
|
Fix incorrect code for IJMP
|
2022-09-26 14:45:12 +03:00 |
|
Dmitry Stogov
|
2b4a7d2cb3
|
Fix out of bounds array access
|
2022-09-23 12:36:11 +03:00 |
|
Dmitry Stogov
|
8f5768628a
|
Initial support for tracing JIT
|
2022-09-23 12:22:59 +03:00 |
|
Dmitry Stogov
|
05fd1f971d
|
Better LOAD fusion
|
2022-09-21 23:54:45 +03:00 |
|
Dmitry Stogov
|
12c183f391
|
Added support for GUARD_OVERFLOW
|
2022-09-20 17:38:27 +03:00 |
|
Dmitry Stogov
|
c186fb2c25
|
Fix constant address loading
|
2022-09-20 14:37:10 +03:00 |
|
Dmitry Stogov
|
45fff1fe5f
|
Implement binding IR node to VAR (assign spill slot)
|
2022-09-20 11:03:25 +03:00 |
|
Dmitry Stogov
|
ba748d5bd4
|
Simplify loop exit condition
|
2022-09-20 10:42:38 +03:00 |
|
Dmitry Stogov
|
23caf1e0d1
|
Fix incorrect starting operand number
|
2022-09-20 10:38:59 +03:00 |
|
Dmitry Stogov
|
63f21925b3
|
Avoid useless move
|
2022-09-20 00:26:56 +03:00 |
|
Dmitry Stogov
|
eacb9c1528
|
Avoid useless mov
|
2022-09-20 00:12:06 +03:00 |
|
Dmitry Stogov
|
5fdb89aee1
|
MOD may be converted to AND only for positive op1
|
2022-09-19 23:22:11 +03:00 |
|
Dmitry Stogov
|
5123080533
|
Fixed register allocation for MUL_OV
|
2022-09-19 22:10:29 +03:00 |
|
Dmitry Stogov
|
dc0393320e
|
Fix floating point comparison
|
2022-09-19 21:55:08 +03:00 |
|
Dmitry Stogov
|
76ad4e59a6
|
Fix live range
|
2022-09-16 12:47:03 +03:00 |
|
Dmitry Stogov
|
0eee478277
|
Support for always TRUE/FALSE guards
|
2022-09-16 12:29:55 +03:00 |
|
Dmitry Stogov
|
b519f80da5
|
More accurte fusion of address calculation
|
2022-09-16 12:05:36 +03:00 |
|
Dmitry Stogov
|
86bec14bc2
|
Fixed fuse loading in BITCAST
|
2022-09-16 10:19:31 +03:00 |
|
Dmitry Stogov
|
4a8ebd5be5
|
Fuse function address load into CALL/TAILCALL without arguments
|
2022-09-16 09:54:49 +03:00 |
|
Dmitry Stogov
|
57a9731179
|
Fix spill load code
|
2022-09-15 23:24:28 +03:00 |
|
Dmitry Stogov
|
9aac7e76af
|
Requre opearnad to be in register
|
2022-09-15 22:18:35 +03:00 |
|
Dmitry Stogov
|
a0c9405ae7
|
Fixed memory leak
|
2022-09-15 20:32:20 +03:00 |
|
Dmitry Stogov
|
b549d98aba
|
The second operand for MEM_BINOP_INT must be in a register
|
2022-09-15 20:29:30 +03:00 |
|
Dmitry Stogov
|
8a05b4ddeb
|
Make ADDR to be compatible with U64 or U32
|
2022-09-15 18:01:32 +03:00 |
|
Dmitry Stogov
|
e6f6e92d66
|
Improve spill code fusion
|
2022-09-15 17:52:28 +03:00 |
|
Dmitry Stogov
|
367e47ac30
|
Support for preallocated stack (ZEND_VM_HYBRID_JIT_RED_ZONE_SIZE in PHP VM)
|
2022-09-15 15:39:15 +03:00 |
|
Dmitry Stogov
|
ad59556d85
|
Add support for binding IR nodes to "external" spill slots (e.g. PHP VM stack slots)
|
2022-09-15 15:26:43 +03:00 |
|
Dmitry Stogov
|
dce017f0ed
|
Replace calloc() by malloc()
|
2022-09-15 11:57:01 +03:00 |
|
Dmitry Stogov
|
b344d2ee0f
|
Remove useless memset()
|
2022-09-15 11:24:50 +03:00 |
|
Dmitry Stogov
|
305a581ae6
|
Add "Do not edit!" comments
|
2022-09-15 09:07:41 +03:00 |
|
Dmitry Stogov
|
d4cd0d6eba
|
Better interval splitting
|
2022-09-15 01:50:25 +03:00 |
|
Dmitry Stogov
|
ccb756321a
|
Fix incorrect unreachable code detection
|
2022-09-15 00:04:26 +03:00 |
|
Dmitry Stogov
|
ee05e68052
|
Fix mistakes in constant conversion folding rules
|
2022-09-15 00:01:20 +03:00 |
|
Dmitry Stogov
|
96234f5257
|
Take into account ENTRY nodes, but prefer paths from START
|
2022-09-14 23:59:54 +03:00 |
|
Dmitry Stogov
|
a80fac2cab
|
Add assertion if there are no common antecessor
(this is possible for code with multiple EMTRY-es)
|
2022-09-14 17:30:11 +03:00 |
|
Dmitry Stogov
|
5f4b42155f
|
ctx->rules[] is valid only for non CONST IR reference
|
2022-09-14 15:54:24 +03:00 |
|
Dmitry Stogov
|
c249ccd7ff
|
Fixed possible invalid write into "prev_insn" after buffer reallocation in ir_next_const()
|
2022-09-14 15:37:45 +03:00 |
|
Dmitry Stogov
|
11db21a98c
|
Allow SCCP to grow use_lists (through reallocation)
|
2022-09-14 15:14:18 +03:00 |
|
Dmitry Stogov
|
cdc34ae22b
|
Prohibit swapping of operands when the first operand is constant
|
2022-09-14 14:28:57 +03:00 |
|
Dmitry Stogov
|
14ffff68dc
|
Fix SCCP problems
|
2022-09-14 14:27:52 +03:00 |
|
Dmitry Stogov
|
75ce65ce65
|
Fix verifier
|
2022-09-13 21:53:27 +03:00 |
|
Dmitry Stogov
|
5e1e064338
|
Remove PHP related exceptional case
|
2022-09-13 14:01:37 +03:00 |
|
Dmitry Stogov
|
5aad53388d
|
Fix IR checker
|
2022-09-13 12:44:59 +03:00 |
|
Dmitry Stogov
|
bab62d42c9
|
Fix assertion
|
2022-09-13 12:44:08 +03:00 |
|
Dmitry Stogov
|
e833a1647b
|
Move code to remove TERMINATOR node from the terminator list
|
2022-09-13 12:42:41 +03:00 |
|
Dmitry Stogov
|
f41a256af4
|
Verify forward edges between control nodes
|
2022-09-12 23:29:25 +03:00 |
|
Dmitry Stogov
|
a998590dfb
|
Fix SCCP support for IF with integer and floating point condition
|
2022-09-12 14:53:33 +03:00 |
|
Dmitry Stogov
|
dee45adc8c
|
Fix incorrect bindings and ws
|
2022-09-08 10:50:07 +03:00 |
|
Dmitry Stogov
|
05bc456c6a
|
Move base regester selection code into ir_ref_spill_slot()
|
2022-09-07 23:47:30 +03:00 |
|