llvm-project/llvm/test
Roman Lebedev 2b61e7c68c
[LoopIdiom] 'left-shift until bittest' idiom: support rewriting loop as countable, allow extra cruft
The current state of the transform is still not enough to support
my motivational pattern, because it has one more "induction variable".

I have delayed posting this patch, because originally even just rewriting
the loop as countable wasn't enough to nicely transform my motivational pattern,
because i expected that extra IV to be rewritten afterwards,
but it wasn't happening until i fixed that in D91800.

So, this patch allows the  'left-shift until bittest' loop idiom
as long as the inserted ops are cheap,
and lifts any and all extra use checks on the instructions.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D92754
2020-12-23 22:28:10 +03:00
..
Analysis [BPI] Improve static heuristics for "cold" paths. 2020-12-23 22:47:36 +07:00
Assembler [DebugInfo] Support Fortran 'use <external module>' statement. 2020-12-18 13:10:57 -05:00
Bindings Adding PoisonValue for representing poison value explicitly in IR 2020-11-25 17:33:51 -07:00
Bitcode [DebugInfo] Support Fortran 'use <external module>' statement. 2020-12-18 13:10:57 -05:00
BugPoint
CodeGen [RISCV] Add intrinsics for vfmv.v.f 2020-12-23 10:50:48 -08:00
DebugInfo [DebugInfo] Don't use DW_OP_implicit_value for fragments 2020-12-22 10:07:47 +01:00
Demangle
Examples
ExecutionEngine
Feature OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
FileCheck [FileCheck] Add a literal check directive modifier 2020-12-18 17:26:15 -08:00
Instrumentation [dfsan] Track field/index-level shadow values in variables 2020-12-09 19:38:35 +00:00
Integer
JitListener
LTO [ICP] Don't promote when target not defined in module 2020-12-08 07:45:36 -08:00
Linker Simplify append to module inline asm string in IRLinker::run() 2020-12-02 14:56:43 +01:00
MC [WebAssembly][SIMD] Rename shuffle, swizzle, and load_splats 2020-12-22 14:29:06 -08:00
MachineVerifier
Object [llvm-readobj] - Dump the ELF file type better. 2020-12-23 11:13:19 +03:00
ObjectYAML
Other [AnnotationRemarks] Also generate annotation remarks when using -O0. 2020-12-15 14:46:52 +00:00
Reduce [llvm-reduce][test] Make remove-alias.ll CHECK patterns more specific after D90302 2020-12-20 20:06:02 -08:00
SafepointIRVerifier
Support
SymbolRewriter
TableGen [TableGen] Add the !substr() bang operator 2020-12-23 10:59:33 -05:00
ThinLTO/X86 [NFCI] Add missing triple to several LTO tests 2020-12-09 13:13:58 -08:00
Transforms [LoopIdiom] 'left-shift until bittest' idiom: support rewriting loop as countable, allow extra cruft 2020-12-23 22:28:10 +03:00
Unit
Verifier OpaquePtr: Require byval on x86_intrcc parameter 0 2020-12-14 16:34:37 -05:00
YAMLParser
tools [llvm-readobj] - Dump the ELF file type better. 2020-12-23 11:13:19 +03:00
.clang-format
CMakeLists.txt [CMake] Add llvm-profgen to LLVM_TEST_DEPENDS 2020-12-09 09:34:51 -08:00
TestRunner.sh
lit.cfg.py [FileCheck] Enforce --allow-unused-prefixes=false for llvm/test/Transforms 2020-12-09 08:51:38 -08:00
lit.site.cfg.py.in