Alexander Gorshenev
|
4afc7be7b7
|
'native' is a java keyword, so javac doesn't allow it as a package name component.
Renamed 'native' to 'konan'.
Moved BinaryMetadata.proto to konan/llvm where it belongs for now.
|
2016-11-07 18:16:00 +03:00 |
|
Alexander Gorshenev
|
56f574684a
|
Code style and nullables fixes
|
2016-11-07 18:16:00 +03:00 |
|
Alexander Gorshenev
|
26e3101014
|
Now we can add metadata nodes to bitcode module.
We just put in the names of functions for now.
|
2016-11-07 18:14:50 +03:00 |
|
Alexander Gorshenev
|
f76a4f6dc9
|
A simple protobuf description for bitcode metadata
|
2016-11-07 18:14:50 +03:00 |
|
Alexander Gorshenev
|
62f8b31cf0
|
Google protobuf has been added to the build
|
2016-11-07 18:14:50 +03:00 |
|
Konstantin Anisimov
|
d4c3d6dabd
|
plus'n'minus_eq operation: support for integer comparison operations
for code (plus_eq):
--------------8<------------------
> cat ../backend.native/tests/codegen/function/plus_eq.kt
fun plus_eq(a: Int): Int {
var b = 11
b += a
return b
}
--------------8<------------------
generator produces:
--------------8<------------------
> llvm-dis-mp-3.8 ../backend.native/tests/codegen/function/plus_eq.kt.bc -o -
; ModuleID = '../backend.native/tests/codegen/function/plus_eq.kt.bc'
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.12.0"
....
define i32 @"kfun:plus_eq"(i32) {
entry:
%a = alloca i32
store i32 %0, i32* %a
%b = alloca i32
store i32 11, i32* %b
%tmp1 = load i32, i32* %b
%tmp2 = load i32, i32* %a
%tmp0 = add i32 %tmp1, %tmp2
store i32 %tmp0, i32* %b
%tmp3 = load i32, i32* %b
ret i32 %tmp3
}
--------------8<------------------
and for (minus_eq):
--------------8<------------------
> cat ../backend.native/tests/codegen/function/minus_eq.kt
fun minus_eq(a: Int): Int {
var b = 11
b -= a
return b
}
--------------8<------------------
generator produces:
--------------8<------------------
> llvm-dis-mp-3.8 ../backend.native/tests/codegen/function/minus_eq.kt.bc -o -
; ModuleID = '../backend.native/tests/codegen/function/minus_eq.kt.bc'
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.12.0"
...
define i32 @"kfun:minus_eq"(i32) {
entry:
%a = alloca i32
store i32 %0, i32* %a
%b = alloca i32
store i32 11, i32* %b
%tmp1 = load i32, i32* %b
%tmp2 = load i32, i32* %a
%tmp0 = sub i32 %tmp1, %tmp2
store i32 %tmp0, i32* %b
%tmp3 = load i32, i32* %b
ret i32 %tmp3
}
--------------8<------------------
|
2016-11-07 18:00:30 +03:00 |
|
Konstantin Anisimov
|
ea149fab4e
|
Tests for "PLUSEQ" and "MINUSEQ"
|
2016-11-07 18:00:30 +03:00 |
|
Nikolay Igotti
|
a022b7d1ab
|
Char constants.
|
2016-11-07 17:42:29 +03:00 |
|
Konstantin Anisimov
|
3c68ee4ce5
|
testsuite updated to reflect recent changes in codegen: branch support
|
2016-11-07 17:34:01 +03:00 |
|
Vasily Levchenko
|
76ee79adc0
|
branching: branch suppport introduced
--------------8<----------------
> cat if_else.kt
fun if_else(b: Boolean): Int {
if (b) return 42
else return 24
}
--------------8<----------------
we've got following bitcode:
--------------8<----------------
; ModuleID = '../backend.native/tests/codegen/branching/if_else.kt.bc'
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.12.0"
...
define i32 @"kfun:if_else"(i1) {
entry:
%b = alloca i1
store i1 %0, i1* %b
%tmp0 = load i1, i1* %b
br i1 %tmp0, label %label_0, label %label_1
label_0: ; preds = %entry
ret i32 42
label_1: ; preds = %entry
ret i32 24
}
...
--------------8<----------------
|
2016-11-07 17:34:01 +03:00 |
|
Vasily Levchenko
|
147de5d3ad
|
added .usr/bin path to tools chain to take right variants of binutils from our system archieve
|
2016-11-07 17:25:08 +03:00 |
|
Nikolay Igotti
|
f06aeef9ce
|
Some work for string concatenation. (#40)
|
2016-11-07 15:58:11 +03:00 |
|
Svyatoslav Scherbina
|
451ac00087
|
backend/tests: enable hello0
|
2016-11-07 17:42:47 +07:00 |
|
Svyatoslav Scherbina
|
674713f429
|
backend: instantiate string literals statically
also improve other code for static instantiation
|
2016-11-07 17:42:47 +07:00 |
|
vvlevchenko
|
fddaea5624
|
Merge pull request #34 from JetBrains/ir-processing-refactoring
Ir processing refactoring
|
2016-11-03 20:42:32 +03:00 |
|
Vasily Levchenko
|
8880a8b7a9
|
disable object initialization test
|
2016-11-03 18:34:35 +03:00 |
|
Konstantin Anisimov
|
fb1652a1d5
|
refactoring: refactoring: reordering, splitting.
(cherry picked from commit 89fc5d6416a6e7075901ac19dea44475f7184fd3)
|
2016-11-03 18:34:35 +03:00 |
|
Nikolay Igotti
|
922cb1f35d
|
Fix problems with kotlin.Number
|
2016-11-03 18:28:02 +03:00 |
|
Nikolay Igotti
|
96dfcba997
|
Generate interface RTTI properly.
|
2016-11-03 18:13:55 +03:00 |
|
vvlevchenko
|
152b8752d0
|
Merge pull request #32 from JetBrains/ir-processing-enchancements
ir-enchancement:support operations with variables and block processing
|
2016-11-03 17:15:52 +03:00 |
|
Konstantin Anisimov
|
4078e4004c
|
tests for local variables
|
2016-11-03 16:19:03 +03:00 |
|
Vasily Levchenko
|
8de943bb8a
|
ir-enchancement:support operations with variables and block processing
|
2016-11-03 16:19:03 +03:00 |
|
Nikolay Igotti
|
a2e4f0f467
|
Move compiler to new version, add primitive types. (#33)
|
2016-11-03 15:31:33 +03:00 |
|
Vasily Levchenko
|
c6a5ec26d9
|
stash conflict occsionaly commited removed
|
2016-11-03 06:29:41 +03:00 |
|
Vasily Levchenko
|
09fb11fbc9
|
linux run test fix (except RTTI linking problems)
|
2016-11-03 06:19:26 +03:00 |
|
Nikolay Igotti
|
1f90f32397
|
Fix backend.native:run
|
2016-11-03 00:22:04 +03:00 |
|
Svyatoslav Scherbina
|
58e8ed1850
|
backend/tests/build: fix compiler native library path
|
2016-11-02 17:02:14 +07:00 |
|
Svyatoslav Scherbina
|
e7558f9ddc
|
build: add target native SDK as downloadable dependency
also improve Gradle native toolchains configuration
|
2016-11-02 17:02:14 +07:00 |
|
Svyatoslav Scherbina
|
db1853f627
|
runtime: remove unused test
to simplify build configuration
|
2016-11-02 17:02:14 +07:00 |
|
Nikolay Igotti
|
5966f69928
|
Add Base64 encoding for printable hashes (SHA1 hash is 30 bytes, City is 14). (#30)
|
2016-11-02 12:44:36 +03:00 |
|
Vasily Levchenko
|
b3fb82da07
|
unwanted print
|
2016-11-01 21:58:02 +03:00 |
|
Vasily Levchenko
|
ac761e0cbf
|
unit tests and run tests are splitted
run tests can use golden value and test data to process and compare results
|
2016-11-01 21:49:20 +03:00 |
|
Nikolay Igotti
|
283303210f
|
Rename kotlin_native -> kotlin.
|
2016-11-01 16:13:46 +03:00 |
|
Nikolay Igotti
|
7eeb2d3046
|
Various fixes for HelloWorld. (#27)
|
2016-11-01 15:33:41 +03:00 |
|
Nikolay Igotti
|
b142d39dbc
|
Merge pull request #28 from JetBrains/fix_void
Fix void calls.
|
2016-11-01 13:12:47 +03:00 |
|
Nikolay Igotti
|
7cf38d9501
|
Fix void calls.
|
2016-11-01 13:11:39 +03:00 |
|
Vasily Levchenko
|
08bfdb652c
|
processing Call IR expressions and void functions (crash expected)
|
2016-11-01 12:48:46 +03:00 |
|
Vasily Levchenko
|
ecdac4190c
|
added processing of the BLOCK_BODY, for Unit function IR doesn't contein RETURN:
FUN public fun bar(i: kotlin.Int): kotlin.Unit
BLOCK_BODY
for code:
fun bar(i:Int):Unit {}
|
2016-10-31 21:31:32 +03:00 |
|
Vasily Levchenko
|
df9bf60c30
|
g/c: unused vars
|
2016-10-31 20:56:58 +03:00 |
|
Vasily Levchenko
|
ae3fbfcc67
|
g/c: line balance
|
2016-10-31 20:56:58 +03:00 |
|
Vasily Levchenko
|
90883b6ced
|
g/c: -linq
|
2016-10-31 20:56:58 +03:00 |
|
Nikolay Igotti
|
3bb20d2874
|
Merge pull request #25 from JetBrains/drop-kotlin-build
Use kotlin-compiler.jar from repo to get rid of building the Big Kotlin
|
2016-10-31 17:07:22 +03:00 |
|
Svyatoslav Scherbina
|
941f3b9bc5
|
remove backend.native/kotlin-ir submodule
|
2016-10-31 19:51:08 +07:00 |
|
Svyatoslav Scherbina
|
644add92e5
|
build: download dependencies from the bintray repo
which is accessible from the outside
|
2016-10-31 17:59:39 +07:00 |
|
Svyatoslav Scherbina
|
18ae8b2311
|
build: switch to Sonatype snapshots repo for kotlin-compiler
it is updated automatically by every successful build
|
2016-10-31 17:39:15 +07:00 |
|
Svyatoslav Scherbina
|
1b624ac88f
|
backend: fix building against latest kotlin-compiler.jar
|
2016-10-31 16:01:24 +07:00 |
|
Svyatoslav Scherbina
|
394b4ce6ec
|
backend/build: depend on kotlin-compiler.jar from repo
instead of the jars from backend.native/kotlin-ir
|
2016-10-31 13:32:02 +07:00 |
|
Svyatoslav Scherbina
|
74ab1503c3
|
Interop: make gradle plugin more friendly to complex dependency management
when representing dependencies as file collection
some meta information gets lost
|
2016-10-31 13:32:02 +07:00 |
|
Nikolay Igotti
|
8d2c0edd6b
|
Implement instanceof checks. (#23)
|
2016-10-31 08:14:04 +03:00 |
|
KonstantinAnisimov
|
e4d1557300
|
Merge pull request #18 from JetBrains/K2Native-minor-improvements
minor refactoring in native to frontend interface
|
2016-10-28 16:59:32 +03:00 |
|