mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Add Loop contains utility methods for testing whether a loop
contains another loop, or an instruction. The loop form is substantially more efficient on large loops than the typical code it replaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91654 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -877,7 +877,7 @@ void LoopUnswitch::RewriteLoopBodyWithConditionConstant(Loop *L, Value *LIC,
|
||||
|
||||
for (unsigned i = 0, e = Users.size(); i != e; ++i)
|
||||
if (Instruction *U = cast<Instruction>(Users[i])) {
|
||||
if (!L->contains(U->getParent()))
|
||||
if (!L->contains(U))
|
||||
continue;
|
||||
U->replaceUsesOfWith(LIC, Replacement);
|
||||
Worklist.push_back(U);
|
||||
@@ -888,7 +888,7 @@ void LoopUnswitch::RewriteLoopBodyWithConditionConstant(Loop *L, Value *LIC,
|
||||
// can. This case occurs when we unswitch switch statements.
|
||||
for (unsigned i = 0, e = Users.size(); i != e; ++i)
|
||||
if (Instruction *U = cast<Instruction>(Users[i])) {
|
||||
if (!L->contains(U->getParent()))
|
||||
if (!L->contains(U))
|
||||
continue;
|
||||
|
||||
Worklist.push_back(U);
|
||||
|
Reference in New Issue
Block a user