aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectBreakpointCommand.cpp
diff options
context:
space:
mode:
authorJuergen Ributzka <juergen@apple.com>2014-08-28 00:09:46 +0000
committerJuergen Ributzka <juergen@apple.com>2014-08-28 00:09:46 +0000
commit4f1a54a41abf01c0b907b62568ede8bf646f8ee3 (patch)
treee83535946c1473addd6b95fef44b7d1c27acbacc /lldb/source/Commands/CommandObjectBreakpointCommand.cpp
parent2c38164737f70e7cb55e2935563cfb70f89ffd5f (diff)
downloadllvm-4f1a54a41abf01c0b907b62568ede8bf646f8ee3.zip
llvm-4f1a54a41abf01c0b907b62568ede8bf646f8ee3.tar.gz
llvm-4f1a54a41abf01c0b907b62568ede8bf646f8ee3.tar.bz2
[FastISel]
Currently instructions are folded very aggressively for AArch64 into the memory operation, which can lead to the use of killed operands: %vreg1<def> = ADDXri %vreg0<kill>, 2 %vreg2<def> = LDRBBui %vreg0, 2 ... = ... %vreg1 ... This usually happens when the result is also used by another non-memory instruction in the same basic block, or any instruction in another basic block. This fix teaches hasTrivialKill to not only check the LLVM IR that the value has a single use, but also to check if the register that represents that value has already been used. This can happen when the instruction with the use was folded into another instruction (in this particular case a load instruction). This fixes rdar://problem/18142857. llvm-svn: 216634
Diffstat (limited to 'lldb/source/Commands/CommandObjectBreakpointCommand.cpp')
0 files changed, 0 insertions, 0 deletions