diff options
| author | Chris Lattner <sabre@nondot.org> | 2005-10-01 23:06:26 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2005-10-01 23:06:26 +0000 |
| commit | 5ab9d42bb4e6aa8ac2da9dbd9ce47f9dc05fa3ac (patch) | |
| tree | 0175240c5a552bf41be330b742042894b6d22c4a /llvm/lib/Bytecode | |
| parent | 6f4dc51d6fcd3c7f7d795dae6e8bc988177b07ae (diff) | |
| download | bcm5719-llvm-5ab9d42bb4e6aa8ac2da9dbd9ce47f9dc05fa3ac.tar.gz bcm5719-llvm-5ab9d42bb4e6aa8ac2da9dbd9ce47f9dc05fa3ac.zip | |
Minor tweak to the branch selector. When emitting a two-way branch, and if
we're in a single-mbb loop, make sure to emit the backwards branch as the
conditional branch instead of the uncond branch. For example, emit this:
LBBl29_z__44:
stw r9, 0(r15)
stw r9, 4(r15)
stw r9, 8(r15)
stw r9, 12(r15)
addi r15, r15, 16
addi r8, r8, 1
cmpw cr0, r8, r28
ble cr0, LBBl29_z__44
b LBBl29_z__48 *** NOT PART OF LOOP
Instead of:
LBBl29_z__44:
stw r9, 0(r15)
stw r9, 4(r15)
stw r9, 8(r15)
stw r9, 12(r15)
addi r15, r15, 16
addi r8, r8, 1
cmpw cr0, r8, r28
bgt cr0, LBBl29_z__48 *** PART OF LOOP!
b LBBl29_z__44
The former sequence has one fewer dispatch group for the loop body.
llvm-svn: 23582
Diffstat (limited to 'llvm/lib/Bytecode')
0 files changed, 0 insertions, 0 deletions

