Zack Corr
887b59b7be
jit: Separate JIT execution into two functions and load crates before main lookup
2012-09-27 12:57:58 +10:00
Zack Corr
efb576a60d
jit: Clean rustllvm code, let rustc expose __morestack instead of linking in libmorestack and return _rust_main and call it from rustc
2012-08-31 16:20:36 -07:00
Zack Corr
6723a5a0ea
jit: Forgot header for inlining pass
2012-08-31 16:20:36 -07:00
Zack Corr
19ea3ab480
jit: Add passes and cleanup code
2012-08-31 16:20:36 -07:00
Zack Corr
795acb7395
jit: Link in __morestack and make it resolvable by JIT
2012-08-31 16:20:36 -07:00
Zack Corr
7993f48209
jit: Add custom memory manager (still segfaulting)
2012-08-31 16:20:35 -07:00
Zack Corr
d7aa9918ef
Add experimental JIT compiler
2012-08-31 16:20:35 -07:00
Elliott Slaughter
987814f11e
Added debug flag to enable LLVM debug output.
2012-07-25 16:00:13 -07:00
Elliott Slaughter
d9c9a2f97e
Remove rustllvm functions which have moved upstream.
2012-07-24 17:11:13 -07:00
Zack Corr
480fa7c00e
Only initialize targets that are actually supported / linked to in RustWrapper
2012-07-24 17:11:13 -07:00
Glenn Willen
28c1f21433
Better error when rustc fails to write output.
2012-07-13 17:06:30 -04:00
Eric Holk
0a99912cdd
Adding a bunch of atomic intrinsics.
...
Adding a test cases for the atomic intrinsics.
2012-06-29 18:37:29 -07:00
Graydon Hoare
079c3b02a8
Update llvm and integrate clang and compiler-rt.
2012-04-30 17:48:38 -07:00
Brian Anderson
bb1e79768c
llvm: Switch back to LLVM trunk
2012-01-13 11:05:59 -08:00
Josh Matthews
10030a37d5
Generate basic debug info for files, functions and compile units.
2011-12-18 23:39:54 -05:00
Brian Anderson
a92218e630
Upgrade LLVM to svn revision 145779
...
This pulls in commits 145765 & 145766, which are required for split stacks.
2011-12-04 14:59:56 -08:00
Brian Anderson
9a188b2e94
rustc: Fall back to intrinsics.ll if we can't parse the bc
...
This will allow us to transition to the new bitcode format.
2011-11-25 22:54:10 -08:00
Niko Matsakis
834b6879ea
temp workaround for failure to pass ulonglong successfully
2011-11-16 15:27:09 -08:00
Haitao Li
b8dd148444
rustllvm: Add a GetOrInsertFunction wrapper
...
Fixes issue #1161
Test-case-by: Brian Anderson <banderson@mozilla.com>
Signed-off-by: Haitao Li <lihaitao@gmail.com>
2011-11-15 00:33:29 +08:00
Haitao Li
b12de98814
rustc: Add support of generating LLVM assembly
...
rustc generates output files in LLVM bitcode format if "--emit-llvm"
option is given. When used with the "-S" option, rustc generates LLVM
intermediate language assembly files.
Fixes Issue #476
2011-11-07 21:44:40 +08:00
Patrick Walton
329f045d4c
rustc: Enable segmented stacks in LLVM when --stack-growth is on
2011-10-31 14:42:44 -07:00
Brian Anderson
160c56e768
Get 'make tidy' to work rustllvm and rt again
2011-10-21 17:35:52 -07:00
Elly Jones
a5dc6a7aa8
Update LinkModules invocation to use new prototype
...
LLVM revision 141606 changes the prototype of llvm::Linker::LinkModules.
Signed-off-by: Elly Jones <elly@leptoquark.net>
2011-10-15 15:53:18 -07:00
Lindsey Kuper
0d43e90172
Revert "Merge pull request #1025 from elly/master"
...
This reverts commit e12e76e9ba
, reversing
changes made to f480203fdd
.
2011-10-11 22:23:47 -04:00
Elly Jones
19eae0bc38
Update LinkModules invocation to use new prototype
...
LLVM revision 141606 changes the prototype of llvm::Linker::LinkModules.
Signed-off-by: Elly Jones <elly@leptoquark.net>
2011-10-11 21:32:34 -04:00
Marijn Haverbeke
58110b1b13
Follow LLVM header file shuffling
...
This allows us to compile against revision 138708. I need this, because
the version we currently use is causing mysterious corruption of object
files during linking on win, apparently triggered by my vec-representation
patch.
2011-08-28 20:59:05 +02:00
Rafael Ávila de Espíndola
6402b63b4f
Use the new C API for PassManagerBuilder.
2011-08-11 19:09:52 -04:00
Rafael Ávila de Espíndola
4cee063976
Update for llvm api change.
2011-08-11 14:58:30 -07:00
Kelly Wilson
1e4f198a1d
Update RustWrapper.cpp so that LLVM revision 134231 from June 30, 2011 at 22:15 GMT, works.
2011-07-01 00:56:49 -06:00
Rafael Ávila de Espíndola
64513808ca
Use fast regalloc and codegen at OptLevel=0.
2011-06-22 16:50:30 -04:00
Rafael Ávila de Espíndola
698022d351
Update rust to build with newer llvm versions.
2011-06-08 14:08:24 -04:00
Brian Anderson
1ad58d4dd6
rustllvm: Free TargetMachine in LLVMRustWriteOutputFile
2011-05-14 00:48:51 -04:00
Graydon Hoare
d6f1fcff6b
Add --time-llvm-passes.
2011-05-10 16:10:08 -07:00
Graydon Hoare
db3b9a4992
Stop stringifying integers to get integral constants.
2011-05-07 18:54:23 +00:00
Graydon Hoare
e2f7f11d47
Put out burning linux tinderbox.
2011-05-06 16:07:28 -07:00
Kelly Wilson
b4a0d891c0
Ge the host triple using LLVM. Fix a few 'mutable' warnings also.
2011-05-06 11:30:39 -07:00
Patrick Walton
5fb6e6364b
rustc: Add a binding to LLVM's bitcode parser
2011-05-05 11:34:45 -07:00
Patrick Walton
729648282b
rustllvm: Add bindings to the LLVM linker
2011-05-04 21:27:00 -07:00
Patrick Walton
c47a075a99
rustllvm: Whitespace police in RustWrapper.cpp
2011-05-04 20:30:23 -07:00
Patrick Walton
f969b227c1
rustc: Disable frame pointer omission
2011-05-02 11:01:51 -07:00
Rafael Ávila de Espíndola
b0980b7d79
Add a very minimal set of .cfi_* statements to get part of backtraces
...
working (on hello world at least):
~/inst/gdb/bin/gdb --args ./foo
(gdb) b write
...
(gdb) r
...
Breakpoint 1, 0xf7f04270 in write () from /lib32/libc.so.6
(gdb) bt
0 0xf7f04270 in write () from /lib32/libc.so.6
1 0x0804931a in rust_native_cdecl_3 ()
2 0x080487d7 in _rust_wrapper3_ ()
3 0x0804890a in _rust_fn5_main ()
4 0x08049440 in rust_native_cdecl_7 ()
2011-04-28 16:19:20 -04:00
Graydon Hoare
592cd5fa30
Disable frame-pointer elimination (not sure how this didn't get commited before).
2011-04-26 15:21:20 -07:00
Rafael Ávila de Espíndola
fac8cc3b06
Use -c in the Makefiles.
2011-04-22 15:15:52 -04:00
Rafael Ávila de Espíndola
9eb1479746
Dispose the module.
...
Thanks to brson for noticing it.
2011-04-22 14:49:02 -04:00
Rafael Ávila de Espíndola
9657e5d2d3
Revert 9ab42038bb
while I find what is
...
wrong on Windows.
2011-04-18 15:37:04 -04:00
Rafael Ávila de Espíndola
9ab42038bb
Change the makefiles to use -c.
2011-04-18 15:00:17 -04:00
Rafael Ávila de Espíndola
f12998e5d7
Add a -c option.
2011-04-18 10:02:52 -04:00
Rafael Ávila de Espíndola
099e094765
Produce PIC code and use -S in the Makefile.
2011-04-15 19:29:13 -04:00
Rafael Ávila de Espíndola
2214b6835d
Add a -S option for producing assembly. I will move more of it to
...
rust once the necessary APIs are available in C.
2011-04-15 17:41:14 -04:00
Rafael Ávila de Espíndola
01b1d4110d
Remove code that is already in llvm for some time.
2011-04-13 14:55:44 -04:00
Rafael Ávila de Espíndola
e7b8db2e63
Enable alias analysis and the function attributes pass.
...
The C API extension is already upstream, we can drop the local copy once
the bots are updated.
2011-04-13 13:54:08 -04:00
Rafael Ávila de Espíndola
fcb344799a
Add a hack to force the linker to fetch Object.o
2011-04-11 15:49:45 -04:00
Graydon Hoare
7ac885ee8c
Repair some fallout from pcwalton's last few build changes.
2011-03-21 23:06:42 -07:00