[PATCH] Add Load Combine Pass

Michael Spencer bigcheesegs at gmail.com
Thu May 22 17:14:00 PDT 2014


I ran test-suite with this pass and got some interesting results. Most tests have no changes, but 4 tests showed significant change.

+ is faster, - is slower.

| nts.MultiSource/Benchmarks/MiBench/security-sha/security-sha | 44% |
| nts.MultiSource/Benchmarks/Prolangs-C/agrep/agrep | 12% |
| nts.MultiSource/Benchmarks/SciMark2-C/scimark2 | -21% |
| nts.MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4 | -39% | (this drops to -20% if we fix the load splicing cost model in DAGCombine)

Full data: https://docs.google.com/spreadsheets/d/13_4ZUBQQYXhexrMzVJ5VICNuLzUhovU8lOl0Rr6wG10/edit?usp=sharing

I'd like to commit this disabled by default while the regressions are fixed in tree.

http://reviews.llvm.org/D3580

Files:
  include/llvm/IR/IRBuilder.h
  include/llvm/InitializePasses.h
  include/llvm/Transforms/Scalar.h
  lib/Transforms/IPO/PassManagerBuilder.cpp
  lib/Transforms/Scalar/CMakeLists.txt
  lib/Transforms/Scalar/LoadCombine.cpp
  lib/Transforms/Scalar/Scalar.cpp
  test/Transforms/LoadCombine/load-combine.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D3580.9724.patch
Type: text/x-patch
Size: 19254 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140523/7478b7d9/attachment.bin>


More information about the llvm-commits mailing list