summaryrefslogtreecommitdiff
path: root/user/llvm14/scc-insertion.patch
diff options
context:
space:
mode:
Diffstat (limited to 'user/llvm14/scc-insertion.patch')
-rw-r--r--user/llvm14/scc-insertion.patch33
1 files changed, 0 insertions, 33 deletions
diff --git a/user/llvm14/scc-insertion.patch b/user/llvm14/scc-insertion.patch
deleted file mode 100644
index b2d7d511a..000000000
--- a/user/llvm14/scc-insertion.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From f7e9f4f4c50245d10ca9869a9f8f3d431dfb6948 Mon Sep 17 00:00:00 2001
-From: Warren Ristow <warren_ristow@playstation.sony.com>
-Date: Tue, 14 Jan 2020 10:30:24 -0800
-Subject: [PATCH] SCC: Allow ReplaceNode to safely support insertion
-
-If scc_iterator::ReplaceNode is inserting a new entry in the map,
-rather than replacing an existing entry, the possibility of growing
-the map could cause a failure. This change safely implements the
-insertion.
-
-Reviewed By: probinson
-
-Differential Revision: https://reviews.llvm.org/D72469
----
- include/llvm/ADT/SCCIterator.h | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/include/llvm/ADT/SCCIterator.h b/include/llvm/ADT/SCCIterator.h
-index eb1a5d0938cf..1e642b9f75d3 100644
---- a/include/llvm/ADT/SCCIterator.h
-+++ b/include/llvm/ADT/SCCIterator.h
-@@ -134,7 +134,10 @@ class scc_iterator : public iterator_facade_base<
- /// has been deleted, and \c New is to be used in its place.
- void ReplaceNode(NodeRef Old, NodeRef New) {
- assert(nodeVisitNumbers.count(Old) && "Old not in scc_iterator?");
-- nodeVisitNumbers[New] = nodeVisitNumbers[Old];
-+ // Do the assignment in two steps, in case 'New' is not yet in the map, and
-+ // inserting it causes the map to grow.
-+ auto tempVal = nodeVisitNumbers[Old];
-+ nodeVisitNumbers[New] = tempVal;
- nodeVisitNumbers.erase(Old);
- }
- };