Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update LLVM submodule #53611

Merged
merged 1 commit into from
Sep 1, 2018
Merged

Update LLVM submodule #53611

merged 1 commit into from
Sep 1, 2018

Conversation

alexcrichton
Copy link
Member

This commit updates the LLVM submodule to the current trunk of LLVM itself. This
brings a few notable improvements for the wasm target:

  • Support for wasm atomic instructions is greatly improved
  • Renamed memory wasm intrinsics are fully supported
  • LLD has fixed a quadratic execution bug with large numbers of relocations in
    wasm files.

The compiler-rt submodule has been updated in tandem as well.

@rust-highfive
Copy link
Collaborator

r? @nikomatsakis

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive
Copy link
Collaborator

⚠️ Warning ⚠️

  • These commits modify submodules.

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 22, 2018
@nikomatsakis
Copy link
Contributor

@bors r+

@bors

This comment has been minimized.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 22, 2018
@bors

This comment has been minimized.

@bors

This comment has been minimized.

@rust-highfive

This comment has been minimized.

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 25, 2018
@alexcrichton
Copy link
Member Author

@tromey as a heads up I've disabled LLDB here as it looks like LLDB has some custom patches which don't rebase (and I've avoided updating the clang submodule as well for now in addition)

@alexcrichton

This comment has been minimized.

@bors

This comment has been minimized.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 25, 2018
@tromey
Copy link
Contributor

tromey commented Aug 25, 2018

@tromey as a heads up I've disabled LLDB here as it looks like LLDB has some custom patches which don't rebase (and I've avoided updating the clang submodule as well for now in addition)

I will look at it when I am no longer very ill.

However if disabling lldb is going to be how upgrades are done, then I think we should rethink the approach. Is there a way to not have lldb in-tree and still have it appear in rustup?

@bors

This comment has been minimized.

@bors

This comment has been minimized.

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 26, 2018
@rust-highfive

This comment has been minimized.

@kennytm kennytm added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 26, 2018
@alexcrichton
Copy link
Member Author

I've bisected that failure to https://bugs.llvm.org/show_bug.cgi?id=38711, I'll give it a few days to see if we can get a fix in

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Aug 30, 2018
@bors

This comment has been minimized.

@bors

This comment has been minimized.

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 30, 2018
@rust-highfive

This comment has been minimized.

@alexcrichton
Copy link
Member Author

@bors: r=nikomatsakis

@bors
Copy link
Contributor

bors commented Aug 30, 2018

📌 Commit 9f5ce02a860a51b5e01fc6f1fe07a776b5858d5c has been approved by nikomatsakis

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 30, 2018
@bors
Copy link
Contributor

bors commented Aug 31, 2018

⌛ Testing commit 9f5ce02a860a51b5e01fc6f1fe07a776b5858d5c with merge 91963c93f35d3968b29cbb01826d1f5f97abd7cb...

@bors
Copy link
Contributor

bors commented Aug 31, 2018

💔 Test failed - status-travis

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 31, 2018
@rust-highfive
Copy link
Collaborator

The job dist-various-1 of your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
[00:21:48] [ 53%] Updating X86GenCallingConv.inc...
[00:21:48] [ 53%] Updating X86GenDAGISel.inc...
[00:21:48] [ 53%] Updating X86GenDisassemblerTables.inc...
[00:21:48] [ 53%] Updating X86GenEVEX2VEXTables.inc...
[00:21:48] warning: SubRegIndex SystemZ::subreg_h64 and SystemZ::subreg_h32 compose ambiguously as SystemZ::subreg_hh32 or SystemZ::subreg_h32
[00:21:48] [ 54%] Building NVPTXGenRegisterInfo.inc...
[00:21:48] [ 54%] Building SystemZGenSubtargetInfo.inc...
[00:21:48] [ 54%] Updating X86GenGlobalISel.inc...
[00:21:48] [ 54%] Updating X86GenInstrInfo.inc...
---
[00:22:51] [ 82%] Built target LLVMHexagonDesc
[00:22:51] Scanning dependencies of target LLVMWebAssemblyDisassembler
[00:22:52] [ 82%] Building CXX object lib/Target/WebAssembly/Disassembler/CMakeFiles/LLVMWebAssemblyDisassembler.dir/WebAssemblyDisassembler.cpp.o
[00:22:52] In file included from /checkout/src/llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp:63:0:
[00:22:52] /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/lib/Target/WebAssembly/WebAssemblyGenDAGISel.inc: In member function 'virtual bool {anonymous}::WebAssemblyDAGToDAGISel::CheckNodePredicate(llvm::SDNode*, unsigned int) const':
[00:22:52]  return (Imm & ((1UL << 8) - 1)) == Imm;
[00:22:52]                                  ^
[00:22:52] /checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/lib/Target/WebAssembly/WebAssemblyGenDAGISel.inc:27842:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
[00:22:52]  return (Imm & ((1UL << 16) - 1)) == Imm;
---
[00:23:23] [ 97%] Building CXX object tools/opt/CMakeFiles/opt.dir/AnalysisWrappers.cpp.o
[00:23:23] [ 97%] Linking CXX executable ../../bin/llvm-exegesis
[00:23:24] [ 97%] Built target llvm-stress
[00:23:24] Scanning dependencies of target llvm-yaml-numeric-parser-fuzzer
[00:23:24] [ 97%] Building CXX object tools/llvm-yaml-numeric-parser-fuzzer/CMakeFiles/llvm-yaml-numeric-parser-fuzzer.dir/DummyYAMLNumericParserFuzzer.cpp.o
[00:23:24] [ 97%] Built target yaml2obj
[00:23:24] [ 97%] Building CXX object tools/llvm-yaml-numeric-parser-fuzzer/CMakeFiles/llvm-yaml-numeric-parser-fuzzer.dir/yaml-numeric-parser-fuzzer.cpp.o
[00:23:24] Scanning dependencies of target llvm-split
[00:23:24] [ 97%] Building CXX object tools/llvm-split/CMakeFiles/llvm-split.dir/llvm-split.cpp.o
---
[01:10:22]    Compiling core v0.0.0 (file:///checkout/src/libcore)
[01:10:22]    Compiling compiler_builtins v0.0.0 (file:///checkout/src/rustc/compiler_builtins_shim)
[01:10:42] [RUSTC-TIMING] core test:false 19.802
[01:10:42] error[E0308]: mismatched types
[01:10:42]   --> rustc/compiler_builtins_shim/../../libcompiler_builtins/src/riscv32.rs:10:22
[01:10:42]    |
[01:10:42] 10 |                 r += b;
[01:10:42] 
[01:10:42] 
[01:10:42] error[E0277]: cannot add-assign `u32` to `usize`
[01:10:42]   --> rustc/compiler_builtins_shim/../../libcompiler_builtins/src/riscv32.rs:10:19
[01:10:42]    |
[01:10:42] 10 |                 r += b;
[01:10:42]    |                   ^^ no implementation for `usize += u32`
[01:10:42]    |
[01:10:42]    = help: the trait `core::ops::AddAssign<u32>` is not implemented for `usize`
[01:10:42] error[E0308]: mismatched types
[01:10:42] error[E0308]: mismatched types
[01:10:42]   --> rustc/compiler_builtins_shim/../../libcompiler_builtins/src/riscv32.rs:16:9
[01:10:42]    |
[01:10:42] 4  |     pub extern "C" fn __mulsi3(a: u32, b: u32) -> u32 {
[01:10:42]    |                                                   --- expected `u32` because of return type
[01:10:42] 16 |         r
[01:10:42]    |         ^ expected u32, found usize
[01:10:42] 
[01:10:43] error: aborting due to 3 previous errors
[01:10:43] error: aborting due to 3 previous errors
[01:10:43] 
[01:10:43] Some errors occurred: E0277, E0308.
[01:10:43] For more information about an error, try `rustc --explain E0277`.
[01:10:43] [RUSTC-TIMING] compiler_builtins test:false 0.865
[01:10:43] error: Could not compile `compiler_builtins`.
[01:10:43] 
[01:10:43] Caused by:
[01:10:43]   process didn't exit successfully: `/checkout/obj/build/bootstrap/debug/rustc --crate-name compiler_builtins rustc/compiler_builtins_shim/../../libcompiler_builtins/src/lib.rs --color always --error-format json --crate-type lib --emit=dep-info,link -C opt-level=2 --cfg 'feature="c"' --cfg 'feature="compiler-builtins"' --cfg 'feature="default"' --cfg 'feature="mem"' --cfg 'feature="rustbuild"' -C metadata=eed3fb694e7ad6eb -C extra-filename=-eed3fb694e7ad6eb --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/riscv32imac-unknown-none-elf/release/deps --target riscv32imac-unknown-none-elf -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/riscv32imac-unknown-none-elf/release/deps -L dependency=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/release/deps --extern core=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/riscv32imac-unknown-none-elf/release/deps/libcore-e8a6418026c63426.rlib -L native=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-std/riscv32imac-unknown-none-elf/release/build/compiler_builtins-e5cd54d34fbe1eb2/out --cfg use_c -l static=compiler-rt` (exit code: 1)
[01:10:43] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "riscv32imac-unknown-none-elf" "-j" "4" "--release" "--locked" "--color" "always" "--features" "c mem" "-p" "alloc" "-p" "compiler_builtins" "--manifest-path" "/checkout/src/rustc/compiler_builtins_shim/Cargo.toml" "--message-format" "json"
[01:10:43] expected success, got: exit code: 101
[01:10:43] thread 'main' panicked at 'cargo must succeed', bootstrap/compile.rs:1155:9
[01:10:43] travis_fold:end:stage2-std

[01:10:43] travis_time:end:stage2-std:start=1535755353560238041,finish=1535755374536143955,duration=20975905914

---
travis_time:end:2fedf058:start=1535755377065899121,finish=1535755377073315304,duration=7416183
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:009e340c
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:00b9947f
travis_time:start:00b9947f
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:223a6d1e
$ dmesg | grep -i kill

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

This commit updates the LLVM submodule to the current trunk of LLVM itself. This
brings a few notable improvements for the wasm target:

* Support for wasm atomic instructions is greatly improved
* Renamed memory wasm intrinsics are fully supported
* LLD has fixed a quadratic execution bug with large numbers of relocations in
  wasm files.

The compiler-rt submodule has been updated in tandem as well.
@alexcrichton
Copy link
Member Author

@bors: r=nikomatsakis

@bors
Copy link
Contributor

bors commented Aug 31, 2018

📌 Commit 6c10142 has been approved by nikomatsakis

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 31, 2018
@bors
Copy link
Contributor

bors commented Sep 1, 2018

⌛ Testing commit 6c10142 with merge 06a59da...

bors added a commit that referenced this pull request Sep 1, 2018
Update LLVM submodule

This commit updates the LLVM submodule to the current trunk of LLVM itself. This
brings a few notable improvements for the wasm target:

* Support for wasm atomic instructions is greatly improved
* Renamed memory wasm intrinsics are fully supported
* LLD has fixed a quadratic execution bug with large numbers of relocations in
  wasm files.

The compiler-rt submodule has been updated in tandem as well.
@bors
Copy link
Contributor

bors commented Sep 1, 2018

☀️ Test successful - status-appveyor, status-travis
Approved by: nikomatsakis
Pushing 06a59da to master...

@bors bors merged commit 6c10142 into rust-lang:master Sep 1, 2018
@alexcrichton alexcrichton deleted the update-llvm branch September 1, 2018 21:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants