From: Dylan Noblesmith Date: Tue, 26 Aug 2014 02:03:43 +0000 (+0000) Subject: Revert "AArch64: use std::vector for temp array" X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=4a3195c40dd10ec7b560a7bde68a6ce11c1dfc2c;p=oota-llvm.git Revert "AArch64: use std::vector for temp array" This reverts commit r216365. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216433 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/AArch64/AArch64CollectLOH.cpp b/lib/Target/AArch64/AArch64CollectLOH.cpp index bb57d76a8cd..0ffa0334850 100644 --- a/lib/Target/AArch64/AArch64CollectLOH.cpp +++ b/lib/Target/AArch64/AArch64CollectLOH.cpp @@ -1054,8 +1054,7 @@ bool AArch64CollectLOH::runOnMachineFunction(MachineFunction &MF) { bool Modified = false; // Start with ADRP. - std::vector COTRUVector(NbReg); - auto ColorOpToReachedUses = COTRUVector.data(); + InstrToInstrs *ColorOpToReachedUses = new InstrToInstrs[NbReg]; // Compute the reaching def in ADRP mode, meaning ADRP definitions // are first considered as uses. @@ -1070,9 +1069,10 @@ bool AArch64CollectLOH::runOnMachineFunction(MachineFunction &MF) { // Compute LOH for ADRP. computeADRP(ADRPToReachingDefs, *AArch64FI, MDT); + delete[] ColorOpToReachedUses; + // Continue with general ADRP -> ADD/LDR -> LDR/STR pattern. - COTRUVector.clear(); - COTRUVector.resize(NbReg); + ColorOpToReachedUses = new InstrToInstrs[NbReg]; // first perform a regular reaching def analysis. reachingDef(MF, ColorOpToReachedUses, RegToId, false, DummyOp); @@ -1086,6 +1086,7 @@ bool AArch64CollectLOH::runOnMachineFunction(MachineFunction &MF) { // Compute other than AdrpAdrp LOH. computeOthers(UsesToReachingDefs, ColorOpToReachedUses, *AArch64FI, RegToId, MDT); + delete[] ColorOpToReachedUses; if (BasicBlockScopeOnly) MF.DeleteMachineInstr(DummyOp);