Gordon Henriksen
c440737166
PR2202: LLVMCreateInterpreter creates a JIT
...
Applying fix by Frits van Bommel.
llvm-svn: 50249
2008-04-25 02:52:30 +00:00
Nicolas Geoffray
aaa764cf3a
Be pessimistic in computing the buffer size when aligning.
...
llvm-svn: 50008
2008-04-20 23:39:44 +00:00
Nicolas Geoffray
c80229e1c7
Cosmetic changes, as suggested by Evan. No functionality changes.
...
llvm-svn: 49993
2008-04-20 17:44:19 +00:00
Nicolas Geoffray
5fdce98ebd
Do not hold the JIT lock when materializing a function and verify if the
...
function has already been codegen'd. This is required by the Java class loading
mechanism which executes Java code when materializing a function.
llvm-svn: 49988
2008-04-20 08:33:02 +00:00
Chris Lattner
f390d62b7f
Switch to using Simplified ConstantFP::get API.
...
llvm-svn: 49977
2008-04-20 00:41:09 +00:00
Nicolas Geoffray
f005e6fa3b
Enable jitting with a known memory size.
...
llvm-svn: 49924
2008-04-18 20:59:31 +00:00
Nicolas Geoffray
1f3211af01
Correlate stubs with functions in JIT: when emitting a stub, the JIT tells the memory manager which function
...
the stub will resolve.
llvm-svn: 49814
2008-04-16 20:46:05 +00:00
Chris Lattner
e7147e7478
Fix some serious logic errors that broke the jit on darwin/x86-64.
...
llvm-svn: 49606
2008-04-13 07:04:56 +00:00
Evan Cheng
37eb9de565
Add debugging code.
...
llvm-svn: 49566
2008-04-12 00:22:01 +00:00
Chris Lattner
08453a5234
Reenable JIT symbol table.
...
llvm-svn: 49548
2008-04-11 18:11:56 +00:00
Chris Lattner
73d12a36c6
fix warnings with assertions disabled.
...
llvm-svn: 49285
2008-04-06 21:50:58 +00:00
Gabor Greif
6c6b8a57f3
API changes for class Use size reduction, wave 1.
...
Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.
llvm-svn: 49277
2008-04-06 20:25:17 +00:00
Chris Lattner
4cc62604a1
disable this for now.
...
llvm-svn: 49248
2008-04-05 04:12:01 +00:00
Chris Lattner
066a1dea6c
Provide an initial cut at exposing JIT compiled symbols to performance
...
tools. This is currently only enabled on the mac, but could easily be
supported by other hosts that are interested.
llvm-svn: 49207
2008-04-04 05:51:42 +00:00
Chris Lattner
0891662a49
Make ExecutionEngine::updateGlobalMapping return the old mapping.
...
llvm-svn: 49206
2008-04-04 04:47:41 +00:00
Chris Lattner
49e9edd6f6
Fix "Control reaches the end of non-void function" warnings,
...
patch by David Chisnall.
llvm-svn: 48963
2008-03-30 18:22:13 +00:00
Erick Tryzelaar
0efea4df76
Expose ExecutionEngine::getTargetData() to c and ocaml bindings.
...
llvm-svn: 48851
2008-03-27 00:27:14 +00:00
Dan Gohman
2b96ce84aa
Add explicit keywords.
...
llvm-svn: 48801
2008-03-25 22:06:05 +00:00
Anton Korobeynikov
38e7967f86
Register EH frames emitted in JIT when using gcc unwinding runtime
...
llvm-svn: 48688
2008-03-22 08:53:09 +00:00
Duncan Sands
1a76dafb41
Fix formatting.
...
llvm-svn: 48151
2008-03-10 16:38:37 +00:00
Nick Lewycky
d280000e07
Load the symbols first so that the interpreter constructor can find them when
...
it tries to initialize them.
llvm-svn: 48046
2008-03-08 02:49:45 +00:00
Chris Lattner
273b161c3e
fix 80 col violations
...
llvm-svn: 48019
2008-03-07 20:05:43 +00:00
Dan Gohman
44367c23de
Simplify code using convertFromZeroExtendedInteger with an APInt
...
by using the new convertFromAPInt directly.
llvm-svn: 47739
2008-02-29 01:27:13 +00:00
Anton Korobeynikov
7dd00942cc
Update gcc 4.3 warnings fix patch with recent head changes
...
llvm-svn: 47368
2008-02-20 11:10:28 +00:00
Anton Korobeynikov
0c5e186924
Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.
...
llvm-svn: 47367
2008-02-20 11:08:44 +00:00
Evan Cheng
a1f7505972
Added memmove to interpreter external functions list. Patch by Daniel Dunbar.
...
llvm-svn: 47363
2008-02-20 07:55:26 +00:00
Chris Lattner
3bac9de032
Support vector constant zeros, thanks to Zack Rusin for the testcase.
...
llvm-svn: 47148
2008-02-15 00:57:28 +00:00
Nicolas Geoffray
72fa78e195
Enable exception handling int JIT
...
llvm-svn: 47079
2008-02-13 18:39:37 +00:00
Dan Gohman
aad233ea10
Use empty() instead of comparing size() with zero.
...
llvm-svn: 46514
2008-01-29 13:02:09 +00:00
Duncan Sands
390baa691d
Use getPreferredAlignmentLog or getPreferredAlignment
...
to get the alignment of global variables, rather than
using hand-made versions.
llvm-svn: 46495
2008-01-29 06:23:44 +00:00
Chris Lattner
00ead854ef
JITEmitter.cpp was trying to sync the icache for function stubs, but
...
was actually passing a completely incorrect size to sys_icache_invalidate.
Instead of having the JITEmitter do this (which doesn't have the correct
size), just make the target sync its own stubs.
llvm-svn: 46354
2008-01-25 16:41:09 +00:00
Duncan Sands
3d1260ba4d
I doubt the address of the Error string was intended
...
to be used for the force_interpreter parameter...
Spotted by gcc-4.2.
llvm-svn: 45714
2008-01-07 19:14:42 +00:00
Evan Cheng
759f389846
X86 JIT PIC jumptable support.
...
llvm-svn: 45616
2008-01-05 02:26:58 +00:00
Evan Cheng
7322e4dec4
X86 PIC JIT support fixes: encoding bugs, add lazy pointer stubs support.
...
llvm-svn: 45575
2008-01-04 10:46:51 +00:00
Chris Lattner
40f17611cc
Remove symbols that don't exist, remove tabs, fix comment typo
...
llvm-svn: 45553
2008-01-03 22:15:32 +00:00
Chris Lattner
a27cc48cbc
Fix PR1873, a problem finding stat-related symbols on linux, due to
...
"libc_nonshared.a". Patch by Edwin Török!
llvm-svn: 45532
2008-01-03 07:10:51 +00:00
Evan Cheng
fb2bc4fc95
Change MachineRelocation::DoesntNeedFnStub to NeedStub. This fields will be used
...
for non-function GV relocations that require function address stubs (e.g. Mac OS X in non-static mode).
llvm-svn: 45527
2008-01-03 02:56:28 +00:00
Chris Lattner
ad9a6ccb83
Remove attribution from file headers, per discussion on llvmdev.
...
llvm-svn: 45418
2007-12-29 20:36:04 +00:00
Chris Lattner
8193d4af33
remove attribution from lib Makefiles.
...
llvm-svn: 45415
2007-12-29 20:09:26 +00:00
Gordon Henriksen
606ac32019
C and Ocaml bindings for ExecutionEngine (i.e., the JIT compiler).
...
llvm-svn: 45335
2007-12-23 16:59:28 +00:00
Christopher Lamb
a608afb52e
Change the PointerType api for creating pointer types. The old functionality of PointerType::get() has become PointerType::getUnqual(), which returns a pointer in the generic address space. The new prototype of PointerType::get() requires both a type and an address space.
...
llvm-svn: 45082
2007-12-17 01:12:55 +00:00
Duncan Sands
15b126c3f2
These are more correctly called signaling NaNs.
...
llvm-svn: 45059
2007-12-15 17:37:40 +00:00
Duncan Sands
091a505971
Teach the interpreter to read and write memory in the
...
endianness of the target not of the host. Done by the
simple expedient of reversing bytes for primitive types
if the host and target endianness don't match. This is
correct for integer and pointer types. I don't know if
it is correct for floating point types.
llvm-svn: 45039
2007-12-14 19:38:31 +00:00
Dan Gohman
80af3e255d
Add explicit keywords, and fix a minor typo that they uncovered.
...
llvm-svn: 45034
2007-12-14 15:41:34 +00:00
Duncan Sands
47526c4a42
Remove host endianness info from TargetData and
...
put it in a new header System/Host.h instead.
Instead of getting the endianness from configure,
calculate it directly.
llvm-svn: 44959
2007-12-12 23:03:45 +00:00
Zhou Sheng
cba8d83b9a
Add a guard to cxxabi header as other platform may
...
not support it.
llvm-svn: 44914
2007-12-12 06:16:47 +00:00
Zhou Sheng
089df5d640
Fixed PR1629.
...
Make lli interpreter correctly call external functions sin()/cos(),
__cxa_guard_acquire() and __cxa_guard_release().
llvm-svn: 44910
2007-12-12 04:55:43 +00:00
Duncan Sands
1279851352
Fix PR1836: in the interpreter, read and write apints
...
using the minimum possible number of bytes. For little
endian targets run on little endian machines, apints are
stored in memory from LSB to MSB as before. For big endian
targets on big endian machines they are stored from MSB to
LSB which wasn't always the case before (if the target and
host endianness doesn't match values are stored according
to the host's endianness). Doing this requires knowing the
endianness of the host, which is determined when configuring -
thanks go to Anton for this. Only having access to little
endian machines I was unable to properly test the big endian
part, which is also the most complicated...
llvm-svn: 44796
2007-12-10 17:43:13 +00:00
Duncan Sands
948343f861
It looks like this has been broken for some time -
...
get it to compile.
llvm-svn: 44791
2007-12-10 14:43:10 +00:00
Chuck Rose III
cdc572968c
Adjust VStudio files to add JITMemoryManager files + include <cassert> from same.
...
llvm-svn: 44651
2007-12-06 02:03:01 +00:00