[BOLT] Increase coverage of shrink wrapping [2/5]
authorRafael Auler <rafaelauler@fb.com>
Sat, 21 May 2022 02:31:07 +0000 (19:31 -0700)
committerRafael Auler <rafaelauler@fb.com>
Tue, 12 Jul 2022 00:29:54 +0000 (17:29 -0700)
Refactor isStackAccess() to reflect updates by D126116. Now we only
handle simple stack accesses and delegate the rest of the cases to
getMemDataSize.

Reviewed By: Amir

Differential Revision: https://reviews.llvm.org/D126112

bolt/lib/Target/X86/X86MCPlusBuilder.cpp

index 08504d5..dc54a30 100644 (file)
@@ -1097,12 +1097,16 @@ public:
       I = {Sz, IsLoad, IsStore, false, false};
       break;
     }
+    // Report simple stack accesses
+    case X86::MOV8rm: I = {1, true, false, false, true}; break;
     case X86::MOV16rm: I = {2, true, false, false, true}; break;
     case X86::MOV32rm: I = {4, true, false, false, true}; break;
     case X86::MOV64rm: I = {8, true, false, false, true}; break;
+    case X86::MOV8mr: I = {1, false, true, true, true};  break;
     case X86::MOV16mr: I = {2, false, true, true, true};  break;
     case X86::MOV32mr: I = {4, false, true, true, true};  break;
     case X86::MOV64mr: I = {8, false, true, true, true};  break;
+    case X86::MOV8mi: I = {1, false, true, false, true}; break;
     case X86::MOV16mi: I = {2, false, true, false, true}; break;
     case X86::MOV32mi: I = {4, false, true, false, true}; break;
     } // end switch (Inst.getOpcode())