summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Hexagon/RDFDeadCode.cpp
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <kparzysz@codeaurora.org>2017-11-21 21:05:51 +0000
committerKrzysztof Parzyszek <kparzysz@codeaurora.org>2017-11-21 21:05:51 +0000
commitfc0a1812f5179d3f16b0ff6d8432478e3daf6d23 (patch)
treed3db9f310ba332c442444bb7d8c9c2a5f34c5984 /llvm/lib/Target/Hexagon/RDFDeadCode.cpp
parentba150ef60a9ebadcb20b9557fb86d4b61391db48 (diff)
downloadbcm5719-llvm-fc0a1812f5179d3f16b0ff6d8432478e3daf6d23.tar.gz
bcm5719-llvm-fc0a1812f5179d3f16b0ff6d8432478e3daf6d23.zip
[Hexagon] Make sure that RDF does not remove EH_LABELs
Since EH_LABELs (and other labels) no longer have "side-effects", they should be checked for separately. llvm-svn: 318801
Diffstat (limited to 'llvm/lib/Target/Hexagon/RDFDeadCode.cpp')
-rw-r--r--llvm/lib/Target/Hexagon/RDFDeadCode.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/Hexagon/RDFDeadCode.cpp b/llvm/lib/Target/Hexagon/RDFDeadCode.cpp
index 60a12dcf2f0..240d7c355bc 100644
--- a/llvm/lib/Target/Hexagon/RDFDeadCode.cpp
+++ b/llvm/lib/Target/Hexagon/RDFDeadCode.cpp
@@ -58,7 +58,8 @@ private:
bool DeadCodeElimination::isLiveInstr(const MachineInstr *MI) const {
if (MI->mayStore() || MI->isBranch() || MI->isCall() || MI->isReturn())
return true;
- if (MI->hasOrderedMemoryRef() || MI->hasUnmodeledSideEffects())
+ if (MI->hasOrderedMemoryRef() || MI->hasUnmodeledSideEffects() ||
+ MI->isPosition())
return true;
if (MI->isPHI())
return false;
OpenPOWER on IntegriCloud