Be more clever about calculating live variables through new basic blocks.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 21 Nov 2009 02:05:21 +0000 (02:05 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Sat, 21 Nov 2009 02:05:21 +0000 (02:05 +0000)
commit323d8c3ed72c9e440c2079e8c1954af69357c7cf
treefbdf37ef1d9b9a29f9f7e47b01c4d07f703c1125
parent983c7fe847dd3f46945f0117ab19345b9c68e88f
Be more clever about calculating live variables through new basic blocks.

When splitting a critical edge, the registers live through the edge are:

- Used in a PHI instruction, or
- Live out from the predecessor, and
- Live in to the successor.

This allows the coalescer to eliminate even more phi joins.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89530 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/LiveVariables.h
lib/CodeGen/LiveVariables.cpp
lib/CodeGen/PHIElimination.cpp
lib/CodeGen/PHIElimination.h