aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/LevelRaise.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2001-11-03 21:08:59 +0000
committerChris Lattner <sabre@nondot.org>2001-11-03 21:08:59 +0000
commit5b497ee7c24b0cff0b5b5064b086d2ad4b190b6f (patch)
tree650dbd3c801a5f4dc8e979687238a0c45f714f5f /lib/Transforms/LevelRaise.cpp
parent3bf04d5b99db505b07d55b42a348c6c642546d8c (diff)
Add new cleanup pass:
// 1. PHI nodes with multiple entries for the same predecessor. GCC sometimes // generates code that looks like this: // // bb7: br bool %cond1004, label %bb8, label %bb8 // bb8: %reg119 = phi uint [ 0, %bb7 ], [ 1, %bb7 ] // // which is completely illegal LLVM code. To compensate for this, we insert // an extra basic block, and convert the code to look like this: // // bb7: br bool %cond1004, label %bbX, label %bb8 // bbX: br label bb8 // bb8: %reg119 = phi uint [ 0, %bbX ], [ 1, %bb7 ] // git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1114 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/LevelRaise.cpp')
0 files changed, 0 insertions, 0 deletions