Commit Graph

2309 Commits

Author SHA1 Message Date
Svyatoslav Scherbina c2d556503d Fix bug in function inlining
Fake overrides have IR now, so their declarations can be found by inliner
but are fake and thus unusable.
2017-05-08 13:31:45 +03:00
Svyatoslav Scherbina 68e6ff614d Fix bug in local declarations lowering
IrCall doesn't provide `.shallowCopy` now, so the unreachable buggy code
became reachable.
2017-05-08 13:31:45 +03:00
Svyatoslav Scherbina 0b1e7c9526 Update compiler to IR with symbols, part 1
The produced symbols are currently unbound and thus useless.
2017-05-08 13:31:45 +03:00
Julius Kunze c3074db2d0 Improved build script for tensorflow example, fixed readme (#553) 2017-05-06 09:44:19 +03:00
Ilya Matveev 409d00db96 samples: Use camel case in tetris gradle build script 2017-05-05 19:40:21 +07:00
Ilya Matveev 660f7bc1d4 gradle-plugin: Use konanVersion as plugin version 2017-05-05 19:40:21 +07:00
Ilya Matveev c0c971a526 samples: Use latest gradle plugin version 2017-05-05 19:40:21 +07:00
Ilya Matveev ede419494a gradle-plugin: Update GRADLE_PLUGIN.md 2017-05-05 19:40:21 +07:00
Ilya Matveev dbcfa84498 samples: Rename targets for tetris build. 2017-05-05 19:40:21 +07:00
Ilya Matveev 7a1a5001a3 gradle-plugin: Rename targets
macbook -> osx
iphone -> ios
2017-05-05 19:40:21 +07:00
Ilya Matveev 00b19b8367 interop: Fix dependency downloading 2017-05-05 19:40:21 +07:00
Ilya Matveev 52bbbc1815 gradle-plugin: Specify compiler version in project properties
This patch allows gradle-plugin user to specify a compiler version
via project properties. The default version is 0.2. It also updates
samples to use this new version of gradle plugin.
2017-05-05 19:40:21 +07:00
Alexander Gorshenev 065fb6def5 Don't serialize empty packages for modules with dependencies. 2017-05-05 12:52:50 +03:00
Vasily Levchenko 9d63662fbe CODEGEN: generation type info for complex types and refactoring.
- unchecked_cast warning suppression
- move subroutineType ext function to DebugUtils.
- there is only one diType in caodegen
- generate type references for complex types if they are references
- generating array types
2017-05-04 20:35:44 +03:00
Vasily Levchenko b1462f8da6 DEBUGDEMO: refactoring & new demo of structured types.
- extract common part for easier demo introducing.
- fixed warning [-Wincompatible-pointer-types]
- demo-types
- this debug info generated for pseudo structure:
    1 /* smth here... */
    2 A {
    3 int a;
    4 int b;
    5}

    0:b-debugger-types:minamoto@unit-703(0)# llvmDebugInfoC/build/exe/demotypes/demotypes
    define i32 @main() !dbg !3 {
    entry:
      ret i32 42
      }

    !llvm.dbg.cu = !{!0}

    !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "konanc", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
    !1 = !DIFile(filename: "<stdin>", directory: "")
    !2 = !{}
    !3 = distinct !DISubprogram(name: "main", linkageName: "main", scope: null, file: !1, line: 1, type: !4, isLocal: false, isDefinition: true, isOptimized: false, unit: !0, variables: !2)
    !4 = !DISubroutineType(types: !5)
    !5 = !{!6}
    !6 = !DICompositeType(tag: DW_TAG_structure_type, name: "A", file: !1, line: 2, size: 64, align: 32, elements: !7)
    !7 = !{!8, !10}
    !8 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !6, file: !1, line: 3, baseType: !9, size: 32, align: 32)
    !9 = !DIBasicType(name: "int", size: 32, align: 4)
    !10 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !6, file: !1, line: 4, baseType: !9, size: 32, align: 32, offset: 32)
