Commit Graph

  • e77aae527e Fixup examples by making ir_init initialize the ret_type as well fixup_examples Daniil Gentili 2024-01-01 19:15:49 +0100
  • 730763fb25 Fix duplicate LLVM function declarations Dmitry Stogov 2023-12-29 15:24:42 +0300
  • bf856b5e7d Escpae/unescape strings in proper places Dmitry Stogov 2023-12-29 14:37:28 +0300
  • 35bfa1f596 Fix Windows Makefile Dmitry Stogov 2023-12-29 12:38:23 +0300
  • 5053577e08 Cleanup examples and README Dmitry Stogov 2023-12-29 12:33:06 +0300
  • e80fc065f3 Add mandelbrot benchmarks Dmitry Stogov 2023-12-29 11:05:21 +0300
  • 831f3810e0 zero/sign extend 8/16-bit integers to 32-bit before converting to float/double Dmitry Stogov 2023-12-28 20:11:02 +0300
  • 3f763d9fda Use zero/sign extension when compare 8/16-bit operands Dmitry Stogov 2023-12-28 18:44:32 +0300
  • 9f95498d62 Better error messages Dmitry Stogov 2023-12-28 18:44:06 +0300
  • d1af167387
    FreeBSD build fix (#59) David CARLIER 2023-12-28 13:53:21 +0000
  • 7630658ed0
    multi platform build fixes, mostly solaris systems. (#58) David CARLIER 2023-12-28 10:06:35 +0000
  • d9747d500b Fixed code generation for LOAD floating-point deom constant address Dmitry Stogov 2023-12-27 12:51:56 +0300
  • ac695a9acf Imptove support for symbolic constants Dmitry Stogov 2023-12-27 10:18:56 +0300
  • 76dea0e897 Rearrange code for better performance (reapply c2a53d29fa) Dmitry Stogov 2023-12-26 18:13:08 +0300
  • 8fc3cd54ab Allow allocation of different CPU registers for the same FUSED instuction used in different "roots". Dmitry Stogov 2023-12-26 17:59:38 +0300
  • ee6d4bd147 Fix runtime error: signed integer overflow: 2147483647 + 128 cannot be represented in type 'int' Dmitry Stogov 2023-12-26 17:34:30 +0300
  • 6ed346ae01 Fix undefined behavior Dmitry Stogov 2023-12-26 17:27:52 +0300
  • c4920934e7 Merge last changes from LuaJIT repo Dmitry Stogov 2023-12-26 17:13:55 +0300
  • 12e96438f5 Revert "Rearrange code for better performance" Dmitry Stogov 2023-12-26 17:00:16 +0300
  • 10dc034ff4 Add os.clock() function Dmitry Stogov 2023-12-26 16:06:41 +0300
  • 1b4f83ef7e Fixed assertion Dmitry Stogov 2023-12-26 16:05:51 +0300
  • cb65498211 Fix Windows build (GDBJIT interface is not available) Dmitry Stogov 2023-12-26 15:30:42 +0300
  • 7f4ba5dad4 Fixed access to initialized varaible Dmitry Stogov 2023-12-26 15:25:45 +0300
  • 8088643c15 Replace invalid characters in intrrnal symbol and function names with "_" Dmitry Stogov 2023-12-26 15:24:12 +0300
  • 03fef453b6 Register data symbols as well Dmitry Stogov 2023-12-26 15:22:59 +0300
  • 0dddad676d Fixed code generation for INC/DEC Dmitry Stogov 2023-12-26 13:45:04 +0300
  • 448d883642 Proper conversion of LLVM sext i1->iN into IR Dmitry Stogov 2023-12-26 13:44:02 +0300
  • 71ab68fa39 Fixed incorrect SCCP for SWITCH Dmitry Stogov 2023-12-25 22:53:06 +0300
  • 07b41c8d37 Process external and forward functions declarations first (to reduce number of relocations) Dmitry Stogov 2023-12-22 16:56:06 +0300
  • 49bb7eaf64 Automatically extend partial LLVM integer types to the nearest supported IR integer type (e.g. LLVM i24 to IR I32) Dmitry Stogov 2023-12-22 16:35:13 +0300
  • cf475c92d1 Fixed loaing LLVM zero initialized constants Dmitry Stogov 2023-12-21 16:42:20 +0300
  • da85f6b768 Add error messages Dmitry Stogov 2023-12-21 16:03:00 +0300
  • a75bb8fabe VREG 0 is special (it's never coalesced) Dmitry Stogov 2023-12-21 16:01:40 +0300
  • 415f673be5 Fixed incorrect use_list update Dmitry Stogov 2023-12-21 13:15:07 +0300
  • ac4ea33c24 Link with undefined functions through "thunks" Dmitry Stogov 2023-12-20 21:06:53 +0300
  • c0fbdd2204 Allow resolution of DATA->DATA references represented as SYM+OFFSET Dmitry Stogov 2023-12-20 18:37:27 +0300
  • 3f9d8112f0 Allow delayed resolution of DATA->DATA and DATA->CODE symbolic references Dmitry Stogov 2023-12-20 15:50:09 +0300
  • f385b006ea Store constant data in the code_buffer segment Dmitry Stogov 2023-12-20 12:56:26 +0300
  • efe122c320 Fixed incorrect padding when convert LLVM to IR without --run Dmitry Stogov 2023-12-20 12:27:13 +0300
  • 3dd4146097
    Allow using "thunks" to call "far" functions (#57) Dmitry Stogov 2023-12-19 22:22:49 +0300
  • 6a4a905347 Fxed possible end-less loop in SCCP Dmitry Stogov 2023-12-19 19:02:58 +0300
  • 1b50e33690 Fixed I64 to FLOAT/DOUBLE conversion Dmitry Stogov 2023-12-18 10:17:32 +0300
  • 9f6b853540 Fixed symbolic constants support in DESSA moves Dmitry Stogov 2023-12-15 17:26:48 +0300
  • 62c64d4924 Fixed code generation for INT2FP Dmitry Stogov 2023-12-15 15:44:48 +0300
  • 57d85e51b3 LLVM llvm.bitreverse.i1() => COPY Dmitry Stogov 2023-12-15 14:23:49 +0300
  • 624dd3b828 Don't optimize signed division by power of two Dmitry Stogov 2023-12-15 14:09:26 +0300
  • bb739cca9b Don't optimize signed division by power of two Dmitry Stogov 2023-12-15 14:01:46 +0300
  • 571f1d99cb Fixed code generation for byte division Dmitry Stogov 2023-12-15 11:48:30 +0300
  • 752379975b Fixed code generation for MAX Dmitry Stogov 2023-12-14 23:35:36 +0300
  • 53d994f71b Dixed allignment of array elements Dmitry Stogov 2023-12-14 18:44:50 +0300
  • 9d3854d787 Fixed incorrect folding of sybolic constants Dmitry Stogov 2023-12-14 18:44:22 +0300
  • b9647172c2 Fix assertions Dmitry Stogov 2023-12-14 17:12:49 +0300
  • b5c827ce25 Don't mark empty-loop block as empty in the first place Dmitry Stogov 2023-12-14 17:06:40 +0300
  • 4569d58072 Prevent endless loop Dmitry Stogov 2023-12-14 16:48:03 +0300
  • 16b8e1cf4b Fixed code generation for imul Dmitry Stogov 2023-12-14 14:19:27 +0300
  • 1fa3f2b6ae Fixed LLVM "ptrtoint" and "inttoptr" conversion Dmitry Stogov 2023-12-14 13:15:16 +0300
  • f78fa1a042 Fixed incorrect symbolic constant fusion Dmitry Stogov 2023-12-14 12:41:24 +0300
  • d04540e4dc Fixed incorrect LLVM "getelementptr" conversion Dmitry Stogov 2023-12-14 12:40:19 +0300
  • bc0db1432e Fixed crash in case --emit-c is used together with -O0 Dmitry Stogov 2023-12-14 12:39:12 +0300
  • 5b2619243a Fixed several LLVM loader bugs Dmitry Stogov 2023-12-14 01:30:48 +0300
  • 27f5e34d90 Support for constants with references to other data structures Dmitry Stogov 2023-12-13 21:03:39 +0300
  • 9cebd36a2c Fix Windows compatibility Dmitry Stogov 2023-12-13 17:37:13 +0300
  • 05db256d87 Dot't print exit code after "--run" (delegate this to tester) Dmitry Stogov 2023-12-13 15:59:54 +0300
  • fb10fa2861 Fixed support for "symbolic" data references Dmitry Stogov 2023-12-13 13:37:17 +0300
  • 755be821ca Pass the arguments following the "--run" option to JIT-ed main(). Dmitry Stogov 2023-12-13 12:07:04 +0300
  • 8065a69830 Use qsort() instead of not portables qsort_r() or qsort_s() Dmitry Stogov 2023-12-12 02:01:37 +0300
  • eeed93083e Restore ability to reach "local" exit table base address Dmitry Stogov 2023-12-11 15:06:52 +0300
  • dab739f3d2 Fix Windows tests Dmitry Stogov 2023-12-08 17:46:12 +0300
  • 1e8ff8078a Cleanup symbolic constants usage Dmitry Stogov 2023-12-08 17:35:41 +0300
  • f7377e806d Fix Windows build Dmitry Stogov 2023-12-08 02:03:02 +0300
  • b7e7de5821 Simplify JIT code buffer management Dmitry Stogov 2023-12-08 01:58:45 +0300
  • 8b2a536d74 Fixed incorrect ".debug_abbrev" section termination Dmitry Stogov 2023-12-07 00:32:41 +0300
  • 6898d26e80 Allow code generation for functions with unesolved symbols Dmitry Stogov 2023-12-06 16:30:44 +0300
  • 2c67a3ac86 Fixed support for forward declarations Dmitry Stogov 2023-12-06 14:36:11 +0300
  • 0981d76cc7 iImproved LLVM export (builtin function support) Dmitry Stogov 2023-12-06 12:47:03 +0300
  • 9a7318e621 Eliminate useless BITCAST Dmitry Stogov 2023-12-06 10:40:28 +0300
  • 6a7a87529c Improve LLVM export (avoid duplicate function declarations) Dmitry Stogov 2023-12-05 23:09:39 +0300
  • 384e1aa926 AArch64: Fix incorrect value of "ctx->code_size" Pengfei Li 2023-12-05 17:22:11 +0300
  • 86c87d1d1a LLVM allows "void" type only for function results Dmitry Stogov 2023-12-05 11:06:47 +0300
  • 81fab9a2cb Fixed TAILCALL to CALL conversion Dmitry Stogov 2023-12-04 11:32:26 +0300
  • ed4fd9e5ef Added support for cache demotion Dmitry Stogov 2023-12-01 11:51:09 +0300
  • c5bf8003c0 On MacOS/AArch64 varargs must be passed on stack Dmitry Stogov 2023-11-30 23:50:53 +0300
  • a746ceb650 AArch64: Make x18 register allocatable on Linux Dmitry Stogov 2023-11-30 21:27:30 +0300
  • dd77b6b71a Fixed Windows build Dmitry Stogov 2023-11-30 21:17:41 +0300
  • 76e6418cae Support for function prototypes Dmitry Stogov 2023-11-30 21:10:41 +0300
  • 81047af575 Cleanup code-generation for VA_ARG Dmitry Stogov 2023-11-23 22:52:08 +0300
  • 8c501e1989 Fixed VA_ARG support for WIN64 Dmitry Stogov 2023-11-23 20:55:10 +0300
  • 5bacc13b2c Add VA_ARG tests Dmitry Stogov 2023-11-23 19:45:52 +0300
  • 25bd3024da Codegeneration for VA_ARG nodes (Windows and MacOS are not supported yet) Dmitry Stogov 2023-11-23 19:38:33 +0300
  • 1671b3de78 Use common JIT code buffer on AArch64. It's also used for veneers. Dmitry Stogov 2023-11-23 00:18:59 +0300
  • 46f041141a
    Update reference to PHP master branch Dmitry Stogov 2023-11-22 13:39:32 +0300
  • 18a3192604 JIT/AArch64: Add code-generation for IR_TRAP Dmitry Stogov 2023-11-22 11:43:33 +0300
  • 1d6cf229ef Fix typo Dmitry Stogov 2023-11-22 11:36:30 +0300
  • 68068c4f58 Split ir_ctx->flags into public and private (ir_ctx->flags2) Dmitry Stogov 2023-11-17 14:24:33 +0300
  • 688f876928 mplemented code-generation for bit counting instructions Dmitry Stogov 2023-11-16 22:48:05 +0300
  • 92ef948caf Implemented code-generation for CTPOP Dmitry Stogov 2023-11-16 19:28:12 +0300
  • d5596d815e Stop reporting zero exit code when run JIT-ed code Dmitry Stogov 2023-11-16 13:57:37 +0300
  • 5e9d41f6b4 AArch64: Remove redundant memory unmap #12688 Dmitry Stogov 2023-11-16 11:50:57 +0300
  • ea2de69592 Add bit counting nodes (JIT code generation is not supported yet) Dmitry Stogov 2023-11-16 03:05:10 +0300
  • 90b6f34db2 Add FRAME_ADDR node Dmitry Stogov 2023-11-16 01:59:26 +0300