diff options
| author | Dylan MacKenzie <ecstaticmorse@gmail.com> | 2020-04-22 18:56:23 -0700 |
|---|---|---|
| committer | Dylan MacKenzie <ecstaticmorse@gmail.com> | 2020-04-22 18:56:23 -0700 |
| commit | 34dfbc3fef3fb02c36beb982523ce8d9d90838e7 (patch) | |
| tree | 8986a51e9833449f8af28e0d96ec09c5b48f96c7 | |
| parent | 59c746030a1f1330f2037f09c2a7a6def8a5fc04 (diff) | |
| download | rust-34dfbc3fef3fb02c36beb982523ce8d9d90838e7.tar.gz rust-34dfbc3fef3fb02c36beb982523ce8d9d90838e7.zip | |
Add module docs and restrict visibility
| -rw-r--r-- | src/librustc_middle/mir/mod.rs | 2 | ||||
| -rw-r--r-- | src/librustc_middle/mir/predecessors.rs | 10 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/librustc_middle/mir/mod.rs b/src/librustc_middle/mir/mod.rs index 566817ea0d0..858ab0dbe00 100644 --- a/src/librustc_middle/mir/mod.rs +++ b/src/librustc_middle/mir/mod.rs @@ -164,7 +164,7 @@ pub struct Body<'tcx> { /// FIXME(oli-obk): rewrite the promoted during promotion to eliminate the cell components. pub ignore_interior_mut_in_const_validation: bool, - pub predecessor_cache: PredecessorCache, + predecessor_cache: PredecessorCache, } impl<'tcx> Body<'tcx> { diff --git a/src/librustc_middle/mir/predecessors.rs b/src/librustc_middle/mir/predecessors.rs index 8f1f9278521..9508365886a 100644 --- a/src/librustc_middle/mir/predecessors.rs +++ b/src/librustc_middle/mir/predecessors.rs @@ -1,3 +1,5 @@ +//! Lazily compute the reverse control-flow graph for the MIR. + use rustc_data_structures::stable_hasher::{HashStable, StableHasher}; use rustc_data_structures::sync::{Lock, Lrc}; use rustc_index::vec::IndexVec; @@ -10,13 +12,13 @@ use crate::mir::{BasicBlock, BasicBlockData}; pub type Predecessors = IndexVec<BasicBlock, SmallVec<[BasicBlock; 4]>>; #[derive(Clone, Debug)] -pub struct PredecessorCache { +pub(super) struct PredecessorCache { cache: Lock<Option<Lrc<Predecessors>>>, } impl PredecessorCache { #[inline] - pub fn new() -> Self { + pub(super) fn new() -> Self { PredecessorCache { cache: Lock::new(None) } } @@ -27,7 +29,7 @@ impl PredecessorCache { /// callers of `invalidate` have a unique reference to the MIR and thus to the predecessor /// cache. This means we don't actually need to take a lock when `invalidate` is called. #[inline] - pub fn invalidate(&mut self) { + pub(super) fn invalidate(&mut self) { *self.cache.get_mut() = None; } @@ -37,7 +39,7 @@ impl PredecessorCache { /// `cache` is only held inside this function. As long as no other locks are taken while /// computing the predecessor graph, deadlock is impossible. #[inline] - pub fn compute( + pub(super) fn compute( &self, basic_blocks: &IndexVec<BasicBlock, BasicBlockData<'_>>, ) -> Lrc<Predecessors> { |
