about summary refs log tree commit diff
path: root/src/rt/sync/rust_thread.cpp
diff options
context:
space:
mode:
authorDaniel Micay <danielmicay@gmail.com>2013-09-26 16:54:15 -0400
committerDaniel Micay <danielmicay@gmail.com>2013-09-26 17:27:23 -0400
commitc3e4e068416438e91e3e9809ee8553a764d8e26e (patch)
tree6a04956609a6b378b1eb56a28f70003bcb885ee7 /src/rt/sync/rust_thread.cpp
parent47f2e80b65bf814953c0ceda3b48e46802883f4b (diff)
downloadrust-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