llvm-6502/lib
Duncan Sands bb1695e333 Tighten up checking of the validity of casts. (1) The IR parser would
happily accept things like "sext <2 x i32> to <999 x i64>".  It would
also accept "sext <2 x i32> to i64", though the verifier would catch
that later.  Fixed by having castIsValid check that vector lengths match
except when doing a bitcast.  (2) When creating a cast instruction, check
that the cast is valid (this was already done when creating constexpr
casts).  While there, replace getScalarSizeInBits (used to allow more
vector casts) with getPrimitiveSizeInBits in getCastOpcode and isCastable
since vector to vector casts are now handled explicitly by passing to the
element types; i.e. this bit should result in no functional change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131532 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-18 09:21:57 +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 Tighten up checking of the validity of casts. (1) The IR parser would 2011-05-18 09:21:57 +00:00
CMakeLists.txt Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
Makefile