Commit Graph

  • 507175b228 Add VA_ARG nodes (JIT code generation is not supported yet) Dmitry Stogov 2023-11-16 00:29:24 +0300
  • e5b4c686df Added support for overflow math Dmitry Stogov 2023-11-15 18:44:05 +0300
  • 0e421792ae Fixed support for both limits in llvm.sadd.sat and llvm.ssub.sat Dmitry Stogov 2023-11-15 16:59:40 +0300
  • a8e514266f Add support for some LLVM intrinsic Dmitry Stogov 2023-11-15 15:17:36 +0300
  • 3f14ac4252 Fixed address constant duplication Dmitry Stogov 2023-11-14 17:58:05 +0300
  • fab41058d4 Properly save UNREACHABLE instruction eith third operand Dmitry Stogov 2023-11-14 17:12:20 +0300
  • a2c6f98e75 Improve LLVM loader support (incomplete) Dmitry Stogov 2023-11-10 18:09:48 +0300
  • 1eaf5531e5 Fixed test Dmitry Stogov 2023-11-08 10:20:55 +0300
  • d2353ddfc1 Fixed typos in register definition Dmitry Stogov 2023-11-08 10:13:57 +0300
  • ec58853788 Validate opcode Dmitry Stogov 2023-11-07 11:33:35 +0300
  • 091907f4a4 Fixed typo Dmitry Stogov 2023-10-25 08:40:26 +0300
  • dfd22749ac Fixed typo in folding rule Dmitry Stogov 2023-10-25 08:28:05 +0300
  • 400fa2805d An attempt to fix tests on Windows Dmitry Stogov 2023-10-24 11:12:37 +0300
  • 6edb011548 Fixed code generation for unordered floating point comparison Dmitry Stogov 2023-10-24 10:22:04 +0300
  • d60d92516d Fixed tests Dmitry Stogov 2023-10-20 17:50:31 +0300
  • 49316643e7 Initial support for modules (incomplete) Dmitry Stogov 2023-10-20 17:44:45 +0300
  • 9b1ce974cb Improve loader interface (incomplete) Dmitry Stogov 2023-10-20 01:09:46 +0300
  • d72ae866e0 Fixed SYM/FUNC mess Dmitry Stogov 2023-10-18 12:19:43 +0300
  • d0686408e2 Initial support for SYM constants (incomplete) Dmitry Stogov 2023-10-18 11:45:57 +0300
  • a94dddd671 Improve cross-compilation (use separate CFLAGS and BUILD_CFLAGS) Dmitry Stogov 2023-10-17 11:46:42 +0300
  • 4f9724a7fb Fix tests Dmitry Stogov 2023-10-13 21:04:38 +0300
  • 66e9693019 Fix tests Dmitry Stogov 2023-10-13 20:57:42 +0300
  • 613fca0327 Implemented code generation for COND (not optimized) Dmitry Stogov 2023-10-13 20:50:23 +0300
  • 2984f34fe7 Fix zext(bool)->i8 Dmitry Stogov 2023-10-13 15:41:54 +0300
  • 9c4cabd19d Fix inerval flags reseting after coalescing Dmitry Stogov 2023-10-13 13:57:48 +0300
  • 62b6ddf149 Fixed code generation for rare address mode Dmitry Stogov 2023-10-13 13:29:59 +0300
  • d641c7949a Support for unordered FP comparison (x86[_64] yet, needs tests) Dmitry Stogov 2023-10-13 12:52:56 +0300
  • e884c6b84c Reset interfal flags that become wrong after coalescing Dmitry Stogov 2023-10-13 12:51:14 +0300
  • 1b978f67ce Fix codegeneration for negative 8 and 16-bit immediate values Dmitry Stogov 2023-10-13 11:15:19 +0300
  • daa31b3200 Properly remove interval from active list Dmitry Stogov 2023-10-13 11:12:15 +0300
  • dd227dfa25 New tests Dmitry Stogov 2023-10-12 15:01:27 +0300
  • 1970a16496 Fixed crash on dead PHI Dmitry Stogov 2023-10-12 14:54:23 +0300
  • 3f728b61b9 Allow forward references for any PHI operans before scheduling Dmitry Stogov 2023-10-12 12:43:51 +0300
  • 78e95131b4 Proper VADDR insertion Dmitry Stogov 2023-10-12 12:37:34 +0300
  • 180e9dd626 Fix scheduling for VADDR Dmitry Stogov 2023-10-12 10:17:51 +0300
  • d51efd33d4 Fix incorrect SSA construction Dmitry Stogov 2023-10-12 10:17:04 +0300
  • 1fbb2ac2ed Skip some intrinsic Dmitry Stogov 2023-10-12 08:18:18 +0300
  • 4fce67fcb7 Restore accedently removed ir_free() Dmitry Stogov 2023-10-11 23:01:15 +0300
  • 211884cf29 Introduce API to load modules Dmitry Stogov 2023-10-11 22:55:25 +0300
  • 8668550427
    Initial support for LLVM loader (incomplete) (#53) Dmitry Stogov 2023-10-11 12:46:31 +0300
  • cad27ab17a
    typo Dmitry Stogov 2023-10-05 21:14:18 +0300
  • 569e971625
    typo Dmitry Stogov 2023-10-05 21:13:22 +0300
  • c9d796555d
    typo Dmitry Stogov 2023-10-05 21:12:53 +0300
  • 0b5254b769
    Update README.md Dmitry Stogov 2023-10-05 21:04:28 +0300
  • d435e7c404
    Fix typo in AVX if condition (#52) Niels Dossche 2023-10-04 07:41:43 +0200
  • 827b8ebd9c Fix typo in the first place Dmitry Stogov 2023-10-03 08:35:35 +0300
  • 2f4f8504d4
    Fix some typos (#51) Javier Eguiluz 2023-10-03 07:34:02 +0200
  • 70ed0a7d96 Support for GUARD Dmitry Stogov 2023-09-29 12:27:34 +0300
  • 9ea551a34f LLVM support for fastcall and vararg Dmitry Stogov 2023-09-29 11:30:53 +0300
  • 85b2ea6e16 clenup Dmitry Stogov 2023-09-29 09:42:31 +0300
  • 56bb320b81 Fixed compilation error Dmitry Stogov 2023-09-28 20:49:03 +0300
  • 51a37f159b Initial implementation of LLVM export Dmitry Stogov 2023-09-28 20:44:45 +0300
  • 09829a9e69 Fixed x86_64 calling convention for vararg functions Dmitry Stogov 2023-09-27 10:23:34 +0300
  • aeae3ff8d4 printf() may print "nan" differently Dmitry Stogov 2023-09-27 00:43:45 +0300
  • 234bdad1f4 Change condition order Dmitry Stogov 2023-09-27 00:43:24 +0300
  • 4fef47b1a5
    Reimplement tester program in C and in IR independent way (#50) Dmitry Stogov 2023-09-27 00:34:03 +0300
  • 9a8cbdf28c
    Test Unix x86 with asan/ubsan in CI (#49) Ilija Tovilo 2023-09-26 08:57:55 +0100
  • e97f195025
    Ignore ir-test binary (#48) Ilija Tovilo 2023-09-25 11:14:20 +0100
  • 399a387713 Avoid MOVD/MOVQ disassemble mismatch with old/new capstone versions Dmitry Stogov 2023-09-19 16:30:09 +0300
  • 971c6e03be Fix incorrect type suffixes Dmitry Stogov 2023-09-19 14:45:27 +0300
  • a2f8452b3d Fixed code generation for MOD Dmitry Stogov 2023-09-18 13:10:19 +0300
  • f8372e663d cleanup Dmitry Stogov 2023-09-18 12:16:24 +0300
  • c549449cd4
    [skip ci] Fix typo in ir_folding comment (#47) Ilija Tovilo 2023-09-18 09:26:26 +0200
  • 8977307f4e Improve error handling Dmitry Stogov 2023-09-14 20:15:30 +0300
  • aeaa6404b7 Typo Dmitry Stogov 2023-09-14 16:54:26 +0300
  • d032f87b4d Reduce number of useless spill loads Dmitry Stogov 2023-09-12 23:32:25 +0300
  • 7650500a7c Remove -nan Dmitry Stogov 2023-09-12 22:15:36 +0300
  • 834eb77e90 Fixed support for float, inf and nan constants. Dmitry Stogov 2023-09-12 22:05:11 +0300
  • 83de21eccd Fixed argument sign/zero extension Dmitry Stogov 2023-09-12 20:47:45 +0300
  • 5953d17f5f Don't miss spill loads when the register valuses are reused Dmitry Stogov 2023-09-12 16:12:12 +0300
  • 915edb8a6c Force spill load for fused and spiled virtual registers Dmitry Stogov 2023-09-04 19:32:27 +0300
  • f44e897bb2 Set IR_TLS.op3 to IR_NULL, if unused Dmitry Stogov 2023-09-04 16:39:21 +0300
  • 02afd0a89f Fixed code generation for IR_MUL/DIV/MOD_INT with result in a spill slot Dmitry Stogov 2023-09-01 12:18:05 +0300
  • 316bc37e8b Support for MACOS TLS Dmitry Stogov 2023-09-01 08:49:05 +0300
  • 6ec7e6f49d Avoid saving unspecified registers in the fixed stack frame Dmitry Stogov 2023-08-31 18:17:26 +0300
  • 4cf60c7c5f Validata SSA dominance property Dmitry Stogov 2023-08-31 11:23:24 +0300
  • 777566f6f8 An attempt to fix FreeBSD build Dmitry Stogov 2023-08-30 17:44:36 +0300
  • 7b534690a4 An attempt to fix FreeBSD build Dmitry Stogov 2023-08-30 17:28:37 +0300
  • 4b504aba36 An attempt to fix FreeBSD build Dmitry Stogov 2023-08-30 16:59:30 +0300
  • 0dbb794399
    CI tests for MACOS build (#46) Dmitry Stogov 2023-08-30 15:24:12 +0300
  • 474a8a8d5a Fixed incorrect constant truncation Dmitry Stogov 2023-08-30 12:03:43 +0300
  • c09877b4ef Fix compilation warnings Dmitry Stogov 2023-08-30 09:31:14 +0300
  • a25f85e5dd Fix support for difference in qsort_r/s() on Windows, MAC and GNU Dmitry Stogov 2023-08-30 02:35:06 +0300
  • 439f202aed Support for difference in qsort_r() on MAC and GNU Dmitry Stogov 2023-08-30 00:52:24 +0300
  • bacd55fbda Fix compilation warning Dmitry Stogov 2023-08-30 00:28:33 +0300
  • dd2ecad299 Allow reuse of spill slots for objecs of smaller size Dmitry Stogov 2023-08-02 13:20:13 +0300
  • 283f1a3a13 Avoid generation of dead PHI Dmitry Stogov 2023-08-01 14:43:57 +0300
  • 9df73782ed Fixed support for fake contol edges between END and ENTRY Dmitry Stogov 2023-08-01 13:07:49 +0300
  • 1d49fe6cc4 Reduce cost of disabled IR_ASSERT() Dmitry Stogov 2023-07-27 11:16:00 +0300
  • c2a53d29fa Rearrange code for better performance Dmitry Stogov 2023-07-26 22:32:14 +0300
  • 0f12ea8c71 Add comments for expanded DynASM macros Dmitry Stogov 2023-07-26 22:05:01 +0300
  • e60bb978f4 Use _xlat[] slots for "used constants" markers Dmitry Stogov 2023-07-07 13:57:01 +0300
  • 4bb03ab7e3 ws Dmitry Stogov 2023-07-07 11:53:11 +0300
  • 5b90420b18 Improved unused constant elimination Dmitry Stogov 2023-07-07 11:15:52 +0300
  • 496a98708e Improved IR linearization Dmitry Stogov 2023-07-07 02:11:03 +0300
  • ef201cd349 Use xlat[] directly (instead of "scheduled" bitset). Dmitry Stogov 2023-07-06 19:34:20 +0300
  • 78c377ed2d Store negarive block number in schedule_early() and postive in schedule_late(). This eliminates a need for "visited" bitset. Dmitry Stogov 2023-07-06 19:30:56 +0300
  • d41abefd58 Move processing of the last node of the block out of the loop Dmitry Stogov 2023-07-06 14:10:50 +0300
  • 59dbef0cfb typo Dmitry Stogov 2023-07-06 12:59:33 +0300
  • f6cf9140da Update ir_insn.inputs_count and use it after ir_build_def_use_lists() Dmitry Stogov 2023-07-06 01:15:08 +0300