From 9b8aac1e88818416b5a4cc5829f3d5ba25a9b4ac Mon Sep 17 00:00:00 2001
From: clc5q <clc5q@git.zephyr-software.com>
Date: Thu, 9 Jul 2015 19:36:23 +0000
Subject: [PATCH] More precise analysis of which stack pointer copies are
 unsafe.

Former-commit-id: e135ebd53fb00b6b816a7522eeffe196bdb8a06b
---
 include/base/SMPBasicBlock.h                  |   4 +-
 include/base/SMPFunction.h                    |   2 +-
 src/base/SMPBasicBlock.cpp                    |  10 +-
 src/base/SMPFunction.cpp                      |  16 +-
 tests/commit/save-busybox.psexe.infoannot     |   8 +-
 ...save-ffmpeg.psexe.infoannot.REMOVED.git-id |   2 +-
 tests/commit/save-gimp.psexe.infoannot        |  60 ++++----
 .../save-gnome-keyring-daemon.psexe.infoannot |   2 +-
 tests/commit/save-nginx.psexe.infoannot       |   2 +-
 tests/commit/save-openssl.psexe.infoannot     |  22 +--
 tests/commit/save-xedit.psexe.infoannot       |   2 +-
 ...ed-save-busybox.psexe.annot.REMOVED.git-id |   2 +-
 ...ted-save-ffmpeg.psexe.annot.REMOVED.git-id |   2 +-
 ...ave-firefox-bin.psexe.annot.REMOVED.git-id |   2 +-
 ...rted-save-gedit.psexe.annot.REMOVED.git-id |   2 +-
 ...orted-save-gimp.psexe.annot.REMOVED.git-id |   2 +-
 ...nome-calculator.psexe.annot.REMOVED.git-id |   2 +-
 ...orted-save-gnome-character-map.psexe.annot |  58 +++-----
 ...-keyring-daemon.psexe.annot.REMOVED.git-id |   2 +-
 ...e-gnome-nettool.psexe.annot.REMOVED.git-id |   2 +-
 ...-sorted-save-gnome-screensaver.psexe.annot |  23 +--
 ...d-sorted-save-gnome-screenshot.psexe.annot | 140 +++++++-----------
 ...ome-search-tool.psexe.annot.REMOVED.git-id |   2 +-
 ...e-gnome-session.psexe.annot.REMOVED.git-id |   2 +-
 ...ted-save-gnome-settings-daemon.psexe.annot |  20 +--
 ...d-sorted-save-gnome-system-log.psexe.annot |  11 +-
 ...-system-monitor.psexe.annot.REMOVED.git-id |   2 +-
 ...-gnome-terminal.psexe.annot.REMOVED.git-id |   2 +-
 ...ome-text-editor.psexe.annot.REMOVED.git-id |   2 +-
 ...orted-save-grep.psexe.annot.REMOVED.git-id |   2 +-
 ...rted-save-httpd.psexe.annot.REMOVED.git-id |   2 +-
 ...orted-save-less.psexe.annot.REMOVED.git-id |   2 +-
 ...d-save-ls-64bit.psexe.annot.REMOVED.git-id |   2 +-
 ...ted-save-lt-svn.psexe.annot.REMOVED.git-id |   2 +-
 ...rted-save-nginx.psexe.annot.REMOVED.git-id |   2 +-
 ...ed-save-openssl.psexe.annot.REMOVED.git-id |   2 +-
 ...d-save-synaptic.psexe.annot.REMOVED.git-id |   2 +-
 ...rted-save-xedit.psexe.annot.REMOVED.git-id |   2 +-
 38 files changed, 179 insertions(+), 247 deletions(-)

diff --git a/include/base/SMPBasicBlock.h b/include/base/SMPBasicBlock.h
index 425d47df..f2cda26d 100644
--- a/include/base/SMPBasicBlock.h
+++ b/include/base/SMPBasicBlock.h
@@ -360,8 +360,8 @@ public:
 	bool IsStackOpNextUsedWithSignedness(const STARSOpndTypePtr &StackDefOp, STARS_ea_t DefAddr, int SSANum); // Is next use of stack DEF a sign- or zero-extended load?
 	void SuppressAnnotOnSignChangingAddition(const STARSOpndTypePtr &DefOp, int DefSSANum, std::size_t DefAddr); // Find inc/add that makes small negative back into positive
 	void AnalyzePrepForNumericAnnotations(void); // Last-minute prep before emitting numeric annotations
-	// Is DefOp+DefSSANum (from WorkList head) at DefAddr used as address reg or as source operand in memory write?
-	bool IsDefUsedInMemWrite(std::list<std::pair<std::pair<STARSOpndTypePtr, int>, STARS_ea_t> > &WorkList, const STARSOpndTypePtr &DefOp, int DefSSANum, STARS_ea_t DefAddr);
+	// Is DefOp+DefSSANum (from WorkList head) at DefAddr used as address reg or as source operand in unsafe memory write?
+	bool IsDefUsedInUnsafeMemWrite(std::list<std::pair<std::pair<STARSOpndTypePtr, int>, STARS_ea_t> > &WorkList, const STARSOpndTypePtr &DefOp, int DefSSANum, STARS_ea_t DefAddr);
 
 	STARS_sval_t ComputeStackAdjustmentAfterCall(STARS_ea_t CallAddr); // find stack pointer adjustment code after call, return stack delta or zero
 
diff --git a/include/base/SMPFunction.h b/include/base/SMPFunction.h
index 2152f6e2..50fefa60 100644
--- a/include/base/SMPFunction.h
+++ b/include/base/SMPFunction.h
@@ -389,7 +389,7 @@ public:
 	bool HasIntErrorCallSink(const STARSOpndTypePtr &DefOp, int DefSSANum, std::size_t DefAddr, std::string &SinkString, bool &FoundAnyCall); // DEF is passed to known system/lib call
 	bool WritesAboveLocalFrame(const STARSOpndTypePtr &DestOp, bool OpNormalized, STARS_ea_t InstAddr); // Is DestOp direct stack access to caller's frame?
 	bool AccessAboveLocalFrame(const STARSOpndTypePtr &StackOp, bool OpNormalized, STARS_ea_t InstAddr, bool WriteAccess); // Is StackOp direct stack access to caller's frame?
-	bool IsDefUsedInMemWrite(STARSOpndTypePtr DefOp, int DefSSANum, STARS_ea_t DefAddr); // Is Defop+DefSSANum at DefAddr used as address reg or as source operand in memory write?
+	bool IsDefUsedInUnsafeMemWrite(STARSOpndTypePtr DefOp, int DefSSANum, STARS_ea_t DefAddr); // Is Defop+DefSSANum at DefAddr used as address reg or as source operand in unsafe memory write?
 	void MarkFunctionSafe(void); // Does analysis to see if the function can be marked safe
 	void FreeUnusedMemory2(void); // After loop 2 in SMPProgram::Analyze(), free memory
 	void FreeUnusedMemory3(void); // After loop 3 in SMPProgram::Analyze(), free memory
diff --git a/src/base/SMPBasicBlock.cpp b/src/base/SMPBasicBlock.cpp
index 33d5ad6a..9aaf8f0b 100644
--- a/src/base/SMPBasicBlock.cpp
+++ b/src/base/SMPBasicBlock.cpp
@@ -5998,7 +5998,7 @@ STARS_sval_t SMPBasicBlock::ComputeStackAdjustmentAfterCall(STARS_ea_t CallAddr)
 } // end of SMPBasicBlock::ComputeStackAdjustmentAfterCall()
 
 // Is reg DefOp+DefSSANum (popped from WorkList) at DefAddr used as address reg or as source operand in memory write?
