about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
AgeCommit message (Collapse)AuthorLines
2013-07-28Add an atomic fence intrinsicJames Miller-1/+4
2013-07-19debuginfo: Support for tuple-style enums (WIP)Michael Woerister-42/+66
2013-07-19debuginfo: Added support for c-style enums.Michael Woerister-0/+30
2013-06-17Fixed rebase fallout .Vadim Chugunov-1/+3
2013-06-17Fixed remaining issues to pass debug-test/* tests.Vadim Chugunov-0/+11
Made debugger scripts source line insensitive.
2013-06-17Made the while DebugContext mutable, not just created_* hashesVadim Chugunov-17/+28
Disabled create_arg
2013-06-17Use DIBuilder in debuginfoVadim Chugunov-0/+201
2013-06-13Don't run passes again on JIT codeAlex Crichton-14/+0
These passes are already run beforehand, no need to do them twice.
2013-06-13Revert "Revert "Have JIT execution take ownership of the LLVMContextRef""Alex Crichton-18/+12
This reverts commit 19adece68b00bd1873499cca6f1537750608d769.
2013-06-13Revert "Revert "Remove all usage of the global LLVMContextRef""Alex Crichton-5/+24
This reverts commit 541c657a738006d78171aa261125a6a46f283b35.
2013-06-13Revert "Remove all usage of the global LLVMContextRef"Brian Anderson-24/+5
This reverts commit 779191cd4b8719e8efdf69fb6da93e2a8905ca1d. Conflicts: src/librustc/middle/trans/base.rs src/librustc/middle/trans/common.rs
2013-06-13Revert "Have JIT execution take ownership of the LLVMContextRef"Brian Anderson-12/+18
This reverts commit 5c5095d25e3652c434c8d4ec178e6844877e3c2d. Conflicts: src/librusti/rusti.rc
2013-06-10Have JIT execution take ownership of the LLVMContextRefAlex Crichton-18/+12
Also stop leaking the ExecutionEngine created for jit code by forcibly disposing of it after the JIT code has finished executing
2013-06-10Remove all usage of the global LLVMContextRefAlex Crichton-5/+24
This allows parallel usage of the rustc library
2013-05-29Refactor optimization pass handling.James Miller-45/+3
Refactor the optimization passes to explicitly use the passes. This commit just re-implements the same passes as were already being run. It also adds an option (behind `-Z`) to run the LLVM lint pass on the unoptimized IR.
2013-05-20rustllvm: Use target alignment for atomic load/storeBrian Anderson-6/+8
2013-05-17Fix AtomicLoad builder codeJames Miller-1/+1
2013-05-12Adds atomic_load, atomic_load_acq, atomic_store, and atomic_store_rel ↵Matthijs Hofstra-0/+22
intrinsics. The default versions (atomic_load and atomic_store) are sequentially consistent. The atomic_load_acq intrinsic acquires as described in [1]. The atomic_store_rel intrinsic releases as described in [1]. [1]: http://llvm.org/docs/Atomics.html
2013-05-03add gitattributes and fix whitespace issuesDaniel Micay-11/+11
2013-04-22Choose target featuresSeo Sanghyeon-1/+2
2013-04-19llvm: Fixes for RustWrapper.Patrick Walton-6/+0
2013-04-19rustllvm: Fix RustWrapper.cppPatrick Walton-7/+16
2013-04-19librustc: Implement fast-ffi and use it in various placesPatrick Walton-0/+1
2013-04-10rustllvm: Initialize target analysis passesBrian Anderson-1/+4
Without this the target info for certain optimizations will not be created and the compiler will sometimes crash
2013-04-10rustllvm: followup latest LLVMYoung-il Choi-7/+13
2013-04-05rustllvm: Only initialize command-line arguments onceTim Chevalier-4/+12
In my WIP on rustpkg, I was calling driver code that calls LLVMRustWriteOutputFile more than once. This was making LLVM unhappy, since that function has code that initializes the command-line options for LLVM, and I guess you can't do that more than once. So, check if they've already been initialized.
2013-03-19Enable arm error handling abi 2ILyoan-2/+3
2013-03-19Enable arm error handling abiILyoan-0/+5
2013-03-15Normalize target triple so that llvm can recognize target os correctlyILyoan-2/+2
2013-03-13Revamp foreign code not to consider the Rust modes. This requiresNiko Matsakis-2/+2
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-12Wrap llvm::InlineAsm::AsmDialectLuqman Aden-3/+3
2013-03-12Parse inline assembly.Luqman Aden-0/+12
2013-03-03rustc: MIPS32 supportJyun-Yan You-0/+12
2013-01-13Support ARM and Androidkyeongwoon-0/+12
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
2012-12-28Replace much of the REPL run code with a call to compile_uptoBrian Leibig-1/+1
2012-12-22rustllvm: Fix symbol resolution on Mac for rusti. rs=bugfixPatrick Walton-0/+7
2012-12-10Add license boilerplate to more files.Graydon Hoare-6/+9
2012-10-21rustc: add new intrinsics - atomic_cxchg{_acq,_rel}Luqman Aden-0/+8
2012-10-11Conditional usage of LLVM DebugFlagLuca Bruno-0/+2
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-09-28jit: Remove old crate loading code and don't search through loaded crates ↵Zack Corr-11/+2
(use llvm default instead)
2012-09-27jit: Initialize native parser so rust-repl worksZack Corr-0/+1
2012-09-27jit: Enable exception handlingZack Corr-0/+1
2012-09-27jit: Separate JIT execution into two functions and load crates before main ↵Zack Corr-19/+62
lookup
2012-08-31jit: Clean rustllvm code, let rustc expose __morestack instead of linking in ↵Zack Corr-27/+23
libmorestack and return _rust_main and call it from rustc
2012-08-31jit: Forgot header for inlining passZack Corr-0/+1
2012-08-31jit: Add passes and cleanup codeZack Corr-19/+15
2012-08-31jit: Link in __morestack and make it resolvable by JITZack Corr-9/+7
2012-08-31jit: Add custom memory manager (still segfaulting)Zack Corr-9/+236
2012-08-31Add experimental JIT compilerZack Corr-10/+61
2012-07-25Added debug flag to enable LLVM debug output.Elliott Slaughter-0/+5