aboutsummaryrefslogtreecommitdiff
path: root/lldb/scripts/Python
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2015-11-11 17:24:56 +0000
committerSanjay Patel <spatel@rotateright.com>2015-11-11 17:24:56 +0000
commitf74012919811355771c7aae93fc4237d3fb44bcd (patch)
treefce760e10753e79db63713dfd0a251703ed7cfc5 /lldb/scripts/Python
parentfe96beea57355f0ee954d42bff3d9e0aa4d8c8a5 (diff)
downloadllvm-f74012919811355771c7aae93fc4237d3fb44bcd.zip
llvm-f74012919811355771c7aae93fc4237d3fb44bcd.tar.gz
llvm-f74012919811355771c7aae93fc4237d3fb44bcd.tar.bz2
[MIPS] add overrides for isCheapToSpeculateCttz() and isCheapToSpeculateCtlz()
MIPS32 has instructions for efficient count-leading/trailing-zeros, so this should be considered a cheap operation (and therefore fair game for speculation) for any MIPS32 implementation. The net result of allowing this speculation for the regression tests in this patch is that we get this code: ctlz: jr $ra clz $2, $4 cttz: addiu $1, $4, -1 not $2, $4 and $1, $2, $1 clz $1, $1 addiu $2, $zero, 32 jr $ra subu $2, $2, $1 Instead of: ctlz: beqz $4, $BB0_2 addiu $2, $zero, 32 clz $2, $4 $BB0_2: jr $ra nop cttz: beqz $4, $BB1_2 addiu $2, $zero, 32 addiu $1, $4, -1 not $2, $4 and $1, $2, $1 clz $1, $1 addiu $2, $zero, 32 subu $2, $2, $1 $BB1_2: jr $ra nop See D14469 for the larger motivation. Differential Revision: http://reviews.llvm.org/D14500 llvm-svn: 252755
Diffstat (limited to 'lldb/scripts/Python')
0 files changed, 0 insertions, 0 deletions