diff options
author | Vedant Kumar <vsk@apple.com> | 2018-01-25 21:37:07 +0000 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2018-01-25 21:37:07 +0000 |
commit | 60f54084bfd49a25a663847cc504a8283351872a (patch) | |
tree | a2a7d84d83091872ced5dcbdec4b6d1b28cafc2c /llvm/tools/llvm-objcopy/Object.cpp | |
parent | 6bfc869cf76a0ff91fd8cda8dfc454f4ef46fa84 (diff) | |
download | bcm5719-llvm-60f54084bfd49a25a663847cc504a8283351872a.tar.gz bcm5719-llvm-60f54084bfd49a25a663847cc504a8283351872a.zip |
[Debug] Add dbg.value intrinsics for PHIs created during LCSSA.
This patch is an enhancement to propagate dbg.value information when
Phis are created on behalf of LCSSA. I noticed a case where a value
carried across a loop was reported as <optimized out>.
Specifically this case:
int bar(int x, int y) {
return x + y;
}
int foo(int size) {
int val = 0;
for (int i = 0; i < size; ++i) {
val = bar(val, i); // Both val and i are correct
}
return val; // <optimized out>
}
In the above case, after all of the interesting computation completes
our value is reported as "optimized out." This change will add a
dbg.value to correct this.
This patch also moves the dbg.value insertion routine from
LoopRotation.cpp into Local.cpp, so that we can share it in both places
(LoopRotation and LCSSA).
Patch by Matt Davis!
Differential Revision: https://reviews.llvm.org/D42551
llvm-svn: 323472
Diffstat (limited to 'llvm/tools/llvm-objcopy/Object.cpp')
0 files changed, 0 insertions, 0 deletions