diff options
| author | Diana Picus <diana.picus@linaro.org> | 2018-12-06 09:26:14 +0000 |
|---|---|---|
| committer | Diana Picus <diana.picus@linaro.org> | 2018-12-06 09:26:14 +0000 |
| commit | 1027249ec908cb8ccac238953ee969bc7e6d40aa (patch) | |
| tree | 97b9c0e88b3ef46c1c76cf39f065827e9dbcefee | |
| parent | fe8231ecca4ac16fface1420280c720e36b36cc6 (diff) | |
| download | bcm5719-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.cpp | 7 |
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}); |

