Dmitry Stogov
b8be0b9dd9
Avoid loading of stack parameter to register if this is not necessary
2023-06-09 00:35:15 +03:00
Dmitry Stogov
e506c1367d
Allow motion of loop invariant bound nodes
...
Spilling of bound nodes may introduce anti-dependencies, but the
previous restriction doesn't fix the possible problems
2023-06-08 00:32:36 +03:00
Dmitry Stogov
ae4daf223e
Replace assertion with a non-fatal error
2023-06-07 18:39:51 +03:00
Dmitry Stogov
c599cfbdf3
Fixed spill slot allocation
2023-06-07 18:37:37 +03:00
Dmitry Stogov
3de6c5126a
Avoid code generation for useless loads and stores
2023-06-07 14:43:16 +03:00
Dmitry Stogov
eaaf487600
Avoid check for PHI in BB started by a node with a single use-def edge (control edge)
2023-06-07 11:47:42 +03:00
Dmitry Stogov
70da8bef54
Avoid check for PHI, PI, PARAM and VAR nodes in BB started by a node with a single use-def edge (control edge)
2023-06-07 10:27:41 +03:00
Dmitry Stogov
3f009c2d5a
Disable scheduling of related ADD_OV/SUB_OV/MUL_OV and OVERFLOW into different blocks
2023-06-06 23:55:40 +03:00
Dmitry Stogov
18bdfb4203
Bettter code scheduling
2023-06-06 23:55:15 +03:00
Dmitry Stogov
d049bdfdb5
Fixed format specifiers
2023-06-06 17:22:54 +03:00
Dmitry Stogov
d2d4e275a7
Merge pull request #42 from weltling/examples2
...
examples: Add new example and some comments
2023-06-05 19:15:24 +03:00
Dmitry Stogov
186dc6b0a6
Fixed GH issue #33 : IR program failed to compile with "-O0" "-S" options
2023-06-05 18:22:12 +03:00
Anatol Belski
187452cba2
examples: Add example for void function with pointer arg
...
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2023-06-05 16:11:27 +02:00
Anatol Belski
283f443615
examples: Add some comments to example files
...
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2023-06-05 16:11:27 +02:00
Dmitry Stogov
b5bb5f869a
Fixed GH Issue #34 (Simple if-else IR program compile failure)
2023-06-05 14:21:03 +03:00
Dmitry Stogov
4e01e7251e
Implemented support for veneers on AArch64
2023-06-02 00:49:32 +03:00
Dmitry Stogov
3b0de17cdd
Added missing fixed interval
2023-06-01 11:00:39 +03:00
Dmitry Stogov
6009e376b7
Speed-up liner scan
...
- Don't add allocated interval into "active" list, if it doesn't overlap
with next unhandled
- More efficient selection of registers available for the whole range
2023-06-01 00:48:21 +03:00
Dmitry Stogov
38ee633419
Don't move conditions of IF and GUARDs out of loops
2023-05-30 15:10:23 +03:00
Dmitry Stogov
b560ddc8f6
Added test
2023-05-29 17:11:26 +03:00
Dmitry Stogov
c9d3804b6e
Fixed mistakes in GCM algorithm
2023-05-29 17:02:50 +03:00
Dmitry Stogov
87f2fc7f69
Fixed typo
2023-05-29 15:52:17 +03:00
Dmitry Stogov
4d2ef9401f
Fixed GH Issue #41 (ir_emit_c() dumping misses BB label)
2023-05-29 13:58:32 +03:00
Dmitry Stogov
20b9a7513c
Fixed missing label
2023-05-26 09:08:57 +03:00
Dmitry Stogov
9dd7f4f903
Fixed the code end boundary check
2023-05-25 15:45:17 +03:00
Dmitry Stogov
30c6717812
Fixed incorrect condition evaluation
2023-05-23 19:32:18 +03:00
Dmitry Stogov
cbfdeb46fe
Fixed typo
2023-05-23 16:06:49 +03:00
Dmitry Stogov
46fd86acb9
Itroduce a reference ir_jit_compile() and use it in examples
2023-05-23 10:52:59 +03:00
Dmitry Stogov
9296ff3b75
Fix examples
2023-05-23 10:24:27 +03:00
Dmitry Stogov
5fc8900536
Merge pull request #37 from weltling/examples
...
doc: Add examples folder
2023-05-23 09:59:23 +03:00
Anatol Belski
548e892219
examples: Add missing call to ir_compute_dessa_moves
...
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2023-05-22 22:44:48 +02:00
Anatol Belski
d64a2b5493
examples: Add a while loop example
...
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2023-05-22 22:44:47 +02:00
Anatol Belski
764f5c3985
examples: Add examples and makefiles
...
Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
2023-05-22 22:44:47 +02:00
Dmitry Stogov
75edc8fec5
Added type compatibility assertion and fixed mistakes in tests
2023-05-22 20:48:07 +03:00
Dmitry Stogov
d1fcaa3e63
Fixed code style
2023-05-22 20:08:36 +03:00
Dmitry Stogov
71061d0ee4
Merge pull request #38 from stkeke/dot_fix
...
[Fix]: ir_print_const() prints enclosing quote or not
2023-05-22 20:05:03 +03:00
Dmitry Stogov
2a80257535
Support for more C escape sequences
2023-05-22 19:51:19 +03:00
Tony Su
4cdd3eba77
[Fix]: ir_print_const() prints enclosing quote or not
...
Current ir_print_const() will by default print out the enclosing double
quote for any string, but this will lead to syntax error in dumped dot
file by ir_dump_dot() reported by 'dot' command.
ir_print_const() now has the fourth parameter to indicate whether prints
out the enclosing double quote(") or not.
OLD: ir_print_const(const ir_ctx *ctx, const ir_insn *insn, FILE *f)
NEW: ir_print_const(const ir_ctx *ctx, const ir_insn *insn, FILE *f, bool quoted)
Signed-off-by: Tony Su <tao.su@intel.com>
2023-05-22 21:02:46 +08:00
Dmitry Stogov
2a400f38ed
Fixed ir_VADDR() macro
2023-05-22 09:58:15 +03:00
Dmitry Stogov
ec091fc534
Fixed typo
2023-05-22 09:53:57 +03:00
Dmitry Stogov
b8acbeb5ee
Merge pull request #36 from dktapps/patch-1
...
Fix typo
2023-05-22 09:42:55 +03:00
Dylan T
3fbf1663e1
Fix typo
2023-05-20 23:00:34 +01:00
Dmitry Stogov
c93abd79b2
Remove IR_OPND_VAR
2023-05-19 13:00:55 +03:00
Dmitry Stogov
d3640495a2
Ceanup ir_compute_live_ranges() implementation
2023-05-19 12:34:54 +03:00
Dmitry Stogov
5c2023fd7f
Avoid live range constrction for VARs
2023-05-18 21:00:57 +03:00
Dmitry Stogov
ef31712f26
Remove usused IR_LIVE_INTERVAL_REG_LOAD flag
2023-05-18 14:17:54 +03:00
Dmitry Stogov
477dbf7d76
Avoid live range constrction for RLOAD with fixed registers
2023-05-18 13:37:12 +03:00
Dmitry Stogov
b6517f2028
Split IR_LIVE_INTERVAL_HAS_HINTS into IR_LIVE_INTERVAL_HAS_HINT_REGS and
...
IR_LIVE_INTERVAL_HAS_HINT_REFS
2023-05-18 10:48:31 +03:00
Dmitry Stogov
3dcb083eb6
Fix Win64 tests
2023-05-17 22:49:26 +03:00
Dmitry Stogov
c9fa8dfebd
Fixed SSA deconstruction
...
Previously we performed parallel copy for virtual registers, now we do
the same for the target CPU registers.
2023-05-17 22:37:45 +03:00