Commit Graph

1018 Commits

Author SHA1 Message Date
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
Konstantin Anisimov 64e9f2a2f7 minor refactoring in native to frontend interface 2016-10-28 16:59:06 +03:00
Konstantin Anisimov 3617161247 numeric literal support:
define i32 @kfun:sum(i32) {
entry:
  %a = alloca i32
  store i32 %0, i32* %a
  %tmp1 = load i32, i32* %a
  %tmp0 = add i32 %tmp1, 33
  ret i32 %tmp0
}
2016-10-28 12:31:38 +03:00
Konstantin Anisimov f02e0af5a2 various numeric literals' tests 2016-10-28 12:27:12 +03:00
Svyatoslav Scherbina cc47ed98f3 runtime: use @ExportTypeInfo
to import compiler-generated type infos into C++ code
2016-10-27 19:32:45 +03:00
Svyatoslav Scherbina 991c8ea905 backend.native, runtime: implement @ExportTypeInfo 2016-10-27 19:32:45 +03:00
Svyatoslav Scherbina 6bfbf1050b build: compile backend.native/tests with Kotlin runtime 2016-10-27 19:32:45 +03:00
Svyatoslav Scherbina 17b757bc2b runtime: comment String.plus
to workaround improper virtual call generation resulting in link error
2016-10-27 19:32:45 +03:00
Svyatoslav Scherbina d2d90e8066 backend: do not declare function if it has already been declared 2016-10-27 19:32:45 +03:00