diff options
| author | Sasa Stankovic <Sasa.Stankovic@imgtec.com> | 2014-05-27 18:53:06 +0000 |
|---|---|---|
| committer | Sasa Stankovic <Sasa.Stankovic@imgtec.com> | 2014-05-27 18:53:06 +0000 |
| commit | e41db2fe31d3c7d4656ff2e84830ce2f0a7645b9 (patch) | |
| tree | a3f52a58639a17223b77bc4f5d9e9724aae1875b /llvm/test/CodeGen/Mips/longbranch.ll | |
| parent | 482097d0981642624a727ba83b4926082f44982f (diff) | |
| download | bcm5719-llvm-e41db2fe31d3c7d4656ff2e84830ce2f0a7645b9.tar.gz bcm5719-llvm-e41db2fe31d3c7d4656ff2e84830ce2f0a7645b9.zip | |
[mips] Optimize long branch for MIPS64 by removing %higher and %highest.
%higher and %highest can have non-zero values only for offsets greater
than 2GB, which is highly unlikely, if not impossible when compiling a
single function. This makes long branch for MIPS64 3 instructions smaller.
Differential Revision: http://llvm-reviews.chandlerc.com/D3281.diff
llvm-svn: 209678
Diffstat (limited to 'llvm/test/CodeGen/Mips/longbranch.ll')
| -rw-r--r-- | llvm/test/CodeGen/Mips/longbranch.ll | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/llvm/test/CodeGen/Mips/longbranch.ll b/llvm/test/CodeGen/Mips/longbranch.ll index f9980940643..c7fe6fd69dc 100644 --- a/llvm/test/CodeGen/Mips/longbranch.ll +++ b/llvm/test/CodeGen/Mips/longbranch.ll @@ -80,10 +80,7 @@ end: ; Check for long branch expansion: ; N64: daddiu $sp, $sp, -16 ; N64-NEXT: sd $ra, 0($sp) -; N64-NEXT: lui $1, %highest(($[[BB2:BB[0-9_]+]])-($[[BB1:BB[0-9_]+]])) -; N64-NEXT: daddiu $1, $1, %higher(($[[BB2]])-($[[BB1]])) -; N64-NEXT: dsll $1, $1, 16 -; N64-NEXT: daddiu $1, $1, %hi(($[[BB2]])-($[[BB1]])) +; N64-NEXT: daddiu $1, $zero, %hi(($[[BB2:BB[0-9_]+]])-($[[BB1:BB[0-9_]+]])) ; N64-NEXT: dsll $1, $1, 16 ; N64-NEXT: bal $[[BB1]] ; N64-NEXT: daddiu $1, $1, %lo(($[[BB2]])-($[[BB1]])) |

