summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2008-05-26 05:18:34 +0000
committerBill Wendling <isanbard@gmail.com>2008-05-26 05:18:34 +0000
commitc737e4639a9502996a531c8c37ecb30841997dbb (patch)
tree05f2620ff5c7fe0172618fcf9570709f7c947919 /clang/lib/CodeGen/CodeGenModule.cpp
parentbe993358a742ad2b10f63a04da5c2844e3d9598d (diff)
downloadbcm5719-llvm-c737e4639a9502996a531c8c37ecb30841997dbb.tar.gz
bcm5719-llvm-c737e4639a9502996a531c8c37ecb30841997dbb.zip
A problem that's exposed when machine LICM is enabled. Consider this code:
LBB1_3: # bb ... xorl %ebp, %ebp subl (%ebx), %ebp ... incl %ecx cmpl %edi, %ecx jl LBB1_3 # bb Whe using machine LICM, LLVM converts it into: xorl %esi, %esi LBB1_3: # bb ... movl %esi, %ebp subl (%ebx), %ebp ... incl %ecx cmpl %edi, %ecx jl LBB1_3 # bb Two address conversion inserts the copy instruction. However, it's cheaper to rematerialize it, and remat helps reduce register pressure. llvm-svn: 51562
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud