diff options
Diffstat (limited to 'utils/TableGen')
-rw-r--r-- | utils/TableGen/CodeGenSchedule.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/utils/TableGen/CodeGenSchedule.cpp b/utils/TableGen/CodeGenSchedule.cpp index f2af7ed..53b72d0 100644 --- a/utils/TableGen/CodeGenSchedule.cpp +++ b/utils/TableGen/CodeGenSchedule.cpp @@ -1172,7 +1172,9 @@ pushVariant(const TransVariant &VInfo, bool IsRead) { unsigned OperIdx = RWSequences.size()-1; // Make N-1 copies of this transition's last sequence. for (unsigned i = 1, e = SelectedRWs.size(); i != e; ++i) { - RWSequences.push_back(RWSequences[OperIdx]); + // Create a temporary copy the vector could reallocate. + SmallVector<unsigned, 4> Tmp = RWSequences[OperIdx]; + RWSequences.push_back(Tmp); } // Push each of the N elements of the SelectedRWs onto a copy of the last // sequence (split the current operand into N operands). |