-bool SMPBasicBlock::IsDefUsedInMemWrite(list<pair<pair<STARSOpndTypePtr, int>, STARS_ea_t> > &WorkList, const STARSOpndTypePtr &DefOp, int DefSSANum, STARS_ea_t DefAddr) {
+bool SMPBasicBlock::IsDefUsedInUnsafeMemWrite(list<pair<pair<STARSOpndTypePtr, int>, STARS_ea_t> > &WorkList, const STARSOpndTypePtr &DefOp, int DefSSANum, STARS_ea_t DefAddr) {
 #if 0
 	return true;
 #else
@@ -6033,6 +6033,9 @@ bool SMPBasicBlock::IsDefUsedInMemWrite(list<pair<pair<STARSOpndTypePtr, int>, S
 				}
 				STARSOpndTypePtr NewDefOp = DefIter->GetOp();
 				assert(nullptr != NewDefOp);
+#if 1
+				bool DangerousWrite = CurrInst->IsUnsafeMemWrite();
+#else
 				bool DangerousWrite = CurrInst->HasDestMemoryOperand();
 				if (DangerousWrite) {
 					// Analyze whether it is truly dangerous.
@@ -6057,6 +6060,7 @@ bool SMPBasicBlock::IsDefUsedInMemWrite(list<pair<pair<STARSOpndTypePtr, int>, S
 						}
 					}
 				}
+#endif
 				SMPitype FlowType = CurrInst->GetDataFlowType();
 				if (DangerousWrite || CurrInst->MDIsPushInstr() || (INDIR_CALL == FlowType)) {
 					// 1. USEd in a memory write inst, so must be either address reg or source of write or of arithmetic into mem dest.
@@ -6092,7 +6096,7 @@ bool SMPBasicBlock::IsDefUsedInMemWrite(list<pair<pair<STARSOpndTypePtr, int>, S
 				SMPBasicBlock *SuccBlock = (*SuccIter);
 				if (SuccBlock->IsLiveIn(DefOp)) {
 					STARS_ea_t NewDefAddr = STARS_LIVEIN_PSEUDO_ID;
-					FoundMemWriteUse = SuccBlock->IsDefUsedInMemWrite(WorkList, DefOp, DefSSANum, NewDefAddr);
+					FoundMemWriteUse = SuccBlock->IsDefUsedInUnsafeMemWrite(WorkList, DefOp, DefSSANum, NewDefAddr);
 					if (FoundMemWriteUse)
 						break;
 				}
@@ -6103,4 +6107,4 @@ bool SMPBasicBlock::IsDefUsedInMemWrite(list<pair<pair<STARSOpndTypePtr, int>, S
 
 	return FoundMemWriteUse;
 #endif
-} // end of SMPBasicBlock::IsDefUsedInMemWrite()
\ No newline at end of file
+} // end of SMPBasicBlock::IsDefUsedInUnsafeMemWrite()
\ No newline at end of file
diff --git a/src/base/SMPFunction.cpp b/src/base/SMPFunction.cpp
index 442f67ce..711413e2 100644
--- a/src/base/SMPFunction.cpp
+++ b/src/base/SMPFunction.cpp
@@ -8464,7 +8464,7 @@ void SMPFunction::Dump(void) {
 #define STARS_DEBUG_DUPLICATE_SEARCHES 1
 
 // Is DefOp+DefSSANum at DefAddr used as address reg or as source operand in memory write?
-bool SMPFunction::IsDefUsedInMemWrite(STARSOpndTypePtr DefOp, int DefSSANum, STARS_ea_t DefAddr) {
+bool SMPFunction::IsDefUsedInUnsafeMemWrite(STARSOpndTypePtr DefOp, int DefSSANum, STARS_ea_t DefAddr) {
 	bool FoundMemWriteUse = false;
 
 	list<pair<pair<STARSOpndTypePtr, int>, STARS_ea_t> > DefWorkList;
@@ -8491,7 +8491,7 @@ bool SMPFunction::IsDefUsedInMemWrite(STARSOpndTypePtr DefOp, int DefSSANum, STA
 				SMPBasicBlock *DefBlock = this->GetBlockFromInstAddr(DefAddr);
 				assert(NULL != DefBlock);
 				this->ResetProcessedBlocks();
-				FoundMemWriteUse = DefBlock->IsDefUsedInMemWrite(DefWorkList, DefOp, DefSSANum, DefAddr);
+				FoundMemWriteUse = DefBlock->IsDefUsedInUnsafeMemWrite(DefWorkList, DefOp, DefSSANum, DefAddr);
 			}
 #if STARS_DEBUG_DUPLICATE_SEARCHES
 			else {
@@ -8505,7 +8505,7 @@ bool SMPFunction::IsDefUsedInMemWrite(STARSOpndTypePtr DefOp, int DefSSANum, STA
 	DefWorkList.clear();
 	AlreadySearchedSet.clear();
 	return FoundMemWriteUse;
-} // end of SMPFunction::IsDefUsedInMemWrite()
+} // end of SMPFunction::IsDefUsedInUnsafeMemWrite()
 
 // Can the return address of any caller be read or written directly from this function?
 bool SMPFunction::IsCallerReturnAddressReadOrWritten(void) {
@@ -8624,17 +8624,17 @@ void SMPFunction::MarkFunctionSafe() {
 
 		if (CurrInst->MDIsStackPointerCopy(this->UseFP)) {
 			// We have four cases for the register DEF that receives the stack pointer copy.
-			// 1. The DEF is used (as a source reg or as an address reg) in a memory write.
+			// 1. The DEF is used (as a source reg or as an address reg) in an unsafe memory write.
 			// 2. The DEF is live-in to an indirect call; who knows how it is used in the callee.
 			// 3. The DEF is live-in to a direct call.
-			// 4. None of the above; DEF does not reach any call or memory write.
+			// 4. None of the above; DEF does not reach any call or unsafe memory write.
 			// Cases 1 and 2 are unsafe. We could be writing into the stack frame on top of a return
 			//  address, unless we have more precise analysis of memory writes.
 			// Case 3: DEF will either be used unsafely in the direct callee or not. We want to 
 			//  leave our current status as FUNC_SAFE_IF_CALLEES_SAFE. Unsafe writes in the callee
 			//  will be detected when the callee is analyzed.
 			// Case 4 is safe.
-			// As a result, we make our IsDefUsedInMemWrite() search method return true for
+			// As a result, we make our IsDefUsedInUnsafeMemWrite() search method return true for
 			//  both case 1 and case 2 (conservatively assuming that indirect callees use the DEF
 			//  in memory writes).
 			// If the stack pointer is copied into a memory location instead of a register, it is unsafe.
@@ -8642,7 +8642,7 @@ void SMPFunction::MarkFunctionSafe() {
 			assert(DefIter != CurrInst->GetLastDef());
 			STARSOpndTypePtr CopyOp = DefIter->GetOp();
 			int DefSSANum = DefIter->GetSSANum();
-			if ((CopyOp->IsRegOp()) && this->HasGoodSSAForm() && (!HasStackPointerCopy) && (!(this->IsDefUsedInMemWrite(CopyOp, DefSSANum, address)))) {
+			if ((CopyOp->IsRegOp()) && this->HasGoodSSAForm() && (!HasStackPointerCopy) && (!(this->IsDefUsedInUnsafeMemWrite(CopyOp, DefSSANum, address)))) {
 				SMP_msg("INFO: Safe stack pointer copy at %lx\n", (unsigned long) address);
 			}
 			else {
@@ -8767,7 +8767,7 @@ void SMPFunction::MarkFunctionSafe() {
 	this->SetNeedsFrame(Unsafe);
 	this->SetSpecNeedsFrame(SpecUnsafe);
 
-	this->HasIndirectWrites = (HasIndexedStackWrite || HasIndirectWrite	|| WritesAboveLocalFrameIndirect || HasIndirectGlobalWrite);
+	this->HasIndirectWrites = this->HasIndirectWrites || (HasIndexedStackWrite || HasIndirectWrite	|| WritesAboveLocalFrameIndirect || HasIndirectGlobalWrite);
 
 	this->DetectMultiEntryFunction();
 
diff --git a/tests/commit/save-busybox.psexe.infoannot b/tests/commit/save-busybox.psexe.infoannot
index 2e6eeba1..54be0142 100644
--- a/tests/commit/save-busybox.psexe.infoannot
+++ b/tests/commit/save-busybox.psexe.infoannot
@@ -2908,10 +2908,10 @@
     43a7a5      8 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RDI ZZ add     rdi, [rsp+rbp+818h+var_1D0] 
     43a96d      4 INSTR CHECK OVERFLOW UNSIGNED 64  RDI ZZ IDIOM 18 MEMORYSINK add     rdi, 8          ; s1 
     43a99e      4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RAX+8 ZZ IDIOM 18 MEMORYSINK lea     rdi, [rax+8]    ; dest 
-    43a9ef      4 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RDX ZZ add     rdx, 48h 
+    43a9ef      4 INSTR CHECK OVERFLOW UNSIGNED 64  RDX ZZ IDIOM 18 MEMORYSINK add     rdx, 48h 
     43aae4      4 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RSI ZZ add     rsi, [r15+18h] 
     43aaec      4 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RDI ZZ add     rdi, [rbp+18h] 
-    43ab2e      4 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RSI ZZ add     rsi, 8 
+    43ab2e      4 INSTR CHECK OVERFLOW UNSIGNED 64  RSI ZZ IDIOM 18 MEMORYSINK add     rsi, 8 
     43abd4   1115 FUNC RETURNTYPE RAX 96
     43abd4   1115 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 0 
     43b02f    205 FUNC RETURNTYPE RAX 1
@@ -3305,9 +3305,9 @@
     441942     32 FUNC RETURNTYPE RAX 0
     441942     32 FUNC INARGS    6  ARG0 16 ARG1 16 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
     441962     32 FUNC RETURNTYPE RAX 0
-    441962     32 FUNC INARGS    6  ARG0 16 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
+    441962     32 FUNC INARGS    6  ARG0 16 ARG1 16 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
     441982     10 FUNC RETURNTYPE RAX 0
-    441982     10 FUNC INARGS    4  ARG0 0 ARG1 0 ARG2 16 ARG3 0 
+    441982     10 FUNC INARGS    4  ARG0 0 ARG1 0 ARG2 16 ARG3 16 
     44198c     25 FUNC RETURNTYPE RAX 1
     44198c     25 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 96 ARG3 96 ARG4 0 ARG5 0 
     4419a5     28 FUNC RETURNTYPE RAX 0
diff --git a/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id b/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id
index cbcce7de..95ec86ab 100644
--- a/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id
+++ b/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id
@@ -1 +1 @@
-09ee4b0a42a8306e8256511d6af82bc3b82d3d9c
\ No newline at end of file
+87bd041cb2376f3197c57c3014bf27073f2c732c
\ No newline at end of file
diff --git a/tests/commit/save-gimp.psexe.infoannot b/tests/commit/save-gimp.psexe.infoannot
index 0674e5c9..a7a10a12 100644
--- a/tests/commit/save-gimp.psexe.infoannot
+++ b/tests/commit/save-gimp.psexe.infoannot
@@ -15686,7 +15686,7 @@
     5f924c      4 INSTR CHECK OVERFLOW SIGNED 64  RCX ZZ add     rcx, 18h 
     5f9314     89 FUNC RETURNTYPE RAX 4
     5f9314     89 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
-    5f936d    163 FUNC RETURNTYPE RAX 0
+    5f936d    163 FUNC RETURNTYPE RAX 4
     5f936d    163 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
     5f936d    163 FUNC PROBLEM gimp_histogram_editor_set_aux_info CALLUNRESOLVED 
     5f9410    169 FUNC RETURNTYPE RAX 0
@@ -16065,7 +16065,7 @@
     604b69    214 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
     604b69    214 FUNC PROBLEM gimp_layer_tree_view_drop_color CALLUNRESOLVED 
     604c3f    567 FUNC RETURNTYPE RAX 0
-    604c3f    567 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
+    604c3f    567 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
     604e76    374 FUNC RETURNTYPE RAX 0
     604e76    374 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
     604fec    205 FUNC RETURNTYPE RAX 0
@@ -17079,8 +17079,8 @@
     622b41     91 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
     622b9c    897 FUNC RETURNTYPE RAX 0
     622b9c    897 FUNC INARGS    6  ARG0 4 ARG1 16 ARG2 16 ARG3 1 ARG4 0 ARG5 0 
-    622f1d   1348 FUNC RETURNTYPE RAX 0
-    622f1d   1348 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 16 ARG3 16 ARG4 1 ARG5 0 
+    622f1d   1348 FUNC RETURNTYPE RAX 4
+    622f1d   1348 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 16 ARG3 16 ARG4 1 ARG5 0 
     623461    222 FUNC RETURNTYPE RAX 0
     623461    222 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
     62353f    367 FUNC RETURNTYPE RAX 1
@@ -26824,7 +26824,7 @@
     7b1da0    384 FUNC RETURNTYPE RAX 0
     7b1da0    384 FUNC INARGS    6  ARG0 0 ARG1 1 ARG2 1 ARG3 1 ARG4 0 ARG5 0 
     7b1f20    210 FUNC RETURNTYPE RAX 4
-    7b1f20    210 FUNC INARGS    6  ARG0 4 ARG1 8 ARG2 8 ARG3 8 ARG4 0 ARG5 0 
+    7b1f20    210 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 4 ARG4 0 ARG5 0 
     7b1ff2    337 FUNC RETURNTYPE RAX 0
     7b1ff2    337 FUNC INARGS    6  ARG0 4 ARG1 1 ARG2 1 ARG3 1 ARG4 0 ARG5 0 
     7b2143    166 FUNC RETURNTYPE RAX 0
@@ -29498,7 +29498,7 @@
     7fc83a     84 FUNC RETURNTYPE RAX 4
     7fc83a     84 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 0 ARG4 0 ARG5 0 
     7fc88e    590 FUNC RETURNTYPE RAX 1
-    7fc88e    590 FUNC INARGS    6  ARG0 0 ARG1 8 ARG2 1 ARG3 8 ARG4 0 ARG5 0 
+    7fc88e    590 FUNC INARGS    6  ARG0 4 ARG1 8 ARG2 1 ARG3 8 ARG4 0 ARG5 0 
     7fc91b      3 INSTR CHECK UNDERFLOW UNSIGNED 32  EAX ZZ IDIOM 31 sub     eax, 30h 
     7fcadc   1780 FUNC RETURNTYPE RAX 1
     7fcadc   1780 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 8 ARG4 0 ARG5 4 
@@ -31872,51 +31872,51 @@
     84808f      6 FUNC RETURNTYPE RAX 1
     84808f      6 FUNC INARGS    4  ARG0 1 ARG1 0 ARG2 0 ARG3 0 
     848095    336 FUNC RETURNTYPE RAX 1
-    848095    336 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    848095    336 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     8481e5    424 FUNC RETURNTYPE RAX 1
-    8481e5    424 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    8481e5    424 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     84838d    533 FUNC RETURNTYPE RAX 1
-    84838d    533 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    84838d    533 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     8485a2    497 FUNC RETURNTYPE RAX 1
-    8485a2    497 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 1 
+    8485a2    497 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 4 ARG3 0 ARG4 0 ARG5 1 
     848793    522 FUNC RETURNTYPE RAX 1
-    848793    522 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 1 
+    848793    522 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 4 ARG3 0 ARG4 0 ARG5 1 
     84899d    457 FUNC RETURNTYPE RAX 1
-    84899d    457 FUNC INARGS    6  ARG0 0 ARG1 1 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    84899d    457 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     848b66    937 FUNC RETURNTYPE RAX 1
-    848b66    937 FUNC INARGS    6  ARG0 0 ARG1 1 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    848b66    937 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     848f0f   1791 FUNC RETURNTYPE RAX 1
-    848f0f   1791 FUNC INARGS    6  ARG0 0 ARG1 1 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    848f0f   1791 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     84960e   5027 FUNC RETURNTYPE RAX 1
-    84960e   5027 FUNC INARGS    6  ARG0 0 ARG1 1 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    84960e   5027 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     84a9b1    420 FUNC RETURNTYPE RAX 1
-    84a9b1    420 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    84a9b1    420 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     84ab55    409 FUNC RETURNTYPE RAX 1
-    84ab55    409 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    84ab55    409 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     84acee    483 FUNC RETURNTYPE RAX 1
-    84acee    483 FUNC INARGS    6  ARG0 0 ARG1 1 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    84acee    483 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     84aed1    300 FUNC RETURNTYPE RAX 1
-    84aed1    300 FUNC INARGS    6  ARG0 0 ARG1 1 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    84aed1    300 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     84affd    847 FUNC RETURNTYPE RAX 1
-    84affd    847 FUNC INARGS    6  ARG0 0 ARG1 1 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    84affd    847 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     84b34c    300 FUNC RETURNTYPE RAX 1
-    84b34c    300 FUNC INARGS    6  ARG0 0 ARG1 1 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    84b34c    300 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     84b478    506 FUNC RETURNTYPE RAX 1
-    84b478    506 FUNC INARGS    6  ARG0 0 ARG1 1 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    84b478    506 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     84b672    255 FUNC RETURNTYPE RAX 1
-    84b672    255 FUNC INARGS    6  ARG0 0 ARG1 1 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    84b672    255 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     84b771    309 FUNC RETURNTYPE RAX 1
-    84b771    309 FUNC INARGS    6  ARG0 0 ARG1 1 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    84b771    309 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     84b8a6    260 FUNC RETURNTYPE RAX 1
-    84b8a6    260 FUNC INARGS    6  ARG0 0 ARG1 1 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
+    84b8a6    260 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     84b9aa   1048 FUNC RETURNTYPE RAX 96
     84b9aa   1048 FUNC INARGS    4  ARG0 8 ARG1 8 ARG2 0 ARG3 0 
     84bdc2    628 FUNC RETURNTYPE RAX 1
-    84bdc2    628 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 4 ARG4 1 ARG5 0 
-    84bedf      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+1 ZZ lea     rdx, [rax+1] 
-    84bfd8      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+3 ZZ lea     rdi, [rax+3] 
-    84bfe0      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+2 ZZ lea     rcx, [rax+2] 
-    84bfe8      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+1 ZZ lea     rdx, [rax+1] 
+    84bdc2    628 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 4 ARG4 1 ARG5 0 
+    84bedf      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+1 ZZ IDIOM 18 MEMORYSINK lea     rdx, [rax+1] 
+    84bfd8      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+3 ZZ IDIOM 18 MEMORYSINK lea     rdi, [rax+3] 
+    84bfe0      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+2 ZZ IDIOM 18 MEMORYSINK lea     rcx, [rax+2] 
+    84bfe8      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RAX+1 ZZ IDIOM 18 MEMORYSINK lea     rdx, [rax+1] 
     84c036    518 FUNC RETURNTYPE RAX 1
     84c036    518 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 8 ARG4 0 ARG5 0 
     84c23c    410 FUNC RETURNTYPE RAX 1
diff --git a/tests/commit/save-gnome-keyring-daemon.psexe.infoannot b/tests/commit/save-gnome-keyring-daemon.psexe.infoannot
index 9616207a..0253f1f4 100644
--- a/tests/commit/save-gnome-keyring-daemon.psexe.infoannot
+++ b/tests/commit/save-gnome-keyring-daemon.psexe.infoannot
@@ -4355,7 +4355,7 @@
     497e50    411 FUNC RETURNTYPE RAX 0
     497e50    411 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
     497ff0   1108 FUNC RETURNTYPE RAX 1
-    497ff0   1108 FUNC INARGS    6  ARG0 1 ARG1 1 ARG2 4 ARG3 0 ARG4 8 ARG5 1 
+    497ff0   1108 FUNC INARGS    6  ARG0 1 ARG1 1 ARG2 4 ARG3 1 ARG4 8 ARG5 1 
     498450   1052 FUNC RETURNTYPE RAX 1
     498450   1052 FUNC INARGS    6  ARG0 1 ARG1 1 ARG2 4 ARG3 0 ARG4 1 ARG5 0 
     4984ca      2 INSTR CHECK TRUNCATION UNSIGNED 64 RBP 32 EBP ZZ IDIOM 30 mov     edi, ebp 
diff --git a/tests/commit/save-nginx.psexe.infoannot b/tests/commit/save-nginx.psexe.infoannot
index c488bb41..9a993733 100644
--- a/tests/commit/save-nginx.psexe.infoannot
+++ b/tests/commit/save-nginx.psexe.infoannot
@@ -11956,7 +11956,7 @@
     507e60   2639 FUNC RETURNTYPE RAX 0
     507e60   2639 FUNC PROBLEM DES_ede3_cfb_encrypt JUMPUNRESOLVED 
     5088b0   2233 FUNC RETURNTYPE RAX 1
-    5088b0   2233 FUNC INARGS    6  ARG0 4 ARG1 8 ARG2 1 ARG3 1 ARG4 0 ARG5 4 
+    5088b0   2233 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 1 ARG4 0 ARG5 4 
     509170    490 FUNC RETURNTYPE RAX 1
     509170    490 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 0 ARG4 0 ARG5 0 
     509360    466 FUNC RETURNTYPE RAX 1
diff --git a/tests/commit/save-openssl.psexe.infoannot b/tests/commit/save-openssl.psexe.infoannot
index b722669d..4dfba279 100644
--- a/tests/commit/save-openssl.psexe.infoannot
+++ b/tests/commit/save-openssl.psexe.infoannot
@@ -256,7 +256,7 @@
     403502   4021 FUNC RETURNTYPE RAX 1
     403502   4021 FUNC INARGS    6  ARG0 8 ARG1 1 ARG2 4 ARG3 0 ARG4 0 ARG5 0 
     4044b7    738 FUNC RETURNTYPE RAX 1
-    4044b7    738 FUNC INARGS    6  ARG0 8 ARG1 4 ARG2 1 ARG3 0 ARG4 0 ARG5 0 
+    4044b7    738 FUNC INARGS    6  ARG0 8 ARG1 4 ARG2 1 ARG3 4 ARG4 0 ARG5 0 
     404799    204 FUNC RETURNTYPE RAX 1
     404799    204 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 16 ARG3 1 ARG4 4 ARG5 0 
     404865     94 FUNC RETURNTYPE RAX 1
@@ -718,7 +718,7 @@
     433060     23 FUNC RETURNTYPE RAX 0
     433060     23 FUNC PROBLEM ui_open JUMPUNRESOLVED 
     433080    790 FUNC RETURNTYPE RAX 1
-    433080    790 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 1 ARG3 1 ARG4 16 ARG5 4 
+    433080    790 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 1 ARG3 1 ARG4 16 ARG5 4 
     4333a0    532 FUNC RETURNTYPE RAX 4
     4333a0    532 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
     4335c0    136 FUNC RETURNTYPE RAX 1
@@ -755,7 +755,7 @@
     434480    741 FUNC RETURNTYPE RAX 4
     434480    741 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 1 ARG3 1 ARG4 1 ARG5 0 
     434770     43 FUNC RETURNTYPE RAX 0
-    434770     43 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 1 ARG3 1 ARG4 0 ARG5 16 
+    434770     43 FUNC INARGS    6  ARG0 0 ARG1 4 ARG2 1 ARG3 1 ARG4 0 ARG5 16 
     4347a0     42 FUNC RETURNTYPE RAX 0
     4347a0     42 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 1 ARG3 1 ARG4 0 ARG5 16 
     4347d0     10 FUNC RETURNTYPE RAX 0
@@ -1000,7 +1000,7 @@
     44bc60    393 FUNC RETURNTYPE RAX 1
     44bc60    393 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
     44bdf0    379 FUNC RETURNTYPE RAX 1
-    44bdf0    379 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 0 
+    44bdf0    379 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 4 ARG3 4 ARG4 0 ARG5 0 
     44bf70    643 FUNC RETURNTYPE RAX 96
     44bf70    643 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 4 ARG3 1 ARG4 0 ARG5 0 
     44c200   6121 FUNC RETURNTYPE RAX 1
@@ -6305,7 +6305,7 @@
     4ea6b0    298 FUNC RETURNTYPE RAX 1
     4ea6b0    298 FUNC INARGS    6  ARG0 4 ARG1 1 ARG2 0 ARG3 0 ARG4 1 ARG5 0 
     4ea7e0    716 FUNC RETURNTYPE RAX 0
-    4ea7e0    716 FUNC INARGS    6  ARG0 4 ARG1 16 ARG2 96 ARG3 96 ARG4 96 ARG5 1 
+    4ea7e0    716 FUNC INARGS    6  ARG0 4 ARG1 16 ARG2 96 ARG3 4 ARG4 96 ARG5 1 
     4eaab0     58 FUNC RETURNTYPE RAX 1
     4eaab0     58 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
     4eaaf0    270 FUNC RETURNTYPE RAX 1
@@ -7088,7 +7088,7 @@
     4f3690    355 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
     4f3690    355 FUNC PROBLEM EVP_PKCS82PKEY CALLUNRESOLVED 
     4f3800    262 FUNC RETURNTYPE RAX 96
-    4f3800    262 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 1 ARG4 1 ARG5 1 
+    4f3800    262 FUNC INARGS    6  ARG0 4 ARG1 96 ARG2 0 ARG3 1 ARG4 1 ARG5 1 
     4f3800    262 FUNC PROBLEM EVP_PKEY2PKCS8 CALLUNRESOLVED 
     4f3910    278 FUNC RETURNTYPE RAX 4
     4f3910    278 FUNC INARGS    6  ARG0 4 ARG1 1 ARG2 1 ARG3 1 ARG4 0 ARG5 0 
@@ -7112,7 +7112,7 @@
     4f3b10     27 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
     4f3b14      4 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RDI ZZ add     rdi, 30h 
     4f3b30     27 FUNC RETURNTYPE RAX 1
-    4f3b30     27 FUNC INARGS    6  ARG0 0 ARG1 1 ARG2 1 ARG3 1 ARG4 1 ARG5 0 
+    4f3b30     27 FUNC INARGS    6  ARG0 1 ARG1 1 ARG2 1 ARG3 1 ARG4 1 ARG5 0 
     4f3b34      4 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RDI ZZ add     rdi, 30h 
     4f3b50     27 FUNC RETURNTYPE RAX 1
     4f3b50     27 FUNC INARGS    6  ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
@@ -10763,11 +10763,11 @@
     536df0    250 FUNC RETURNTYPE RAX 1
     536df0    250 FUNC INARGS    6  ARG0 4 ARG1 1 ARG2 1 ARG3 1 ARG4 0 ARG5 0 
     536ef0    366 FUNC RETURNTYPE RAX 96
-    536ef0    366 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
+    536ef0    366 FUNC INARGS    6  ARG0 4 ARG1 1 ARG2 0 ARG3 0 ARG4 0 ARG5 0 
     537060    262 FUNC RETURNTYPE RAX 1
     537060    262 FUNC INARGS    6  ARG0 4 ARG1 1 ARG2 1 ARG3 1 ARG4 1 ARG5 0 
     537170   1078 FUNC RETURNTYPE RAX 1
-    537170   1078 FUNC INARGS    6  ARG0 8 ARG1 0 ARG2 0 ARG3 1 ARG4 0 ARG5 0 
+    537170   1078 FUNC INARGS    6  ARG0 8 ARG1 0 ARG2 1 ARG3 1 ARG4 0 ARG5 0 
     5373f6      2 INSTR CHECK TRUNCATION SIGNED 64 RAX 32 EAX ZZ mov     esi, eax 
     537400      4 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RBX+16 ZZ lea     rdi, [rbx+10h] 
     53742b      2 INSTR CHECK TRUNCATION SIGNED 64 RAX 32 EAX ZZ mov     esi, eax 
@@ -10807,7 +10807,7 @@
     538e00    462 FUNC RETURNTYPE RAX 1
     538e00    462 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 4 ARG3 1 ARG4 16 ARG5 0 
     538fd0    374 FUNC RETURNTYPE RAX 1
-    538fd0    374 FUNC INARGS    6  ARG0 4 ARG1 8 ARG2 1 ARG3 1 ARG4 1 ARG5 0 
+    538fd0    374 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 1 ARG4 1 ARG5 0 
     539150    145 FUNC RETURNTYPE RAX 4
     539150    145 FUNC INARGS    6  ARG0 4 ARG1 0 ARG2 4 ARG3 4 ARG4 0 ARG5 0 
     539177      3 INSTR CHECK SIGNEDNESS UNSIGNED 64 R12 ZZ mov     edi, r12d       ; s 
@@ -12632,7 +12632,7 @@
     560e60   2639 FUNC RETURNTYPE RAX 0
     560e60   2639 FUNC PROBLEM DES_ede3_cfb_encrypt JUMPUNRESOLVED 
     5618b0   2233 FUNC RETURNTYPE RAX 1
-    5618b0   2233 FUNC INARGS    6  ARG0 4 ARG1 8 ARG2 1 ARG3 1 ARG4 0 ARG5 4 
+    5618b0   2233 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 1 ARG4 0 ARG5 4 
     562170    490 FUNC RETURNTYPE RAX 1
     562170    490 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 1 ARG3 0 ARG4 0 ARG5 0 
     562360    466 FUNC RETURNTYPE RAX 1
diff --git a/tests/commit/save-xedit.psexe.infoannot b/tests/commit/save-xedit.psexe.infoannot
index 02b9f549..2d1a3dc9 100644
--- a/tests/commit/save-xedit.psexe.infoannot
+++ b/tests/commit/save-xedit.psexe.infoannot
@@ -1568,7 +1568,7 @@
     443250    794 FUNC RETURNTYPE RAX 1
     443250    794 FUNC INARGS    6  ARG0 4 ARG1 4 ARG2 0 ARG3 1 ARG4 1 ARG5 1 
     4433b5      4 INSTR CHECK OVERFLOW UNSIGNED 64  RDX ZZ IDIOM 18 MEMORYSINK add     rdx, 1 
-    4434f5      5 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RSI ZZ add     rsi, [rsp+0F8h+s] 
+    4434f5      5 INSTR CHECK OVERFLOW UNKNOWNSIGN 64  RSI ZZ IDIOM 18 MEMORYSINK add     rsi, [rsp+0F8h+s] 
     4434fd      3 INSTR CHECK UNDERFLOW UNKNOWNSIGN 32  EDX ZZ sub     edx, r15d 
     443533      3 INSTR CHECK UNDERFLOW SIGNED 32  EDX ZZ sub     edx, r14d 
     443570    530 FUNC RETURNTYPE RAX 1
diff --git a/tests/commit/trimmed-sorted-save-busybox.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-busybox.psexe.annot.REMOVED.git-id
index 344d0dd4..24876221 100644
--- a/tests/commit/trimmed-sorted-save-busybox.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-busybox.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-6b7020d7698a355a3068dc0051b3697bca7ee455
\ No newline at end of file
+8fcf829b0aea614a045f18b79d5cd1af0f42a373
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-ffmpeg.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-ffmpeg.psexe.annot.REMOVED.git-id
index 2f479a26..af79bfe9 100644
--- a/tests/commit/trimmed-sorted-save-ffmpeg.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-ffmpeg.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-be5ab146ba64a4e1a7eafae57147569767bf6fb0
\ No newline at end of file
+6769a740dd55de9d3fd999b2a0be05ad9d203ec5
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-firefox-bin.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-firefox-bin.psexe.annot.REMOVED.git-id
index 0f546e94..1678a94e 100644
--- a/tests/commit/trimmed-sorted-save-firefox-bin.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-firefox-bin.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-3a43c0dffe0cc92f9775f03bbcb187c86c642976
\ No newline at end of file
+dea0304986e21e0a3135940bd258bd4b04602298
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-gedit.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-gedit.psexe.annot.REMOVED.git-id
index f976f08d..36eef6fe 100644
--- a/tests/commit/trimmed-sorted-save-gedit.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-gedit.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-21c5354b2e521f76cd28ea88d8e5e3662fb4fc6a
\ No newline at end of file
+854aa2762cfdc0efc8b2841507eb625f20b9ebf7
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-gimp.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-gimp.psexe.annot.REMOVED.git-id
index cad97dcd..1d229878 100644
--- a/tests/commit/trimmed-sorted-save-gimp.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-gimp.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-2329db7d641d03c7afd3a3a6e985ad74dd8163ac
\ No newline at end of file
+e0aa191fd683e69b48fe268cb31e4e762a81a2fb
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-gnome-calculator.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-gnome-calculator.psexe.annot.REMOVED.git-id
index 783aacd6..eb637bbb 100644
--- a/tests/commit/trimmed-sorted-save-gnome-calculator.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-gnome-calculator.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-933d6a28f390561dd2d7ecac0344c20733b2aac3
\ No newline at end of file
+67732409bd5a27f506c2b844365c67f45508c298
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-gnome-character-map.psexe.annot b/tests/commit/trimmed-sorted-save-gnome-character-map.psexe.annot
index 541a53c7..0e587e89 100644
--- a/tests/commit/trimmed-sorted-save-gnome-character-map.psexe.annot
+++ b/tests/commit/trimmed-sorted-save-gnome-character-map.psexe.annot
@@ -8629,7 +8629,7 @@
     40a3f7      5 INSTR BELONGTO 40a370 
     40a3f7      5 INSTR DEADREGS  EFLAGS RBX RSI RDI R8 R9 R10 R11 R12 ZZ jmp     _g_object_set 
     40a400      0 FUNC FRAMERESTORE 0 0 0 1 0 0 2 0 0 3 -36 0 4 0 8 5 -28 0 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 -20 0 13 -12 0 14 -4 0 15 0 0 ZZ
-    40a400      0 FUNC MMSAFENESS UNSAFE
+    40a400      0 FUNC MMSAFENESS SAFE
     40a400      2 INSTR BELONGTO 40a400 
     40a400      2 INSTR DEADREGS  EFLAGS RDI ZZ push    r14 
     40a400     -3 INSTR LOCAL NoWarn push    r14 
@@ -8676,29 +8676,21 @@
     40a415      8 DATAREF STACK 793 esp + 200 CHILDOF 776 OFFSET 200 LOCALVAR var_40 
     40a415      8 MEMORYHOLE STACK esp + 244 ReturnAddress 
     40a41c     12 INSTR BELONGTO 40a400 
-    40a41c     12 INSTR DEADREGS  EFLAGS RBX R12 R13 R14 ZZ mov     [rsp+108h+var_78], offset aNoahLevittNlev; "Noah Levitt <nlevitt@columbia.edu>" 
-    40a41c     12 PTRIMMEDESP STACK 144 displ mov     [rsp+108h+var_78], offset aNoahLevittNlev; "Noah Levitt <nlevitt@columbia.edu>"
+    40a41c     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_78], offset aNoahLevittNlev; "Noah Levitt <nlevitt@columbia.edu>" 
     40a428     12 INSTR BELONGTO 40a400 
-    40a428     12 INSTR DEADREGS  EFLAGS RBX R12 R13 R14 ZZ mov     [rsp+108h+var_70], offset aDanielElstnerD; "Daniel Elstner <daniel.elstner@gmx.net>" 
-    40a428     12 PTRIMMEDESP STACK 152 displ mov     [rsp+108h+var_70], offset aDanielElstnerD; "Daniel Elstner <daniel.elstner@gmx.net>"
+    40a428     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_70], offset aDanielElstnerD; "Daniel Elstner <daniel.elstner@gmx.net>" 
     40a434     12 INSTR BELONGTO 40a400 
-    40a434     12 INSTR DEADREGS  EFLAGS RBX R12 R13 R14 ZZ mov     [rsp+108h+var_68], offset aPadraigOBriain; "Padraig O'Briain <Padraig.Obriain@sun.c"... 
-    40a434     12 PTRIMMEDESP STACK 160 displ mov     [rsp+108h+var_68], offset aPadraigOBriain; "Padraig O'Briain <Padraig.Obriain@sun.c"...
+    40a434     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_68], offset aPadraigOBriain; "Padraig O'Briain <Padraig.Obriain@sun.c"... 
     40a440     12 INSTR BELONGTO 40a400 
-    40a440     12 INSTR DEADREGS  EFLAGS RBX R12 R13 R14 ZZ mov     [rsp+108h+var_60], offset aChristianPersc; "Christian Persch <chpe@gnome.org>" 
-    40a440     12 PTRIMMEDESP STACK 168 displ mov     [rsp+108h+var_60], offset aChristianPersc; "Christian Persch <chpe@gnome.org>"
+    40a440     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_60], offset aChristianPersc; "Christian Persch <chpe@gnome.org>" 
     40a44c     12 INSTR BELONGTO 40a400 
-    40a44c     12 INSTR DEADREGS  EFLAGS RBX R12 R13 R14 ZZ mov     [rsp+108h+var_58], 0 
-    40a44c     12 PTRIMMEDESP STACK 176 displ mov     [rsp+108h+var_58], 0
+    40a44c     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_58], 0 
     40a458     12 INSTR BELONGTO 40a400 
-    40a458     12 INSTR DEADREGS  EFLAGS RBX R12 R13 R14 ZZ mov     [rsp+108h+var_48], offset aCheeBinHohCbho; "Chee Bin HOH <cbhoh@gnome.org>" 
-    40a458     12 PTRIMMEDESP STACK 192 displ mov     [rsp+108h+var_48], offset aCheeBinHohCbho; "Chee Bin HOH <cbhoh@gnome.org>"
+    40a458     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_48], offset aCheeBinHohCbho; "Chee Bin HOH <cbhoh@gnome.org>" 
     40a464     12 INSTR BELONGTO 40a400 
-    40a464     12 INSTR DEADREGS  EFLAGS RBX R12 R13 R14 ZZ mov     [rsp+108h+var_40], offset aSunMicrosystem; "Sun Microsystems" 
-    40a464     12 PTRIMMEDESP STACK 200 displ mov     [rsp+108h+var_40], offset aSunMicrosystem; "Sun Microsystems"
+    40a464     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_40], offset aSunMicrosystem; "Sun Microsystems" 
     40a470     12 INSTR BELONGTO 40a400 
-    40a470     12 INSTR DEADREGS  EFLAGS RBX R12 R13 R14 ZZ mov     [rsp+108h+var_38], 0 
-    40a470     12 PTRIMMEDESP STACK 208 displ mov     [rsp+108h+var_38], 0
+    40a470     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_38], 0 
     40a47c     -1 INSTR LOCAL NoMetaUpdate call    _g_dgettext 
     40a47c      5 INSTR BELONGTO 40a400 
     40a47c      5 INSTR DEADREGS  EFLAGS RBX R12 R13 R14 ZZ call    _g_dgettext 
@@ -8784,8 +8776,8 @@
     40a51b      5 INSTR DEADREGS  EFLAGS RSI RDI R12 R13 R14 ZZ mov     esi, offset aBasedOnTheUnic; "Based on the Unicode Character Database"... 
     40a520      5 INSTR BELONGTO 40a400 
     40a520      5 INSTR DEADREGS  EFLAGS RDI R12 R13 R14 ZZ mov     edi, offset domainname; "gucharmap" 
+    40a525     -1 INSTR LOCAL MetadataUnused mov     r14, rax 
     40a525      3 INSTR BELONGTO 40a400 
-    40a525      3 INSTR DEADREGS  EFLAGS R12 R13 R14 ZZ mov     r14, rax 
     40a528     -1 INSTR LOCAL NoMetaUpdate call    _g_dgettext 
     40a528      5 INSTR BELONGTO 40a400 
     40a528      5 INSTR DEADREGS  EFLAGS R12 R13 ZZ call    _g_dgettext 
@@ -8812,9 +8804,8 @@
     40a54d      5 INSTR DEADREGS  EFLAGS ZZ call    _g_type_check_instance_cast 
     40a552      3 INSTR BELONGTO 40a400 
     40a552      3 INSTR DEADREGS  EFLAGS RCX RDX RSI RDI R8 R9 ZZ mov     rdi, rax 
+    40a555     -1 INSTR LOCAL MetadataUnused lea     rax, [rsp+108h+var_78] 
     40a555      8 INSTR BELONGTO 40a400 
-    40a555      8 INSTR DEADREGS  EFLAGS RAX RCX RDX RSI R8 R9 ZZ lea     rax, [rsp+108h+var_78] 
-    40a555      8 PTRIMMEDESP STACK 144 displ lea     rax, [rsp+108h+var_78]
     40a55d      3 INSTR BELONGTO 40a400 
     40a55d      3 INSTR DEADREGS  EFLAGS RCX RDX RSI R8 R9 ZZ mov     rdx, r12 
     40a560      6 INSTR BELONGTO 40a400 
@@ -8823,17 +8814,15 @@
     40a566      6 INSTR DEADREGS  EFLAGS RCX RSI R8 R12 ZZ mov     r8d, offset a3_4_1_1; "3.4.1.1" 
     40a56c      5 INSTR BELONGTO 40a400 
     40a56c      5 INSTR DEADREGS  EFLAGS RCX RSI R12 ZZ mov     ecx, offset aVersion; "version" 
+    40a571     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_A8], rax 
     40a571      5 INSTR BELONGTO 40a400 
-    40a571      5 INSTR DEADREGS  EFLAGS RSI R12 ZZ mov     [rsp+108h+var_A8], rax 
-    40a571      5 PTRIMMEDESP STACK 96 displ mov     [rsp+108h+var_A8], rax
     40a576      8 INSTR BELONGTO 40a400 
     40a576      8 INSTR DEADREGS  EFLAGS RAX RSI R12 ZZ lea     rax, [rsp+108h+var_48] 
     40a576      8 PTRIMMEDESP STACK 192 displ lea     rax, [rsp+108h+var_48]
     40a57e      5 INSTR BELONGTO 40a400 
     40a57e      5 INSTR DEADREGS  EFLAGS RSI R12 ZZ mov     esi, offset aProgramName; "program-name" 
+    40a583     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_98], r14 
     40a583      5 INSTR BELONGTO 40a400 
-    40a583      5 INSTR DEADREGS  EFLAGS R12 ZZ mov     [rsp+108h+var_98], r14 
-    40a583      5 PTRIMMEDESP STACK 112 displ mov     [rsp+108h+var_98], r14
     40a588      5 INSTR BELONGTO 40a400 
     40a588      5 INSTR DEADREGS  EFLAGS R12 R14 ZZ mov     [rsp+108h+var_D8], rbx 
     40a588      5 PTRIMMEDESP STACK 48 displ mov     [rsp+108h+var_D8], rbx
@@ -8847,26 +8836,19 @@
     40a594      4 INSTR DEADREGS  EFLAGS R12 R14 ZZ mov     [rsp+108h+var_108], r13 
     40a594      4 PTRIMMEDESP STACK 0 displ mov     [rsp+108h+var_108], r13
     40a598     12 INSTR BELONGTO 40a400 
-    40a598     12 INSTR DEADREGS  EFLAGS R12 R13 R14 ZZ mov     [rsp+108h+var_80], 0 
-    40a598     12 PTRIMMEDESP STACK 136 displ mov     [rsp+108h+var_80], 0
+    40a598     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_80], 0 
     40a5a4     12 INSTR BELONGTO 40a400 
-    40a5a4     12 INSTR DEADREGS  EFLAGS R12 R13 R14 ZZ mov     [rsp+108h+var_88], offset aHttpLive_gnome; "http://live.gnome.org/Gucharmap" 
-    40a5a4     12 PTRIMMEDESP STACK 128 displ mov     [rsp+108h+var_88], offset aHttpLive_gnome; "http://live.gnome.org/Gucharmap"
+    40a5a4     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_88], offset aHttpLive_gnome; "http://live.gnome.org/Gucharmap" 
+    40a5b0     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_90], offset aWebsite; "website" 
     40a5b0      9 INSTR BELONGTO 40a400 
