Commit Graph

24 Commits

Author SHA1 Message Date
Jim Huang
90945934c1 Fix linkage to libdl
This patch resolves undefined reference to symbols in libdl.

Error message before this:
  /usr/bin/ld: ir_emit.o: in function `ir_resolve_sym_name':
  ir_emit.c:249: undefined reference to `dlsym'
  /usr/bin/ld: ir_disasm.o: in function `ir_disasm_resolver':
  ir_disasm.c:302: undefined reference to `dladdr'
  collect2: error: ld returned 1 exit status
2023-05-08 00:26:45 +08:00
Tony Su
4b9391c8b1 [ir-test]: Enhance ir-test for Linux and Windows
This is a series of enhancements for ir-test and related Makefile
for Linux and Windows.

UpdateLog:
1) Make ir-test run from any directory
2) add --help option and print program usage
3) Enable user to specify test folders and/or files to run
4) Check unsupported option and print help usage
5) Update Makefile to use new ir-test options
6) some code refactory

Signed-off-by: Tony Su <tao.su@intel.com>
Reviewed-by  : Dmitry Stogov
Reviewed-by  : Anatol Belski
2023-04-19 19:33:36 +08:00
Anatol Belski
f8ca41119c cpu: Add framework for CPU feature handling
This comes with the initial feature to query CPUID on x86. Supported are
both GCC based build and MSVC builds targeting Windows.

Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2023-04-15 01:08:36 +02:00
Dmitry Stogov
37b94c3f04 Fix 32-bit clang build 2023-03-28 13:20:54 +03:00
Anatol Belski
5862d6a787 makefile: Integrate new test runner
This replaces the PHP script with the C++ implementation.

Signed-off-by: Anatol Belski <ab@php.net>
2023-03-10 01:28:19 +01:00
Dmitry Stogov
39f6f81b5e Fix make dependencies 2023-03-03 00:03:50 +03:00
Anatol Belski
7b3dc08b05 makefile: Simplify and regroup objects and targets
A small optimization to combine common pieces in the makefile.

- Use static pattern rules for the same operation
- Group headers prerequisities into own targets
- Reduce dups like objects to be listed just once in a var, etc.

Signed-off-by: Anatol Belski <ab@php.net>
2023-02-14 00:23:45 +01:00
Ilija Tovilo
9060407ada
Add GitHub actions 2022-11-21 20:42:07 +01:00
Dmitry Stogov
3535fd2fc4 Fix compilation warnings and signed/unsigned mess 2022-11-08 23:09:35 +03:00
Dmitry Stogov
1b84570aa3 Intoduce ir_emit.c that shuould keep common part for different targets 2022-10-26 22:06:07 +03:00
Dmitry Stogov
62c981a091 remove hardcoded dependencies 2022-10-26 21:26:24 +03:00
Dmitry Stogov
74debb0bf4 Add "ir_load.c" to allow build without llk.php and initial multi-platform support 2022-10-26 19:52:14 +03:00
Dmitry Stogov
082bcf89c9 Use ir_ctx.fixed_regset to limit available registers 2022-06-21 16:13:14 +03:00
Dmitry Stogov
4060f9ca23 Avoid hardcoded file path (use stdin instead) 2022-06-21 12:24:44 +03:00
Dmitry Stogov
00e92483bc Fix compilation warnings 2022-06-21 11:41:59 +03:00
Dmitry Stogov
f6b81b14e9 Aarch64 back-end 2022-06-06 15:27:25 +03:00
Dmitry Stogov
054a70012e Aarch64 back-end (incomplete) 2022-06-03 12:47:02 +03:00
Dmitry Stogov
00c300fc9f Start Aarch64 back-end 2022-05-31 11:22:31 +03:00
Dmitry Stogov
4eaca331b9 Allow using debug_regset in RELEASE build 2022-05-13 09:22:31 +03:00
Dmitry Stogov
4569d80218 Remove temporary test files 2022-05-06 19:19:04 +03:00
Dmitry Stogov
3c6e4c8b3a Use -O2 for release build 2022-05-05 22:37:25 +03:00
Dmitry Stogov
9ccefcf973 Support for more instruction in C backend and BOOL_NOT in x86_86 2022-04-08 19:02:11 +03:00
Dmitry Stogov
f1cc9a4ddb Added tests for unary integer instructions 2022-04-08 16:40:28 +03:00
Dmitry Stogov
2937993190 Initial import 2022-04-06 00:19:23 +03:00