Commit Graph

1058 Commits

Author SHA1 Message Date
e77aae527e Fixup examples by making ir_init initialize the ret_type as well 2024-01-01 19:15:49 +01:00
Dmitry Stogov
730763fb25 Fix duplicate LLVM function declarations 2023-12-29 15:24:42 +03:00
Dmitry Stogov
bf856b5e7d Escpae/unescape strings in proper places 2023-12-29 14:37:28 +03:00
Dmitry Stogov
35bfa1f596 Fix Windows Makefile 2023-12-29 12:38:23 +03:00
Dmitry Stogov
5053577e08 Cleanup examples and README 2023-12-29 12:33:06 +03:00
Dmitry Stogov
e80fc065f3 Add mandelbrot benchmarks 2023-12-29 11:05:21 +03:00
Dmitry Stogov
831f3810e0 zero/sign extend 8/16-bit integers to 32-bit before converting to float/double 2023-12-28 20:11:02 +03:00
Dmitry Stogov
3f763d9fda Use zero/sign extension when compare 8/16-bit operands 2023-12-28 18:44:32 +03:00
Dmitry Stogov
9f95498d62 Better error messages 2023-12-28 18:44:06 +03:00
David CARLIER
d1af167387
FreeBSD build fix (#59) 2023-12-28 16:53:21 +03:00
David CARLIER
7630658ed0
multi platform build fixes, mostly solaris systems. (#58) 2023-12-28 13:06:35 +03:00
Dmitry Stogov
d9747d500b Fixed code generation for LOAD floating-point deom constant address 2023-12-27 12:51:56 +03:00
Dmitry Stogov
ac695a9acf Imptove support for symbolic constants 2023-12-27 10:18:56 +03:00
Dmitry Stogov
76dea0e897 Rearrange code for better performance (reapply c2a53d29fa) 2023-12-26 18:13:08 +03:00
Dmitry Stogov
8fc3cd54ab Allow allocation of different CPU registers for the same FUSED instuction used in different "roots". 2023-12-26 17:59:38 +03:00
Dmitry Stogov
ee6d4bd147 Fix runtime error: signed integer overflow: 2147483647 + 128 cannot be represented in type 'int' 2023-12-26 17:34:30 +03:00
Dmitry Stogov
6ed346ae01 Fix undefined behavior 2023-12-26 17:27:52 +03:00
Dmitry Stogov
c4920934e7 Merge last changes from LuaJIT repo
LuaJIT commit: c525bcb9024510cad9e170e12b6209aedb330f83
2023-12-26 17:13:55 +03:00
Dmitry Stogov
12e96438f5 Revert "Rearrange code for better performance"
This reverts commit c2a53d29fa.
2023-12-26 17:00:16 +03:00
Dmitry Stogov
10dc034ff4 Add os.clock() function 2023-12-26 16:06:41 +03:00
Dmitry Stogov
1b4f83ef7e Fixed assertion 2023-12-26 16:05:51 +03:00
Dmitry Stogov
cb65498211 Fix Windows build (GDBJIT interface is not available) 2023-12-26 15:30:42 +03:00
Dmitry Stogov
7f4ba5dad4 Fixed access to initialized varaible 2023-12-26 15:25:45 +03:00
Dmitry Stogov
8088643c15 Replace invalid characters in intrrnal symbol and function names with "_" 2023-12-26 15:24:12 +03:00
Dmitry Stogov
03fef453b6 Register data symbols as well 2023-12-26 15:22:59 +03:00
Dmitry Stogov
0dddad676d Fixed code generation for INC/DEC 2023-12-26 13:45:04 +03:00
Dmitry Stogov
448d883642 Proper conversion of LLVM sext i1->iN into IR 2023-12-26 13:44:02 +03:00
Dmitry Stogov
71ab68fa39 Fixed incorrect SCCP for SWITCH 2023-12-25 22:53:06 +03:00
Dmitry Stogov
07b41c8d37 Process external and forward functions declarations first (to reduce number of relocations) 2023-12-22 16:56:06 +03:00
Dmitry Stogov
49bb7eaf64 Automatically extend partial LLVM integer types to the nearest supported IR integer type (e.g. LLVM i24 to IR I32) 2023-12-22 16:35:13 +03:00
Dmitry Stogov
cf475c92d1 Fixed loaing LLVM zero initialized constants 2023-12-21 16:42:20 +03:00
Dmitry Stogov
da85f6b768 Add error messages 2023-12-21 16:03:00 +03:00
Dmitry Stogov
a75bb8fabe VREG 0 is special (it's never coalesced) 2023-12-21 16:01:40 +03:00
Dmitry Stogov
415f673be5 Fixed incorrect use_list update 2023-12-21 13:15:07 +03:00
Dmitry Stogov
ac4ea33c24 Link with undefined functions through "thunks" 2023-12-20 21:06:53 +03:00
Dmitry Stogov
c0fbdd2204 Allow resolution of DATA->DATA references represented as SYM+OFFSET 2023-12-20 18:37:27 +03:00
Dmitry Stogov
3f9d8112f0 Allow delayed resolution of DATA->DATA and DATA->CODE symbolic references 2023-12-20 15:50:09 +03:00
Dmitry Stogov
f385b006ea Store constant data in the code_buffer segment 2023-12-20 12:56:26 +03:00
Dmitry Stogov
efe122c320 Fixed incorrect padding when convert LLVM to IR without --run 2023-12-20 12:27:13 +03:00
Dmitry Stogov
3dd4146097
Allow using "thunks" to call "far" functions (#57)
* Allow using "thunks" to call "far" functions

* Fix Windows tests

* Fix identation
2023-12-19 22:22:49 +03:00
Dmitry Stogov
6a4a905347 Fxed possible end-less loop in SCCP 2023-12-19 19:02:58 +03:00
Dmitry Stogov
1b50e33690 Fixed I64 to FLOAT/DOUBLE conversion 2023-12-18 10:17:32 +03:00
Dmitry Stogov
9f6b853540 Fixed symbolic constants support in DESSA moves 2023-12-15 17:26:48 +03:00
Dmitry Stogov
62c64d4924 Fixed code generation for INT2FP 2023-12-15 15:44:48 +03:00
Dmitry Stogov
57d85e51b3 LLVM llvm.bitreverse.i1() => COPY 2023-12-15 14:23:49 +03:00
Dmitry Stogov
624dd3b828 Don't optimize signed division by power of two 2023-12-15 14:09:26 +03:00
Dmitry Stogov
bb739cca9b Don't optimize signed division by power of two 2023-12-15 14:01:46 +03:00
Dmitry Stogov
571f1d99cb Fixed code generation for byte division 2023-12-15 11:48:30 +03:00
Dmitry Stogov
752379975b Fixed code generation for MAX 2023-12-14 23:35:36 +03:00
Dmitry Stogov
53d994f71b Dixed allignment of array elements 2023-12-14 18:44:50 +03:00