[llvm] 4e4bd29 - [GlobalIsel][X86] Add handling for G_FRAME_INDEX/G_GLOBAL_VALUE

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 15 04:57:59 PDT 2023


Author: Simon Pilgrim
Date: 2023-06-15T12:57:43+01:00
New Revision: 4e4bd29061de5e7790e47e78ec90e41e2ee7ee30

URL: https://github.com/llvm/llvm-project/commit/4e4bd29061de5e7790e47e78ec90e41e2ee7ee30
DIFF: https://github.com/llvm/llvm-project/commit/4e4bd29061de5e7790e47e78ec90e41e2ee7ee30.diff

LOG: [GlobalIsel][X86] Add handling for G_FRAME_INDEX/G_GLOBAL_VALUE

Replace the legacy legalizer versions

Added: 
    

Modified: 
    llvm/lib/Target/X86/X86LegalizerInfo.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/X86/X86LegalizerInfo.cpp b/llvm/lib/Target/X86/X86LegalizerInfo.cpp
index 83efc746b6c07..8b55c3748feb9 100644
--- a/llvm/lib/Target/X86/X86LegalizerInfo.cpp
+++ b/llvm/lib/Target/X86/X86LegalizerInfo.cpp
@@ -290,6 +290,8 @@ X86LegalizerInfo::X86LegalizerInfo(const X86Subtarget &STI,
       .widenScalarToNextPow2(1, /*Min*/ 32)
       .clampScalar(1, s32, sMaxScalar);
 
+  getActionDefinitionsBuilder({G_FRAME_INDEX, G_GLOBAL_VALUE}).legalFor({p0});
+
   // sext, zext, and anyext
   getActionDefinitionsBuilder({G_SEXT, G_ZEXT, G_ANYEXT})
       .legalIf([=](const LegalityQuery &Query) {
@@ -474,10 +476,6 @@ void X86LegalizerInfo::setLegalizerInfo32bit() {
     LegacyInfo.setAction({MemOp, 1, p0}, LegacyLegalizeActions::Legal);
   }
 
-  // Pointer-handling
-  LegacyInfo.setAction({G_FRAME_INDEX, p0}, LegacyLegalizeActions::Legal);
-  LegacyInfo.setAction({G_GLOBAL_VALUE, p0}, LegacyLegalizeActions::Legal);
-
   // Merge/Unmerge
   for (const auto &Ty : {s16, s32, s64}) {
     LegacyInfo.setAction({G_MERGE_VALUES, Ty}, LegacyLegalizeActions::Legal);


        


More information about the llvm-commits mailing list