1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/lib
Florian Hahn 1db8566f5e Reland "[TTI] Add VecPred argument to getCmpSelInstrCost."
This reverts the revert commit 408c4408facc3a79ee4ff7e9983cc972f797e176.

This version of the patch includes a fix for a crash caused by
treating ICmp/FCmp constant expressions as instructions.

Original message:

On some targets, like AArch64, vector selects can be efficiently lowered
if the vector condition is a compare with a supported predicate.

This patch adds a new argument to getCmpSelInstrCost, to indicate the
predicate of the feeding select condition. Note that it is not
sufficient to use the context instruction when querying the cost of a
vector select starting from a scalar one, because the condition of the
vector select could be composed of compares with different predicates.

This change greatly improves modeling the costs of certain
compare/select patterns on AArch64.

I am also planning on putting up patches to make use of the new argument in
SLPVectorizer & LV.
2020-11-02 15:39:29 +00:00
..
Analysis Reland "[TTI] Add VecPred argument to getCmpSelInstrCost." 2020-11-02 15:39:29 +00:00
AsmParser [DebugInfo] Support for DW_TAG_generic_subrange 2020-10-29 01:34:15 +05:30
BinaryFormat msgpack: Improve error for empty node 2020-10-27 12:57:00 +01:00
Bitcode [Bitcode] Make some basic PlaceholderQueue/MetadataLoaderImpl helper methods const. NFCI. 2020-10-31 12:16:48 +00:00
Bitstream
CodeGen RegisterCoalescer: Use Register 2020-11-02 10:14:50 -05:00
DebugInfo [Aarch64] Fix assumption that Windows implies x86 2020-10-30 12:11:34 +00:00
Demangle
DWARFLinker Revert "[DWARFLinker] Capitalize type names (NFC)" 2020-10-22 15:09:45 +07:00
ExecutionEngine Remove superfluous whitespace around if(). NFC. 2020-10-25 14:38:16 +00:00
Extensions
FileCheck [FileCheck] Report missing prefixes when more than one is provided. 2020-10-30 12:39:29 -07:00
Frontend [OpenMP] Emit calls to int64_t functions for amdgcn 2020-10-22 15:02:47 +01:00
Fuzzer
FuzzMutate
InterfaceStub [llvm] Fix ODRViolations for VersionTuple YAML specializations NFC 2020-10-20 18:29:15 -07:00
IR Revert "Use uint64_t for branch weights instead of uint32_t" 2020-10-31 00:25:32 -07:00
IRReader
LineEditor
Linker Reapply "OpaquePtr: Add type to sret attribute" 2020-10-16 11:05:02 -04:00
LTO [NFC] Clean up PassBuilder 2020-10-30 10:03:59 -07:00
MC [MC] Fix an assert in MCAssembler::writeSectionData to be aware of errors 2020-10-29 23:11:18 -07:00
MCA [MCA][LSUnit] Correctly update the internal group flags on store barrier execution. Fixes PR48024. 2020-10-31 11:57:27 +00:00
Object [MC] Add SMLoc to MCStreamer::emitSymbolAttribute and report changed binding warnings/errors for ELF 2020-10-29 19:43:11 -07:00
ObjectYAML [yaml2obj] - Add support of Offset for .strtab/.shstrtab/.dynstr sections. 2020-11-02 11:56:32 +03:00
Option
Passes [NFC] Clean up PassBuilder 2020-10-30 10:03:59 -07:00
ProfileData [NFC][SampleFDO] Move some common stuff from SampleProfileReaderExtBinary/WriterExtBinary 2020-10-22 15:56:55 -07:00
Remarks
Support [X86] Support Intel avxvnni 2020-10-31 12:39:51 +08:00
TableGen [TableGen] [AMDGPU] Add !sub operator for subtraction 2020-10-28 12:27:53 -04:00
Target Reland "[TTI] Add VecPred argument to getCmpSelInstrCost." 2020-11-02 15:39:29 +00:00
Testing
TextAPI
ToolDrivers
Transforms Reland "[TTI] Add VecPred argument to getCmpSelInstrCost." 2020-11-02 15:39:29 +00:00
WindowsManifest
XRay
CMakeLists.txt
LLVMBuild.txt