From fc0a1812f5179d3f16b0ff6d8432478e3daf6d23 Mon Sep 17 00:00:00 2001 From: Krzysztof Parzyszek Date: Tue, 21 Nov 2017 21:05:51 +0000 Subject: [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 --- llvm/lib/Target/Hexagon/RDFDeadCode.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'llvm/lib') 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; -- cgit v1.2.3