llvm-6502/lib
Hal Finkel 081e6fcd17 [LoopVectorizer] Count dependencies of consecutive pointers as uniforms
For the purpose of calculating the cost of the loop at various vectorization
factors, we need to count dependencies of consecutive pointers as uniforms
(which means that the VF = 1 cost is used for all overall VF values).

For example, the TSVC benchmark function s173 has:
  ...
  %3 = add nsw i64 %indvars.iv, 16000
  %arrayidx8 = getelementptr inbounds %struct.GlobalData* @global_data, i64 0, i32 0, i64 %3
  ...
and we must realize that the add will be a scalar in order to correctly deduce
it to be profitable to vectorize this on PowerPC with VSX enabled. In fact, all
dependencies of a consecutive pointer must be a scalar (uniform), and so we
simply need to add all consecutive pointers to the worklist that currently
detects collects uniforms.

Fixes PR19296.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205387 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-02 02:34:49 +00:00
..
Analysis Use TopTTI->getGEPCost from within getUserCost 2014-04-01 18:50:06 +00:00
AsmParser
Bitcode All new elements except the last one initialized to NULL. Ideally, once parsing is complete, all elements should be non-NULL. 2014-03-27 12:08:23 +00:00
CodeGen Adjust comments regarding non-relocated abbrev offset in debug_info.dwo 2014-04-02 02:04:51 +00:00
DebugInfo
ExecutionEngine [Allocator] Lift the slab size and size threshold into template 2014-03-30 12:07:07 +00:00
IR Add a comment about the DIDescriptor class hierarchy. 2014-04-01 21:04:24 +00:00
IRReader
LineEditor
Linker
LTO This patch fixes LTO's RecordStreamer so that it records symbols in the MCExpr 2014-03-31 16:59:13 +00:00
MC [ARM64][CollectLOH] Add some comments to explain how the LOHs 2014-04-02 01:02:28 +00:00
Object [yaml2obj] Add support for ELF e_flags. 2014-03-31 09:44:05 +00:00
Option
ProfileData
Support Support: generalise object type handling for Windows 2014-03-31 16:34:41 +00:00
TableGen tblgen: Twinify PrintFatalError. 2014-03-29 17:17:15 +00:00
Target [ARM64][CollectLOH] Add some comments to explain how the LOHs 2014-04-02 01:02:28 +00:00
Transforms [LoopVectorizer] Count dependencies of consecutive pointers as uniforms 2014-04-02 02:34:49 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile