about summary refs log tree commit diff
path: root/src/bootstrap/defaults
diff options
context:
space:
mode:
authorNilstrieb <48135649+Nilstrieb@users.noreply.github.com>2024-02-18 22:51:17 +0100
committerNilstrieb <48135649+Nilstrieb@users.noreply.github.com>2024-02-19 17:26:41 +0100
commit9e68d89cc87c5413a6667bf553a80942804d444e (patch)
treeeb7f82549232e3a1a48e7c34cbe84b797b7daaf1 /src/bootstrap/defaults
parente29a1530f670d66f617f7aac8601920a87263ac6 (diff)
downloadrust-9e68d89cc87c5413a6667bf553a80942804d444e.tar.gz
rust-9e68d89cc87c5413a6667bf553a80942804d444e.zip
Remove the "codegen" profile from bootstrap
This profile originally made sense when download-ci-llvm = if-unchanged
didn't exist and we had the bad tradeoff of "never modify or always
compile".

Thankfully, these grim times are over and we have discovered clean
water, so the only differentiator between the two profiles is the
codegen profile having LLVM assertions. Adding them doesn't cause that
much of a slowdown, <10% on UI tests from an unscientific benchmark.

It also had LLVM warnings when compiling, which makes sense for every
compiler contributor brave enough to compile LLVM.

The way I removed is by just issueing a nice error message. Given that
everyone with this profile should be a contributor and not someone like
a distro who is more upset when things break, this should be fine.
If it isn't, we can always fall back to just letting codegen mean
compiler.
Diffstat (limited to 'src/bootstrap/defaults')
-rw-r--r--src/bootstrap/defaults/config.codegen.toml28
-rw-r--r--src/bootstrap/defaults/config.compiler.toml5
2 files changed, 5 insertions, 28 deletions
diff --git a/src/bootstrap/defaults/config.codegen.toml b/src/bootstrap/defaults/config.codegen.toml
deleted file mode 100644
index cf336d7a636..00000000000
--- a/src/bootstrap/defaults/config.codegen.toml
+++ /dev/null
@@ -1,28 +0,0 @@
-# These defaults are meant for contributors to the compiler who modify codegen or LLVM
-[build]
-# Contributors working on the compiler will probably expect compiler docs to be generated.
-compiler-docs = true
-
-[llvm]
-# This enables debug-assertions in LLVM,
-# catching logic errors in codegen much earlier in the process.
-assertions = true
-# enable warnings during the llvm compilation
-enable-warnings = true
-# build llvm from source
-download-ci-llvm = "if-unchanged"
-
-[rust]
-# This enables `RUSTC_LOG=debug`, avoiding confusing situations
-# where adding `debug!()` appears to do nothing.
-# However, it makes running the compiler slightly slower.
-debug-logging = true
-# This greatly increases the speed of rebuilds, especially when there are only minor changes. However, it makes the initial build slightly slower.
-incremental = true
-# Print backtrace on internal compiler errors during bootstrap
-backtrace-on-ice = true
-# Make the compiler and standard library faster to build, at the expense of a ~20% runtime slowdown.
-lto = "off"
-# Forces frame pointers to be used with `-Cforce-frame-pointers`.
-# This can be helpful for profiling at a small performance cost.
-frame-pointers = true
diff --git a/src/bootstrap/defaults/config.compiler.toml b/src/bootstrap/defaults/config.compiler.toml
index 5c2d476d98e..178c6e9056c 100644
--- a/src/bootstrap/defaults/config.compiler.toml
+++ b/src/bootstrap/defaults/config.compiler.toml
@@ -19,5 +19,10 @@ lto = "off"
 frame-pointers = true
 
 [llvm]
+# This enables debug-assertions in LLVM,
+# catching logic errors in codegen much earlier in the process.
+assertions = true
+# Enable warnings during the LLVM compilation (when LLVM is changed, causing a compilation)
+enable-warnings = true
 # Will download LLVM from CI if available on your platform.
 download-ci-llvm = "if-unchanged"