about summary refs log tree commit diff
path: root/src/test/mir-opt/matches_reduce_branches.foo.MatchBranchSimplification.32bit.diff
AgeCommit message (Collapse)AuthorLines
2021-08-25Fix debugger stepping behavior around `match` expressionsWesley Wiser-6/+6
Previously, we would set up the source lines for `match` expressions so that the code generated to perform the test of the scrutinee was matched to the line of the arm that required the test and then jump from the arm block to the "next" block was matched to all of the lines in the `match` expression. While that makes sense, it has the side effect of causing strange stepping behavior in debuggers. I've changed the source information so that all of the generated tests are sourced to `match {scrutinee}` and the jumps are sourced to the last line of the block they are inside. This resolves the weird stepping behavior in all debuggers and resolves some instances of "ambiguous symbol" errors in WinDbg preventing the user from setting breakpoints at `match` expressions.
2021-03-16bless testsErik Desjardins-13/+16
2021-03-15bless testsErik Desjardins-16/+13
2021-03-14bless tests (32-bit)Erik Desjardins-13/+16
2021-02-22New mir-opt pass to simplify gotos with const valuesSimon Vandel Sillesen-34/+13
Fixes #77355
2021-02-21Make MatchBranchSimplification clean up after itselfSimon Vandel Sillesen-17/+19
2021-01-07Reintroduce hir::ExprKind::IfCaio-2/+2
2020-12-03Combination of commitsRich Kadel-1/+1
Fixes multiple issue with counters, with simplification Includes a change to the implicit else span in ast_lowering, so coverage of the implicit else no longer spans the `then` block. Adds coverage for unused closures and async function bodies. Fixes: #78542 Adding unreachable regions for known MIR missing from coverage map Cleaned up PR commits, and removed link-dead-code requirement and tests Coverage no longer depends on Issue #76038 (`-C link-dead-code` is no longer needed or enforced, so MSVC can use the same tests as Linux and MacOS now) Restrict adding unreachable regions to covered files Improved the code that adds coverage for uncalled functions (with MIR but not-codegenned) to avoid generating coverage in files not already included in the files with covered functions. Resolved last known issue requiring --emit llvm-ir workaround Fixed bugs in how unreachable code spans were added.
2020-10-21Introduce a temporary for discriminant value in MatchBranchSimplificationTomasz Miąsko-1/+5
The optimization introduces additional uses of the discriminant operand, but does not ensure that it is still valid to evaluate it or that it still evaluates to the same value. Evaluate it once at original position, and store the result in a new temporary.
2020-10-20Disable MatchBranchSimplificationTomasz Miąsko-11/+11
This optimization can result in unsoundness, because it introduces additional uses of a place holding the discriminant value without ensuring that it is valid to do so.
2020-09-17Rename 32 bit mir files to be more tool friendlyNixon Enraght-Moony-0/+42
See #75746