HomePhabricator

This patch implements optimization as mentioned in PR19753: Optimize…

Authored by Suyog Sarda <suyog.sarda@samsung.com> on Jul 22 2014, 12:19 PM.

Description

This patch implements optimization as mentioned in PR19753: Optimize comparisons with "ashr/lshr exact" of a constanst. It handles the errors which were seen in PR19958 where wrong code was being emitted due to earlier patch. Added code for lshr as well as non-exact right shifts.

It implements :
(icmp eq/ne (ashr/lshr const2, A), const1)" ->
(icmp eq/ne A, Log2(const2/const1)) ->
(icmp eq/ne A, Log2(const2) - Log2(const1))

Differential Revision: http://reviews.llvm.org/D4068

llvm-svn: 213678

Event Timeline

Suyog Sarda <suyog.sarda@samsung.com> committed rG3a8c2c1e6cb2: This patch implements optimization as mentioned in PR19753: Optimize… (authored by Suyog Sarda <suyog.sarda@samsung.com>).Jul 22 2014, 12:19 PM