MCPcopy Create free account
hub / github.com/GoSSIP-SJTU/Armariris / separateNestedLoop

Function separateNestedLoop

lib/Transforms/Utils/LoopSimplify.cpp:249–387  ·  view source on GitHub ↗

\brief If this loop has multiple backedges, try to pull one of them out into a nested loop. This is important for code that looks like this: Loop: ... br cond, Loop, Next ... br cond2, Loop, Out To identify this common case, we look at the PHI nodes in the header of the loop. PHI nodes with unchanging values on one backedge correspond to values that change in the "outer" loop, but not in the "

Source from the content-addressed store, hash-verified

source not stored for this graph (policy: none)

Callers 1

simplifyOneLoopFunction · 0.85

Calls 15

findPHIToPartitionLoopsFunction · 0.85
DEBUGFunction · 0.85
placeSplitBlockCarefullyFunction · 0.85
addBlockAndPredsToSetFunction · 0.85
any_ofFunction · 0.85
predecessorsFunction · 0.85
rewriteLoopExitBlockFunction · 0.85
getParentLoopMethod · 0.80
addChildLoopMethod · 0.80
addBlockEntryMethod · 0.80
moveToHeaderMethod · 0.80
removeBlockFromLoopMethod · 0.80

Tested by

no test coverage detected