summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Object/Binary.cpp
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2015-07-23 22:56:53 +0000
committerSanjay Patel <spatel@rotateright.com>2015-07-23 22:56:53 +0000
commitf2fa58e744d5e209f2b398dbc7963813dab876c7 (patch)
tree48123bdad24f6ac17d59ebb94bda4780f45e7a9c /llvm/lib/Object/Binary.cpp
parent9b141ed48e2d0ae97631c39141de20191871304e (diff)
downloadbcm5719-llvm-f2fa58e744d5e209f2b398dbc7963813dab876c7.tar.gz
bcm5719-llvm-f2fa58e744d5e209f2b398dbc7963813dab876c7.zip
fix crash in machine trace metrics due to processing dbg_value instructions (PR24199)
The test in PR24199 ( https://llvm.org/bugs/show_bug.cgi?id=24199 ) crashes because machine trace metrics was not ignoring dbg_value instructions when calculating data dependencies. The machine-combiner pass asks machine trace metrics to calculate an instruction trace, does some reassociations, and calls MachineInstr::eraseFromParentAndMarkDBGValuesForRemoval() along with MachineTraceMetrics::invalidate(). The dbg_value instructions have their operands invalidated, but the instructions are not expected to be deleted. On a subsequent loop iteration of the machine-combiner pass, machine trace metrics would be called again and die while accessing the invalid debug instructions. Differential Revision: http://reviews.llvm.org/D11423 llvm-svn: 243057
Diffstat (limited to 'llvm/lib/Object/Binary.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud