llvm-mirror/lib
Renato Golin 758dbd2bbb [LV] Move isLegalMasked* functions from Legality to CostModel
All SIMD architectures can emulate masked load/store/gather/scatter
through element-wise condition check, scalar load/store, and
insert/extract. Therefore, bailing out of vectorization as legality
failure, when they return false, is incorrect. We should proceed to cost
model and determine profitability.

This patch is to address the vectorizer's architectural limitation
described above. As such, I tried to keep the cost model and
vectorize/don't-vectorize behavior nearly unchanged. Cost model tuning
should be done separately.

Please see
http://lists.llvm.org/pipermail/llvm-dev/2018-January/120164.html for
RFC and the discussions.

Closes D43208.

Patch by: Hideki Saito <hideki.saito@intel.com>

llvm-svn: 326079
2018-02-26 11:06:36 +00:00
..
Analysis [SCEV] Factor out getUsedLoops 2018-02-26 09:26:41 +00:00
AsmParser [DebugInfo] Support DWARF v5 source code embedding extension 2018-02-23 23:01:06 +00:00
BinaryFormat Add DWARF for discriminated unions 2018-02-06 23:45:59 +00:00
Bitcode [DebugInfo] Support DWARF v5 source code embedding extension 2018-02-23 23:01:06 +00:00
CodeGen The final step to close D41278 [MachineCombiner] Improve debug output (NFC). 2018-02-26 09:43:21 +00:00
DebugInfo Implement equal_range for the DWARF v5 accelerator table 2018-02-24 00:35:21 +00:00
Demangle Silence a bunch of implicit fallthrough warnings 2017-12-19 22:05:25 +00:00
ExecutionEngine [ORC] Switch to shared_ptr ownership for SymbolSources in VSOs. 2018-02-21 21:55:57 +00:00
Fuzzer [libFuzzer] Delete llvm/lib/Fuzzer 2017-10-16 20:48:19 +00:00
FuzzMutate [llvm-opt-fuzzer] Add another pack of passes for continuous fuzzing 2018-02-19 11:57:07 +00:00
IR [DebugInfo] Support DWARF v5 source code embedding extension 2018-02-23 23:01:06 +00:00
IRReader LLParser: add an argument for overriding data layout and do not check alloca addr space 2018-01-30 22:32:39 +00:00
LineEditor
Linker Revert "[IRMover] Implement name based structure type mapping" 2018-02-21 20:12:18 +00:00
LTO [ThinLTO] Always create linked objects file for --thinlto-index-only= 2018-02-22 19:06:15 +00:00
MC [DebugInfo] Support DWARF v5 source code embedding extension 2018-02-23 23:01:06 +00:00
Object [WebAssembly] Add first claass symbol table to wasm objects 2018-02-23 05:08:34 +00:00
ObjectYAML [WebAssembly] Add first claass symbol table to wasm objects 2018-02-23 05:08:34 +00:00
Option [Option] For typo '-foo', suggest '--foo' 2018-01-09 19:38:04 +00:00
Passes Another try to commit 323321 (aggressive instruction combine). 2018-01-25 12:06:32 +00:00
ProfileData [SampleProf] NFC. Expose reusable functionality in SampleProfile. 2018-02-22 06:42:57 +00:00
Support llvm-config: Add advapi32 to --system-libs on Windows (PR36372) 2018-02-23 12:20:26 +00:00
TableGen TableGen: Remove VarInit::getFieldType 2018-02-25 20:50:17 +00:00
Target [XCore] Return true in enableMultipleCopyHints(). 2018-02-26 08:03:32 +00:00
Testing Force #define GTEST_LANG_CXX11. 2017-10-27 21:12:28 +00:00
ToolDrivers [COFF] Keep the underscore on exported decorated stdcall functions in MSVC mode 2018-01-20 11:44:32 +00:00
Transforms [LV] Move isLegalMasked* functions from Legality to CostModel 2018-02-26 11:06:36 +00:00
WindowsManifest Fix bug 34608 by moving private header out of public header. 2017-09-14 23:01:13 +00:00
XRay [XRay] clarify error messages when parsing broken traces 2018-01-30 13:41:34 +00:00
CMakeLists.txt Moving libFuzzer from LLVM to compiler-rt. 2017-08-21 23:25:12 +00:00
LLVMBuild.txt Re-apply "Introduce FuzzMutate library" 2017-08-21 22:57:06 +00:00