about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-05-09 16:19:21 +0000
committerbors <bors@rust-lang.org>2021-05-09 16:19:21 +0000
commit7a2f4468892a9bf694b844f1fa1032779320c7e5 (patch)
tree424cb36ea9020f0ddd58207c2117607670595a12 /src
parentbba8710616e5e4722215c0d6b27abaedca03ebad (diff)
parent1b928ff8f8b069f45fde420dabf34d9c53b9cb3a (diff)
downloadrust-7a2f4468892a9bf694b844f1fa1032779320c7e5.tar.gz
rust-7a2f4468892a9bf694b844f1fa1032779320c7e5.zip
Auto merge of #83894 - nikic:newpm, r=nagisa
Improve support for NewPM

This adds various missing bits of support for NewPM and allows us to successfully run stage 2 tests with NewPM enabled.

This does not yet enable NewPM by default, as there are still known issue on LLVM 12 (such as a weak fat LTO pipeline). The plan is to make the switch after we update to LLVM 13.
Diffstat (limited to 'src')
m---------src/llvm-project0
-rw-r--r--src/test/ui/backtrace-debuginfo.rs7
-rw-r--r--src/test/ui/invalid/invalid-llvm-passes.rs4
-rw-r--r--src/test/ui/invalid/invalid-llvm-passes.stderr4
4 files changed, 9 insertions, 6 deletions
diff --git a/src/llvm-project b/src/llvm-project
-Subproject b61c24f3521303d442fa86fe691bc8e6acc1510
+Subproject c78cf18a07f19faa3e51f15220bca39f47d437e
diff --git a/src/test/ui/backtrace-debuginfo.rs b/src/test/ui/backtrace-debuginfo.rs
index 4862883fd96..b976c3a13bd 100644
--- a/src/test/ui/backtrace-debuginfo.rs
+++ b/src/test/ui/backtrace-debuginfo.rs
@@ -6,16 +6,11 @@
 // Unfortunately, LLVM has no "disable" option for this, so we have to set
 // "enable" to 0 instead.
 
-// compile-flags:-g -Cllvm-args=-enable-tail-merge=0 -Cllvm-args=-opt-bisect-limit=0
+// compile-flags:-g -Copt-level=0 -Cllvm-args=-enable-tail-merge=0
 // compile-flags:-Cforce-frame-pointers=yes
 // ignore-pretty issue #37195
 // ignore-emscripten spawning processes is not supported
 // ignore-sgx no processes
-// normalize-stderr-test ".*\n" -> ""
-
-// Note that above `-opt-bisect-limit=0` is used to basically disable
-// optimizations. It creates tons of output on stderr, hence we normalize
-// that away entirely.
 
 use std::env;
 
diff --git a/src/test/ui/invalid/invalid-llvm-passes.rs b/src/test/ui/invalid/invalid-llvm-passes.rs
new file mode 100644
index 00000000000..ca3c6230af0
--- /dev/null
+++ b/src/test/ui/invalid/invalid-llvm-passes.rs
@@ -0,0 +1,4 @@
+// build-fail
+// compile-flags: -Cpasses=unknown-pass -Z new-llvm-pass-manager=yes
+
+fn main() {}
diff --git a/src/test/ui/invalid/invalid-llvm-passes.stderr b/src/test/ui/invalid/invalid-llvm-passes.stderr
new file mode 100644
index 00000000000..ae1f85e41e4
--- /dev/null
+++ b/src/test/ui/invalid/invalid-llvm-passes.stderr
@@ -0,0 +1,4 @@
+error: failed to run LLVM passes: unknown pass name 'unknown-pass'
+
+error: aborting due to previous error
+