aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Utils/LCSSA.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
commit48f7f237ea5224c44e9c2782836fb7b60d8b5db1 (patch)
treed7cd0d8f2c3c13b53745d1e9361bcdb1610ca555 /lib/Transforms/Utils/LCSSA.cpp
parent505242f9b628a4a9b2dc53346b6f1c43670f44a7 (diff)
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51562 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Utils/LCSSA.cpp')
0 files changed, 0 insertions, 0 deletions