summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/RegAlloc/IGNode.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
commitec83fc091e285083fa2d91b066ae17c4d398c60a (patch)
tree8e463a0f7305019f9f5455ca374a573a4d5a06b4 /llvm/lib/CodeGen/RegAlloc/IGNode.cpp
parent34f8595c0bab83a44734d0a1d852208dd08027bb (diff)
downloadbcm5719-llvm-ec83fc091e285083fa2d91b066ae17c4d398c60a.tar.gz
bcm5719-llvm-ec83fc091e285083fa2d91b066ae17c4d398c60a.zip
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 ] // llvm-svn: 1114
Diffstat (limited to 'llvm/lib/CodeGen/RegAlloc/IGNode.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud