diff options
| author | Mircea Trofin <mtrofin@google.com> | 2019-05-10 00:12:51 +0000 |
|---|---|---|
| committer | Mircea Trofin <mtrofin@google.com> | 2019-05-10 00:12:51 +0000 |
| commit | 5c31c05fbde371e03c057080a05eeb18dda4c4ff (patch) | |
| tree | 8af51d628bf7077692d26c9dba6c314317bcee7f /llvm/lib/Target | |
| parent | 64196850f0e9b31d1c3bbfcb52ab76d9901f42ef (diff) | |
| download | bcm5719-llvm-5c31c05fbde371e03c057080a05eeb18dda4c4ff.tar.gz bcm5719-llvm-5c31c05fbde371e03c057080a05eeb18dda4c4ff.zip | |
[llvm] X86DiscriminateMemOps: insert debug info when missing
Reviewers: davidxl
Reviewed By: davidxl
Subscribers: aprantl, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D61735
llvm-svn: 360396
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/X86/X86DiscriminateMemOps.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86DiscriminateMemOps.cpp b/llvm/lib/Target/X86/X86DiscriminateMemOps.cpp index 22271896f6c..7589dca4892 100644 --- a/llvm/lib/Target/X86/X86DiscriminateMemOps.cpp +++ b/llvm/lib/Target/X86/X86DiscriminateMemOps.cpp @@ -115,14 +115,15 @@ bool X86DiscriminateMemOps::runOnMachineFunction(MachineFunction &MF) { if (X86II::getMemoryOperandNo(MI.getDesc().TSFlags) < 0) continue; const DILocation *DI = MI.getDebugLoc(); - if (!DI) { + bool HasDebug = DI; + if (!HasDebug) { DI = ReferenceDI; } Location L = diToLocation(DI); DenseSet<unsigned> &Set = Seen[L]; const std::pair<DenseSet<unsigned>::iterator, bool> TryInsert = Set.insert(DI->getBaseDiscriminator()); - if (!TryInsert.second) { + if (!TryInsert.second || !HasDebug) { unsigned BF, DF, CI = 0; DILocation::decodeDiscriminator(DI->getDiscriminator(), BF, DF, CI); Optional<unsigned> EncodedDiscriminator = DILocation::encodeDiscriminator( |

