Igor Chevdar
978bf3d38d
[IR] Refactored a bit InlineFunctionResolver
2024-01-22 09:34:42 +00:00
Igor Chevdar
f3a807c507
[IR] Fixed a problem in FunctionInlining
...
#KT-64868 Fixed
2024-01-22 09:34:42 +00:00
Igor Chevdar
8cc9272018
[K/N] Fixed a data race during monolithic caches creation
...
For per-file caches the data race is still there, but since per-file caches are
only used for incremental compilation, it's ok to leave it as is for now (we cope
with the data race by using a separate folder for each Gradle task).
2024-01-09 08:57:43 +00:00
Igor Chevdar
aaf34c3436
[IR] Fixed a bug with local classes extraction from lambdas
...
#KT-64508 Fixed
2024-01-04 11:15:18 +00:00
Igor Chevdar
54328a1db4
[K/N][tests] Added a reproducer for #KT-64508
2024-01-04 11:15:18 +00:00
Igor Chevdar
94b35570ed
[K/N][tests] Added some tests on multi-module file initialization
2023-12-28 12:13:24 +00:00
Igor Chevdar
519c15419f
[K/N] Fixed a problem with dependencies
...
-Xinclude-library should be treated exactly as source files -
the final binary should depend on all of them.
#KT-64408 Fixed
2023-12-28 12:13:24 +00:00
Igor Chevdar
c35e026259
[K/N][tests] Moved several tests to proper location
2023-12-28 12:13:24 +00:00
Igor Chevdar
e068333021
[gradle][tests] Fixed the smoke test on K/N incremental compilation
2023-12-18 19:19:03 +00:00
Igor Chevdar
69459b056e
[IR] Correct handling of loops in liveness analysis
...
#KT-64139 Fixed
2023-12-18 12:55:51 +00:00
Igor Chevdar
7907231bf2
[box-tests] Added a reproducer for #KT-64139
2023-12-18 12:55:51 +00:00
Igor Chevdar
d0acaa4024
[gradle] Use more fine grained directory for K/N incremental compilation
...
Otherwise, two or more link tasks being executed in parallel will use the same directory
for IC caches which might lead to races during compilation
#KT-63471 Fixed
2023-12-18 09:56:09 +00:00
Igor Chevdar
1805f322f8
[K/N] Do not use LazyIr for per-file caches
...
#KT-63789 Fixed
2023-11-28 09:22:36 +00:00
Igor Chevdar
b264cf2119
[K/N] Reformat
2023-11-28 09:22:36 +00:00
Igor Chevdar
36452b5db7
[K/N] IR version of isObjCObjectType
2023-11-16 12:17:46 +00:00
Igor Chevdar
e43b232786
[K/N] Used KlibFingerprint hash instead of slow SHA-256
2023-11-14 16:06:47 +00:00
Igor Chevdar
cc69df0de6
[K/N] Optimized libraries hash computation
...
#KT-63081 Fixed
2023-11-14 16:06:47 +00:00
Igor Chevdar
141dc96067
[gradle][tests] Disabled K/N incremental compilation tests on Windows
2023-10-24 06:02:21 +00:00
Igor Chevdar
eb6db02649
Revert "[Native] Use LLVMBuildLoad2 instead of LLVMBuildLoad."
...
This reverts commit a487ec1889 .
2023-10-19 12:57:25 +00:00
Igor Chevdar
254b5b1934
Revert "[Native] Fix tailrec test."
...
This reverts commit 67c501e0b6 .
2023-10-19 12:57:24 +00:00
Igor Chevdar
d5001fb7dd
Revert "[Native] Move remaining usages for LLVMBuildLoad to LLVMBuildLoad2."
...
This reverts commit 4e66881549 .
2023-10-19 12:57:24 +00:00
Igor Chevdar
40e8552a8d
[gradle] Added a bunch of Gradle IT on K/N incremental compilation
2023-10-19 07:57:36 +00:00
Igor Chevdar
a8c6074c45
[IR] Use InlineFunctionResolver for inlinable function references
...
#KT-62313 Fixed
2023-10-12 13:34:13 +00:00
Igor Chevdar
c6470a684d
[box-tests] Added a reproducer for #KT-62313
2023-10-12 13:34:13 +00:00
Igor Chevdar
6c519488a6
[IR] Reworked K/N variables inliner hint
2023-10-11 06:27:02 +00:00
Igor Chevdar
1b30f76a78
[K/N][tests] Added a test on stepping through inline arguments
2023-10-11 06:27:02 +00:00
Igor Chevdar
2b8bcfda94
[K/N][codegen] Build trampolines for abstract fake overrides
...
#KT-61924 Fixed
2023-09-15 09:26:54 +00:00
Igor Chevdar
1df93e1611
[box-tests] Added a reproducer for #KT-61924
2023-09-15 09:26:54 +00:00
Igor Chevdar
9d2d75313b
[K/N][tests] Added a test for anonymous object in a top level inline fun
2023-09-13 09:18:26 +03:00
Igor Chevdar
b66a6fcc08
[K/N][IR] Moved local declarations names invention down the pipeline
2023-09-13 09:18:26 +03:00
Igor Chevdar
ac760cbbfb
[K/N][tests] Refactored a bit test
...
arguments of assertEquals are (expected, actual), not vice versa
2023-09-13 09:18:26 +03:00
Igor Chevdar
93dea12efe
[IR] Supported top level local classes in names inventor
...
Such classes might appear after local objects extraction from inline bodies
2023-09-13 09:18:20 +03:00
Igor Chevdar
1ff7841ac7
[K/N][IR] Renamed PreInlineLowering to TypeOfLowering
2023-09-11 18:16:25 +00:00
Igor Chevdar
8f3b9694f7
[K/N] Extracted asserts removal to a separate lowering
2023-09-11 18:16:25 +00:00
Igor Chevdar
e8ca45378b
[K/N] Moved couple of phases down the pipeline
2023-09-11 16:31:22 +00:00
Igor Chevdar
2e02ee4ec8
[K/N] Fixed a corner case in escape analysis
...
#KT-61409 Fixed
2023-08-29 16:05:13 +00:00
Igor Chevdar
9917c477e8
[K/N][linker] Name temp obj file the same as output binary
...
#KT-61270 Fixed
2023-08-21 18:06:02 +00:00
Igor Chevdar
7c67e9e08b
[tests][lldb] Added a reproducer for #KT-61131
2023-08-21 12:05:28 +00:00
Igor Chevdar
c1874d0184
[K/N][codegen] Added debug info to virtual functions trampolines
...
#KT-61131 Fixed
2023-08-21 12:05:28 +00:00
Igor Chevdar
9a719066e3
[K/N][tests] Added a reproducer for #KT-60371
2023-08-08 10:10:47 +00:00
Igor Chevdar
2f463f740f
[K/N][tests] Fixed CachesAutoBuildTest & IncrementalCompilationTest
...
In auto-cache mode, the compiler itself chooses the system cache directory,
and it is important to not pass it explicitly.
2023-08-08 10:10:47 +00:00
Igor Chevdar
aa0f0c8cb4
[K/N] Do not use '=' in file names
...
#KT-60986 Fixed
2023-08-07 12:57:17 +00:00
Igor Chevdar
5d6de2f8bf
[K/N] Fixed bug in virutal call trampolines
...
#KT-60645 Fixed
2023-07-25 05:57:31 +00:00
Igor Chevdar
58639951f6
[K/N] Refactored 2-stage splitting
2023-07-07 17:51:46 +00:00
Igor Chevdar
afdc596121
[K/N] Fix for two-stage compilation
2023-07-07 17:51:46 +00:00
Igor Chevdar
4f859a634e
[K/N] Fixed a bug in escape analysis
...
#KT-59693 Fixed
2023-07-04 09:45:48 +00:00
Igor Chevdar
5f3dad14a2
[K/N] Make -Xlazy-ir-for-caches disabled by default
2023-06-22 08:10:11 +00:00
Igor Chevdar
cc9dd48c09
[K/N] Support non-LazyIR for cached libraries
...
Use the same lazy deserialization mechanism (inline function bodies, class fields)
for both LazyIR and usual IR
2023-06-22 08:10:11 +00:00
Igor Chevdar
9e39b7ef87
[K/N] Don't try to stack-alloc arrays of negative size
...
#KT-59501 Fixed
2023-06-20 06:20:52 +00:00
Igor Chevdar
95bef03d3e
[K/N][tests] Added a reproducer for KT-59501
2023-06-20 06:20:52 +00:00
Igor Chevdar
74a97ba730
[K/N][tests] Fixed a filecheck test
2023-06-07 05:22:49 +00:00
Igor Chevdar
d9b0f2a75c
[K/N] Refactored RedundantCoercionsCleaner
...
#KT-58654 Fixed
2023-05-29 06:13:09 +00:00
Igor Chevdar
1ae0350ca5
[K/N][tests] Added some file-check tests on KT-58654
2023-05-29 06:13:09 +00:00
Igor Chevdar
55632f5df2
[K/N][runtime] Used internal isInstance
2023-05-22 12:49:58 +00:00
Igor Chevdar
d1a3752626
[K/N][tests] Fixed lldb tests on arrays
2023-05-22 12:49:58 +00:00
Igor Chevdar
39dfb9958b
[K/N][tests] Fixed some of lldb tests
2023-05-17 07:28:14 +00:00
Igor Chevdar
fe1d7c2f52
[K/N][tests] Fixed some of lldb tests
2023-05-11 16:56:40 +00:00
Igor Chevdar
2f24c6df80
[K/N] Added isSubtype intrinsic
2023-05-11 09:30:18 +00:00
Igor Chevdar
67b65ec56a
[K/N] Reformat
2023-05-11 09:30:18 +00:00
Igor Chevdar
96c142569d
[K/N] Slight devirtualization improvement
...
Make devirtualization not by an actual receiver type but rather
by an actual virtual method implementation (which sometimes can be better)
2023-05-11 09:30:18 +00:00
Igor Chevdar
1ef81c005e
[K/N][tests] Fixed a test for KT-55938
...
Used in the test cache directory should be prepared before the test
2023-05-10 13:12:09 +00:00
Igor Chevdar
f5478bda3d
Handle recently added property to K2NativeCompilerArguments
2023-05-10 11:05:06 +00:00
Igor Chevdar
c129e91bd6
[K/N][gradle] Supported IC for caches
2023-05-10 08:37:32 +00:00
Igor Chevdar
9fcb4ece64
[K/N][tests] Added a bunch of tests on incremental compilation
2023-05-10 08:37:32 +00:00
Igor Chevdar
e4f30589a4
[K/N] Incremental compilation of per-file caches
2023-05-10 08:37:32 +00:00
Igor Chevdar
74864ba1d0
[K/N][codegen] Trampoline to call virtual functions to reduce dependencies coupling
2023-05-10 08:37:32 +00:00
Igor Chevdar
281296fc2a
[K/N] Rely on file fqName & path instead of unstable index
2023-05-10 08:37:32 +00:00
Igor Chevdar
f90db20512
[K/N][caches] Added klib hash computing and storing
2023-05-10 08:37:32 +00:00
Igor Chevdar
a8135c60ce
[K/N] Turn on optimistic escape analysis
...
For new MM (with tracing GC), it is safe to turn it on
2023-05-10 05:51:52 +00:00
Igor Chevdar
b6030b3517
[K/N] Devirtualization: virtual calls from external world fix
...
The fix deals with the situation where a virtual function potentially from
the external world (because of the receiver) returns a final type (if it isn't final,
then it's conservatively assumed that no devirtualization could be done on it).
#KT-57791 Fixed
2023-05-09 05:25:11 +00:00
Igor Chevdar
197cba35eb
[K/N] Added couple of reproducers for KT-57791
2023-05-09 05:25:11 +00:00
Igor Chevdar
3e0196da89
[K/N][IR] Used liveness analysis in the coroutines lowering
...
Liveness analysis results are used for spilling variables before
suspending a coroutine
2023-04-24 09:57:16 +03:00
Igor Chevdar
4e661a6337
[IR] Liveness analysis
...
Compute actually used variables for specified IR nodes
2023-04-24 09:57:06 +03:00
Igor Chevdar
6a79163205
[K/N][IR] Extracted a common util function
2023-04-24 09:36:43 +03:00
Igor Chevdar
cf58e5ff9f
[K/N] Extracted some common BitSet utils
2023-04-24 09:36:43 +03:00
Igor Chevdar
ab892037df
[K/N] Propagate IrMessageLogger to subcompilations
...
Otherwise, some warnings/errors (like from IrLinker) might be lost
2023-04-11 07:08:41 +00:00
Igor Chevdar
7db0bf0f3c
[K/N] Propagate -Xlazy-ir-for-caches to subcompilations
2023-04-11 07:08:40 +00:00
Igor Chevdar
e5523c196e
[K/N][codegen] Removed a thread unsafe optimization
...
It's not that needed anyway (according to the profile logs).
2023-03-10 11:05:55 +00:00
Igor Chevdar
ea7c851748
[K/N][IR][codegen] Fixed a number of thread safety problems
2023-03-10 11:05:55 +00:00
Igor Chevdar
f442936320
[K/N] Build per-file caches in parallel
2023-03-10 11:05:54 +00:00
Igor Chevdar
7f0a4ad737
[K/N][IR] Reworked saving inline function bodies for cross-file inlining
...
#KT-57053 Fixed
#KT-57029 Fixed
2023-03-08 06:48:52 +00:00
Igor Chevdar
315d9089b0
[box-tests] Another version of reproducer for KT-56965
2023-03-08 06:48:52 +00:00
Igor Chevdar
99ec3215d9
[box-tests] Added a reproducer for KT-57053
2023-03-08 06:48:51 +00:00
Igor Chevdar
a92c53daec
[K/N][IR] Do not save local inline functions before closure building
...
#KT-56965 Fixed
2023-03-01 08:09:52 +00:00
Igor Chevdar
c038bbde08
[box-tests] Added a reproducer for KT-56965
2023-03-01 08:09:51 +00:00
Igor Chevdar
0f384f5878
[K/N][IR] Workaround for off-scope type parameters
...
#KT-56500 Fixed
2023-02-23 15:32:25 +00:00
Igor Chevdar
5d3b61364a
Added a test for KT-56500
2023-02-23 15:32:25 +00:00
Igor Chevdar
564b40f05d
[K/N] Fixed resolve order of compiler caches
...
#KT-56611 Fixed
2023-02-15 07:06:05 +00:00
Igor Chevdar
951ebf4082
[K/N] Added a test for KT-56611
2023-02-15 07:06:05 +00:00
Igor Chevdar
ba172358d8
[K/N] Option to specify IR validation severity
2023-02-14 07:30:47 +00:00
Igor Chevdar
4fd063bd4b
[K/N][driver] Some tweaks in IrValidator setup
2023-02-14 07:30:46 +00:00
Igor Chevdar
95c4ded9d0
[K/N][IR] Fixed wrong IrCall type (to fix IR validation)
2023-02-14 07:30:46 +00:00
Igor Chevdar
0655b02097
[IR] Proper error message for IR validation
2023-02-14 07:30:46 +00:00
Igor Chevdar
1e8cd91e0f
[IR] Fixed wrong IrCall type (to fix IR validation)
2023-02-14 07:30:45 +00:00
Igor Chevdar
18e213426c
[IR] Fixed wrong IrConst type (to fix IR validation)
2023-02-14 07:30:45 +00:00
Igor Chevdar
3dad0cfb05
[IR] Fixed wrong IrCall type (to fix IR validation)
2023-02-14 07:30:45 +00:00
Igor Chevdar
5e6aa649ed
[IR] Extracted implicitCastIfNeeded to common utils
2023-02-14 07:30:44 +00:00
Igor Chevdar
750bb5c8c4
[K/N][IR] Added proper parent
2023-02-14 07:30:44 +00:00
Igor Chevdar
ea2ce2b52e
[IR] Fixed wrong parents
2023-02-14 07:30:44 +00:00
Igor Chevdar
a14f3c8cc2
[K/N] Fixed wrong initializer call extraction for interop-visible functions
...
#KT-56521 Fixed
2023-02-10 15:45:11 +00:00