| Age | Commit message (Collapse) | Author | Lines |
|
This commit updates LLVM with some tweaks to the integer <-> floating point
conversion instructions to ensure that `as` in Rust doesn't trap.
Closes #46298
|
|
This commit allocates a builder to running wasm32 tests on Travis. Not all test
suites pass right now so this is starting out with just the run-pass and the
libcore test suites. This'll hopefully give us a pretty broad set of coverage
for integration in rustc itself as well as a somewhat broad coverage of the llvm
backend itself through integration/unit tests.
|
|
This commit updates LLVM to fix #45511 (https://reviews.llvm.org/D39981) and
also reenables ThinLTO for libtest now that we shouldn't hit #45768. This also
opportunistically enables ThinLTO for libstd which was previously blocked
(#45661) on test failures related to debuginfo with a presumed cause of #45511.
Closes #45511
|
|
Emit better debugging information for a trait object pointer. In
particular, now:
* The fields are explicitly represented in the DWARF;
* DWARF for the vtable itself is emitted; and
* The DWARF for the vtable's type has a DW_AT_containing_type which
points to the concrete type for which the vtable was emitted. This is
a small DWARF extension, that allows debuggers to determine the real
type of the object to which a trait object points.
I'll submit the gdb patch to take advantage of this new debuginfo once
this lands.
The vtable type is not currently complete -- it doesn't include members
for the pointers it contains. This information was not needed for this
feature.
This addresses part 1 of #1563.
|
|
Fixes #45034
|
|
Now that the upstream LLVM bug is now fixed this commit cherry-picks the commit
onto our LLVM and then re-enables the ThinLTO paths for MIPS.
Closes #45654
|
|
This commit updates LLVM with a patch that's landed upstream to fix an assertion
that was tripping when ThinLTO was activated. Unfortunately I wasn't able to get
a reduced test case, but I've tested manually on the affected crates and the
assertion is indeed fixed.
Closes #45131
|
|
|
|
This change will fix the issue from
https://github.com/japaric/svd2rust/pull/130
|
|
This still does not work on 32-bit archs because of an LLVM limitation,
but this is only an optimization, so let's push it on 64-bit only for now.
Fixes #37945
|
|
This commit implements stack probes on x86/x86_64 using the freshly landed
support upstream in LLVM. The purpose of stack probes here are to guarantee a
segfault on stack overflow rather than having a chance of running over the guard
page already present on all threads by accident.
At this time there's no support for any other architecture because LLVM itself
does not have support for other architectures.
|
|
Fixes #42893.
|
|
check for some targets, notably ARMv6-M.
|
|
Fixes #40883.
|
|
So ARM had quite a few codegen bugs on LLVM 4.0 which are fixed on LLVM
trunk. This backports 5 of them:
r297871 - ARM: avoid clobbering register in v6 jump-table expansion.
- fixes rust-lang/rust#42248
r294949 - [Thumb-1] TBB generation: spot redefinitions of index
r295816 - [ARM] Fix constant islands pass.
r300870 - [Thumb-1] Fix corner cases for compressed jump tables
r302650 - [IfConversion] Add missing check in
IfConversion/canFallThroughTo
- unblocks rust-lang/rust#39409
|
|
|
|
Includes https://github.com/rust-lang/llvm/pull/80
Includes https://github.com/rust-lang/llvm/pull/79
Also adds tests and thus fixes #24194
|
|
This change will allow rust code to have proper support for division
and multiplication using libgcc libcalls.
|
|
|
|
The bug was reported by @akovaski here:
https://github.com/rust-embedded/rfcs/issues/20#issuecomment-296482148
|
|
|
|
|
|
|
|
|
|
Fixes #40593.
|
|
pick up a fix to LLVM PR29151.
|
|
|
|
|
|
fixes #38406
|
|
Fixes #37829
|
|
|
|
|
|
Update subproject commit.
|
|
GetCaseResults"
|
|
|
|
pass.
|
|
|
|
Fixes #36474
|
|
|
|
|
|
|
|
Point llvm @bitshifter branch until PR accepted
Use today's date for LLVM auto clean trigger
Update LLVM submodule to point at rust-lang fork.
Handle case when target is set
|
|
|
|
@tmiasko did some digging and discovered that
https://reviews.llvm.org/D22858 may be relevant.
|
|
|
|
|
|
The 3.9 release of LLVM isn't out yet, but this moves us onto that branch to
start tracking it.
|
|
|
|
|
|
|