SuccessChanges

Summary

  1. [DebugInfo] MachineSink: find more DBG_VALUEs to sink (details)
  2. lld/COFF: Simplify getOutputPath() using sys::path functions. (details)
Commit f5e1b718a675a4449b71423f04d38e1e93045105 by jeremy.morse
[DebugInfo] MachineSink: find more DBG_VALUEs to sink
In the Pre-RA machine sinker, previously we were relying on all
DBG_VALUEs being immediately after the instruction that defined their
operands. This isn't a valid assumption, as a variable location change
doesn't necessarily correspond to where the value is computed. In this
patch, we collect DBG_VALUEs that might need sinking as we walk through
a block, and sink all of them if their defining instruction is sunk.
This patch adds some copy propagation too, so that if we sink a copy
inst, the now non-dominated paths can use the copy source for the
variable location.
Differential Revision: https://reviews.llvm.org/D58386
The file was modifiedllvm/lib/CodeGen/MachineSink.cpp
The file was addedllvm/test/DebugInfo/MIR/X86/machinesink.mir
Commit b911d2db5dd85b7b69b4529fc581b3e95dba488c by nicolasweber
lld/COFF: Simplify getOutputPath() using sys::path functions.
Also mention "basename" and "dirname" in Path.h since I tried to find
these functions by looking for these strings. It might help others find
them faster if the comments contain these strings.
No behavior change.
Differential Revision: https://reviews.llvm.org/D69458
The file was modifiedlld/COFF/Driver.cpp
The file was modifiedllvm/include/llvm/Support/Path.h