2017-05-04 20:35:44 +03:00
Vasily Levchenko dc8bcc677a DEBUGINFO: binding enchancement && composite type support
- structured datatypes usable in debug info
- bindings for llvm/Support/Dwarf.h (llvm 3.9) makes easier introducing dwarf constants from LLVM
- added HANDLE_DW_LANG generating sequence DW_LANGs (DW_LANG_Kotlin equals DW_LANG_C89 for now).
- refactoring : g/c typo
- tag (DwarfTag) of the type added as parameter in DICreateReplaceableCompositeType
- binding for creating reference type
- binding for creating array type.
2017-05-04 20:35:44 +03:00
Igor Chevdar 8fbc06809a Codegen: optimization of catch (t: Throwable) {} 2017-05-04 20:44:36 +05:00
Igor Chevdar 39c6aa0f2c Fixed bug in DeepCopyIrWithDescriptors 2017-05-04 20:44:36 +05:00
Igor Chevdar 4dcee48e1f Removed CodeContext from scope of a variable 2017-05-04 20:44:36 +05:00
Igor Chevdar ca4beb171b Pulled up functions for working with stack on top level 2017-05-04 20:44:36 +05:00
Igor Chevdar e600c93dfa Enabled tests with finally blocks on coroutines + added tests 2017-05-04 20:44:36 +05:00
Igor Chevdar 1d9ccb36f3 Renamed IrInlineFunctionBody to IrReturnableBlock 2017-05-04 20:44:36 +05:00
Igor Chevdar 667b5fb936 Removed finally blocks handling from code generator 2017-05-04 20:44:36 +05:00
Igor Chevdar 3c84e39360 Finally blocks lowering 2017-05-04 20:44:36 +05:00
Igor Chevdar a7caf5ba29 Coroutines lowering: minor refactoring 2017-05-04 20:44:36 +05:00
Nikolay Igotti fc4fc438c3 Bump version to 0.2 2017-05-04 18:03:04 +03:00
Nikolay Igotti d95f419a53 v0.2 preparations (#547)
* v0.2 preparations

* Fix Tensorflow sample.
2017-05-04 17:28:59 +03:00
Konstantin Anisimov 6e7cb64b37 Typos fixed 2017-05-04 15:14:54 +07:00
Konstantin Anisimov 1e134f7062 Use fqName
Add BooleanArray
Use set
2017-05-04 15:14:54 +07:00
Konstantin Anisimov 666f052b10 Enforce inlining for *Array constructors 2017-05-04 15:14:54 +07:00
Ilya Matveev 156a8d79c9 Update compiler (1.1.3-dev-1810) 2017-05-03 22:06:26 +07:00
Ilya Matveev adb6e17b60 backend: Implement executableScriptFileName method in K2Native 2017-05-03 22:06:26 +07:00
Julius Kunze 7afa5e395a Added TensorFlow sample (#541)
* Added TensorFlow sample

* Added graph to TensorFlow sample

* Added session to TensorFlow sample

* added description to readme, cleaned up tensorflow.def, used lambda for deallocator, call Status.delete on error
2017-05-03 13:03:18 +03:00
Ilya Matveev 717f9ebc74 tests: Don't assume that NaN > any double in coercion test 2017-05-03 16:59:59 +07:00
Ilya Matveev 74bd3256f0 runtime: Correct Float.MIN_VALUE 2017-05-03 16:59:59 +07:00
Ilya Matveev 4179b5ddd6 tests: Disable tests that assume that NaN is greater than any value 2017-05-03 16:59:59 +07:00
Ilya Matveev 0a06f6b4ca stdlib: Add more minOf/maxOf extensions 2017-05-03 16:59:59 +07:00
Svyatoslav Scherbina c222eb8f04 Fix conversion between P1.(...)->R and (P1, ...)->R when inlining 2017-05-02 22:18:18 +03:00
Svyatoslav Scherbina a8ab837035 Add failing test 'inline24' 2017-05-02 22:18:18 +03:00
Ilya Matveev ce29c5fbb7 stdlib: Throw NoSuchElementException in range iterators 2017-05-02 22:09:36 +07:00
Ilya Matveev fe5badee34 build: Store kotlin-compiler repo URL in a project property 2017-05-02 18:17:27 +07:00
Ilya Matveev 3f0a273a11 build: Switch Kotlin compiler downloading to kotlin-dev bintray repo
This patch uses kotlin-dev bintray repo (dl.bintray.com/kotlin/kotlin
-dev/org/jetbrains/kotlin/kotlin-compiler/) for Kotlin compiler
downloading instead of the sonatype repo and our bintray mirror of it.
So there is not need to run ./gradlew update_kotlin_compiler on each
compiler update.

It also updates kotlin-compiler to 1.1.3-dev-1619
2017-05-02 18:17:27 +07:00
Ilya Matveev 94c1716899 build: Fix dependency uploading to bintray repo 2017-05-02 18:17:27 +07:00
Ilya Matveev 654ece0311 build: Add bintray repo in dependencies project 2017-05-02 18:17:27 +07:00
Vasily Levchenko 7c1c07a0d9 handline: license and LICENSE on mac with case-insensitive file system.
- license->licenses
- reintroduce 4383b5de
2017-04-30 08:56:32 +03:00
Dmitry Jemerov 4383b5de5d Add missing LICENSE file 2017-04-28 17:05:20 +02:00
Igor Chevdar 57c889de41 SuspendFunctionLowering: optimizations of ExpressionSlicer 2017-04-28 13:46:44 +03:00
Igor Chevdar adc1faa6c5 Moved NativePtr from interop to konan.internal 2017-04-28 13:45:46 +03:00
Igor Chevdar 0750626c29 Inherited coroutines from SuspendFunction 2017-04-28 13:45:46 +03:00
Igor Chevdar 66aef3bf5a Handling of 'WITH_COROUTINES' in tests 2017-04-28 13:45:46 +03:00