diff options
author | Amy Huang <akhuang@google.com> | 2019-07-31 21:03:38 +0000 |
---|---|---|
committer | Amy Huang <akhuang@google.com> | 2019-07-31 21:03:38 +0000 |
commit | 27a73dd02c26fe4dd5b499b05b6f029e41d4c400 (patch) | |
tree | 5b7bcb1468149abf294ea841293f4d2e16b18280 /llvm/lib/CodeGen | |
parent | 36fb93982f0e518a5399874aae09abc043f63bed (diff) | |
download | bcm5719-llvm-27a73dd02c26fe4dd5b499b05b6f029e41d4c400.tar.gz bcm5719-llvm-27a73dd02c26fe4dd5b499b05b6f029e41d4c400.zip |
Fix to r367374 "[MS] Emit S_HEAPALLOCSITE debug info in Selection DAG"
after windows buildbot failure.
Added a check that the MachineInstr exists and is a call before trying
to add symbols around it.
llvm-svn: 367483
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp index 137a8be9284..e09f2e760f5 100644 --- a/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp @@ -910,8 +910,10 @@ EmitSchedule(MachineBasicBlock::iterator &InsertPos) { if (HasDbg) ProcessSourceNode(N, DAG, Emitter, VRBaseMap, Orders, Seen, NewInsn); - if (MDNode* MD = DAG->getHeapAllocSite(N)) - MF.addCodeViewHeapAllocSite(NewInsn, MD); + if (MDNode *MD = DAG->getHeapAllocSite(N)) { + if (NewInsn && NewInsn->isCall()) + MF.addCodeViewHeapAllocSite(NewInsn, MD); + } GluedNodes.pop_back(); } @@ -921,8 +923,10 @@ EmitSchedule(MachineBasicBlock::iterator &InsertPos) { if (HasDbg) ProcessSourceNode(SU->getNode(), DAG, Emitter, VRBaseMap, Orders, Seen, NewInsn); - if (MDNode* MD = DAG->getHeapAllocSite(SU->getNode())) - MF.addCodeViewHeapAllocSite(NewInsn, MD); + if (MDNode *MD = DAG->getHeapAllocSite(SU->getNode())) { + if (NewInsn && NewInsn->isCall()) + MF.addCodeViewHeapAllocSite(NewInsn, MD); + } } // Insert all the dbg_values which have not already been inserted in source |