forked from OSchip/llvm-project
150681f2f3
This patch prevents the optimizer from producing wide vectors in the IR, specifically the MMA types (v256i1, v512i1). The idea is that on Power, we only want to be producing these types only if the vector_pair and vector_quad types are used specifically. To prevent the optimizer from producing these types in the IR, vectorCostAdjustmentFactor() is updated to return an instruction cost factor or an invalid instruction cost if the current type is that of an MMA type. An invalid instruction cost returned by this function signifies to other cost computing functions to return the maximum instruction cost to inform the optimizer that producing these types within the IR is expensive, and should not be produced in the first place. This issue was first seen in the test case included within this patch. Differential Revision: https://reviews.llvm.org/D113900 |
||
---|---|---|
.. | ||
Analysis | ||
Assembler | ||
Bindings | ||
Bitcode | ||
BugPoint | ||
CodeGen | ||
DebugInfo | ||
Demangle | ||
Examples | ||
ExecutionEngine | ||
Feature | ||
FileCheck | ||
Instrumentation | ||
Integer | ||
JitListener | ||
LTO | ||
Linker | ||
MC | ||
MachineVerifier | ||
Object | ||
ObjectYAML | ||
Other | ||
SafepointIRVerifier | ||
Support | ||
SymbolRewriter | ||
TableGen | ||
ThinLTO/X86 | ||
Transforms | ||
Unit | ||
Verifier | ||
YAMLParser | ||
tools | ||
.clang-format | ||
CMakeLists.txt | ||
TestRunner.sh | ||
lit.cfg.py | ||
lit.site.cfg.py.in |