SuccessChanges

Summary

  1. [CodeGen] Handle outlining of CopyStmts. (details)
  2. [PGO] Change hardcoded thresholds for cold/inlinehint to use summary (details)
Commit 241b02e762872173dcb5bd27ff9fe3eb7dce1db2 by llvm
[CodeGen] Handle outlining of CopyStmts.
Since the removal of extensions nodes from schedule trees in r362257 it
is possible to emit parallel code for SCoPs containing
matrix-multiplications. However, the code looking for references used in
outlined statement was not prepared to handle CopyStmts introduced by
the matrix-matrix multiplication detection.
In this case, CopyStmts do not introduce references in addition to the
ones captured by MemoryAccesses, i.e. we change the assertion to accept
CopyStmts and add a regression test for this case.
This fixes llvm.org/PR43164
llvm-svn: 372188
The file was addedpolly/test/Isl/CodeGen/OpenMP/matmul-parallel.ll
The file was modifiedpolly/lib/CodeGen/IslNodeBuilder.cpp (diff)
Commit fd2044f29993ea014898cf0a21a03b2a147e6340 by tejohnson
[PGO] Change hardcoded thresholds for cold/inlinehint to use summary
Summary: The PGO counter reading will add cold and inlinehint (hot)
attributes to functions that are very cold or hot. This was using
hardcoded thresholds, instead of the profile summary cutoffs which are
used in other hot/cold detection and are more dynamic and adaptable.
Switch to using the summary-based cold/hot detection.
The hardcoded limits were causing some code that had a medium level of
hotness (per the summary) to be incorrectly marked with a cold
attribute, blocking inlining.
Reviewers: davidxl
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67673
llvm-svn: 372189
The file was modifiedllvm/lib/ProfileData/InstrProfReader.cpp (diff)
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/func_entry.proftext (diff)
The file was modifiedllvm/test/Transforms/PGOProfile/func_entry.ll (diff)
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp (diff)