[llvm-commits] [PATCH 4/5] Extend replaceAllUsesWith() on a BasicBlock.

John McCall rjmccall at apple.com
Thu Jun 16 11:44:31 PDT 2011


On Jun 16, 2011, at 7:02 AM, Jay Foad wrote:

> On 16 June 2011 12:09, Jay Foad <jay.foad at gmail.com> wrote:
>> Extend replaceAllUsesWith() on a BasicBlock to also update any phi
>> nodes in the block's successors. This mimics what would have happened
>> when PHINodes were proper Users of their incoming blocks. (Note that
>> this only works if OldBB->replaceAllUsesWith(NewBB) is called when
>> OldBB still has a terminator instruction, so it still has some
>> successors.)
>> 
>> This has only been split out from the previous patch for ease of review.
>> They will be committed together to keep things bisectable.
>> ---
>>  include/llvm/BasicBlock.h                |    4 ++++
>>  lib/Transforms/Scalar/LoopUnswitch.cpp   |    8 ++++----
>>  lib/Transforms/Utils/BasicBlockUtils.cpp |    6 +++---
>>  lib/Transforms/Utils/CloneFunction.cpp   |    6 +++---
>>  lib/Transforms/Utils/InlineFunction.cpp  |   10 +++++-----
>>  lib/Transforms/Utils/Local.cpp           |    8 ++++----
>>  lib/Transforms/Utils/LoopUnroll.cpp      |    6 +++---
>>  lib/VMCore/BasicBlock.cpp                |   16 ++++++++++++++++
>>  lib/VMCore/Value.cpp                     |    3 +++
>>  9 files changed, 45 insertions(+), 22 deletions(-)
> 
> I forgot that this part also requires a small change in Clang, attached.

The Clang part is okay with me.

John.



More information about the llvm-commits mailing list