Commit Graph

125 Commits

Author SHA1 Message Date
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
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
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
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 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
Svyatoslav Scherbina 941f3b9bc5 remove backend.native/kotlin-ir submodule 2016-10-31 19:51:08 +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
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 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 d2d90e8066 backend: do not declare function if it has already been declared 2016-10-27 19:32:45 +03:00
Svyatoslav Scherbina fbb79418c4 backend: generate valid bitcode for abstract functions 2016-10-27 19:32:45 +03:00
Svyatoslav Scherbina 1ec7d806fa backend: properly import functions from runtime 2016-10-27 19:32:45 +03:00
Nikolay Igotti cbb5499313 Verify bitcode before write, minor fixes. (#21) 2016-10-27 18:54:38 +03:00
Konstantin Anisimov f448358ec2 refactoring: cosmetic code moving 2016-10-27 17:58:21 +03:00
Vasily Levchenko 3aa825cfe6 missed part of linux build: system libraries should go to the end 2016-10-27 12:35:56 +03:00
Vasily Levchenko dd6abfa188 linux build fix: static/dynamic and libraries ordering 2016-10-27 12:34:20 +03:00
Vasily Levchenko 8f9e6961e6 attempt to fix build 2016-10-27 10:20:21 +03:00
Vasily Levchenko c5a140bccc mac build fix 2016-10-26 22:46:05 +03:00
Vasily Levchenko e721a4e19d fix build: mac and linux should take llvm libraries from dependencies/all/clang+llvm..., instead from system path 2016-10-26 22:23:57 +03:00
Vasily Levchenko 202d03644d fix build: (mac and linux)
common fix of build: add to link flags -LlibffiDir -lffi
llvm.def: os specific remove from ldflags -lffi, it shoould appear after -LlibffiDir...
2016-10-26 21:16:17 +03:00
Vasily Levchenko 2690c87b9f tests depends on :runtime:build and :backend.native:build 2016-10-26 20:37:42 +03:00
Vasily Levchenko b852225007 linux build fix: remove libtinfo some info:
Git Clone URL:https://aur.archlinux.org/libtinfo.git (read-only)
Package Base:libtinfo
Description:symlink to ncurses for use in cuda and other packages
Upstream URL:http://www.gnu.org/software/ncurses/
Licenses:MIT
Submitter:hav3lock
Maintainer:hav3lock
Last Packager:hav3lock
Votes:209
Popularity:8.144062
First Submitted:2013-08-18 23:48
Last Updated:2016-05-24 22:29
2016-10-26 19:04:04 +03:00