Ivan Butygin
a40c6c7fd2
Make LDC custom passes available to jit, add API for jit compiler options ( #2758 )
2019-09-08 09:16:05 +03:00
Ivan Butygin
857b9773a0
Jit: report parseBitcodeFile errors ( #3055 )
2019-04-09 21:22:43 +03:00
Ivan Butygin
eaa65fca18
Jit: better error handling and handle correctly __chkstk function ( #3051 )
2019-04-06 10:34:02 +03:00
Nicholas Wilson
3dc367db40
Fix jit with LLVM 8 ( #2944 )
2018-12-18 16:02:13 +08:00
Martin Kinkelin
39b46d7b69
Replace old-school header guards by #pragma once
2018-10-20 16:19:46 +02:00
Ivan
355b4cb46b
fix bind for @dynamicCompileEmit
2018-09-06 21:22:07 +03:00
Ivan
91c1b8e69c
clang format
2018-09-06 21:22:01 +03:00
Ivan
0184e07380
nested binds
2018-09-06 21:21:59 +03:00
Ivan
0c8c8e8067
optimize bind functions
2018-09-06 21:21:57 +03:00
Ivan
c682615a99
example func to properly propagate attributes
2018-09-06 21:21:55 +03:00
Ivan
f102c3d471
structs support
2018-09-06 21:21:47 +03:00
Ivan
28abe2c975
basic bind works!
2018-09-06 21:21:38 +03:00
Ivan
c6a454b367
func map
2018-09-05 19:51:46 +03:00
Ivan
a27d6492c3
store thunk func ptr in jit metadata
2018-09-05 19:51:45 +03:00
Ivan
bdc5f65070
bindInstaces
2018-09-05 19:51:44 +03:00
Ivan
6734cd19f3
jit bind D part and C++ stubs
2018-09-05 19:51:41 +03:00
Ivan
98ed035af7
some jit code cleaup and clang-format
2018-08-25 15:41:08 +03:00
Ivan Butygin
02d43a7c26
jit: Wrap function list into JitModuleInfo ( #2746 )
2018-06-13 21:24:50 +03:00
Ivan Butygin
6ca0ba81f8
JITContext symmap refactoring ( #2745 )
2018-06-13 21:24:25 +03:00
Ivan Butygin
d2c55491c4
jit: refactor valueparser ( #2744 )
2018-06-13 21:24:04 +03:00
Ivan Butygin
86265da6b0
jit: use llvm::Mangler instead of hand-written routine ( #2742 )
2018-06-10 15:24:15 +03:00
Ivan Butygin
9c048c635c
Jit code style fixes ( #2741 )
2018-06-10 15:16:35 +03:00
Ivan
bb8967d9ac
Fix for llvm 7.0
2018-06-05 21:09:35 +03:00
Ivan
0e50e1db39
license header
2018-06-04 22:31:52 +03:00
Ivan
e6b7127d49
rename MyJIT ti JITContext
2018-06-04 22:09:54 +03:00
Ivan
13d5a55f71
make ModuleListener private
2018-06-04 22:09:53 +03:00
Ivan
fa4ad4e8a7
move MyJIT to separate file
2018-06-04 22:09:52 +03:00
Ivan
0191c75800
llvm 7.0 fixes
2018-06-04 22:09:51 +03:00
Ivan
7cccefc0b2
llvm 6.0 fixes
2018-06-03 11:56:29 +03:00
Ivan
2f4a9bd30c
compile.cpp cleanup
2018-06-03 11:56:29 +03:00
Ivan
2bee0c11ca
add symbol comment for pc-relative relocations (arm)
2018-06-03 11:56:29 +03:00
Ivan
96eb76dd4f
MCCodeEmitter doesn't needed
2018-06-03 11:56:29 +03:00
Martin Kinkelin
7816e7730a
Win64: Use LLVM's vector calling convention for extern(D) ( #2714 )
...
I.e., pass and return vectors in registers. With the default C calling
convention (and the Win64 TargetABI not touching any vectors), vectors
are returned in XMM0, but inefficiently passed as ref to hidden copy
(automatically by LLVM).
Microsoft's vector calling convention, introduced opt-in with VS 2013,
additionally puts HFAs and HVAs (Homogeneous Float/Vector Aggregates)
into registers, see
https://blogs.msdn.microsoft.com/vcblog/2013/07/11/introducing-vector-calling-convention/ .
2018-05-31 01:44:46 +02:00
Johan Engelen
aa979e6e90
fix LLVM7.0 build ( #2578 )
2018-02-19 00:07:01 +03:00
Ivan
938ac0e4bf
clang-format
2018-02-15 21:50:46 +03:00
Ivan
c6ec90e8ef
Drop jit support for pre 5.0 llvm
2018-02-15 21:45:12 +03:00
Ivan
009570f9a2
llvm 70 fixes
2018-02-14 18:08:33 +03:00
Ivan Butygin
bfd412cdf9
Small jit fixes ( #2570 )
...
* Better thunks stripping from jit module.
* Fixes to jit disassembler
* Strip comdats from jit module
2018-02-14 17:57:37 +03:00
Ivan Butygin
43c02cecc0
Jit api versioning ( #2514 )
2018-01-23 21:10:42 +03:00
Johan Engelen
c8625c43f4
Fix JIT RT compilation for LLVM 6.0 ( #2523 )
2018-01-20 16:32:19 +01:00
Ivan
07b7abefa4
jit runtime small refactorings
2018-01-15 23:16:05 +03:00
Nicholas Wilson
a73188c8e5
LLVM7 ( #2490 )
...
* MCAsmBackend changes
* Add profile-rt-70
* ProfData definition
* ProfData tool
* Remove profile-rt CMakeLists.txt
* Update druntime submodule
2018-01-14 07:57:55 +08:00
Ivan Butygin
00a9a38212
Disassemble resulting jit module and output asm to debug handler ( #2407 )
2017-11-26 10:38:08 +01:00
Ivan
347c30d958
remove commented code
2017-11-10 21:36:22 +03:00
Ivan
911cf5bfdc
clang-format
2017-11-09 22:05:57 +03:00
Ivan
a6c88bf541
remove unneeded .setRelocationModel(llvm::Reloc::Static)
2017-11-09 20:56:54 +03:00
Ivan
33898d5b8c
Jit optimizer cleanup
2017-11-05 23:17:50 +03:00
Ivan
abcfc7a451
License headers and style fixes
2017-11-05 22:47:10 +03:00
Ivan
8d59c56d4e
disable jit asm dump for now
2017-11-05 16:35:19 +03:00
Ivan
c774617266
Properly handle when situation when compileDynamicCode();
called but we dont have jit functions.
2017-11-05 15:26:38 +03:00