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