diff options
author | Keith Walker <kwalker@arm.com> | 2016-09-16 14:07:29 +0000 |
---|---|---|
committer | Keith Walker <kwalker@arm.com> | 2016-09-16 14:07:29 +0000 |
commit | 830a8c1fbd4618175e4e42323203d3e2919f95d6 (patch) | |
tree | 1c0b38d147e23fae3944b9d3444af5e72a4419d4 /llvm/lib/CodeGen/PHIEliminationUtils.cpp | |
parent | e53cfa73e49557692f3233d49cb7bbd47bf610ce (diff) | |
download | bcm5719-llvm-830a8c1fbd4618175e4e42323203d3e2919f95d6.tar.gz bcm5719-llvm-830a8c1fbd4618175e4e42323203d3e2919f95d6.zip |
Place the lowered phi instruction(s) before the DEBUG_VALUE entry
When a phi node is finally lowered to a machine instruction it is
important that the lowered "load" instruction is placed before the
associated DEBUG_VALUE entry describing the value loaded.
Renamed the existing SkipPHIsAndLabels to SkipPHIsLabelsAndDebug to
more fully describe that it also skips debug entries. Then used the
"new" function SkipPHIsAndLabels when the debug information should not
be skipped when placing the lowered "load" instructions so that it is
placed before the debug entries.
Differential Revision: https://reviews.llvm.org/D23760
llvm-svn: 281727
Diffstat (limited to 'llvm/lib/CodeGen/PHIEliminationUtils.cpp')
-rw-r--r-- | llvm/lib/CodeGen/PHIEliminationUtils.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/PHIEliminationUtils.cpp b/llvm/lib/CodeGen/PHIEliminationUtils.cpp index 4cabc3a8c1f..4e67ff2e508 100644 --- a/llvm/lib/CodeGen/PHIEliminationUtils.cpp +++ b/llvm/lib/CodeGen/PHIEliminationUtils.cpp @@ -54,6 +54,7 @@ llvm::findPHICopyInsertPoint(MachineBasicBlock* MBB, MachineBasicBlock* SuccMBB, ++InsertPoint; } - // Make sure the copy goes after any phi nodes however. + // Make sure the copy goes after any phi nodes but before + // any debug nodes. return MBB->SkipPHIsAndLabels(InsertPoint); } |