[llvm-dev] Rotates, once again

John Regehr via llvm-dev llvm-dev at lists.llvm.org
Wed May 16 13:20:58 PDT 2018


On 5/16/18 1:58 PM, Sanjay Patel via llvm-dev wrote:

> An informal metric might be: if the operation is supported as a 
> primitive op or built-in in source languages and it is supported as a 
> single target instruction, can we guarantee that 1-to-1 translation 
> through optimization?

It seems perfectly reasonable for LLVM users to expect this to happen 
reliably.

I'd like to take a look at the other side of the equation: the cost of 
adding a new intrinsic in terms of teaching passes to see through it, so 
we don't lose optimizations that worked before the intrinsic was added.

For example, clearly ValueTracking needs a few lines added so that 
computeKnownBits and friends don't get stopped by a rotate. Anyone have 
a reasonably complete list of files that need similar changes?

John


More information about the llvm-dev mailing list