diff options
author | Hiroshi Yamauchi <yamauchi@google.com> | 2017-12-12 19:07:43 +0000 |
---|---|---|
committer | Hiroshi Yamauchi <yamauchi@google.com> | 2017-12-12 19:07:43 +0000 |
commit | f3bda1daa20166d981c01cce34a06cbf76ba26f5 (patch) | |
tree | e448f5a7191561c0417e9c1853b931184d7ff9d6 /llvm/lib/CodeGen/LiveDebugVariables.cpp | |
parent | 195c97e220bf04431ea25ff98eabc9db31f96777 (diff) | |
download | llvm-f3bda1daa20166d981c01cce34a06cbf76ba26f5.zip llvm-f3bda1daa20166d981c01cce34a06cbf76ba26f5.tar.gz llvm-f3bda1daa20166d981c01cce34a06cbf76ba26f5.tar.bz2 |
Split IndirectBr critical edges before PGO gen/use passes.
Summary:
The PGO gen/use passes currently fail with an assert failure if there's a
critical edge whose source is an IndirectBr instruction and that edge
needs to be instrumented.
To avoid this in certain cases, split IndirectBr critical edges in the PGO
gen/use passes. This works for blocks with single indirectbr predecessors,
but not for those with multiple indirectbr predecessors (splitting an
IndirectBr critical edge isn't always possible.)
Reviewers: davidxl, xur
Reviewed By: davidxl
Subscribers: efriedma, llvm-commits, mehdi_amini
Differential Revision: https://reviews.llvm.org/D40699
llvm-svn: 320511
Diffstat (limited to 'llvm/lib/CodeGen/LiveDebugVariables.cpp')
0 files changed, 0 insertions, 0 deletions