llvm-project/llvm/test
Hiroshi Inoue 9552dd187a [PowerPC] avoid masking already-zero bits in BitPermutationSelector
The current BitPermutationSelector generates a code to build a value by tracking two types of bits: ConstZero and Variable.
ConstZero means a bit we need to mask off and Variable is a bit we copy from an input value.

This patch add third type of bits VariableKnownToBeZero caused by AssertZext node or zero-extending load node.
VariableKnownToBeZero means a bit comes from an input value, but it is known to be already zero. So we do not need to mask them.
VariableKnownToBeZero enhances flexibility to group bits, since we can avoid redundant masking for these bits.

This patch also renames "HasZero" to "NeedMask" since now we may skip masking even when we have zeros (of type VariableKnownToBeZero).

Differential Revision: https://reviews.llvm.org/D48025

llvm-svn: 344347
2018-10-12 14:02:20 +00:00
..
Analysis [SystemZ] Temporarily disable high VFs with integer div/rem. 2018-10-10 09:30:29 +00:00
Assembler Emit template type and value parameter DIEs for template variables. 2018-10-03 18:44:53 +00:00
Bindings [LLVM-C] Add more debug information accessors to GlobalObject and Instruction 2018-09-28 15:35:18 +00:00
Bitcode Fix some missing opcodes in bcanalyzer 2018-09-24 12:47:17 +00:00
BugPoint
CodeGen [PowerPC] avoid masking already-zero bits in BitPermutationSelector 2018-10-12 14:02:20 +00:00
DebugInfo Revert "DwarfDebug: Pick next location in case of missing location at block begin" 2018-10-11 23:37:58 +00:00
Demangle [MS Demangler] Add support for $$Z parameter pack separator. 2018-08-30 20:53:29 +00:00
Examples
ExecutionEngine [ORC] Add partitioning support to CompileOnDemandLayer2. 2018-09-29 23:49:57 +00:00
Feature
FileCheck
Instrumentation [PassManager/Sanitizer] Port of AddresSanitizer pass from legacy to new PassManager 2018-10-11 18:31:51 +00:00
Integer
JitListener
LTO Update test of r344198 to work with release builds. 2018-10-11 20:19:25 +00:00
Linker llvm-link: Improve diagnostic for module-level metadata mismatch 2018-10-09 01:17:27 +00:00
MC [RISCV] Fix disassembling of fence instruction with invalid field 2018-10-11 22:49:13 +00:00
Object llvm-ar: Darwin archive format fixes. 2018-10-10 21:07:02 +00:00
ObjectYAML
Other [CFG Printer] Add support for writing the dot files with a custom 2018-10-09 04:30:23 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen [TableGen] fix assert in !cast when used out of definition in a multiclass 2018-10-10 10:52:57 +00:00
ThinLTO/X86 [ThinLTO] Don't import GV which contains blockaddress 2018-10-12 07:24:02 +00:00
Transforms SCCP: avoid caching DenseMap entry that might be invalidated. 2018-10-12 09:01:59 +00:00
Unit
Verifier [machineverifier] Detect PHI's that are preceeded by non-PHI's 2018-10-03 22:05:31 +00:00
YAMLParser
tools [tblgen][llvm-mca] Add the ability to describe move elimination candidates via tablegen. 2018-10-12 11:23:04 +00:00
.clang-format
CMakeLists.txt Reapply r343058 with a fix for -DLLVM_ENABLE_THREADS=OFF. 2018-09-26 16:26:59 +00:00
TestRunner.sh
lit.cfg.py Reapply r343058 with a fix for -DLLVM_ENABLE_THREADS=OFF. 2018-09-26 16:26:59 +00:00
lit.site.cfg.py.in Reapply r343058 with a fix for -DLLVM_ENABLE_THREADS=OFF. 2018-09-26 16:26:59 +00:00