diff options
author | NAKAMURA Takumi <geek4civic@gmail.com> | 2017-02-08 13:49:28 +0000 |
---|---|---|
committer | NAKAMURA Takumi <geek4civic@gmail.com> | 2017-02-08 13:49:28 +0000 |
commit | a3bc043caaa306fbddd3c448cc72c2bb34315cff (patch) | |
tree | 9314a26ba1214aecb3f837e9322a167df37d85bb /llvm/lib/MC/MCContext.cpp | |
parent | e7ab088a0efa7893f9316328084880e4d6daef59 (diff) | |
download | bcm5719-llvm-a3bc043caaa306fbddd3c448cc72c2bb34315cff.tar.gz bcm5719-llvm-a3bc043caaa306fbddd3c448cc72c2bb34315cff.zip |
Revert r294356, "DebugInfo: Track spilled variables in LiveDebugValues"
It caused undefined behavior in VarLoc. As far as I investigated,
- VarLoc::VarLoc() treats negative offset value as InvalidKind.
Consider the case that (int64_t)MI.getOperand(1).getImm() is negative and whether it satisfies ((uint64_t)Offset < (1ULL << 32)).
- Comparison operators in VarLoc behave undefined since VarLoc::Loc.Hash is uninitialized in case of InvalidKind.
I guess Offset (in VarLoc) could be made aware of signed, but I am not sure.
So I have reverted it for now.
llvm-svn: 294447
Diffstat (limited to 'llvm/lib/MC/MCContext.cpp')
0 files changed, 0 insertions, 0 deletions