llvm/lib
Duncan Sands 117feba971 Teach getCastOpcode about element-by-element vector casts. For example, "trunc"
can be used to turn a <4 x i64> into a <4 x i32> but getCastOpcode would assert
if you passed these types to it.  Note that this strictly extends the previous
functionality: if getCastOpcode previously accepted two vector types (i.e. didn't
assert) then it still will and returns the same opcode (BitCast).  That's because
before it would only accept vectors with the same bitwidth, and the new code only
touches vectors with the same length.  However if two vectors have both the same
bitwidth and the same length then their element types have the same bitwidth, so
the new logic will return BitCast as before.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131530 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-18 07:13:41 +00:00
..
Analysis @llvm.lifetime.begin acts as a load, not @llvm.lifetime.end. 2011-05-17 00:05:49 +00:00
Archive Revert PathV2 changes, as sys::fs::unique_file is not finished yet. 2011-03-01 19:50:55 +00:00
AsmParser Remove unused variables caught by GCC's -Wunused-but-set-variable. 2011-05-03 16:00:27 +00:00
Bitcode It's valid to take the blockaddress of a different function, so remove this 2011-05-06 21:09:44 +00:00
CodeGen Eliminate dead dead code elimination code. 2011-05-18 04:51:15 +00:00
CompilerDriver Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
ExecutionEngine Be a bit more permissive about symbols we don't understand. Just skip them 2011-05-13 23:11:30 +00:00
Linker Set the unnamed_addr only when we're creating a new GV in the dest module. 2011-03-29 23:31:06 +00:00
MC Implement the Win64 EH directive methods for the assembly language streamer. 2011-05-18 04:58:05 +00:00
Object Remove dead variable pointed out by GCC 4.6 warnings, and reflow this a little 2011-05-02 05:05:29 +00:00
Support Don't include information about the build into the information returned by 2011-05-17 15:26:34 +00:00
Target In r131488 I misunderstood how VREV works. It splits the vector in half and splits each half. Therefore, the real problem was that we were using a VREV64 for a 4xi16, when we should have been using a VREV32. 2011-05-18 06:42:21 +00:00
Transforms Start trying to make InstCombine preserve more debug info. The idea here is to set the debug location on the IRBuilder, which will be then right location in most cases. This should magically give many transformations debug locations, and fixing places which are missing a debug location will usually just means changing the code creating it to use the IRBuilder. 2011-05-18 01:28:27 +00:00
VMCore Teach getCastOpcode about element-by-element vector casts. For example, "trunc" 2011-05-18 07:13:41 +00:00
CMakeLists.txt Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
Makefile Add LLVMObject Library. 2010-11-15 03:21:41 +00:00