[PATCH] D8705: ScheduleDAGInstrs::buildSchedGraph() handling of memory dependecies rewritten.

Jonas Paulsson via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 30 05:16:10 PST 2016


jonpa updated this revision to Diff 46472.
jonpa added a comment.
Herald added a reviewer: tstellarAMD.

Patch updated by removing the handling for !AA, as suggested. To
me this is a welcome change - it was awkward to chain stores and
then handle them especially for the !AA case.

The following tests have been disabled temporarily. Someone
working with these backends, please take a look before I commit
the patch.

Failing Tests (4):

  LLVM :: CodeGen/AMDGPU/split-vector-memoperand-offsets.ll
  LLVM :: CodeGen/PowerPC/ppc64-fastcc.ll
  LLVM :: CodeGen/PowerPC/vsx-fma-m.ll
  LLVM :: CodeGen/PowerPC/vsx-fma-sp.ll

I tried the test-suite on my laptop and it seems to pass.  I have
no idea what would be a preferred value for -dag-maps-huge-region
for various targets, but regarding compile time value is making a
difference, as seen below (X86).

Results (-dag-maps-huge-region = 1000)
--------------------------------------

IMPROVED : 218
REGRESSED : 294
PASS : 1480

Results (-dag-maps-huge-region = 50)
------------------------------------

IMPROVED : 290
REGRESSED : 208
PASS : 1494

Results (-dag-maps-huge-region = 20)
------------------------------------

IMPROVED : 282
REGRESSED : 209
PASS : 1501

I guess one would have to both measure compile time and run
benchmarks to find a good compromise value. Since (sub)targets
are divided in interest regarding performance / compile time, it
perhaps would make sense to let the subtarget define this value,
with the CodeModel in mind (consider JIT). But I guess this might
lie a bit in the future, after getting the patch in...


http://reviews.llvm.org/D8705

Files:
  include/llvm/CodeGen/PseudoSourceValue.h
  include/llvm/CodeGen/ScheduleDAG.h
  include/llvm/CodeGen/ScheduleDAGInstrs.h
  lib/CodeGen/ScheduleDAGInstrs.cpp
  test/CodeGen/AArch64/arm64-misched-memdep-bug.ll
  test/CodeGen/AArch64/tailcall_misched_graph.ll
  test/CodeGen/AMDGPU/split-vector-memoperand-offsets.ll
  test/CodeGen/PowerPC/ppc64-fastcc.ll
  test/CodeGen/PowerPC/vsx-fma-m.ll
  test/CodeGen/PowerPC/vsx-fma-sp.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D8705.46472.patch
Type: text/x-patch
Size: 43483 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160130/8e9c5f8d/attachment-0001.bin>


More information about the llvm-commits mailing list