[llvm] r348472 - [ARM GlobalISel] Nothing is legal for Thumb

Diana Picus via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 6 01:26:14 PST 2018


Author: rovka
Date: Thu Dec  6 01:26:14 2018
New Revision: 348472

URL: http://llvm.org/viewvc/llvm-project?rev=348472&view=rev
Log:
[ARM GlobalISel] Nothing is legal for Thumb

...yet!

A lot of the current code should be shared for arm and thumb mode, but
until we add tests and work out some of the details (e.g. checking the
correct subtarget feature for G_SDIV) it's safer to bail out as early as
possible for thumb targets.

This should have arguably been part of r348347, which allowed Thumb
functions to be handled by the IR Translator.

Modified:
    llvm/trunk/lib/Target/ARM/ARMLegalizerInfo.cpp

Modified: llvm/trunk/lib/Target/ARM/ARMLegalizerInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMLegalizerInfo.cpp?rev=348472&r1=348471&r2=348472&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMLegalizerInfo.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMLegalizerInfo.cpp Thu Dec  6 01:26:14 2018
@@ -75,6 +75,13 @@ ARMLegalizerInfo::ARMLegalizerInfo(const
   const LLT s32 = LLT::scalar(32);
   const LLT s64 = LLT::scalar(64);
 
+  if (ST.isThumb()) {
+    // FIXME: merge with the code for non-Thumb.
+    computeTables();
+    verify(*ST.getInstrInfo());
+    return;
+  }
+
   getActionDefinitionsBuilder(G_GLOBAL_VALUE).legalFor({p0});
   getActionDefinitionsBuilder(G_FRAME_INDEX).legalFor({p0});
 




More information about the llvm-commits mailing list