[PATCH] D44626: [InstCombine] Fold (A OR B) AND B code sequence over Phi node

Hiroshi Inoue via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 19 07:48:49 PDT 2018


inouehrs added a comment.

This patch improved the performance of protobuf (https://github.com/google/protobuf), which suffers from the problem of jump threading for std::pair<int, bool>.

  with this patch
  ----------------------------------------------------------------------
  Benchmark                               Time           CPU Iterations
  ----------------------------------------------------------------------
  google_message2_parse_new          761764 ns     761558 ns        842   105.904MB/s
  google_message2_parse_reuse        204430 ns     204397 ns       3422   394.587MB/s
  google_message2_parse_newarena     398431 ns     398367 ns       1758   202.457MB/s
  google_message2_serialize          116088 ns     116080 ns       6029     694.8MB/s
  
  without this patch
  ----------------------------------------------------------------------
  Benchmark                               Time           CPU Iterations
  ----------------------------------------------------------------------
  google_message2_parse_new          786832 ns     786808 ns        868   102.506MB/s
  google_message2_parse_reuse        207647 ns     207631 ns       3368    388.44MB/s
  google_message2_parse_newarena     403998 ns     403985 ns       1733   199.642MB/s
  google_message2_serialize          117183 ns     117172 ns       5973   688.322MB/s


https://reviews.llvm.org/D44626





More information about the llvm-commits mailing list