mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-04 18:09:20 +00:00
Teach LSR to avoid calling SplitCriticalEdge on edges with indirectbr.
llvm-svn: 86193
This commit is contained in:
parent
229f9edf7a
commit
54aa68b309
@ -490,6 +490,7 @@ void BasedUser::RewriteInstructionToUseNewBase(const SCEV *const &NewBase,
|
||||
// is the canonical backedge for this loop, as this can make some
|
||||
// inserted code be in an illegal position.
|
||||
if (e != 1 && PHIPred->getTerminator()->getNumSuccessors() > 1 &&
|
||||
!isa<IndirectBrInst>(PHIPred->getTerminator()) &&
|
||||
(PN->getParent() != L->getHeader() || !L->contains(PHIPred))) {
|
||||
|
||||
// First step, split the critical edge.
|
||||
|
Loading…
Reference in New Issue
Block a user