about summary refs log tree commit diff
path: root/src/libstd/sys/unix/stack_overflow.rs
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2015-07-22 16:22:51 -0700
committerAlex Crichton <alex@alexcrichton.com>2015-07-22 16:22:51 -0700
commit70e8220166744045780fd1c658f796df6a99a936 (patch)
tree82d358a773f840241f04c3584c84b6b7cc5d1cbf /src/libstd/sys/unix/stack_overflow.rs
parent55428306657c5b42a26183c90fcd06e1ee7b94f5 (diff)
downloadrust-70e8220166744045780fd1c658f796df6a99a936.tar.gz
rust-70e8220166744045780fd1c658f796df6a99a936.zip
trans: Consolidate creating pass manager builders
The LTO pass in the compiler forgot to call the `LLVMRustAddBuilderLibraryInfo`
function and configure other options such as merge_functions, vectorize_slp,
etc. This ended up causing linker errors on MSVC targets because the optimizer
didn't have the right knowledge that some system functions are missing on these
platforms.

This commit consolidates creation of PassManagerBuilder instances to one
function which is then called when needed. This ensures that the pass manager is
always correctly configured with the various target-specific information that
LLVM needs.

Overall, this fixes `-C lto -C opt-level=3` on 32-bit MSVC targets.
Diffstat (limited to 'src/libstd/sys/unix/stack_overflow.rs')
0 files changed, 0 insertions, 0 deletions