summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiana Picus <diana.picus@linaro.org>2018-12-06 09:26:14 +0000
committerDiana Picus <diana.picus@linaro.org>2018-12-06 09:26:14 +0000
commit1027249ec908cb8ccac238953ee969bc7e6d40aa (patch)
tree97b9c0e88b3ef46c1c76cf39f065827e9dbcefee
parentfe8231ecca4ac16fface1420280c720e36b36cc6 (diff)
downloadbcm5719-llvm-1027249ec908cb8ccac238953ee969bc7e6d40aa.tar.gz
bcm5719-llvm-1027249ec908cb8ccac238953ee969bc7e6d40aa.zip
[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. llvm-svn: 348472
-rw-r--r--llvm/lib/Target/ARM/ARMLegalizerInfo.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp b/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
index b8f5def976b..0455f6689cb 100644
--- a/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
+++ b/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
@@ -75,6 +75,13 @@ ARMLegalizerInfo::ARMLegalizerInfo(const ARMSubtarget &ST) {
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});
OpenPOWER on IntegriCloud