Commit Graph

15707 Commits

Author SHA1 Message Date
KochetovNicolai
e0addcdfec
Update ColumnVector.cpp
Fixed memset bytes count.
2018-05-03 20:29:53 +03:00
pyos
a286dea2e1 Don't waste time jit-compiling isolated functions.
This is already done ahead of time when building the executable.
2018-05-03 16:34:42 +03:00
Vitaliy Lyudvichenko
63cc34d3f6 Fixed incorrect failed OP detection in ZooKeeper. [#CLICKHOUSE-2] 2018-05-03 16:34:19 +03:00
pyos
23bbf632e5 If all inputs to a jitted function are constant, return a constant 2018-05-03 16:33:40 +03:00
pyos
1f89849650 Remove dynamically-linked stdc++ from dependencies 2018-05-03 01:45:54 +03:00
pyos
accbbdb9e3 Add a setting that disables jit-compilation 2018-05-03 00:48:20 +03:00
Jonatas Freitas
bdac9214a6 Update third-party_gui.md (#2309)
* Update third-party_gui.md

* Update third-party_gui.md

* Update third-party_gui.md
2018-05-01 13:26:08 -07:00
pyos
900b92f744 Merge API changes from upstream 2018-05-01 22:52:33 +03:00
pyos
27f12eeaa3 Merge branch 'master' of https://github.com/yandex/ClickHouse into llvm-jit 2018-05-01 22:51:37 +03:00
alexey-milovidov
52c58d3a82
Merge pull request #2308 from ilyshnikova/master
Without std::move
2018-05-01 12:35:57 -07:00
Tsarkova Anastasia
3a36569439 Without std::move 2018-05-01 21:34:42 +02:00
alexey-milovidov
81161be755
Merge pull request #2307 from ilyshnikova/master
Without std::move
2018-05-01 12:32:37 -07:00
Tsarkova Anastasia
8245dc3f6a Without std::move 2018-05-01 21:31:01 +02:00
alexey-milovidov
cb221cee29
Merge pull request #2306 from ilyshnikova/master
struct instead of class
2018-05-01 12:20:03 -07:00
Tsarkova Anastasia
ba901ebc3f struct instead of class 2018-05-01 21:18:13 +02:00
alexey-milovidov
9be89bd0d4
Merge pull request #2272 from ilyshnikova/master
Conditional computations.
2018-05-01 12:08:46 -07:00
Alexey Milovidov
5b0761f6d4 Added a link to HouseOps [#CLICKHOUSE-3] 2018-05-01 11:50:56 -07:00
Tsarkova Anastasia
9412222f55 Add test. 2018-05-01 15:33:39 +02:00
Tsarkova Anastasia
7c9741ed5b Fix style. 2018-05-01 15:31:38 +02:00
Tsarkova Anastasia
fe0753a128 Minor fixes, adding test case. 2018-05-01 15:24:43 +02:00
pyos
7483ed24f0 Implement jit for logic functions 2018-05-01 14:43:15 +03:00
Tsarkova Anastasia
210a389592 Getting rid of measure action, other small fixes applied. 2018-04-30 21:33:32 +02:00
Alexey Milovidov
16ba3d1541 Removed meetup announce [#CLICKHOUSE-2]. 2018-04-30 12:18:48 -07:00
pyos
e4ace21f24 Remove laziness on nullable arguments from default implementation
It breaks semantics, sadly.
2018-04-30 15:35:32 +03:00
pyos
4970b06b57 Remove outdated comments 2018-04-30 02:21:45 +03:00
pyos
039c377a7a Work around a bug in llvm::IRBuilder::CreateMaxNum 2018-04-30 02:07:39 +03:00
pyos
059bbcacca Implement jit for most arithmetic functions, remove the test function 2018-04-30 01:43:02 +03:00
pyos
7529aa55a4 Fix a bug that limited inlining depth at 2 2018-04-30 01:23:27 +03:00
Tsarkova Anastasia
a99ff6f380 Fix tests. 2018-04-29 23:48:33 +02:00
Tsarkova Anastasia
9286c98789 Fix build. 2018-04-29 23:13:01 +02:00
pyos
b4c7bee12b Merge branch 'master' of https://github.com/yandex/ClickHouse into llvm-jit 2018-04-29 23:22:18 +03:00
alexey-milovidov
1fc714f6b2
Merge pull request #2303 from pyos/cpp17-folds
Use C++17 fold expressions to simplify FunctionsArithmetic.h
2018-04-29 11:32:14 -07:00
pyos
72f2fea837 Extract the code that compiles a single IFunctionBase from LLVMFunction 2018-04-29 21:03:58 +03:00
pyos
1be009d485 Remove getDefaultNativeValue in favor of llvm::Constant::getNullValue 2018-04-29 20:32:30 +03:00
Tsarkova Anastasia
4bce6035b1
Merge branch 'master' into master 2018-04-29 18:02:34 +02:00
Tsarkova Anastasia
2c96b1c684 Add comments. Change projection restoring function. 2018-04-29 15:49:58 +02:00
pyos
01aaf99d75 Use C++17 fold expressions to simplify FunctionsArithmetic.h 2018-04-29 16:04:28 +03:00
pyos
fb577b1049 Hide the whole JIT API behind #if USE_EMBEDDED_COMPILER
Kind ugly, but at least the conditionals are used consistently now.
2018-04-29 13:48:16 +03:00
pyos
4641e2960f Move ExpressionActions::compileFunctions to ExpressionJIT.cpp.
This means ExpressionJIT.h only has to expose one function.
2018-04-29 13:39:01 +03:00
pyos
08345628a2 Support {Date,DateTime,Interval,UUID,FixedString} in compiled functions 2018-04-28 18:55:48 +03:00
pyos
6e05c5ace4 compilePrologue() isn't particularly useful after all.
Basically the only thing it can do that compile() can't is create 'alloca'
instructions, which are only needed to get pointers to stack variables.
Given that dynamically-sized allocations aren't possible with this API,
such pointers are probably completely pointless (heh).
2018-04-28 18:11:23 +03:00
pyos
1ffc2a0775 Make LLVMFunction monotonicity computation shorter (and fix a typo-bug) 2018-04-28 17:41:24 +03:00
pyos
a1eb938ed2 Inline nullable number constants into compiled code.
Also, protect against some segfaults during compilation by checking
correctness of the type returned by compile().
2018-04-28 17:12:00 +03:00
BayoNet
c3a47815ab Codeblock formatting is fixed 2018-04-28 14:53:59 +03:00
BayoNet
38c0442ee6 Changes in accordance with comments from the developers. 2018-04-28 14:45:37 +03:00
pyos
ccc895d162 Represent nullable types as pairs instead of pointers.
Turns out LLVM has insertvalue & extractvalue for struct in registers. This is
faster than pointers because null checks are now subject to more optimizations.
2018-04-28 14:12:23 +03:00
BayoNet
1b0d7361cc Merge remote-tracking branch 'upstream/master' 2018-04-28 11:13:06 +03:00
BayoNet
7558684e33 Multiple formatting and links fixes. 2018-04-28 10:58:16 +03:00
pyos
5c75342d54 Check nativity of all types *before* calling isCompilable 2018-04-28 01:03:52 +03:00
pyos
979c4d959f Let jit-compilable functions deal with NULLs themselves.
And provide a default implementation of compile() for nullable columns
that actually works and is consistent with execute().
2018-04-28 00:34:27 +03:00