1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00
llvm-mirror/test
Craig Topper aba789b2f0 [X86] Add test cases that exercise the BSR/BSF optimization combineCMov.
combineCmov tries to remove compares against BSR/BSF if we can prove the input to the BSR/BSF are never zero.

As far as I can tell most of the time codegenprepare despeculates ctlz/cttz and gives us a cttz_zero_undef/ctlz_zero_undef which don't use a cmov.

So the only way I found to trigger this code is to show codegenprepare an illegal type which it won't despeculate.

I think we should be turning ctlz/cttz into ctlz_zero_undef/cttz_zero_undef for these cases before we ever get to operation legalization where the cmov is created. But wanted to add these tests so we don't regress.

llvm-svn: 324409
2018-02-06 21:47:04 +00:00
..
Analysis [AMDGPU] Switch to the new addr space mapping by default 2018-02-02 16:07:16 +00:00
Assembler
Bindings
Bitcode
BugPoint
CodeGen [X86] Add test cases that exercise the BSR/BSF optimization combineCMov. 2018-02-06 21:47:04 +00:00
DebugInfo [DWARF] Regularize dumping strings from line tables. 2018-02-05 20:43:15 +00:00
Examples
ExecutionEngine
Feature
FileCheck
Instrumentation
Integer
JitListener
Linker [DWARF] Regularize dumping strings from line tables. 2018-02-05 20:43:15 +00:00
LTO LTO: Also include dso-local bit for calls in ThinLTO cache key. 2018-02-05 23:46:32 +00:00
MC [DWARFv5] Emit .debug_line_str (in a non-DWO file). 2018-02-06 20:29:21 +00:00
Object
ObjectYAML
Other
SafepointIRVerifier
SymbolRewriter
TableGen
ThinLTO/X86 [ThinLTO] Remove dead and dropped symbol declarations when possible 2018-02-06 00:43:39 +00:00
tools [ThinLTO] Remove dead and dropped symbol declarations when possible 2018-02-06 00:43:39 +00:00
Transforms [SLP] Update test checks, NFC. 2018-02-06 20:00:05 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg.py
lit.site.cfg.py.in
TestRunner.sh