OSDN Git Service

PrologueEpilogInserter: Fix missing live-ins when savepoint equals restorepoint
authorMatthias Braun <matze@braunis.de>
Fri, 25 Sep 2015 21:41:40 +0000 (21:41 +0000)
committerMatthias Braun <matze@braunis.de>
Fri, 25 Sep 2015 21:41:40 +0000 (21:41 +0000)
commit7aa5b69c4a7ec1b2c06f60fd0b47a34122b8cf09
treeb1e2f61c5c91012e8d7531911fe98057ea5bca2b
parent1566e71dbdcafe8bea842ffe564ca5bddedd6611
PrologueEpilogInserter: Fix missing live-ins when savepoint equals restorepoint

The algorithm would not modify the live-in list of blocks below the save
block point which is correct unless it happens to be a restore point at
the same time.
Also fixes the benign issue of live-in registers being added twice in
some cases.

The testcase is based on a test submitted by Kit Barton.

Differential Revision: http://reviews.llvm.org/D13176

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@248620 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/PrologEpilogInserter.cpp
test/CodeGen/PowerPC/ppc-shrink-wrapping.ll