diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2018-08-02 17:32:43 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2018-08-02 17:32:43 +0000 | 
| commit | b7eb8e35e481a74962664b63dfb09483b200209a (patch) | |
| tree | 1937fb4a348458ce2d02ade03ac3bb0aa18d2fcd /lib/Transforms/Utils/LCSSA.cpp | |
| parent | eb11fae6d08f479c0799db45860a98af528fa6e7 (diff) | |
Notes
Diffstat (limited to 'lib/Transforms/Utils/LCSSA.cpp')
| -rw-r--r-- | lib/Transforms/Utils/LCSSA.cpp | 9 | 
1 files changed, 5 insertions, 4 deletions
| diff --git a/lib/Transforms/Utils/LCSSA.cpp b/lib/Transforms/Utils/LCSSA.cpp index 956d0387c7a8..a1f8e7484bcf 100644 --- a/lib/Transforms/Utils/LCSSA.cpp +++ b/lib/Transforms/Utils/LCSSA.cpp @@ -10,7 +10,7 @@  // This pass transforms loops by placing phi nodes at the end of the loops for  // all values that are live across the loop boundary.  For example, it turns  // the left into the right code: -//  +//  // for (...)                for (...)  //   if (c)                   if (c)  //     X1 = ...                 X1 = ... @@ -21,8 +21,8 @@  //                          ... = X4 + 4  //  // This is still valid LLVM; the extra phi nodes are purely redundant, and will -// be trivially eliminated by InstCombine.  The major benefit of this  -// transformation is that it makes many other loop optimizations, such as  +// be trivially eliminated by InstCombine.  The major benefit of this +// transformation is that it makes many other loop optimizations, such as  // LoopUnswitching, simpler.  //  //===----------------------------------------------------------------------===// @@ -144,7 +144,8 @@ bool llvm::formLCSSAForInstructions(SmallVectorImpl<Instruction *> &Worklist,        PHINode *PN = PHINode::Create(I->getType(), PredCache.size(ExitBB),                                      I->getName() + ".lcssa", &ExitBB->front()); - +      // Get the debug location from the original instruction. +      PN->setDebugLoc(I->getDebugLoc());        // Add inputs from inside the loop for this PHI.        for (BasicBlock *Pred : PredCache.get(ExitBB)) {          PN->addIncoming(I, Pred); | 