-    40a5b0      9 INSTR DEADREGS  EFLAGS R12 R13 R14 ZZ mov     [rsp+108h+var_90], offset aWebsite; "website" 
-    40a5b0      9 PTRIMMEDESP STACK 120 displ mov     [rsp+108h+var_90], offset aWebsite; "website"
+    40a5b9     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_A0], offset aTranslatorCred; "translator-credits" 
     40a5b9      9 INSTR BELONGTO 40a400 
-    40a5b9      9 INSTR DEADREGS  EFLAGS R12 R13 R14 ZZ mov     [rsp+108h+var_A0], offset aTranslatorCred; "translator-credits" 
-    40a5b9      9 PTRIMMEDESP STACK 104 displ mov     [rsp+108h+var_A0], offset aTranslatorCred; "translator-credits"
+    40a5c2     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_B0], offset aAuthors; "authors" 
     40a5c2      9 INSTR BELONGTO 40a400 
-    40a5c2      9 INSTR DEADREGS  EFLAGS R12 R13 R14 ZZ mov     [rsp+108h+var_B0], offset aAuthors; "authors" 
-    40a5c2      9 PTRIMMEDESP STACK 88 displ mov     [rsp+108h+var_B0], offset aAuthors; "authors"
+    40a5cb     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_B8], offset aAccessoriesCha; "accessories-character-map" 
     40a5cb      9 INSTR BELONGTO 40a400 
