1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/lib
Matthew Simpson 383f076bfc [AArch64] Consider widening instructions in cost calculations
The AArch64 instruction set has a few "widening" instructions (e.g., uaddl,
saddl, uaddw, etc.) that take one or more doubleword operands and produce
quadword results. The operands are automatically sign- or zero-extended as
appropriate. However, in LLVM IR, these extends are explicit. This patch
updates TTI to consider these widening instructions as single operations whose
cost is attached to the arithmetic instruction. It marks extends that are part
of a widening operation "free" and applies a sub-target specified overhead
(zero by default) to the arithmetic instructions.

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

llvm-svn: 302582
2017-05-09 20:18:12 +00:00
..
Analysis Introduce experimental generic intrinsics for horizontal vector reductions. 2017-05-09 10:43:25 +00:00
AsmParser AMDGPU: Add AMDGPU_HS calling convention 2017-05-02 15:41:10 +00:00
Bitcode Re-apply r302108, "IR: Use pointers instead of GUIDs to represent edges in the module summary. NFCI." 2017-05-04 18:03:25 +00:00
CodeGen [codeview] Check for a DIExpression offset for local variables 2017-05-09 19:59:29 +00:00
DebugInfo [DWARF] Fix a parsing issue with type unit headers. 2017-05-09 19:38:38 +00:00
Demangle
ExecutionEngine [SystemZ] Support missing relocation types in RuntimeDyldELF 2017-05-09 18:27:39 +00:00
Fuzzer [libFuzzer] update docs on -print_coverage/-dump_coverage 2017-05-09 01:34:27 +00:00
IR [codeview] Check for a DIExpression offset for local variables 2017-05-09 19:59:29 +00:00
IRReader
LibDriver Fix some ArgList uses after API change in r300135. 2017-04-12 23:43:58 +00:00
LineEditor
Linker [Linker] Provide callback for internalization 2017-03-13 18:08:11 +00:00
LTO Re-apply r302108, "IR: Use pointers instead of GUIDs to represent edges in the module summary. NFCI." 2017-05-04 18:03:25 +00:00
MC [ARM] Clear the constant pool cache on explicit .ltorg directives 2017-05-08 10:26:24 +00:00
Object Fix the Endianness bug by adding the little endian UTF marker. 2017-05-09 19:35:45 +00:00
ObjectYAML [WebAssembly] Add ObjectYAML support for wasm name section 2017-05-05 18:12:34 +00:00
Option ArgList: cache index ranges containing arguments with each ID 2017-04-12 23:19:51 +00:00
Passes [PM] Add ProfileSummaryAnalysis as a required pass in the new pipeline. 2017-05-04 16:58:45 +00:00
ProfileData [ProfileData] Unify getInstrProf*SectionName helpers 2017-04-15 00:09:57 +00:00
Support [APInt] Remove return value from tcFullMultiply. 2017-05-09 16:47:33 +00:00
TableGen
Target [AArch64] Consider widening instructions in cost calculations 2017-05-09 20:18:12 +00:00
Transforms [AArch64] Consider widening instructions in cost calculations 2017-05-09 20:18:12 +00:00
XRay [XRay] - Fix spelling error to test commit access. 2017-04-06 03:32:01 +00:00
CMakeLists.txt
LLVMBuild.txt