Tree borrows is, as far as I can tell, the successor to stacked borrows.
https://perso.crans.org/vanille/treebor/
"Tree Borrows is a proposed alternative to Stacked Borrows that
fulfills the same role: to analyse the execution of Rust code at
runtime and define the precise requirements of the aliasing
constraints."
In a preprint paper, both stacked borrows and tree burrows are as
far as I can tell described as having false positives.
https://perso.crans.org/vanille/treebor/aux/preprint.pdf
"This overcomes the aforementioned limitations: our evaluation
on the 30 000 most widely used Rust crates shows that Tree
Borrows rejects 54% fewer test cases than Stacked Borrows does."
That paper also refers specifically to LLVM.
https://perso.crans.org/vanille/treebor/aux/preprint.pdf
"Tree Borrows (like Stacked Borrows) was designed with this in
mind, so that a Rust program that complies with the rules of Tree
Borrows should translate into an LLVM IR program that satisfies
all the assumptions implied by noalias."
Are you sure that both stacked borrows and tree borrows are
meant to be full models with no false positives and false negatives,
and no uncertainty, if I understand you correctly?
It should be
noted that they are both works in progress.
MIRI is also used a lot like a sanitizer, and that means that MIRI
cannot in general ensure that a program has no undefined
behavior/memory safety bugs, only at most that a given test run
did not violate the model. So if the test runs do not cover all
possible runs, UB may still hide.