From 177d040724e6b79d3a7b5f96e2c4cbd2ca6c19d3 Mon Sep 17 00:00:00 2001 From: Krzysztof Parzyszek Date: Fri, 20 Nov 2015 20:46:23 +0000 Subject: [PATCH] [Hexagon] Fix the return value from HexagonGenInsert::runOnMachineFunction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253705 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/Hexagon/HexagonGenInsert.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/Target/Hexagon/HexagonGenInsert.cpp b/lib/Target/Hexagon/HexagonGenInsert.cpp index b21e573d2c7..64a2b6cec18 100644 --- a/lib/Target/Hexagon/HexagonGenInsert.cpp +++ b/lib/Target/Hexagon/HexagonGenInsert.cpp @@ -1495,7 +1495,7 @@ bool HexagonGenInsert::runOnMachineFunction(MachineFunction &MF) { // version of DCE that preserves lifetime markers. Without it, merging // of stack objects can fail to recognize and merge disjoint objects // leading to unnecessary stack growth. - removeDeadCode(MDT->getRootNode()); + Changed = removeDeadCode(MDT->getRootNode()); const HexagonEvaluator HE(*HRI, *MRI, *HII, MF); BitTracker BTLoc(HE, MF); @@ -1533,7 +1533,7 @@ bool HexagonGenInsert::runOnMachineFunction(MachineFunction &MF) { } if (IFMap.empty()) - return false; + return Changed; { NamedRegionTimer _T("pruning", "hexinsert", TimingDetail); @@ -1546,7 +1546,7 @@ bool HexagonGenInsert::runOnMachineFunction(MachineFunction &MF) { } if (IFMap.empty()) - return false; + return Changed; { NamedRegionTimer _T("selection", "hexinsert", TimingDetail); @@ -1571,13 +1571,15 @@ bool HexagonGenInsert::runOnMachineFunction(MachineFunction &MF) { for (unsigned i = 0, n = Out.size(); i < n; ++i) IFMap.erase(Out[i]); } + if (IFMap.empty()) + return Changed; { NamedRegionTimer _T("generation", "hexinsert", TimingDetail); - Changed = generateInserts(); + generateInserts(); } - return Changed; + return true; } -- 2.34.1