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 | 95ce098219b204612be7595a94a382d5cab6eea4 (patch) | |
tree | 80ef49bd60749ac8336e6a7e900c20eb53485102 /test | |
parent | 41087d99df6ed87405639a6ee1a4bc7b825d4b65 (diff) | |
download | llvm-95ce098219b204612be7595a94a382d5cab6eea4.tar.gz llvm-95ce098219b204612be7595a94a382d5cab6eea4.tar.bz2 llvm-95ce098219b204612be7595a94a382d5cab6eea4.tar.xz |
[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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209678 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/Mips/longbranch.ll | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/test/CodeGen/Mips/longbranch.ll b/test/CodeGen/Mips/longbranch.ll index f998094064..c7fe6fd69d 100644 --- a/test/CodeGen/Mips/longbranch.ll +++ b/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]])) |