ILyoan
1ded138851
Enable arm error handling abi 2
2013-03-19 17:23:18 +09:00
ILyoan
f581b2f9dd
Enable arm error handling abi
2013-03-19 17:23:08 +09:00
ILyoan
10df2ea9db
Normalize target triple so that llvm can recognize target os correctly
2013-03-15 15:39:58 +09:00
Niko Matsakis
efc7f82bc4
Revamp foreign code not to consider the Rust modes. This requires
...
adjusting a few foreign functions that were declared with by-ref
mode. This also allows us to remove by-val mode in the near future.
With copy mode, though, we have to be careful because Rust will implicitly pass
somethings by pointer but this may not be the C ABI rules. For example, rust
will pass a struct Foo as a Foo*. So I added some code into the adapters to
fix this (though the C ABI rules may put the pointer back, oh well).
This patch also includes a lint mode for the use of by-ref mode
in foreign functions as the semantics of this have changed.
2013-03-13 16:59:37 -04:00
Luqman Aden
fc78b93c41
Wrap llvm::InlineAsm::AsmDialect
2013-03-12 01:03:34 -07:00
Luqman Aden
ecccc0d649
Parse inline assembly.
2013-03-12 01:03:34 -07:00
Jyun-Yan You
5150b9811b
rustc: MIPS32 support
2013-03-03 19:27:27 -08:00
kyeongwoon
987f824f23
Support ARM and Android
...
Conflicts:
src/libcore/os.rs
src/librustc/back/link.rs
src/librustc/driver/driver.rs
src/librustc/metadata/loader.rs
src/librustc/middle/trans/base.rs
2013-01-13 16:43:39 -08:00
Brian Leibig
dda12f8ef6
Replace much of the REPL run code with a call to compile_upto
2012-12-28 13:51:02 -08:00
Patrick Walton
3ee1d3ebb8
rustllvm: Fix symbol resolution on Mac for rusti. rs=bugfix
2012-12-22 16:24:19 -05:00
Graydon Hoare
12c32e944d
Add license boilerplate to more files.
2012-12-10 17:32:58 -08:00
Luqman Aden
e1db959ec2
rustc: add new intrinsics - atomic_cxchg{_acq,_rel}
2012-10-21 22:23:50 -04:00
Luca Bruno
97ecde297e
Conditional usage of LLVM DebugFlag
...
DebugFlag is conditionally exported by LLVM in llvm/Support/Debug.h
in-between an #ifndef NDEBUG block; RustWrapper should not
unconditionally use it. This closes #3701 .
Signed-off-by: Luca Bruno <lucab@debian.org>
2012-10-11 07:33:49 +02:00
Zack Corr
b3f418c10e
jit: Remove old crate loading code and don't search through loaded crates (use llvm default instead)
2012-09-28 18:05:49 +10:00
Zack Corr
ca4455666e
jit: Initialize native parser so rust-repl works
2012-09-27 16:07:33 +10:00
Zack Corr
ebe6b2d15c
jit: Enable exception handling
2012-09-27 12:57:58 +10:00
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