llvm-project/llvm/test
Diana Picus 0528e2cfb3 [ARM GlobalISel] Support G_CTLZ and G_CTLZ_ZERO_UNDEF
We can now select CLZ via the TableGen'erated code, so support G_CTLZ
and G_CTLZ_ZERO_UNDEF throughout the pipeline for types <= s32.

Legalizer:
If the CLZ instruction is available, use it for both G_CTLZ and
G_CTLZ_ZERO_UNDEF. Otherwise, use a libcall for G_CTLZ_ZERO_UNDEF and
lower G_CTLZ in terms of it.

In order to achieve this we need to add support to the LegalizerHelper
for the legalization of G_CTLZ_ZERO_UNDEF for s32 as a libcall (__clzsi2).

We also need to allow lowering of G_CTLZ in terms of G_CTLZ_ZERO_UNDEF
if that is supported as a libcall, as opposed to just if it is Legal or
Custom. Due to a minor refactoring of the helper function in charge of
this, we will also allow the same behaviour for G_CTTZ and G_CTPOP.
This is not going to be a problem in practice since we don't yet have
support for treating G_CTTZ and G_CTPOP as libcalls (not even in
DAGISel).

Reg bank select:
Map G_CTLZ to GPR. G_CTLZ_ZERO_UNDEF should not make it to this point.

Instruction select:
Nothing to do.

llvm-svn: 347545
2018-11-26 11:07:02 +00:00
..
Analysis Revert "[TTI] Reduction costs only need to include a single extract element cost" 2018-11-26 10:17:27 +00:00
Assembler [ThinLTO] Assembly representation of ReadOnly attribute 2018-11-23 10:54:51 +00:00
Bindings [LLVM-C] Improve Intrinsics Bindings 2018-11-06 01:38:14 +00:00
Bitcode [ThinLTO] Assembly representation of ReadOnly attribute 2018-11-23 10:54:51 +00:00
BugPoint
CodeGen [ARM GlobalISel] Support G_CTLZ and G_CTLZ_ZERO_UNDEF 2018-11-26 11:07:02 +00:00
DebugInfo [CodeView] Add support for ref-qualified member functions. 2018-11-20 22:13:43 +00:00
Demangle [MS Demangler] Print public:, protected:, private: if set in FunctionClass or a variable's StorageClass. 2018-11-13 20:18:26 +00:00
Examples
ExecutionEngine [ExecutionEngine][Interpreter] Fix out-of-bounds array access. 2018-11-20 01:01:26 +00:00
Feature Mark @llvm.trap cold 2018-11-14 19:53:41 +00:00
FileCheck [FileCheck] introduce CHECK-COUNT-<num> repetition directive 2018-11-13 00:46:13 +00:00
Instrumentation [sancov] Put .SCOV* sections into the right comdat groups on COFF 2018-11-08 00:57:33 +00:00
Integer
JitListener
LTO [LTO] Load sample profile in LTO link step. 2018-11-15 18:06:42 +00:00
Linker
MC Reland test/MC/Mips/reloc-directive-label-offset.s 2018-11-22 18:18:58 +00:00
Object AMDGPU: Enable code object v3 for AMDHSA only 2018-11-15 02:32:43 +00:00
ObjectYAML [WebAssembly] Add support for dylink section in object format 2018-11-14 18:36:24 +00:00
Other Print newline after banner for ModulePass 2018-11-14 10:05:28 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen Reverted r347092 due to the following build fails: 2018-11-17 02:26:34 +00:00
ThinLTO/X86 [ThinLTO] Add some stats for read only variable internalization 2018-11-17 20:03:22 +00:00
Transforms Revert "[TTI] Reduction costs only need to include a single extract element cost" 2018-11-26 10:17:27 +00:00
Unit
Verifier [IRVerifier] Allow StructRet in statepoint 2018-11-16 14:28:05 +00:00
YAMLParser
tools [llvm-mca] Add support for instructions with a variadic number of operands. 2018-11-25 12:46:24 +00:00
.clang-format
CMakeLists.txt
TestRunner.sh
lit.cfg.py
lit.site.cfg.py.in