Dmitry Stogov
62b6ddf149
Fixed code generation for rare address mode
2023-10-13 13:29:59 +03:00
Dmitry Stogov
d641c7949a
Support for unordered FP comparison (x86[_64] yet, needs tests)
2023-10-13 12:52:56 +03:00
Dmitry Stogov
e884c6b84c
Reset interfal flags that become wrong after coalescing
2023-10-13 12:51:14 +03:00
Dmitry Stogov
1b978f67ce
Fix codegeneration for negative 8 and 16-bit immediate values
2023-10-13 11:15:19 +03:00
Dmitry Stogov
daa31b3200
Properly remove interval from active list
2023-10-13 11:12:15 +03:00
Dmitry Stogov
dd227dfa25
New tests
2023-10-12 15:01:27 +03:00
Dmitry Stogov
1970a16496
Fixed crash on dead PHI
2023-10-12 14:54:23 +03:00
Dmitry Stogov
3f728b61b9
Allow forward references for any PHI operans before scheduling
2023-10-12 12:43:51 +03:00
Dmitry Stogov
78e95131b4
Proper VADDR insertion
2023-10-12 12:37:34 +03:00
Dmitry Stogov
180e9dd626
Fix scheduling for VADDR
2023-10-12 10:17:51 +03:00
Dmitry Stogov
d51efd33d4
Fix incorrect SSA construction
2023-10-12 10:17:04 +03:00
Dmitry Stogov
1fbb2ac2ed
Skip some intrinsic
2023-10-12 08:18:18 +03:00
Dmitry Stogov
4fce67fcb7
Restore accedently removed ir_free()
2023-10-11 23:01:15 +03:00
Dmitry Stogov
211884cf29
Introduce API to load modules
2023-10-11 22:55:25 +03:00
Dmitry Stogov
8668550427
Initial support for LLVM loader (incomplete) ( #53 )
...
Currently we may just load LLVM module and convert all functions into IR (print it).
For better LLVM support IR framework needs support for modules.
Some LLVM features are not supported yet (see TODOs in ir_load_llvm.c) .
2023-10-11 12:46:31 +03:00
Dmitry Stogov
cad27ab17a
typo
2023-10-05 21:14:18 +03:00
Dmitry Stogov
569e971625
typo
2023-10-05 21:13:22 +03:00
Dmitry Stogov
c9d796555d
typo
2023-10-05 21:12:53 +03:00
Dmitry Stogov
0b5254b769
Update README.md
2023-10-05 21:04:28 +03:00
Niels Dossche
d435e7c404
Fix typo in AVX if condition ( #52 )
2023-10-04 08:41:43 +03:00
Dmitry Stogov
827b8ebd9c
Fix typo in the first place
2023-10-03 08:35:35 +03:00
Javier Eguiluz
2f4f8504d4
Fix some typos ( #51 )
2023-10-03 08:34:02 +03:00
Dmitry Stogov
70ed0a7d96
Support for GUARD
2023-09-29 12:27:34 +03:00
Dmitry Stogov
9ea551a34f
LLVM support for fastcall and vararg
2023-09-29 11:30:53 +03:00
Dmitry Stogov
85b2ea6e16
clenup
2023-09-29 09:42:31 +03:00
Dmitry Stogov
56bb320b81
Fixed compilation error
2023-09-28 20:49:03 +03:00
Dmitry Stogov
51a37f159b
Initial implementation of LLVM export
2023-09-28 20:44:45 +03:00
Dmitry Stogov
09829a9e69
Fixed x86_64 calling convention for vararg functions
...
%al is used as a hidden register to specify the number of passed vector registers
2023-09-27 10:23:34 +03:00
Dmitry Stogov
aeae3ff8d4
printf() may print "nan" differently
2023-09-27 00:43:45 +03:00
Dmitry Stogov
234bdad1f4
Change condition order
2023-09-27 00:43:24 +03:00
Dmitry Stogov
4fef47b1a5
Reimplement tester program in C and in IR independent way ( #50 )
...
* Reimplement tester program in C and in IR independent way
* Fix Windows support
2023-09-27 00:34:03 +03:00
Ilija Tovilo
9a8cbdf28c
Test Unix x86 with asan/ubsan in CI ( #49 )
2023-09-26 10:57:55 +03:00
Ilija Tovilo
e97f195025
Ignore ir-test binary ( #48 )
2023-09-25 13:14:20 +03:00
Dmitry Stogov
399a387713
Avoid MOVD/MOVQ disassemble mismatch with old/new capstone versions
2023-09-19 16:30:09 +03:00
Dmitry Stogov
971c6e03be
Fix incorrect type suffixes
2023-09-19 14:45:27 +03:00
Dmitry Stogov
a2f8452b3d
Fixed code generation for MOD
2023-09-18 13:10:19 +03:00
Dmitry Stogov
f8372e663d
cleanup
2023-09-18 12:16:24 +03:00
Ilija Tovilo
c549449cd4
[skip ci] Fix typo in ir_folding comment ( #47 )
2023-09-18 10:26:26 +03:00
Dmitry Stogov
8977307f4e
Improve error handling
2023-09-14 20:15:30 +03:00
Dmitry Stogov
aeaa6404b7
Typo
2023-09-14 16:54:26 +03:00
Dmitry Stogov
d032f87b4d
Reduce number of useless spill loads
2023-09-12 23:32:25 +03:00
Dmitry Stogov
7650500a7c
Remove -nan
2023-09-12 22:15:36 +03:00
Dmitry Stogov
834eb77e90
Fixed support for float, inf and nan constants.
2023-09-12 22:05:11 +03:00
Dmitry Stogov
83de21eccd
Fixed argument sign/zero extension
2023-09-12 20:47:45 +03:00
Dmitry Stogov
5953d17f5f
Don't miss spill loads when the register valuses are reused
2023-09-12 16:12:12 +03:00
Dmitry Stogov
915edb8a6c
Force spill load for fused and spiled virtual registers
2023-09-04 19:32:27 +03:00
Dmitry Stogov
f44e897bb2
Set IR_TLS.op3 to IR_NULL, if unused
2023-09-04 16:39:21 +03:00
Dmitry Stogov
02afd0a89f
Fixed code generation for IR_MUL/DIV/MOD_INT with result in a spill slot
2023-09-01 12:18:05 +03:00
Dmitry Stogov
316bc37e8b
Support for MACOS TLS
2023-09-01 08:49:05 +03:00
Dmitry Stogov
6ec7e6f49d
Avoid saving unspecified registers in the fixed stack frame
2023-08-31 18:17:26 +03:00