about summary refs log tree commit diff
path: root/src/rustllvm/llvm-auto-clean-trigger
AgeCommit message (Collapse)AuthorLines
2015-12-02Disable the null check elimination passBjörn Steinbrink-1/+1
This pass causes mis-optimizations in some cases and is probably no longer really important for us, so let's disable it for now. Fixes #30081
2015-10-18Update LLVM fork to include a backported fix for broken debug locationsBjörn Steinbrink-1/+1
Fixes #28947
2015-09-11Update LLVM to fix nightly build failuresBjörn Steinbrink-1/+1
2015-09-02Update to LLVM 3.7Alex Crichton-1/+1
This is a rebase of our few small patches on top of the release of LLVM 3.7, picking up those last few bug fixes on the way up to 3.7!
2015-07-16Update LLVMAlex Crichton-1/+1
There's a number of goodies in this LLVM update: * This contains a fix for https://llvm.org/bugs/show_bug.cgi?id=23957 which should help us bootstrap farther on 32-bit MSVC targets. * There is better support for writing multiple flavors of archives, allowing us to use the built-in LLVM support instead of the system `ar` on all current platforms of the compiler. * A number of other minor bug fixes and performance improvements to unblock various other pieces of work.
2015-06-16rustc: Update LLVMAlex Crichton-1/+1
This commit updates the LLVM submodule in use to the current HEAD of the LLVM repository. This is primarily being done to start picking up unwinding support for MSVC, which is currently unimplemented in the revision of LLVM we are using. Along the way a few changes had to be made: * As usual, lots of C++ debuginfo bindings in LLVM changed, so there were some significant changes to our RustWrapper.cpp * As usual, some pass management changed in LLVM, so clang was re-scrutinized to ensure that we're doing the same thing as clang. * Some optimization options are now passed directly into the `PassManagerBuilder` instead of through CLI switches to LLVM. * The `NoFramePointerElim` option was removed from LLVM, favoring instead the `no-frame-pointer-elim` function attribute instead. Additionally, LLVM has picked up some new optimizations which required fixing an existing soundness hole in the IR we generate. It appears that the current LLVM we use does not expose this hole. When an enum is moved, the previous slot in memory is overwritten with a bit pattern corresponding to "dropped". When the drop glue for this slot is run, however, the switch on the discriminant can often start executing the `unreachable` block of the switch due to the discriminant now being outside the normal range. This was patched over locally for now by having the `unreachable` block just change to a `ret void`.
2015-03-05updating llvm-auto-clean-trigger tooDave Huseby-1/+1
2015-02-21Update LLVM to rust-llvm-2015-02-19Björn Steinbrink-1/+1
Fixes #22159 Fixes #21721
2015-02-16Update LLVM to release_36@229036Björn Steinbrink-1/+1
Fixes the crash blocking #21886.
2015-02-12Update LLVM to disable asserts in the PassInfo cacheBjörn Steinbrink-1/+1
Fixes #22233
2015-02-09Update llvm to rust-llvm-2015-02-09Björn Steinbrink-1/+1
Fixes #21996
2015-02-02Test fixes and rebase conflictsAlex Crichton-1/+1
2015-01-30Test fixes and rebase conflictsAlex Crichton-1/+1
Also some tidying up of a bunch of crate attributes
2015-01-18Redo Segmented stack support for DragonFlyMichael Neumann-1/+1
It got accidentially reverted in 44440e5.
2015-01-13Bump to ensure llvm is rebuiltRicho Healey-1/+1
2015-01-05Ensure that LLVM is rebuilt with recent changesMichael Neumann-1/+1
2015-01-03Initial version of AArch64 support.Akos Kiss-1/+1
Adds AArch64 knowledge to: * configure, * make files, * sources, * tests, and * documentation.
2014-10-04Update LLVM.Luqman Aden-1/+1
2014-09-08Update LLVM to fix a crash in the MergeFunc passBjörn Steinbrink-1/+1
2014-08-05Added clarification regarding rust_try_inner.Vadim Chugunov-1/+1
2014-08-04Update LLVMVadim Chugunov-1/+1
2014-07-29Update LLVM to fix miscompilations due to wrongfully removed lifetime intrinsicsBjörn Steinbrink-1/+1
Fixes #15972 and #16011.
2014-07-24Updated LLVM for iOSValerii Hiora-1/+1
There should be no more problems during SjLj pass
2014-07-21Update LLVM to address an issue with range metadata in hoisted loadsJakub Wieczorek-1/+1
Fixes #15793.
2014-07-21Update LLVM to include NullCheckElimination passBjörn Steinbrink-1/+1
Fixes #11751
2014-06-21Update LLVMBjörn Steinbrink-1/+1
To fix #8106, we need an LLVM version that contains r211082 aka 0dee6756 which fixes a bug that blocks that issue. There have been some tiny API changes in LLVM, and cmpxchg changed its return type. The i1 part of the new return type is only interesting when using the new weak cmpxchg, which we don't do.
2014-05-22Update to LLVM head and mark various ptrs as nonnull.Luqman Aden-1/+1
2014-04-17Upgrade LLVMAlex Crichton-1/+1
This comes with a number of fixes to be compatible with upstream LLVM: * Previously all monomorphizations of "mem::size_of()" would receive the same symbol. In the past LLVM would silently rename duplicated symbols, but it appears to now be dropping the duplicate symbols and functions now. The symbol names of monomorphized functions are now no longer solely based on the type of the function, but rather the type and the unique hash for the monomorphization. * Split stacks are no longer a global feature controlled by a flag in LLVM. Instead, they are opt-in on a per-function basis through a function attribute. The rust #[no_split_stack] attribute will disable this, otherwise all functions have #[split_stack] attached to them. * The compare and swap instruction now takes two atomic orderings, one for the successful case and one for the failure case. LLVM internally has an implementation of calculating the appropriate failure ordering given a particular success ordering (previously only a success ordering was specified), and I copied that into the intrinsic translation so the failure ordering isn't supplied on a source level for now. * Minor tweaks to LLVM's API in terms of debuginfo, naming, c++11 conventions, etc.
2014-02-25Update LLVMAlex Crichton-1/+1
Upstream LLVM has changed slightly such that our PassWrapper.cpp no longer comiles (travis errors). This updates the bundled LLVM to the latest nightly which will hopefully fix the travis errors we're seeing.
2014-02-14Upgrade LLVMAlex Crichton-1/+1
Includes an upstream commit by pcwalton to improve codegen of our enums getting moved around.
2014-01-29Upgrade LLVMAlex Crichton-1/+1
This upgrade brings commit by @eddyb to help optimizations of virtual calls in a few places (https://github.com/llvm-mirror/llvm/commit/6d2bd95) as well as a commit by @c-a to *greatly* improve the runtime of the optimization passes (https://github.com/rust-lang/llvm/pull/3). Nice work to these guys!
2014-01-23update llvmaydin.kim-1/+1
2014-01-23Build llvm-extract (needed by codegen tests)Alex Crichton-1/+1
2013-12-29Update llvm.Luqman Aden-1/+1
2013-12-18llvm: Disable pthread on mingwklutzy-1/+1
llvm supports both win32 native threads and pthread, but configure tries to find pthread first. This manually disables pthread to use native api. This removes libpthreads-2.dll dependency on librustc.
2013-12-05Remove unused upcallsAlex Crichton-1/+1
The main one removed is rust_upcall_reset_stack_limit (continuation of #10156), and this also removes the upcall_trace function. The was hidden behind a `-Z trace` flag, but if you attempt to use this now you'll get a linker error because there is no implementation of the 'upcall_trace' function. Due to this no longer working, I decided to remove it entirely from the compiler (I'm also a little unsure on what it did in the first place).
2013-12-05Update LLVM and jettison jit supportAlex Crichton-1/+1
LLVM's JIT has been updated numerous times, and we haven't been tracking it at all. The existing LLVM glue code no longer compiles, and the JIT isn't used for anything currently. This also rebases out the FixedStackSegment support which we have added to LLVM. None of this is still in use by the compiler, and there's no need to keep this functionality around inside of LLVM. This is needed to unblock #10708 (where we're tripping an LLVM assertion).
2013-09-23Disable zlib/libffi when configuring LLVMAlex Crichton-1/+1
This should help bring fewer dependencies in to the snapshots. Closes #9397
2013-09-22touch LLVM clean triggerDaniel Micay-1/+1
2013-09-15Upgrade LLVM to close #9117Alex Crichton-1/+1
2013-09-01touch llvm clean triggerDaniel Micay-1/+1
2013-08-20Upgrade llvm to current HEADAlex Crichton-1/+1
* This has one workaround patch (everything's testing just fine...) * I reworked the fixedstacksegment attribute to be specified with a string rather than using a keyword and an integer and modifying the parser * I added a "no-split-stack" attribute along the same lines as the "fixedstacksegment" attribute for #1226
2013-08-04Update LLVMAlex Crichton-1/+1
2013-07-03force LLVM cleanDaniel Micay-1/+1
2013-07-01Turn on using LLVM threadsafelyAlex Crichton-0/+4
2013-06-27mk: add mechanisms for triggering clean-llvm builds from commitsGraydon Hoare-0/+0