1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/lib/CodeGen/SelectionDAG
Matt Arsenault 12118bb735 DAGCombiner: Don't stop finding better chain on 2 aliases
The comment says this was stopped because it was unlikely to be
profitable. This is not true if you want to combine vector loads
with multiple components.

For a simple case that looks like

t0 = load t0 ...
t1 = load t0 ...
t2 = load t0 ...
t3 = load t0 ...

t4 = store t0:1, t0:1
  t5 = store t4, t1:0
    t6 = store t5, t2:0
	  t7 = store t6, t3:0

We want to get all of these stores onto a chain
that is a TokenFactor of these N loads. This mostly
solves the AMDGPU merge-stores.ll regressions
with -combiner-alias-analysis for merging vector
stores of vector loads.

llvm-svn: 250138
2015-10-13 00:49:00 +00:00
..
CMakeLists.txt
DAGCombiner.cpp DAGCombiner: Don't stop finding better chain on 2 aliases 2015-10-13 00:49:00 +00:00
FastISel.cpp [WinEH] Delete the old landingpad implementation of Windows EH 2015-10-09 23:34:53 +00:00
FunctionLoweringInfo.cpp [WinEH] Remove CatchObjRecoverIdx 2015-10-12 16:44:22 +00:00
InstrEmitter.cpp Redirect DataLayout from TargetMachine to Module in SelectionDAG 2015-07-07 19:07:19 +00:00
InstrEmitter.h [SDAG] Give InstrEmitter hidden visibility 2015-07-01 14:55:10 +00:00
LegalizeDAG.cpp propagate fast-math-flags on DAG nodes 2015-09-16 16:31:21 +00:00
LegalizeFloatTypes.cpp propagate fast-math-flags on DAG nodes 2015-09-16 16:31:21 +00:00
LegalizeIntegerTypes.cpp [CodeGen] Support (and default to) expanding READCYCLECOUNTER to 0. 2015-08-28 01:49:59 +00:00
LegalizeTypes.cpp Fix vector splitting for extract_vector_elt and vector elements of <8-bits. 2015-09-09 09:53:20 +00:00
LegalizeTypes.h [CodeGen] Support (and default to) expanding READCYCLECOUNTER to 0. 2015-08-28 01:49:59 +00:00
LegalizeTypesGeneric.cpp PseudoSourceValue: Replace global manager with a manager in a machine function. 2015-08-11 23:09:45 +00:00
LegalizeVectorOps.cpp Codegen: Fix llvm.*absdiff semantic. 2015-09-24 10:35:03 +00:00
LegalizeVectorTypes.cpp propagate fast-math-flags on DAG nodes 2015-09-16 16:31:21 +00:00
LLVMBuild.txt
Makefile
ResourcePriorityQueue.cpp Fix some comment typos. 2015-08-08 18:27:36 +00:00
ScheduleDAGFast.cpp Add allnodes() iterator range to SelectionDAG. NFC. 2015-07-14 22:10:54 +00:00
ScheduleDAGRRList.cpp Convert a bunch of loops to foreach. NFC. 2015-06-26 19:18:49 +00:00
ScheduleDAGSDNodes.cpp Add allnodes() iterator range to SelectionDAG. NFC. 2015-07-14 22:10:54 +00:00
ScheduleDAGSDNodes.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
ScheduleDAGVLIW.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
SDNodeDbgValue.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
SelectionDAG.cpp [SelectionDAG] Add common vector constant folding helper function 2015-10-12 23:00:11 +00:00
SelectionDAGBuilder.cpp Assign correct edge weights to unwind destinations when lowering invoke statement. 2015-10-12 23:02:58 +00:00
SelectionDAGBuilder.h [PM/AA] Rebuild LLVM's alias analysis infrastructure in a way compatible 2015-09-09 17:55:00 +00:00
SelectionDAGDumper.cpp SelectionDAGDumper: Print simple operands inline. 2015-09-25 22:27:02 +00:00
SelectionDAGISel.cpp Don't call PrepareEHLandingPad on non EH pads 2015-10-12 17:42:32 +00:00
SelectionDAGPrinter.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
StatepointLowering.cpp [WinEH] Avoid creating MBBs for LLVM BBs that cannot contain code 2015-09-08 23:28:38 +00:00
StatepointLowering.h [StatepointLowering] Support of the gc.relocates for invoke statepoints. 2015-05-20 11:37:25 +00:00
TargetLowering.cpp Untabify. 2015-09-22 11:15:07 +00:00
TargetSelectionDAGInfo.cpp Remove getDataLayout() from TargetSelectionDAGInfo (had no users) 2015-07-09 02:10:08 +00:00