[llvm-commits] [llvm] r76345 - in /llvm/trunk: lib/Transforms/Scalar/InstructionCombining.cpp test/Transforms/InstCombine/bitcast-vec-canon.ll

Chris Lattner clattner at apple.com
Sun Jul 19 12:42:51 PDT 2009


On Jul 18, 2009, at 4:06 PM, Eli Friedman wrote:

> Author: efriedma
> Date: Sat Jul 18 18:06:53 2009
> New Revision: 76345
>
> URL: http://llvm.org/viewvc/llvm-project?rev=76345&view=rev
> Log:
> Canonicalize bitcasts between types like <1 x i64> and i64 to
> insertelement/extractelement.
>
> I'm not entirely sure this is precisely what we want to do: should we
> prefer bitcast(insertelement) or insertelement(bitcast)?  Similarly.  
> should we
> prefer extractelement(bitcast) or bitcast(extractelement)?

These interact with the "cast of pointer -> load" -> "load -> cast of  
value" xforms, likewise with store.  It seems that we'd want to get:

insertelement
bitcast
store

and

load
bitcast
extract

Does that seem reasonable?

-Chris



More information about the llvm-commits mailing list