diff options
| author | Jeremy Morse <jeremy.morse.llvm@gmail.com> | 2019-01-28 12:08:31 +0000 |
|---|---|---|
| committer | Jeremy Morse <jeremy.morse.llvm@gmail.com> | 2019-01-28 12:08:31 +0000 |
| commit | 8ebffb4b82ef5b4ae230fc3893e56314c3dede95 (patch) | |
| tree | aec98f9eacbb713c7e544d3a81d6c048070d8d0d /llvm/lib/IRReader | |
| parent | c61eaa5920161789f273256a718b9d47a97d00cd (diff) | |
| download | bcm5719-llvm-8ebffb4b82ef5b4ae230fc3893e56314c3dede95.tar.gz bcm5719-llvm-8ebffb4b82ef5b4ae230fc3893e56314c3dede95.zip | |
[DebugInfo][DAG] Avoid re-ordering of DBG_VALUEs
This patch improves the placement of DBG_VALUEs when by SelectionDAG, which
as documented in PR40427 can go very wrong. At the core of this is
ProcessSourceNode, which assumes the last instruction in a BB is the start
of the last processed IR instruction, which isn't always true.
Instead, use a helper function to call InstrEmitter::EmitNode, that records
before-and-after iterators and determines the first of any new instruction
created during emission. This is passed to ProcessSourceNode, which can
then make more elightened decisions about ordering for DBG_VALUE placement.
Differential revision: https://reviews.llvm.org/D57163
llvm-svn: 352350
Diffstat (limited to 'llvm/lib/IRReader')
0 files changed, 0 insertions, 0 deletions

