diff options
| author | Pete Cooper <peter_cooper@apple.com> | 2015-05-07 21:48:26 +0000 |
|---|---|---|
| committer | Pete Cooper <peter_cooper@apple.com> | 2015-05-07 21:48:26 +0000 |
| commit | ba593ad3f345272ed49a01075c223580c338f875 (patch) | |
| tree | 607ac9154fb34c339b25b1f3a60ed06d6346c2e7 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
| parent | d6291964fb067fd0d294b97a861487c7c60d3292 (diff) | |
Clear kill flags in tail duplication.
If we duplicate an instruction then we must also clear kill flags on any uses we rewrite.
Otherwise we might be killing a register which was used in other BBs.
For example, here the entry BB ended up with these instructions, the ADD having been tail duplicated.
%vreg24<def> = t2ADDri %vreg10<kill>, 1, pred:14, pred:%noreg, opt:%noreg; GPRnopc:%vreg24 rGPR:%vreg10
%vreg22<def> = COPY %vreg10; GPR:%vreg22 rGPR:%vreg10
The copy here is inserted after the add and so needs vreg10 to be live.
llvm-svn: 236782
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions
