about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2021-03-01 02:48:29 +0000
committerbors <bors@rust-lang.org>2021-03-01 02:48:29 +0000
commit3b150b7a8f77874f26c617666f5608fe4a3e58df (patch)
treea474add65e5754854af90c050636b81777289dbe /compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp
parent43fc1b3e24087df507babc439db8d2c2508c698c (diff)
parentdeebb63cc8f706b7e92d5e67073a6a94f9a05b2d (diff)
downloadrust-3b150b7a8f77874f26c617666f5608fe4a3e58df.tar.gz
rust-3b150b7a8f77874f26c617666f5608fe4a3e58df.zip
Auto merge of #81094 - ssomers:btree_drainy_refactor_3, r=Mark-Simulacrum
BTreeMap: split up range_search into two stages

`range_search` expects the caller to pass the same root twice and starts searching a node for both bounds of a range. It's not very clear that in the early iterations, it searches twice in the same node. This PR splits that search up in an initial `find_leaf_edges_spanning_range` that postpones aliasing until the last second, and a second phase for continuing the search for the range in the each subtree independently (`find_lower_bound_edge` & `find_upper_bound_edge`), which greatly helps for use in #81075. It also moves those functions over to the search module.

r? `@Mark-Simulacrum`
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions