From 3508ced6ea239d17b2f4a79a91b8398d0d1ac514 Mon Sep 17 00:00:00 2001 From: Rafael Auler Date: Fri, 20 May 2022 19:31:07 -0700 Subject: [PATCH] [BOLT] Increase coverage of shrink wrapping [2/5] 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 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/bolt/lib/Target/X86/X86MCPlusBuilder.cpp b/bolt/lib/Target/X86/X86MCPlusBuilder.cpp index 08504d5..dc54a30 100644 --- a/bolt/lib/Target/X86/X86MCPlusBuilder.cpp +++ b/bolt/lib/Target/X86/X86MCPlusBuilder.cpp @@ -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()) -- 2.7.4