diff options
| author | Nirav Dave <niravd@google.com> | 2018-11-08 19:14:20 +0000 |
|---|---|---|
| committer | Nirav Dave <niravd@google.com> | 2018-11-08 19:14:20 +0000 |
| commit | 6ce9f72f76e3c1c9c5b1cd5a65ba2b0bb319294f (patch) | |
| tree | bcfc45bd36ac8be46d6c84a2b7e5e3625ee985a9 /llvm/test/CodeGen/Mips | |
| parent | f3dc9649ced6d3e5a2574bf939e2c8cfcfb9c465 (diff) | |
| download | bcm5719-llvm-6ce9f72f76e3c1c9c5b1cd5a65ba2b0bb319294f.tar.gz bcm5719-llvm-6ce9f72f76e3c1c9c5b1cd5a65ba2b0bb319294f.zip | |
[DAGCombine] Improve alias analysis for chain of independent stores.
FindBetterNeighborChains simulateanously improves the chain
dependencies of a chain of related stores avoiding the generation of
extra token factors. For chains longer than the GatherAllAliasDepths,
stores further down in the chain will necessarily fail, a potentially
significant waste and preventing otherwise trivial parallelization.
This patch directly parallelize the chains of stores before improving
each store. This generally improves DAG-level parallelism.
Reviewers: courbet, spatel, RKSimon, bogner, efriedma, craig.topper, rnk
Subscribers: sdardis, javed.absar, hiraditya, jrtc27, atanasyan, llvm-commits
Differential Revision: https://reviews.llvm.org/D53552
llvm-svn: 346432
Diffstat (limited to 'llvm/test/CodeGen/Mips')
| -rw-r--r-- | llvm/test/CodeGen/Mips/fastcc.ll | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/llvm/test/CodeGen/Mips/fastcc.ll b/llvm/test/CodeGen/Mips/fastcc.ll index fb1bc4d9a8a..e48dee4721d 100644 --- a/llvm/test/CodeGen/Mips/fastcc.ll +++ b/llvm/test/CodeGen/Mips/fastcc.ll @@ -223,24 +223,24 @@ entry: define internal fastcc void @callee1(float %a0, float %a1, float %a2, float %a3, float %a4, float %a5, float %a6, float %a7, float %a8, float %a9, float %a10, float %a11, float %a12, float %a13, float %a14, float %a15, float %a16, float %a17, float %a18, float %a19, float %a20) nounwind noinline { entry: ; CHECK-LABEL: callee1: -; CHECK-DAG: swc1 $f0 -; CHECK-DAG: swc1 $f1 -; CHECK-DAG: swc1 $f2 -; CHECK-DAG: swc1 $f3 -; CHECK-DAG: swc1 $f4 -; CHECK-DAG: swc1 $f5 -; CHECK-DAG: swc1 $f6 -; CHECK-DAG: swc1 $f7 -; CHECK-DAG: swc1 $f8 -; CHECK-DAG: swc1 $f9 -; CHECK-DAG: swc1 $f10 -; CHECK-DAG: swc1 $f11 -; CHECK-DAG: swc1 $f12 -; CHECK-DAG: swc1 $f13 -; CHECK-DAG: swc1 $f14 -; CHECK-DAG: swc1 $f15 -; CHECK-DAG: swc1 $f16 ; CHECK-DAG: swc1 $f17 +; CHECK-DAG: swc1 $f16 +; CHECK-DAG: swc1 $f15 +; CHECK-DAG: swc1 $f14 +; CHECK-DAG: swc1 $f13 +; CHECK-DAG: swc1 $f12 +; CHECK-DAG: swc1 $f11 +; CHECK-DAG: swc1 $f10 +; CHECK-DAG: swc1 $f9 +; CHECK-DAG: swc1 $f8 +; CHECK-DAG: swc1 $f7 +; CHECK-DAG: swc1 $f6 +; CHECK-DAG: swc1 $f5 +; CHECK-DAG: swc1 $f4 +; CHECK-DAG: swc1 $f3 +; CHECK-DAG: swc1 $f2 +; CHECK-DAG: swc1 $f1 +; CHECK-DAG: swc1 $f0 ; CHECK-DAG: swc1 $f18 ; CHECK-DAG: swc1 $f19 @@ -330,7 +330,7 @@ entry: ; NOODDSPREG-DAG: swc1 $f16, 32($[[R0]]) ; NOODDSPREG-DAG: swc1 $f18, 36($[[R0]]) -; NOODDSPREG-DAG: lwc1 $[[F0:f[0-9]*[02468]]], 0($sp) +; NOODDSPREG-DAG: lwc1 $[[F0:f[0-9]*[02468]]], {{[0-9]+}}($sp) ; NOODDSPREG-DAG: swc1 $[[F0]], 40($[[R0]]) store float %a0, float* getelementptr ([11 x float], [11 x float]* @fa, i32 0, i32 0), align 4 |