-    40a5cb      9 INSTR DEADREGS  EFLAGS R12 R13 R14 ZZ mov     [rsp+108h+var_B8], offset aAccessoriesCha; "accessories-character-map" 
-    40a5cb      9 PTRIMMEDESP STACK 80 displ mov     [rsp+108h+var_B8], offset aAccessoriesCha; "accessories-character-map"
+    40a5d4     -1 INSTR LOCAL MetadataUnused mov     [rsp+108h+var_C0], offset aLogoIconName; "logo-icon-name" 
     40a5d4      9 INSTR BELONGTO 40a400 
-    40a5d4      9 INSTR DEADREGS  EFLAGS R12 R13 R14 ZZ mov     [rsp+108h+var_C0], offset aLogoIconName; "logo-icon-name" 
-    40a5d4      9 PTRIMMEDESP STACK 72 displ mov     [rsp+108h+var_C0], offset aLogoIconName; "logo-icon-name"
     40a5dd      8 INSTR BELONGTO 40a400 
     40a5dd      8 INSTR DEADREGS  EFLAGS R12 R13 R14 ZZ mov     [rsp+108h+var_C8], 1 
     40a5dd      8 PTRIMMEDESP STACK 64 displ mov     [rsp+108h+var_C8], 1
diff --git a/tests/commit/trimmed-sorted-save-gnome-keyring-daemon.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-gnome-keyring-daemon.psexe.annot.REMOVED.git-id
index e48d56a7..a390c886 100644
--- a/tests/commit/trimmed-sorted-save-gnome-keyring-daemon.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-gnome-keyring-daemon.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-6f572db2035021ed742caec8a1fd7e30e17308e8
\ No newline at end of file
+a3de79a0c9ae76bb27b44e1b9e36879bde041cbe
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-gnome-nettool.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-gnome-nettool.psexe.annot.REMOVED.git-id
index 6088d571..c35cdea5 100644
--- a/tests/commit/trimmed-sorted-save-gnome-nettool.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-gnome-nettool.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-3494082381b937fdb1c047a9ee757d1beee87841
\ No newline at end of file
+15fac219e4b842e99ace6493325781c6b6f4b9e1
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-gnome-screensaver.psexe.annot b/tests/commit/trimmed-sorted-save-gnome-screensaver.psexe.annot
index dcc334f1..1b7ca183 100644
--- a/tests/commit/trimmed-sorted-save-gnome-screensaver.psexe.annot
+++ b/tests/commit/trimmed-sorted-save-gnome-screensaver.psexe.annot
@@ -9092,7 +9092,7 @@
     40bd75      5 INSTR BELONGTO 40bbe0 
     40bd75      5 INSTR DEADREGS  EFLAGS RBX R12 R13 ZZ call    ___stack_chk_fail 
     40bd80      0 FUNC FRAMERESTORE 0 0 1 1 0 0 2 0 1 3 -28 0 4 0 8 5 -20 0 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 -12 0 13 -4 0 14 0 0 15 0 0 ZZ
-    40bd80      0 FUNC MMSAFENESS UNSAFE
+    40bd80      0 FUNC MMSAFENESS SAFE
     40bd80   1371 FUNC GLOBAL sub_40BD80 FUNC_UNSAFE NOFP RET     40c2da 
     40bd80      2 INSTR BELONGTO 40bd80 
     40bd80      2 INSTR DEADREGS  EFLAGS RAX RCX R8 R9 R10 R11 ZZ push    r13 
@@ -9421,9 +9421,8 @@
     40bfa3      2 INSTR BELONGTO 40bd80 
     40bfa5     -1 INSTR LOCAL MetadataRedundant and     eax, 1 
     40bfa5      3 INSTR BELONGTO 40bd80 
+    40bfa8     -1 INSTR LOCAL MetadataUnused mov     [rsp+0D8h+var_2C], eax 
     40bfa8      7 INSTR BELONGTO 40bd80 
-    40bfa8      7 INSTR DEADREGS  EFLAGS R13 ZZ mov     [rsp+0D8h+var_2C], eax 
-    40bfa8      7 PTRIMMEDESP STACK 172 displ mov     [rsp+0D8h+var_2C], eax
     40bfaf     -1 INSTR LOCAL NoMetaUpdate call    _dbus_message_iter_append_basic 
     40bfaf      5 INSTR BELONGTO 40bd80 
     40bfaf      5 INSTR DEADREGS  EFLAGS R13 ZZ call    _dbus_message_iter_append_basic 
@@ -9567,9 +9566,8 @@
     40c094     -1 INSTR LOCAL NoMetaUpdate call    _dbus_error_init 
     40c094      5 INSTR BELONGTO 40bd80 
     40c094      5 INSTR DEADREGS  EFLAGS ZZ call    _dbus_error_init 
+    40c099     -1 INSTR LOCAL MetadataUnused lea     rax, [rsp+0D8h+var_38] 
     40c099      8 INSTR BELONGTO 40bd80 
-    40c099      8 INSTR DEADREGS  EFLAGS RAX RCX RDX RSI RDI R8 R9 ZZ lea     rax, [rsp+0D8h+var_38] 
-    40c099      8 PTRIMMEDESP STACK 160 displ lea     rax, [rsp+0D8h+var_38]
     40c0a1      8 INSTR BELONGTO 40bd80 
     40c0a1      8 INSTR DEADREGS  EFLAGS RCX RDX RSI RDI R8 R9 ZZ lea     r9, [rsp+0D8h+var_40] 
     40c0a1      8 PTRIMMEDESP STACK 152 displ lea     r9, [rsp+0D8h+var_40]
@@ -9585,17 +9583,15 @@
     40c0bc     -2 INSTR LOCAL n EDX ZZ  NUMVia2ndSrcIMMEDNUM mov     edx, 73h 
     40c0bc      5 INSTR BELONGTO 40bd80 
     40c0bc      5 INSTR DEADREGS  EFLAGS RDX RDI ZZ mov     edx, 73h 
+    40c0c1     -1 INSTR LOCAL MetadataUnused mov     [rsp+0D8h+var_D0], rax 
     40c0c1      5 INSTR BELONGTO 40bd80 
-    40c0c1      5 INSTR DEADREGS  EFLAGS RDI ZZ mov     [rsp+0D8h+var_D0], rax 
-    40c0c1      5 PTRIMMEDESP STACK 8 displ mov     [rsp+0D8h+var_D0], rax
     40c0c6      3 INSTR BELONGTO 40bd80 
     40c0c6      3 INSTR DEADREGS  EFLAGS RAX RDI ZZ mov     rdi, rbx 
     40c0c9      2 INSTR BELONGTO 40bd80 
     40c0c9      2 INSTR DEADREGS  EFLAGS RAX ZZ xor     eax, eax 
     40c0c9     -2 INSTR LOCAL n EAX ZZ  AlwaysNUM xor     eax, eax 
+    40c0cb     -1 INSTR LOCAL MetadataUnused mov     [rsp+0D8h+var_C8], 0 
     40c0cb      8 INSTR BELONGTO 40bd80 
-    40c0cb      8 INSTR DEADREGS  EFLAGS ZZ mov     [rsp+0D8h+var_C8], 0 
-    40c0cb      8 PTRIMMEDESP STACK 16 displ mov     [rsp+0D8h+var_C8], 0
     40c0d3      7 INSTR BELONGTO 40bd80 
     40c0d3      7 INSTR DEADREGS  EFLAGS ZZ mov     [rsp+0D8h+var_D8], 73h 
     40c0d3      7 PTRIMMEDESP STACK 0 displ mov     [rsp+0D8h+var_D8], 73h
@@ -9682,8 +9678,7 @@
     40c169     -1 INSTR LOCAL NoMetaUpdate jnz     loc_40C1FF 
     40c169      6 INSTR BELONGTO 40bd80 
     40c16f     11 INSTR BELONGTO 40bd80 
-    40c16f     11 INSTR DEADREGS  EFLAGS RAX RCX RDX RSI RDI R8 R13 ZZ mov     [rsp+0D8h+var_2C], 0 
-    40c16f     11 PTRIMMEDESP STACK 172 displ mov     [rsp+0D8h+var_2C], 0
+    40c16f     -1 INSTR LOCAL MetadataUnused mov     [rsp+0D8h+var_2C], 0 
     40c17a     -2 INSTR LOCAL n R8 ZZ  AlwaysNUM xor     r8d, r8d 
     40c17a      3 INSTR BELONGTO 40bd80 
     40c17a      3 INSTR DEADREGS  EFLAGS RAX RCX RDX RSI RDI R8 R13 ZZ xor     r8d, r8d 
@@ -9791,9 +9786,8 @@
     40c218      3 INSTR DEADREGS  EFLAGS RCX RSI RDI R8 R13 ZZ mov     r8d, eax 
     40c21b      3 INSTR BELONGTO 40bd80 
     40c21b      3 INSTR DEADREGS  EFLAGS RAX RCX RSI RDI R13 ZZ sub     r8d, edx 
+    40c21e     -1 INSTR LOCAL MetadataUnused mov     [rsp+0D8h+var_2C], r8d 
     40c21e      8 INSTR BELONGTO 40bd80 
-    40c21e      8 INSTR DEADREGS  EFLAGS RAX RCX RDX RSI RDI R13 ZZ mov     [rsp+0D8h+var_2C], r8d 
-    40c21e      8 PTRIMMEDESP STACK 172 displ mov     [rsp+0D8h+var_2C], r8d
     40c226     -1 INSTR LOCAL NoMetaUpdate jmp     loc_40C17D 
     40c226      5 INSTR BELONGTO 40bd80 
     40c22b      5 INSTR BELONGTO 40bd80 
@@ -9828,8 +9822,7 @@
     40c256      5 INSTR BELONGTO 40bd80 
     40c256      5 INSTR DEADREGS  EFLAGS RCX R10 R11 R13 ZZ call    gs_debug_real 
     40c25b     11 INSTR BELONGTO 40bd80 
-    40c25b     11 INSTR DEADREGS  EFLAGS RAX RCX RDX RSI RDI R8 R13 ZZ mov     [rsp+0D8h+var_2C], 0 
-    40c25b     11 PTRIMMEDESP STACK 172 displ mov     [rsp+0D8h+var_2C], 0
+    40c25b     -1 INSTR LOCAL MetadataUnused mov     [rsp+0D8h+var_2C], 0 
     40c266     -2 INSTR LOCAL n R8 ZZ  AlwaysNUM xor     r8d, r8d 
     40c266      3 INSTR BELONGTO 40bd80 
     40c266      3 INSTR DEADREGS  EFLAGS RAX RCX RDX RSI RDI R8 R13 ZZ xor     r8d, r8d 
diff --git a/tests/commit/trimmed-sorted-save-gnome-screenshot.psexe.annot b/tests/commit/trimmed-sorted-save-gnome-screenshot.psexe.annot
index 048ae60d..8fb682bd 100644
--- a/tests/commit/trimmed-sorted-save-gnome-screenshot.psexe.annot
+++ b/tests/commit/trimmed-sorted-save-gnome-screenshot.psexe.annot
@@ -11741,7 +11741,7 @@
     40bfa4     -1 INSTR LOCAL NoMetaUpdate jmp     short loc_40BF5B 
     40bfa4      2 INSTR BELONGTO 40bf30 
     40bfb0      0 FUNC FRAMERESTORE 0 0 0 1 0 0 2 0 0 3 -44 0 4 0 8 5 -36 0 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 -28 0 13 -20 0 14 -12 0 15 -4 0 ZZ
-    40bfb0      0 FUNC MMSAFENESS UNSAFE
+    40bfb0      0 FUNC MMSAFENESS SAFE
     40bfb0   2677 FUNC GLOBAL sub_40BFB0 FUNC_UNSAFE NOFP RET     40ca24 
     40bfb0      2 INSTR BELONGTO 40bfb0 
     40bfb0      2 INSTR DEADREGS  EFLAGS RAX R9 ZZ push    r15 
@@ -11931,9 +11931,8 @@
     40c09f     10 INSTR BELONGTO 40bfb0 
     40c09f     10 INSTR DEADREGS  EFLAGS RBX R12 R13 R14 R15 ZZ mov     [rsp+198h+var_E8], 0 
     40c09f     10 PTRIMMEDESP STACK 176 displ mov     [rsp+198h+var_E8], 0
+    40c0a9     -1 INSTR LOCAL MetadataUnused mov     word ptr [rsp+198h+var_160], 0 
     40c0a9      7 INSTR BELONGTO 40bfb0 
-    40c0a9      7 INSTR DEADREGS  EFLAGS RBX R12 R13 R14 R15 ZZ mov     word ptr [rsp+198h+var_160], 0 
-    40c0a9      7 PTRIMMEDESP STACK 56 displ mov     word ptr [rsp+198h+var_160], 0
     40c0b0     10 INSTR BELONGTO 40bfb0 
     40c0b0     10 INSTR DEADREGS  EFLAGS RBX R12 R13 R14 R15 ZZ mov     [rsp+198h+var_F8], 0 
     40c0b0     10 PTRIMMEDESP STACK 160 displ mov     [rsp+198h+var_F8], 0
@@ -11974,9 +11973,8 @@
     40c0ff      7 PTRIMMEDESP STACK 232 displ mov     [rsp+198h+var_B0], eax
     40c106      3 INSTR BELONGTO 40bfb0 
     40c106      3 INSTR DEADREGS  EFLAGS RAX RBX R12 R13 R14 R15 ZZ mov     eax, [rdx+0Ch] 
+    40c109     -1 INSTR LOCAL MetadataUnused mov     [rsp+198h+var_AC], eax 
     40c109      7 INSTR BELONGTO 40bfb0 
-    40c109      7 INSTR DEADREGS  EFLAGS RBX R12 R13 R14 R15 ZZ mov     [rsp+198h+var_AC], eax 
-    40c109      7 PTRIMMEDESP STACK 236 displ mov     [rsp+198h+var_AC], eax
     40c110     -1 INSTR LOCAL NoMetaUpdate call    _gdk_get_default_root_window 
     40c110      5 INSTR BELONGTO 40bfb0 
     40c110      5 INSTR DEADREGS  EFLAGS RBX R12 R13 R14 R15 ZZ call    _gdk_get_default_root_window 
@@ -12032,16 +12030,14 @@
     40c17c      5 INSTR BELONGTO 40bfb0 
     40c17c      5 INSTR DEADREGS  EFLAGS RAX RCX R12 R13 R14 R15 XMM0 XMM1 XMM3 ZZ mov     rcx, [rsp+198h+var_130] 
     40c17c      5 PTRIMMEDESP STACK 104 displ mov     rcx, [rsp+198h+var_130]
+    40c181     -1 INSTR LOCAL MetadataUnused mov     rax, [rcx] 
     40c181      3 INSTR BELONGTO 40bfb0 
-    40c181      3 INSTR DEADREGS  EFLAGS RAX R12 R13 R14 R15 XMM0 XMM1 XMM3 ZZ mov     rax, [rcx] 
+    40c184     -1 INSTR LOCAL MetadataUnused mov     [rsp+198h+var_A8], rax 
     40c184      8 INSTR BELONGTO 40bfb0 
-    40c184      8 INSTR DEADREGS  EFLAGS R12 R13 R14 R15 XMM0 XMM1 XMM3 ZZ mov     [rsp+198h+var_A8], rax 
-    40c184      8 PTRIMMEDESP STACK 240 displ mov     [rsp+198h+var_A8], rax
     40c18c      4 INSTR BELONGTO 40bfb0 
     40c18c      4 INSTR DEADREGS  EFLAGS RAX R12 R13 R14 R15 XMM0 XMM1 XMM3 ZZ mov     rax, [rcx+8] 
+    40c190     -1 INSTR LOCAL MetadataUnused mov     [rsp+198h+var_A0], rax 
     40c190      8 INSTR BELONGTO 40bfb0 
-    40c190      8 INSTR DEADREGS  EFLAGS R12 R13 R14 R15 XMM0 XMM1 XMM3 ZZ mov     [rsp+198h+var_A0], rax 
-    40c190      8 PTRIMMEDESP STACK 248 displ mov     [rsp+198h+var_A0], rax
     40c198     -1 INSTR LOCAL NoMetaUpdate call    sub_407C50 
     40c198      5 INSTR BELONGTO 40bfb0 
     40c198      5 INSTR DEADREGS  EFLAGS R12 R13 R14 R15 XMM0 XMM1 XMM3 ZZ call    sub_407C50 
@@ -12168,9 +12164,8 @@
     40c282      4 INSTR BELONGTO 40bfb0 
     40c286     -1 INSTR LOCAL NoMetaUpdate cvtsi2sd xmm0, eax 
     40c286      4 INSTR BELONGTO 40bfb0 
+    40c28a     -1 INSTR LOCAL MetadataUnused mov     word ptr [rsp+198h+var_160], cx 
     40c28a      5 INSTR BELONGTO 40bfb0 
-    40c28a      5 INSTR DEADREGS  EFLAGS RBX R12 R13 R14 R15 ZZ mov     word ptr [rsp+198h+var_160], cx 
-    40c28a      5 PTRIMMEDESP STACK 56 displ mov     word ptr [rsp+198h+var_160], cx
     40c28f     -1 INSTR LOCAL AlwaysNUM cvttsd2si esi, xmm0 
     40c28f      4 INSTR BELONGTO 40bfb0 
     40c293      5 INSTR BELONGTO 40bfb0 
@@ -12299,34 +12294,29 @@
     40c381     -1 INSTR LOCAL NoMetaUpdate call    ___isoc99_sscanf 
     40c381      5 INSTR BELONGTO 40bfb0 
     40c381      5 INSTR DEADREGS  EFLAGS R13 R14 R15 ZZ call    ___isoc99_sscanf 
+    40c386     -1 INSTR LOCAL MetadataUnused mov     eax, [rsp+198h+var_C8] 
     40c386      7 INSTR BELONGTO 40bfb0 
-    40c386      7 INSTR DEADREGS  EFLAGS RAX RDI R13 R14 R15 ZZ mov     eax, [rsp+198h+var_C8] 
-    40c386      7 PTRIMMEDESP STACK 208 displ mov     eax, [rsp+198h+var_C8]
+    40c38d     -1 INSTR LOCAL MetadataUnused add     eax, [rsp+198h+var_44] 
     40c38d      7 INSTR BELONGTO 40bfb0 
-    40c38d      7 INSTR DEADREGS  EFLAGS RDI R13 R14 R15 ZZ add     eax, [rsp+198h+var_44] 
-    40c38d      7 PTRIMMEDESP STACK 340 displ add     eax, [rsp+198h+var_44]
     40c394      3 INSTR BELONGTO 40bfb0 
     40c394      3 INSTR DEADREGS  EFLAGS RDI R13 R14 R15 ZZ mov     rdi, rbp 
+    40c397     -1 INSTR LOCAL MetadataUnused mov     dword ptr [rsp+198h+var_A8], eax 
     40c397      7 INSTR BELONGTO 40bfb0 
-    40c397      7 INSTR DEADREGS  EFLAGS R13 R14 R15 ZZ mov     dword ptr [rsp+198h+var_A8], eax 
-    40c397      7 PTRIMMEDESP STACK 240 displ mov     dword ptr [rsp+198h+var_A8], eax
     40c39e      7 INSTR BELONGTO 40bfb0 
     40c39e      7 INSTR DEADREGS  EFLAGS RAX R13 R14 R15 ZZ mov     eax, [rsp+198h+var_C4] 
     40c39e      7 PTRIMMEDESP STACK 212 displ mov     eax, [rsp+198h+var_C4]
     40c3a5      7 INSTR BELONGTO 40bfb0 
     40c3a5      7 INSTR DEADREGS  EFLAGS R13 R14 R15 ZZ add     eax, [rsp+198h+var_48] 
     40c3a5      7 PTRIMMEDESP STACK 336 displ add     eax, [rsp+198h+var_48]
+    40c3ac     -1 INSTR LOCAL MetadataUnused mov     dword ptr [rsp+198h+var_A8+4], eax 
     40c3ac      7 INSTR BELONGTO 40bfb0 
-    40c3ac      7 INSTR DEADREGS  EFLAGS R13 R14 R15 ZZ mov     dword ptr [rsp+198h+var_A8+4], eax 
-    40c3ac      7 PTRIMMEDESP STACK 244 displ mov     dword ptr [rsp+198h+var_A8+4], eax
     40c3b3     -1 INSTR LOCAL NoMetaUpdate call    _gdk_pixbuf_get_width 
     40c3b3      5 INSTR BELONGTO 40bfb0 
     40c3b3      5 INSTR DEADREGS  EFLAGS R13 R14 R15 ZZ call    _gdk_pixbuf_get_width 
     40c3b8      3 INSTR BELONGTO 40bfb0 
     40c3b8      3 INSTR DEADREGS  EFLAGS RDI R13 R14 R15 ZZ mov     rdi, rbp 
+    40c3bb     -1 INSTR LOCAL MetadataUnused mov     dword ptr [rsp+198h+var_A0], eax 
     40c3bb      7 INSTR BELONGTO 40bfb0 
-    40c3bb      7 INSTR DEADREGS  EFLAGS R13 R14 R15 ZZ mov     dword ptr [rsp+198h+var_A0], eax 
-    40c3bb      7 PTRIMMEDESP STACK 248 displ mov     dword ptr [rsp+198h+var_A0], eax
     40c3c2     -1 INSTR LOCAL NoMetaUpdate call    _gdk_pixbuf_get_height 
     40c3c2      5 INSTR BELONGTO 40bfb0 
     40c3c2      5 INSTR DEADREGS  EFLAGS R13 R14 R15 ZZ call    _gdk_pixbuf_get_height 
@@ -12336,9 +12326,8 @@
     40c3cf      8 INSTR BELONGTO 40bfb0 
     40c3cf      8 INSTR DEADREGS  EFLAGS RSI RDI R13 R14 R15 ZZ lea     rdi, [rsp+198h+var_C8] 
     40c3cf      8 PTRIMMEDESP STACK 208 displ lea     rdi, [rsp+198h+var_C8]
+    40c3d7     -1 INSTR LOCAL MetadataUnused mov     dword ptr [rsp+198h+var_A0+4], eax 
     40c3d7      7 INSTR BELONGTO 40bfb0 
-    40c3d7      7 INSTR DEADREGS  EFLAGS RSI R13 R14 R15 ZZ mov     dword ptr [rsp+198h+var_A0+4], eax 
-    40c3d7      7 PTRIMMEDESP STACK 252 displ mov     dword ptr [rsp+198h+var_A0+4], eax
     40c3de      3 INSTR BELONGTO 40bfb0 
     40c3de      3 INSTR DEADREGS  EFLAGS RSI R13 R14 R15 ZZ mov     rsi, rdx 
     40c3e1     -1 INSTR LOCAL NoMetaUpdate call    _gdk_rectangle_intersect 
@@ -12466,23 +12455,22 @@
     40c4c0      2 INSTR BELONGTO 40bfb0 
     40c4c2     -1 INSTR LOCAL NoMetaUpdate jle     loc_40C6B8 
     40c4c2      6 INSTR BELONGTO 40bfb0 
-    40c4c8     -2 INSTR LOCAL n EDX ZZ  NumericDEFs movsx   edx, [rsp+198h+var_F8] 
+    40c4c8     -1 INSTR LOCAL MetadataUnused movsx   edx, [rsp+198h+var_F8] 
     40c4c8      8 INSTR BELONGTO 40bfb0 
-    40c4c8      8 INSTR DEADREGS  EFLAGS RAX RDX R13 R14 R15 ZZ movsx   edx, [rsp+198h+var_F8] 
-    40c4c8      8 PTRIMMEDESP STACK 160 displ movsx   edx, [rsp+198h+var_F8]
-    40c4d0     -2 INSTR LOCAL n EAX ZZ  NumericDEFs movsx   eax, word ptr [rsp+198h+var_160] 
+    40c4d0     -1 INSTR LOCAL MetadataUnused movsx   eax, word ptr [rsp+198h+var_160] 
     40c4d0      5 INSTR BELONGTO 40bfb0 
-    40c4d0      5 INSTR DEADREGS  EFLAGS RAX R13 R14 R15 ZZ movsx   eax, word ptr [rsp+198h+var_160] 
-    40c4d0      5 PTRIMMEDESP STACK 56 displ movsx   eax, word ptr [rsp+198h+var_160]
-    40c4d5     -1 INSTR LOCAL MetadataRedundant add     eax, edx 
+    40c4d5     -1 INSTR LOCAL MetadataUnused add     eax, edx 
     40c4d5      2 INSTR BELONGTO 40bfb0 
-    40c4d7     -1 INSTR LOCAL MetadataRedundant movsx   edx, [rsp+198h+var_E8] 
+    40c4d7     -2 INSTR LOCAL n EDX ZZ  NumericDEFs movsx   edx, [rsp+198h+var_E8] 
     40c4d7      8 INSTR BELONGTO 40bfb0 
+    40c4d7      8 INSTR DEADREGS  EFLAGS RDX R13 R14 R15 ZZ movsx   edx, [rsp+198h+var_E8] 
+    40c4d7      8 PTRIMMEDESP STACK 176 displ movsx   edx, [rsp+198h+var_E8]
+    40c4df     -1 INSTR LOCAL MetadataUnused mov     [rsp+198h+var_D8], eax 
     40c4df      7 INSTR BELONGTO 40bfb0 
-    40c4df      7 INSTR DEADREGS  EFLAGS R13 R14 R15 ZZ mov     [rsp+198h+var_D8], eax 
-    40c4df      7 PTRIMMEDESP STACK 192 displ mov     [rsp+198h+var_D8], eax
-    40c4e6     -1 INSTR LOCAL MetadataRedundant movsx   eax, word ptr [rsp+198h+var_158] 
+    40c4e6     -2 INSTR LOCAL n EAX ZZ  NumericDEFs movsx   eax, word ptr [rsp+198h+var_158] 
     40c4e6      5 INSTR BELONGTO 40bfb0 
+    40c4e6      5 INSTR DEADREGS  EFLAGS RAX R13 R14 R15 ZZ movsx   eax, word ptr [rsp+198h+var_158] 
+    40c4e6      5 PTRIMMEDESP STACK 64 displ movsx   eax, word ptr [rsp+198h+var_158]
     40c4eb     -1 INSTR LOCAL MetadataRedundant add     eax, edx 
     40c4eb      2 INSTR BELONGTO 40bfb0 
     40c4ed      7 INSTR BELONGTO 40bfb0 
@@ -12491,24 +12479,21 @@
     40c4f4     -1 INSTR LOCAL NoMetaUpdate call    _gdk_screen_width 
     40c4f4      5 INSTR BELONGTO 40bfb0 
     40c4f4      5 INSTR DEADREGS  EFLAGS R13 R14 R15 ZZ call    _gdk_screen_width 
+    40c4f9     -1 INSTR LOCAL MetadataUnused mov     [rsp+198h+var_108], eax 
     40c4f9      7 INSTR BELONGTO 40bfb0 
-    40c4f9      7 INSTR DEADREGS  EFLAGS R13 R14 R15 ZZ mov     [rsp+198h+var_108], eax 
-    40c4f9      7 PTRIMMEDESP STACK 144 displ mov     [rsp+198h+var_108], eax
     40c500     -1 INSTR LOCAL NoMetaUpdate call    _gdk_screen_height 
     40c500      5 INSTR BELONGTO 40bfb0 
     40c500      5 INSTR DEADREGS  EFLAGS R13 R14 R15 ZZ call    _gdk_screen_height 
     40c505      7 INSTR BELONGTO 40bfb0 
     40c505      7 INSTR DEADREGS  EFLAGS RCX RDX RSI RDI R13 R14 R15 ZZ mov     [rsp+198h+var_104], eax 
     40c505      7 PTRIMMEDESP STACK 148 displ mov     [rsp+198h+var_104], eax
+    40c50c     -1 INSTR LOCAL MetadataUnused mov     rax, [rsp+198h+var_D0] 
     40c50c      8 INSTR BELONGTO 40bfb0 
-    40c50c      8 INSTR DEADREGS  EFLAGS RAX RCX RDX RSI RDI R13 R14 R15 ZZ mov     rax, [rsp+198h+var_D0] 
-    40c50c      8 PTRIMMEDESP STACK 200 displ mov     rax, [rsp+198h+var_D0]
     40c514     11 INSTR BELONGTO 40bfb0 
     40c514     11 INSTR DEADREGS  EFLAGS RCX RDX RSI RDI R13 R14 R15 ZZ mov     [rsp+198h+var_114], 0 
     40c514     11 PTRIMMEDESP STACK 132 displ mov     [rsp+198h+var_114], 0
+    40c51f     -1 INSTR LOCAL MetadataUnused mov     [rsp+198h+var_128], rax 
     40c51f      5 INSTR BELONGTO 40bfb0 
-    40c51f      5 INSTR DEADREGS  EFLAGS RCX RDX RSI RDI R13 R14 R15 ZZ mov     [rsp+198h+var_128], rax 
-    40c51f      5 PTRIMMEDESP STACK 112 displ mov     [rsp+198h+var_128], rax
     40c524     -1 INSTR LOCAL MetadataUnused mov     rcx, [rsp+198h+var_128] 
     40c524      5 INSTR BELONGTO 40bfb0 
     40c529     -1 INSTR LOCAL MetadataUnused movzx   r13d, word ptr [rcx+4] 
@@ -12580,9 +12565,8 @@
     40c5ad      3 INSTR BELONGTO 40bfb0 
     40c5b0     -1 INSTR LOCAL NoMetaUpdate cmp     r14d, eax 
     40c5b0      3 INSTR BELONGTO 40bfb0 
+    40c5b3     -1 INSTR LOCAL MetadataUnused mov     dword ptr [rsp+198h+var_148], eax 
     40c5b3      4 INSTR BELONGTO 40bfb0 
-    40c5b3      4 INSTR DEADREGS  RDI R15 ZZ mov     dword ptr [rsp+198h+var_148], eax 
-    40c5b3      4 PTRIMMEDESP STACK 80 displ mov     dword ptr [rsp+198h+var_148], eax
     40c5b7     -1 INSTR LOCAL NoMetaUpdate jge     loc_40C696 
     40c5b7      6 INSTR BELONGTO 40bfb0 
     40c5bd     -2 INSTR LOCAL n EAX ZZ  NumericDEFs lea     eax, ds:0[rdx*4] 
@@ -12720,9 +12704,8 @@
     40c696      8 INSTR BELONGTO 40bfb0 
     40c696      8 INSTR DEADREGS  EFLAGS RDX RDI R13 R14 R15 ZZ add     [rsp+198h+var_114], 1 
     40c696      8 PTRIMMEDESP STACK 132 displ add     [rsp+198h+var_114], 1
+    40c69e     -1 INSTR LOCAL MetadataUnused add     [rsp+198h+var_128], 8 
     40c69e      6 INSTR BELONGTO 40bfb0 
-    40c69e      6 INSTR DEADREGS  EFLAGS RDX RDI R13 R14 R15 ZZ add     [rsp+198h+var_128], 8 
-    40c69e      6 PTRIMMEDESP STACK 112 displ add     [rsp+198h+var_128], 8
     40c6a4      7 INSTR BELONGTO 40bfb0 
     40c6a4      7 INSTR DEADREGS  EFLAGS RDX RDI R13 R14 R15 ZZ mov     edx, [rsp+198h+var_114] 
     40c6a4      7 PTRIMMEDESP STACK 132 displ mov     edx, [rsp+198h+var_114]
@@ -12817,28 +12800,24 @@
     40c74a      3 INSTR BELONGTO 40bfb0 
     40c74a      3 INSTR DEADREGS  EFLAGS RDI R12 R13 R15 ZZ mov     rdi, r14 
     40c74d     11 INSTR BELONGTO 40bfb0 
-    40c74d     11 INSTR DEADREGS  EFLAGS R12 R13 R15 ZZ mov     dword ptr [rsp+198h+var_A8], 0 
-    40c74d     11 PTRIMMEDESP STACK 240 displ mov     dword ptr [rsp+198h+var_A8], 0
+    40c74d     -1 INSTR LOCAL MetadataUnused mov     dword ptr [rsp+198h+var_A8], 0 
     40c758     11 INSTR BELONGTO 40bfb0 
-    40c758     11 INSTR DEADREGS  EFLAGS R12 R13 R15 ZZ mov     dword ptr [rsp+198h+var_A8+4], 0 
-    40c758     11 PTRIMMEDESP STACK 244 displ mov     dword ptr [rsp+198h+var_A8+4], 0
+    40c758     -1 INSTR LOCAL MetadataUnused mov     dword ptr [rsp+198h+var_A8+4], 0 
     40c763     -1 INSTR LOCAL NoMetaUpdate call    _gdk_screen_get_width 
     40c763      5 INSTR BELONGTO 40bfb0 
     40c763      5 INSTR DEADREGS  EFLAGS R12 R13 R15 ZZ call    _gdk_screen_get_width 
     40c768      3 INSTR BELONGTO 40bfb0 
     40c768      3 INSTR DEADREGS  EFLAGS RDI R12 R13 R15 ZZ mov     rdi, r14 
+    40c76b     -1 INSTR LOCAL MetadataUnused mov     dword ptr [rsp+198h+var_A0], eax 
     40c76b      7 INSTR BELONGTO 40bfb0 
-    40c76b      7 INSTR DEADREGS  EFLAGS R12 R13 R14 R15 ZZ mov     dword ptr [rsp+198h+var_A0], eax 
-    40c76b      7 PTRIMMEDESP STACK 248 displ mov     dword ptr [rsp+198h+var_A0], eax
     40c772     -1 INSTR LOCAL NoMetaUpdate call    _gdk_screen_get_height 
     40c772      5 INSTR BELONGTO 40bfb0 
     40c772      5 INSTR DEADREGS  EFLAGS R12 R13 R14 R15 ZZ call    _gdk_screen_get_height 
     40c777      8 INSTR BELONGTO 40bfb0 
     40c777      8 INSTR DEADREGS  EFLAGS RDI R12 R13 R14 R15 ZZ mov     rdi, [rsp+198h+var_110] 
     40c777      8 PTRIMMEDESP STACK 136 displ mov     rdi, [rsp+198h+var_110]
+    40c77f     -1 INSTR LOCAL MetadataUnused mov     dword ptr [rsp+198h+var_A0+4], eax 
     40c77f      7 INSTR BELONGTO 40bfb0 
-    40c77f      7 INSTR DEADREGS  EFLAGS R12 R13 R14 R15 ZZ mov     dword ptr [rsp+198h+var_A0+4], eax 
-    40c77f      7 PTRIMMEDESP STACK 252 displ mov     dword ptr [rsp+198h+var_A0+4], eax
     40c786     -1 INSTR LOCAL NoMetaUpdate call    _cairo_region_create_rectangle 
     40c786      5 INSTR BELONGTO 40bfb0 
     40c786      5 INSTR DEADREGS  EFLAGS R12 R13 R14 R15 ZZ call    _cairo_region_create_rectangle 
@@ -12868,25 +12847,21 @@
     40c7ad      5 INSTR DEADREGS  EFLAGS R12 R13 R14 ZZ call    _gdk_pixbuf_get_width 
     40c7b2      3 INSTR BELONGTO 40bfb0 
     40c7b2      3 INSTR DEADREGS  EFLAGS RDI R12 R13 R14 ZZ mov     rdi, rbx 
+    40c7b5     -1 INSTR LOCAL MetadataUnused mov     r12d, eax 
     40c7b5      3 INSTR BELONGTO 40bfb0 
-    40c7b5      3 INSTR DEADREGS  EFLAGS R12 R13 R14 ZZ mov     r12d, eax 
     40c7b8     -1 INSTR LOCAL NoMetaUpdate call    _gdk_pixbuf_get_height 
     40c7b8      5 INSTR BELONGTO 40bfb0 
     40c7b8      5 INSTR DEADREGS  EFLAGS R13 R14 ZZ call    _gdk_pixbuf_get_height 
     40c7bd     -1 INSTR LOCAL NoMetaUpdate test    r15d, r15d 
     40c7bd      3 INSTR BELONGTO 40bfb0 
     40c7c0     11 INSTR BELONGTO 40bfb0 
-    40c7c0     11 INSTR DEADREGS  RDI R13 R14 ZZ mov     [rsp+198h+var_98], 0 
-    40c7c0     11 PTRIMMEDESP STACK 256 displ mov     [rsp+198h+var_98], 0
+    40c7c0     -1 INSTR LOCAL MetadataUnused mov     [rsp+198h+var_98], 0 
     40c7cb     11 INSTR BELONGTO 40bfb0 
-    40c7cb     11 INSTR DEADREGS  RDI R13 R14 ZZ mov     [rsp+198h+var_94], 0 
-    40c7cb     11 PTRIMMEDESP STACK 260 displ mov     [rsp+198h+var_94], 0
+    40c7cb     -1 INSTR LOCAL MetadataUnused mov     [rsp+198h+var_94], 0 
+    40c7d6     -1 INSTR LOCAL MetadataUnused mov     [rsp+198h+var_90], r12d 
     40c7d6      8 INSTR BELONGTO 40bfb0 
-    40c7d6      8 INSTR DEADREGS  RDI R13 R14 ZZ mov     [rsp+198h+var_90], r12d 
-    40c7d6      8 PTRIMMEDESP STACK 264 displ mov     [rsp+198h+var_90], r12d
+    40c7de     -1 INSTR LOCAL MetadataUnused mov     [rsp+198h+var_8C], eax 
     40c7de      7 INSTR BELONGTO 40bfb0 
-    40c7de      7 INSTR DEADREGS  RDI R12 R13 R14 ZZ mov     [rsp+198h+var_8C], eax 
-    40c7de      7 PTRIMMEDESP STACK 268 displ mov     [rsp+198h+var_8C], eax
     40c7e5     -1 INSTR LOCAL NoMetaUpdate jle     loc_40C936 
     40c7e5      6 INSTR BELONGTO 40bfb0 
     40c7eb     -2 INSTR LOCAL n R12 ZZ  AlwaysNUM xor     r12d, r12d 
@@ -12965,17 +12940,15 @@
     40c870      5 INSTR DEADREGS  EFLAGS ZZ call    _gdk_pixbuf_get_pixels 
     40c875      3 INSTR BELONGTO 40bfb0 
     40c875      3 INSTR DEADREGS  EFLAGS RDI ZZ mov     rdi, rbx 
+    40c878     -1 INSTR LOCAL MetadataUnused mov     [rsp+198h+var_138], rax 
     40c878      5 INSTR BELONGTO 40bfb0 
-    40c878      5 INSTR DEADREGS  EFLAGS ZZ mov     [rsp+198h+var_138], rax 
-    40c878      5 PTRIMMEDESP STACK 96 displ mov     [rsp+198h+var_138], rax
     40c87d     -1 INSTR LOCAL NoMetaUpdate call    _gdk_pixbuf_get_rowstride 
     40c87d      5 INSTR BELONGTO 40bfb0 
     40c87d      5 INSTR DEADREGS  EFLAGS ZZ call    _gdk_pixbuf_get_rowstride 
     40c882      3 INSTR BELONGTO 40bfb0 
     40c882      3 INSTR DEADREGS  EFLAGS RDI ZZ mov     rdi, rbx 
+    40c885     -1 INSTR LOCAL MetadataUnused mov     [rsp+198h+var_170], eax 
     40c885      4 INSTR BELONGTO 40bfb0 
-    40c885      4 INSTR DEADREGS  EFLAGS ZZ mov     [rsp+198h+var_170], eax 
-    40c885      4 PTRIMMEDESP STACK 40 displ mov     [rsp+198h+var_170], eax
     40c889     -1 INSTR LOCAL NoMetaUpdate call    _gdk_pixbuf_get_has_alpha 
     40c889      5 INSTR BELONGTO 40bfb0 
     40c889      5 INSTR DEADREGS  EFLAGS ZZ call    _gdk_pixbuf_get_has_alpha 
@@ -13163,9 +13136,8 @@
     40c9dd      8 PTRIMMEDESP STACK 248 displ mov     r8d, dword ptr [rsp+198h+var_A0]
     40c9e5     -1 INSTR LOCAL MetadataUnused movapd  xmm2, xmm3 
     40c9e5      4 INSTR BELONGTO 40bfb0 
+    40c9e9     -1 INSTR LOCAL MetadataUnused mov     [rsp+198h+var_190], 0FFh 
     40c9e9      8 INSTR BELONGTO 40bfb0 
-    40c9e9      8 INSTR DEADREGS  EFLAGS R13 R14 R15 XMM2 XMM3 ZZ mov     [rsp+198h+var_190], 0FFh 
-    40c9e9      8 PTRIMMEDESP STACK 8 displ mov     [rsp+198h+var_190], 0FFh
     40c9f1      7 INSTR BELONGTO 40bfb0 
     40c9f1      7 INSTR DEADREGS  EFLAGS R13 R14 R15 XMM2 XMM3 ZZ mov     [rsp+198h+var_198], 2 
     40c9f1      7 PTRIMMEDESP STACK 0 displ mov     [rsp+198h+var_198], 2
@@ -13193,7 +13165,7 @@
     40ca20     -1 INSTR LOCAL NoMetaUpdate jmp     loc_40C33E 
     40ca20      5 INSTR BELONGTO 40bfb0 
     40ca30      0 FUNC FRAMERESTORE 0 0 0 1 0 0 2 0 0 3 0 0 4 0 8 5 0 0 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 0 0 13 0 0 14 0 0 15 0 0 ZZ
-    40ca30      0 FUNC MMSAFENESS UNSAFE
+    40ca30      0 FUNC MMSAFENESS SAFE
     40ca30    569 FUNC GLOBAL sub_40CA30 FUNC_UNSAFE NOFP RET     40cc68 
     40ca30      5 INSTR BELONGTO 40ca30 
     40ca30      5 INSTR DEADREGS  EFLAGS ZZ mov     [rsp+var_30], rbx 
@@ -13203,18 +13175,14 @@
     40ca35      5 PTRIMMEDESP STACK -40 displ mov     [rsp+var_28], rbp
     40ca3a      3 INSTR BELONGTO 40ca30 
     40ca3a      3 INSTR DEADREGS  EFLAGS RBX ZZ mov     rbx, rdi 
+    40ca3d     -1 INSTR LOCAL MetadataUnused mov     [rsp+var_20], r12 
     40ca3d      5 INSTR BELONGTO 40ca30 
-    40ca3d      5 INSTR DEADREGS  EFLAGS ZZ mov     [rsp+var_20], r12 
-    40ca3d      5 PTRIMMEDESP STACK -32 displ mov     [rsp+var_20], r12
+    40ca42     -1 INSTR LOCAL MetadataUnused mov     [rsp+var_18], r13 
     40ca42      5 INSTR BELONGTO 40ca30 
-    40ca42      5 INSTR DEADREGS  EFLAGS R12 ZZ mov     [rsp+var_18], r13 
-    40ca42      5 PTRIMMEDESP STACK -24 displ mov     [rsp+var_18], r13
+    40ca47     -1 INSTR LOCAL MetadataUnused mov     [rsp+var_10], r14 
     40ca47      5 INSTR BELONGTO 40ca30 
-    40ca47      5 INSTR DEADREGS  EFLAGS R12 R13 ZZ mov     [rsp+var_10], r14 
-    40ca47      5 PTRIMMEDESP STACK -16 displ mov     [rsp+var_10], r14
+    40ca4c     -1 INSTR LOCAL MetadataUnused mov     [rsp+var_8], r15 
     40ca4c      5 INSTR BELONGTO 40ca30 
-    40ca4c      5 INSTR DEADREGS  EFLAGS R12 R13 R14 ZZ mov     [rsp+var_8], r15 
-    40ca4c      5 PTRIMMEDESP STACK -8 displ mov     [rsp+var_8], r15
     40ca51     12 DATAREF STACK 774 esp + 0 CHILDOF 773 OFFSET 0 OutArgsRegion OUTARGS
     40ca51    136 DATAREF STACK 773 esp + 0 PARENT LocalFrame LOCALFRAME
     40ca51     16 DATAREF STACK 778 esp + 56 CHILDOF 773 OFFSET 56 LOCALVAR var_50 
@@ -13326,9 +13294,8 @@
     40caef     -1 INSTR LOCAL NoMetaUpdate call    _g_variant_new 
     40caef      5 INSTR BELONGTO 40ca30 
     40caef      5 INSTR DEADREGS  EFLAGS R14 ZZ call    _g_variant_new 
+    40caf4     -1 INSTR LOCAL MetadataUnused mov     [rsp+88h+var_50], rax 
     40caf4      5 INSTR BELONGTO 40ca30 
-    40caf4      5 INSTR DEADREGS  EFLAGS RDI R14 ZZ mov     [rsp+88h+var_50], rax 
-    40caf4      5 PTRIMMEDESP STACK 56 displ mov     [rsp+88h+var_50], rax
     40caf9      5 INSTR BELONGTO 40ca30 
     40caf9      5 INSTR DEADREGS  EFLAGS RDI R14 ZZ mov     edi, offset aXdg_current_de; "XDG_CURRENT_DESKTOP" 
     40cafe     -1 INSTR LOCAL NoMetaUpdate call    _g_getenv 
@@ -13364,15 +13331,12 @@
     40cb2e      5 INSTR DEADREGS  EFLAGS RDX RSI R15 ZZ mov     edx, offset aOrgGnomeShell; "/org/gnome/Shell" 
     40cb33      3 INSTR BELONGTO 40ca30 
     40cb33      3 INSTR DEADREGS  EFLAGS RSI R15 ZZ mov     rsi, rcx 
+    40cb36     -1 INSTR LOCAL MetadataUnused mov     [rsp+88h+var_68], r14 
     40cb36      5 INSTR BELONGTO 40ca30 
-    40cb36      5 INSTR DEADREGS  EFLAGS R15 ZZ mov     [rsp+88h+var_68], r14 
-    40cb36      5 PTRIMMEDESP STACK 32 displ mov     [rsp+88h+var_68], r14
+    40cb3b     -1 INSTR LOCAL MetadataUnused mov     [rsp+88h+var_70], 0 
     40cb3b      9 INSTR BELONGTO 40ca30 
-    40cb3b      9 INSTR DEADREGS  EFLAGS R15 ZZ mov     [rsp+88h+var_70], 0 
-    40cb3b      9 PTRIMMEDESP STACK 24 displ mov     [rsp+88h+var_70], 0
+    40cb44     -1 INSTR LOCAL MetadataUnused mov     [rsp+88h+var_78], 0FFFFFFFFh 
     40cb44      8 INSTR BELONGTO 40ca30 
-    40cb44      8 INSTR DEADREGS  EFLAGS R15 ZZ mov     [rsp+88h+var_78], 0FFFFFFFFh 
-    40cb44      8 PTRIMMEDESP STACK 16 displ mov     [rsp+88h+var_78], 0FFFFFFFFh
     40cb4c      8 INSTR BELONGTO 40ca30 
     40cb4c      8 INSTR DEADREGS  EFLAGS R15 ZZ mov     [rsp+88h+var_80], 0 
     40cb4c      8 PTRIMMEDESP STACK 8 displ mov     [rsp+88h+var_80], 0
@@ -13473,9 +13437,8 @@
     40cbfb     -1 INSTR LOCAL NoMetaUpdate call    _g_variant_new 
     40cbfb      5 INSTR BELONGTO 40ca30 
     40cbfb      5 INSTR DEADREGS  EFLAGS R14 ZZ call    _g_variant_new 
+    40cc00     -1 INSTR LOCAL MetadataUnused mov     [rsp+88h+var_50], rax 
     40cc00      5 INSTR BELONGTO 40ca30 
-    40cc00      5 INSTR DEADREGS  EFLAGS RDI R14 ZZ mov     [rsp+88h+var_50], rax 
-    40cc00      5 PTRIMMEDESP STACK 56 displ mov     [rsp+88h+var_50], rax
     40cc05     -1 INSTR LOCAL NoMetaUpdate jmp     loc_40CAF9 
     40cc05      5 INSTR BELONGTO 40ca30 
     40cc10      3 INSTR BELONGTO 40ca30 
@@ -13495,9 +13458,8 @@
     40cc28     -1 INSTR LOCAL NoMetaUpdate call    _g_variant_new 
     40cc28      5 INSTR BELONGTO 40ca30 
     40cc28      5 INSTR DEADREGS  EFLAGS R14 ZZ call    _g_variant_new 
+    40cc2d     -1 INSTR LOCAL MetadataUnused mov     [rsp+88h+var_50], rax 
     40cc2d      5 INSTR BELONGTO 40ca30 
-    40cc2d      5 INSTR DEADREGS  EFLAGS RDI R14 ZZ mov     [rsp+88h+var_50], rax 
-    40cc2d      5 PTRIMMEDESP STACK 56 displ mov     [rsp+88h+var_50], rax
     40cc32     -1 INSTR LOCAL NoMetaUpdate jmp     loc_40CAF9 
     40cc32      5 INSTR BELONGTO 40ca30 
     40cc40      3 INSTR BELONGTO 40ca30 
diff --git a/tests/commit/trimmed-sorted-save-gnome-search-tool.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-gnome-search-tool.psexe.annot.REMOVED.git-id
index 322d5db8..b5286f74 100644
--- a/tests/commit/trimmed-sorted-save-gnome-search-tool.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-gnome-search-tool.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-f8071a5d3cb145f2e531f0b63297a1c72dc4d211
\ No newline at end of file
+b73676ece794a59266111d5765899f51b00db31c
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-gnome-session.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-gnome-session.psexe.annot.REMOVED.git-id
index a546fef6..2ce61403 100644
--- a/tests/commit/trimmed-sorted-save-gnome-session.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-gnome-session.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-4466a5ed0bfbf86d2cc304b47cc7da68a4fe5d64
\ No newline at end of file
+b871fc824a896d3f5986be4ac5675266add63256
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-gnome-settings-daemon.psexe.annot b/tests/commit/trimmed-sorted-save-gnome-settings-daemon.psexe.annot
index 6faf1e63..810d934d 100644
--- a/tests/commit/trimmed-sorted-save-gnome-settings-daemon.psexe.annot
+++ b/tests/commit/trimmed-sorted-save-gnome-settings-daemon.psexe.annot
@@ -1103,7 +1103,7 @@
     403600      6 INSTR BELONGTO 403600 
     403600      8 MEMORYHOLE STACK esp + 0 ReturnAddress 
     403610      0 FUNC FRAMERESTORE 0 0 1 1 0 0 2 0 0 3 -12 0 4 0 8 5 -4 0 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 0 0 13 0 0 14 0 0 15 0 0 ZZ
-    403610      0 FUNC MMSAFENESS UNSAFE
+    403610      0 FUNC MMSAFENESS SAFE
     403610      1 INSTR BELONGTO 403610 
     403610      1 INSTR DEADREGS  EFLAGS ZZ push    rbp 
     403610     -3 INSTR LOCAL NoWarn push    rbp 
@@ -1122,12 +1122,10 @@
     403612      8 DATAREF STACK 386 esp + 32 CHILDOF 381 OFFSET 32 LOCALVAR var_28 
     403612      8 MEMORYHOLE STACK esp + 56 CalleeSavedRegs 
     403612      8 MEMORYHOLE STACK esp + 64 ReturnAddress 
+    403616     -1 INSTR LOCAL MetadataUnused mov     [rsp+48h+var_2C], edi 
     403616      4 INSTR BELONGTO 403610 
-    403616      4 INSTR DEADREGS  EFLAGS RBX ZZ mov     [rsp+48h+var_2C], edi 
-    403616      4 PTRIMMEDESP STACK 28 displ mov     [rsp+48h+var_2C], edi
+    40361a     -1 INSTR LOCAL MetadataUnused mov     [rsp+48h+var_38], rsi 
     40361a      5 INSTR BELONGTO 403610 
-    40361a      5 INSTR DEADREGS  EFLAGS RBX RDI ZZ mov     [rsp+48h+var_38], rsi 
-    40361a      5 PTRIMMEDESP STACK 16 displ mov     [rsp+48h+var_38], rsi
     40361f      5 INSTR BELONGTO 403610 
     40361f      5 INSTR DEADREGS  EFLAGS RBX RSI RDI ZZ mov     edi, offset domainname; "gnome-settings-daemon" 
     403624      5 INSTR BELONGTO 403610 
@@ -1295,12 +1293,10 @@
     40372d      9 INSTR BELONGTO 403610 
     40372d      9 INSTR DEADREGS  EFLAGS ZZ mov     [rsp+48h+var_20], 0 
     40372d      9 PTRIMMEDESP STACK 40 displ mov     [rsp+48h+var_20], 0
+    403736     -1 INSTR LOCAL MetadataUnused mov     [rsp+48h+var_40], rax 
     403736      5 INSTR BELONGTO 403610 
-    403736      5 INSTR DEADREGS  EFLAGS ZZ mov     [rsp+48h+var_40], rax 
-    403736      5 PTRIMMEDESP STACK 8 displ mov     [rsp+48h+var_40], rax
+    40373b     -1 INSTR LOCAL MetadataUnused mov     [rsp+48h+var_48], 0 
     40373b      8 INSTR BELONGTO 403610 
-    40373b      8 INSTR DEADREGS  EFLAGS ZZ mov     [rsp+48h+var_48], 0 
-    40373b      8 PTRIMMEDESP STACK 0 displ mov     [rsp+48h+var_48], 0
     403743     -1 INSTR LOCAL NoMetaUpdate call    _g_dbus_proxy_new_sync 
     403743      5 INSTR BELONGTO 403610 
     403743      5 INSTR DEADREGS  EFLAGS ZZ call    _g_dbus_proxy_new_sync 
@@ -1373,12 +1369,10 @@
     4037a9     -2 INSTR LOCAL n EDI ZZ  NUMVia2ndSrcIMMEDNUM mov     edi, 2 
     4037a9      5 INSTR BELONGTO 403610 
     4037a9      5 INSTR DEADREGS  EFLAGS RBX RDI ZZ mov     edi, 2 
+    4037ae     -1 INSTR LOCAL MetadataUnused mov     [rsp+48h+var_40], 0 
     4037ae      9 INSTR BELONGTO 403610 
-    4037ae      9 INSTR DEADREGS  EFLAGS RBX ZZ mov     [rsp+48h+var_40], 0 
-    4037ae      9 PTRIMMEDESP STACK 8 displ mov     [rsp+48h+var_40], 0
+    4037b7     -1 INSTR LOCAL MetadataUnused mov     [rsp+48h+var_48], 0 
     4037b7      8 INSTR BELONGTO 403610 
-    4037b7      8 INSTR DEADREGS  EFLAGS RBX ZZ mov     [rsp+48h+var_48], 0 
-    4037b7      8 PTRIMMEDESP STACK 0 displ mov     [rsp+48h+var_48], 0
     4037bf     -1 INSTR LOCAL NoMetaUpdate call    _g_bus_own_name 
     4037bf      5 INSTR BELONGTO 403610 
     4037bf      5 INSTR DEADREGS  EFLAGS RBX ZZ call    _g_bus_own_name 
diff --git a/tests/commit/trimmed-sorted-save-gnome-system-log.psexe.annot b/tests/commit/trimmed-sorted-save-gnome-system-log.psexe.annot
index 3134c92f..f061e84a 100644
--- a/tests/commit/trimmed-sorted-save-gnome-system-log.psexe.annot
+++ b/tests/commit/trimmed-sorted-save-gnome-system-log.psexe.annot
@@ -8703,7 +8703,7 @@
     40c2c8     -1 INSTR LOCAL NoMetaUpdate call    sub_40B4B0 
     40c2cd     -1 INSTR LOCAL NoMetaUpdate jmp     loc_40C230 
     40c2e0      0 FUNC FRAMERESTORE 0 0 4 1 0 0 2 0 0 3 -12 0 4 0 8 5 -4 0 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 0 0 13 0 0 14 0 0 15 0 0 ZZ
-    40c2e0      0 FUNC MMSAFENESS UNSAFE
+    40c2e0      0 FUNC MMSAFENESS SAFE
     40c2e0      1 INSTR BELONGTO 40c2e0 
     40c2e0      1 INSTR DEADREGS  EFLAGS RDX ZZ push    rbp 
     40c2e0     -3 INSTR LOCAL NoWarn push    rbp 
@@ -8748,9 +8748,8 @@
     40c307      1 INSTR DEADREGS  EFLAGS R8 R9 R10 R11 ZZ pop     rbp 
     40c308      1 INSTR BELONGTO 40c2e0 
     40c308      1 INSTR DEADREGS  EFLAGS R8 R9 R10 R11 ZZ retn 
+    40c310     -1 INSTR LOCAL MetadataUnused lea     rax, [rsp+98h+var_28] 
     40c310      5 INSTR BELONGTO 40c2e0 
-    40c310      5 INSTR DEADREGS  EFLAGS RAX RCX RDX RSI RDI R8 R9 ZZ lea     rax, [rsp+98h+var_28] 
-    40c310      5 PTRIMMEDESP STACK 112 displ lea     rax, [rsp+98h+var_28]
     40c315      5 INSTR BELONGTO 40c2e0 
     40c315      5 INSTR DEADREGS  EFLAGS RCX RDX RSI RDI R8 R9 ZZ mov     rdi, [rsp+98h+var_38] 
     40c315      5 PTRIMMEDESP STACK 96 displ mov     rdi, [rsp+98h+var_38]
@@ -8766,18 +8765,16 @@
     40c329      2 INSTR BELONGTO 40c2e0 
     40c329      2 INSTR DEADREGS  EFLAGS RDX R8 ZZ xor     edx, edx 
     40c329     -2 INSTR LOCAL n EDX ZZ  AlwaysNUM xor     edx, edx 
+    40c32b     -1 INSTR LOCAL MetadataUnused mov     [rsp+98h+var_90], rax 
     40c32b      5 INSTR BELONGTO 40c2e0 
-    40c32b      5 INSTR DEADREGS  EFLAGS R8 ZZ mov     [rsp+98h+var_90], rax 
-    40c32b      5 PTRIMMEDESP STACK 8 displ mov     [rsp+98h+var_90], rax
     40c330     -2 INSTR LOCAL n R8 ZZ  NUMVia2ndSrcIMMEDNUM mov     r8d, 3 
     40c330      6 INSTR BELONGTO 40c2e0 
     40c330      6 INSTR DEADREGS  EFLAGS RAX R8 ZZ mov     r8d, 3 
     40c336      2 INSTR BELONGTO 40c2e0 
     40c336      2 INSTR DEADREGS  EFLAGS RAX ZZ xor     eax, eax 
     40c336     -2 INSTR LOCAL n EAX ZZ  AlwaysNUM xor     eax, eax 
+    40c338     -1 INSTR LOCAL MetadataUnused mov     [rsp+98h+var_88], 0FFFFFFFFh 
     40c338      8 INSTR BELONGTO 40c2e0 
-    40c338      8 INSTR DEADREGS  EFLAGS ZZ mov     [rsp+98h+var_88], 0FFFFFFFFh 
-    40c338      8 PTRIMMEDESP STACK 16 displ mov     [rsp+98h+var_88], 0FFFFFFFFh
     40c340      7 INSTR BELONGTO 40c2e0 
     40c340      7 INSTR DEADREGS  EFLAGS ZZ mov     [rsp+98h+var_98], 4 
     40c340      7 PTRIMMEDESP STACK 0 displ mov     [rsp+98h+var_98], 4
diff --git a/tests/commit/trimmed-sorted-save-gnome-system-monitor.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-gnome-system-monitor.psexe.annot.REMOVED.git-id
index 441ca42a..59682439 100644
--- a/tests/commit/trimmed-sorted-save-gnome-system-monitor.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-gnome-system-monitor.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-f107aa500863e5b7d72de93f223777ac524c7dc2
\ No newline at end of file
+2f876970c4deabea5f6b246ac842e0d206b87ac2
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-gnome-terminal.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-gnome-terminal.psexe.annot.REMOVED.git-id
index 57d70f96..16e80b4e 100644
--- a/tests/commit/trimmed-sorted-save-gnome-terminal.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-gnome-terminal.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-c6beb54c236ed831b2198e01b79225c6e62c1e1f
\ No newline at end of file
+397e4a8c0d553fa1138856aecbaae80edc76018f
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-gnome-text-editor.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-gnome-text-editor.psexe.annot.REMOVED.git-id
index f976f08d..36eef6fe 100644
--- a/tests/commit/trimmed-sorted-save-gnome-text-editor.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-gnome-text-editor.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-21c5354b2e521f76cd28ea88d8e5e3662fb4fc6a
\ No newline at end of file
+854aa2762cfdc0efc8b2841507eb625f20b9ebf7
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-grep.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-grep.psexe.annot.REMOVED.git-id
index 1149f349..6a6cc07b 100644
--- a/tests/commit/trimmed-sorted-save-grep.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-grep.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-34a28768be6aba6d78047f2121037a5d0035ebf5
\ No newline at end of file
+424648305df17a31d0ddb7bbc9fd60b25563cd14
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-httpd.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-httpd.psexe.annot.REMOVED.git-id
index d8b75254..ea6d0ea3 100644
--- a/tests/commit/trimmed-sorted-save-httpd.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-httpd.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-f5141fe2983edf9beb6d1869e4df22605660bc5d
\ No newline at end of file
+395d74a10b1f4c4db053c37e189c8084e259bba2
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-less.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-less.psexe.annot.REMOVED.git-id
index 388a945b..30fe71ad 100644
--- a/tests/commit/trimmed-sorted-save-less.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-less.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-78c8150e02a58163bf2b464b7f78faefd250c52f
\ No newline at end of file
+a5cda7b5fdbd1b7211c0055b4d670675ad67824c
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-ls-64bit.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-ls-64bit.psexe.annot.REMOVED.git-id
index 5eec7e95..e43ff8bf 100644
--- a/tests/commit/trimmed-sorted-save-ls-64bit.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-ls-64bit.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-4e2cd415a2249b8f04f7ce86de9f43ce2b6338da
\ No newline at end of file
+b624d6010c71ae3bcf4850ddc2fe954dd34599a1
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-lt-svn.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-lt-svn.psexe.annot.REMOVED.git-id
index 92998dcf..f074a723 100644
--- a/tests/commit/trimmed-sorted-save-lt-svn.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-lt-svn.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-66ca93e4daf68b039f7d01d986c64b79681088b6
\ No newline at end of file
+e80baddf2cf30ff90b972e75661df67bb8c71e41
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-nginx.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-nginx.psexe.annot.REMOVED.git-id
index cf545ba5..00918a65 100644
--- a/tests/commit/trimmed-sorted-save-nginx.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-nginx.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-da4cb3c35623209033a59ac65fcc39c42e3a09f3
\ No newline at end of file
+c3ea4f99f8fec1d41edb39491a905fc3110f6ebd
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-openssl.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-openssl.psexe.annot.REMOVED.git-id
index 833610d6..0c23f78b 100644
--- a/tests/commit/trimmed-sorted-save-openssl.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-openssl.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-73c495a66c8795ab3b2b54b5a41080b9c406427b
\ No newline at end of file
+2ed6300ba667ca900d34519276f9c3b24e9f261d
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-synaptic.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-synaptic.psexe.annot.REMOVED.git-id
index b2d740e7..d4231313 100644
--- a/tests/commit/trimmed-sorted-save-synaptic.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-synaptic.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-20502570e94badb2817ea806fce391e2ee312ea3
\ No newline at end of file
+9293cfca47a9f6ae488aec03601314edf4f55ac7
\ No newline at end of file
diff --git a/tests/commit/trimmed-sorted-save-xedit.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-xedit.psexe.annot.REMOVED.git-id
index 37033ac1..f0bdc3f0 100644
--- a/tests/commit/trimmed-sorted-save-xedit.psexe.annot.REMOVED.git-id
+++ b/tests/commit/trimmed-sorted-save-xedit.psexe.annot.REMOVED.git-id
@@ -1 +1 @@
-e37f108b1262bd5454acf11c84513280b6edbfcd
\ No newline at end of file
+cc363ea4069ff47e6563819311a707acb19da5b1
\ No newline at end of file
-- 
GitLab