This repository has been archived by the owner on Nov 1, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 111
ExpandStructRegs: Assertion `New->getType() == getType() && "replaceAllUses of value with new value of different type!"' failed. #176
Comments
I've been debugging a bit, and essentially the problem is, that at some point the following two lines are produced: %.field = load [2 x i64], [2 x i64]* %.index, align 8
%.elt = extractvalue [2 x i64] %.field, 0 And it then tries to replace Note that those two lines passed directly to |
I've found the problem and a fix, PR incoming. |
This has been fixed. |
bors
added a commit
to rust-lang/rust
that referenced
this issue
Apr 8, 2017
[WIP] LLVM 4.0 Upgrade Since nobody has done this yet, I decided to get things started: **Todo:** * [ ] push the relevant commits to `rust-lang/llvm` and `rust-lang/compiler-rt` * [ ] cleanup `.gitmodules` * [ ] Verify if there are any other commits from `rust-lang/llvm` which need backporting * [x] Investigate / fix debuginfo ("`<optimized out>`") failures * [x] Use correct emscripten version in docker image --- Closes #37609. --- **Test results:** * `FAIL`: `IMAGE=armhf-gnu` [travis](https://travis-ci.org/rust-lang/rust/jobs/205860539) (looks to be qemu related, or rather the client / server tools) * `FAIL`: `IMAGE=emscripten` [travis](https://travis-ci.org/rust-lang/rust/jobs/205978867) (with an updated emcc: one bad emcc optimization: emscripten-core/emscripten-fastcomp#176) ~~[travis](https://travis-ci.org/rust-lang/rust/jobs/205860559) (mainly (only?) due to emcc / rust llvm version mismatch)~~ * `FAIL`: `IMAGE=dist-powerpc64-linux` [travis](https://travis-ci.org/rust-lang/rust/jobs/206514546) (llvm unreachable when compiling core: `Invalid PPC CTR loop! UNREACHABLE executed at .../PPCCTRLoops.cpp:722!`, reported as [upstream bug #32485](https://bugs.llvm.org//show_bug.cgi?id=32485)) * `SUCCESS/TIMEOUT`: `IMAGE=dist-arm-linux` [travis](https://travis-ci.org/rust-lang/rust/jobs/206514540) (passes locally) * `SUCCESS/TIMEOUT`: `IMAGE=dist-armv7-aarch64-linux` [travis](https://travis-ci.org/rust-lang/rust/jobs/206514541) (passes locally) * `SUCCESS`: `IMAGE=arm-android` (fixed) * `SUCCESS`: `IMAGE=cross` * `SUCCESS`: `IMAGE=linux-tested-targets` * `SUCCESS`: `IMAGE=dist-android` * `SUCCESS`: `IMAGE=dist-freebsd` (fixed) * `SUCCESS`: `IMAGE=dist-fuchsia` * `SUCCESS`: `IMAGE=dist-mips-linux` * `SUCCESS`: `IMAGE=dist-mips64-linux` * `SUCCESS`: `IMAGE=dist-powerpc-linux` * `SUCCESS`: `IMAGE=dist-s390x-linux-netbsd` (fixed) * `SUCCESS`: `IMAGE=dist-x86-linux` (fixed) * `SUCCESS`: `IMAGE=i686-gnu` * `SUCCESS`: `IMAGE=i686-gnu-nopt` * `SUCCESS`: `IMAGE=x86_64-gnu-llvm-3.7` * `SUCCESS`: `IMAGE=x86_64-gnu` * `SUCCESS`: `IMAGE=x86_64-gnu-aux` * `SUCCESS`: `IMAGE=x86_64-gnu-debug` * `SUCCESS`: `IMAGE=x86_64-gnu-nopt` * `SUCCESS`: `IMAGE=x86_64-gnu-full-bootstrap` * `SUCCESS`: `IMAGE=x86_64-gnu-distcheck` * `SUCCESS`: `IMAGE=x86_64-gnu-incremental`
bors
added a commit
to rust-lang/rust
that referenced
this issue
Apr 14, 2017
LLVM 4.0 Upgrade Since nobody has done this yet, I decided to get things started: **Todo:** * [ ] push the relevant commits to `rust-lang/llvm` and `rust-lang/compiler-rt` * [ ] cleanup `.gitmodules` * [ ] Verify if there are any other commits from `rust-lang/llvm` which need backporting * [x] Investigate / fix debuginfo ("`<optimized out>`") failures * [x] Use correct emscripten version in docker image --- Closes #37609. --- **Test results:** * `FAIL`: `IMAGE=armhf-gnu` [travis](https://travis-ci.org/rust-lang/rust/jobs/205860539) (looks to be qemu related, or rather the client / server tools) * `FAIL`: `IMAGE=emscripten` [travis](https://travis-ci.org/rust-lang/rust/jobs/205978867) (with an updated emcc: one bad emcc optimization: emscripten-core/emscripten-fastcomp#176) ~~[travis](https://travis-ci.org/rust-lang/rust/jobs/205860559) (mainly (only?) due to emcc / rust llvm version mismatch)~~ * `FAIL`: `IMAGE=dist-powerpc64-linux` [travis](https://travis-ci.org/rust-lang/rust/jobs/206514546) (llvm unreachable when compiling core: `Invalid PPC CTR loop! UNREACHABLE executed at .../PPCCTRLoops.cpp:722!`, reported as [upstream bug #32485](https://bugs.llvm.org//show_bug.cgi?id=32485)) * `SUCCESS/TIMEOUT`: `IMAGE=dist-arm-linux` [travis](https://travis-ci.org/rust-lang/rust/jobs/206514540) (passes locally) * `SUCCESS/TIMEOUT`: `IMAGE=dist-armv7-aarch64-linux` [travis](https://travis-ci.org/rust-lang/rust/jobs/206514541) (passes locally) * `SUCCESS`: `IMAGE=arm-android` (fixed) * `SUCCESS`: `IMAGE=cross` * `SUCCESS`: `IMAGE=linux-tested-targets` * `SUCCESS`: `IMAGE=dist-android` * `SUCCESS`: `IMAGE=dist-freebsd` (fixed) * `SUCCESS`: `IMAGE=dist-fuchsia` * `SUCCESS`: `IMAGE=dist-mips-linux` * `SUCCESS`: `IMAGE=dist-mips64-linux` * `SUCCESS`: `IMAGE=dist-powerpc-linux` * `SUCCESS`: `IMAGE=dist-s390x-linux-netbsd` (fixed) * `SUCCESS`: `IMAGE=dist-x86-linux` (fixed) * `SUCCESS`: `IMAGE=i686-gnu` * `SUCCESS`: `IMAGE=i686-gnu-nopt` * `SUCCESS`: `IMAGE=x86_64-gnu-llvm-3.7` * `SUCCESS`: `IMAGE=x86_64-gnu` * `SUCCESS`: `IMAGE=x86_64-gnu-aux` * `SUCCESS`: `IMAGE=x86_64-gnu-debug` * `SUCCESS`: `IMAGE=x86_64-gnu-nopt` * `SUCCESS`: `IMAGE=x86_64-gnu-full-bootstrap` * `SUCCESS`: `IMAGE=x86_64-gnu-distcheck` * `SUCCESS`: `IMAGE=x86_64-gnu-incremental`
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
While working upgrading rust to LLVM 4.0 (rust-lang/rust#40123) I encountered some code being miss-compiled. I investigated this some more recently and found that
llc
actually produces an assertion when those are enabled.Compile the following with debug assertions enabled using
llc -O0 foo.ll
to reproduce:Output:
Backtrace from
gdb
:The text was updated successfully, but these errors were encountered: