diff options
| author | Daniel Micay <danielmicay@gmail.com> | 2013-09-26 16:54:15 -0400 |
|---|---|---|
| committer | Daniel Micay <danielmicay@gmail.com> | 2013-09-26 17:27:23 -0400 |
| commit | c3e4e068416438e91e3e9809ee8553a764d8e26e (patch) | |
| tree | 6a04956609a6b378b1eb56a28f70003bcb885ee7 /src/rt/sync/rust_thread.cpp | |
| parent | 47f2e80b65bf814953c0ceda3b48e46802883f4b (diff) | |
| download | rust-c3e4e068416438e91e3e9809ee8553a764d8e26e.tar.gz rust-c3e4e068416438e91e3e9809ee8553a764d8e26e.zip | |
remove type_use
This is broken, and results in poor performance due to the undefined behaviour in the LLVM IR. LLVM's `mergefunc` is a *much* better way of doing this since it merges based on the equality of the bytecode. For example, consider `std::repr`. It generates different code per type, but is not included in the type bounds of generics. The `mergefunc` pass works for most of our code but currently hits an assert on libstd. It is receiving attention upstream so it will be ready soon, but I don't think removing this broken code should wait any longer. I've opened #9536 about enabling it by default. Closes #8651 Closes #3547 Closes #2537 Closes #6971 Closes #9222
Diffstat (limited to 'src/rt/sync/rust_thread.cpp')
0 files changed, 0 insertions, 0 deletions
