diff options
| author | Chris Lattner <sabre@nondot.org> | 2006-11-08 01:03:21 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2006-11-08 01:03:21 +0000 |
| commit | bf3b57f221d1d73551101f72b2c0a2c9867d2e9a (patch) | |
| tree | 14206382e7899c41bab14f30e352f8f4356feb94 /llvm/lib/Bytecode/Writer/Writer.cpp | |
| parent | 800596d60e48e55f806e225adde4c905f3296b32 (diff) | |
| download | bcm5719-llvm-bf3b57f221d1d73551101f72b2c0a2c9867d2e9a.tar.gz bcm5719-llvm-bf3b57f221d1d73551101f72b2c0a2c9867d2e9a.zip | |
optimize single MBB loops better. In particular, produce:
LBB1_57: #bb207.i
movl 72(%esp), %ecx
movb (%ecx,%eax), %cl
movl 80(%esp), %edx
movb %cl, 1(%edx,%eax)
incl %eax
cmpl $143, %eax
jne LBB1_57 #bb207.i
jmp LBB1_64 #cond_next255.i
intead of:
LBB1_57: #bb207.i
movl 72(%esp), %ecx
movb (%ecx,%eax), %cl
movl 80(%esp), %edx
movb %cl, 1(%edx,%eax)
incl %eax
cmpl $143, %eax
je LBB1_64 #cond_next255.i
jmp LBB1_57 #bb207.i
This eliminates a branch per iteration of the loop. This hurted PPC
particularly, because the extra branch meant another dispatch group for each
iteration of the loop.
llvm-svn: 31530
Diffstat (limited to 'llvm/lib/Bytecode/Writer/Writer.cpp')
0 files changed, 0 insertions, 0 deletions

