[PATCH] D122405: [llvm] Initialize and move UseUpRegs outside of `union` MemOp struct.

Alexander Belyaev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 24 08:53:51 PDT 2022


This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGbef928f8b251: [llvm] Initialize and move UseUpRegs outside of `union` MemOp struct. (authored by pifon2a).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D122405/new/

https://reviews.llvm.org/D122405

Files:
  llvm/lib/Target/X86/AsmParser/X86Operand.h


Index: llvm/lib/Target/X86/AsmParser/X86Operand.h
===================================================================
--- llvm/lib/Target/X86/AsmParser/X86Operand.h
+++ llvm/lib/Target/X86/AsmParser/X86Operand.h
@@ -37,6 +37,10 @@
   void *OpDecl;
   bool AddressOf;
 
+  /// This used for inline asm which may specify base reg and index reg for
+  /// MemOp. e.g. ARR[eax + ecx*4], so no extra reg can be used for MemOp.
+  bool UseUpRegs = false;
+
   struct TokOp {
     const char *Data;
     unsigned Length;
@@ -68,10 +72,6 @@
     /// If the memory operand is unsized and there are multiple instruction
     /// matches, prefer the one with this size.
     unsigned FrontendSize;
-
-    /// This used for inline asm which may specify base reg and index reg for
-    /// MemOp. e.g. ARR[eax + ecx*4], so no extra reg can be used for MemOp.
-    bool UseUpRegs;
   };
 
   union {
@@ -384,9 +384,7 @@
     return isAbsMem() && Mem.ModeSize == 16;
   }
 
-  bool isMemUseUpRegs() const override {
-    return Mem.UseUpRegs;
-  }
+  bool isMemUseUpRegs() const override { return UseUpRegs; }
 
   bool isSrcIdx() const {
     return !getMemIndexReg() && getMemScale() == 1 &&
@@ -685,7 +683,7 @@
     Res->Mem.Size     = Size;
     Res->Mem.ModeSize = ModeSize;
     Res->Mem.FrontendSize = FrontendSize;
-    Res->Mem.UseUpRegs = UseUpRegs;
+    Res->UseUpRegs = UseUpRegs;
     Res->SymName      = SymName;
     Res->OpDecl       = OpDecl;
     Res->AddressOf    = false;
@@ -718,7 +716,7 @@
     Res->Mem.Size     = Size;
     Res->Mem.ModeSize = ModeSize;
     Res->Mem.FrontendSize = FrontendSize;
-    Res->Mem.UseUpRegs = UseUpRegs;
+    Res->UseUpRegs = UseUpRegs;
     Res->SymName      = SymName;
     Res->OpDecl       = OpDecl;
     Res->AddressOf    = false;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D122405.417943.patch
Type: text/x-patch
Size: 1775 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220324/3ad48713/attachment-0001.bin>


More information about the llvm-commits mailing list