llvm-6502/lib/VMCore
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
..
AsmWriter.cpp Add command line option to print debug info in human readable form as comment in llvm IR output. This, i.e -enable-debug-info-comment, is very useful if you want to easily find out which optimization pass is losing line number information. 2011-04-28 17:41:38 +00:00
Attributes.cpp Merge System into Support. 2010-11-29 18:16:10 +00:00
AutoUpgrade.cpp Replace the "movnt" intrinsics with a native store + nontemporal metadata bit. 2011-05-03 21:11:17 +00:00
BasicBlock.cpp Revert r129235 pending a vetting of the EH rewrite. 2011-04-10 23:18:04 +00:00
CMakeLists.txt Fix cmake again. 2011-05-10 22:42:41 +00:00
ConstantFold.cpp Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
ConstantFold.h Remove casts between Value** and Constant**, which won't work if a 2011-01-14 08:07:43 +00:00
Constants.cpp Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
ConstantsContext.h PR9214: Convert ConstantExpr::getIndices() to return an ArrayRef, plus 2011-04-13 15:22:40 +00:00
Core.cpp PR9214: Convert Metadata API to use ArrayRef. 2011-04-21 19:59:31 +00:00
DebugInfoProbe.cpp In debug output, clearly list new instructions without DebugLoc. 2011-05-05 22:05:57 +00:00
DebugLoc.cpp PR9214: Convert Metadata API to use ArrayRef. 2011-04-21 19:59:31 +00:00
Dominators.cpp Spruce up the error output. 2011-03-29 04:28:26 +00:00
Function.cpp Don't do tail calls in a function that call setjmp. The stack might be 2011-05-16 03:05:33 +00:00
Globals.cpp hoist GlobalValue::removeDeadConstantUsers up to being a method on Constant. 2011-02-18 04:41:42 +00:00
GVMaterializer.cpp
InlineAsm.cpp Apply patch for use-after-free in InlineAsm constant handling, 2010-11-02 17:59:27 +00:00
Instruction.cpp AttrListPtr has an overloaded operator== which does this for us, we should use 2011-01-26 09:23:19 +00:00
Instructions.cpp Tighten up checking of the validity of casts. (1) The IR parser would 2011-05-18 09:21:57 +00:00
IntrinsicInst.cpp warmup ritual: use high-level argument accessors 2010-06-22 19:46:37 +00:00
IRBuilder.cpp Make IRBuilder support StringRef for building strings. 2011-04-12 00:29:07 +00:00
LeakDetector.cpp Merge System into Support. 2010-11-29 18:16:10 +00:00
LeaksContext.h Fix a bunch of namespace polution. 2010-04-15 17:08:50 +00:00
LLVMContext.cpp Add missing standard headers. Patch by Joerg Sonnenberger! 2010-12-19 20:43:38 +00:00
LLVMContextImpl.cpp More SmallVectorImpls. 2010-10-12 00:15:27 +00:00
LLVMContextImpl.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
Makefile Enable RTTI again. While this works fine for LLVM, it creates an ABI 2010-04-14 05:51:59 +00:00
Metadata.cpp PR9214: Convert Metadata API to use ArrayRef. 2011-04-21 19:59:31 +00:00
Module.cpp Clarify the ownership model of LLVMContext and Module. Namely, contexts own 2010-09-08 18:03:32 +00:00
Pass.cpp Another step towards getting rid of static ctors for pass registration: have INITIALIZE_PASS AND INITIALIZE_AG_PASS 2010-10-05 22:58:16 +00:00
PassManager.cpp Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
PassRegistry.cpp Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
PrintModulePass.cpp Now with fewer extraneous semicolons! 2010-10-07 22:25:06 +00:00
SymbolTableListTraitsImpl.h
Type.cpp Make codegen able to handle values of empty types. This is one way 2011-05-13 15:18:06 +00:00
TypesContext.h Fix a ton of comment typos found by codespell. Patch by 2011-04-15 05:18:47 +00:00
TypeSymbolTable.cpp Fix -Wcast-qual warnings. 2010-04-19 15:42:05 +00:00
Use.cpp Remove useless Tag enumeration. 2011-01-17 15:18:06 +00:00
User.cpp Simplify User::operator delete(). 2011-01-26 21:56:10 +00:00
Value.cpp teach Value::isDereferenceablePointer that byval arguments are always 2011-01-23 21:15:29 +00:00
ValueSymbolTable.cpp Make NamedMDNode not be a subclass of Value, and simplify the interface 2010-07-21 23:38:33 +00:00
ValueTypes.cpp rename MVT::Flag to MVT::Glue. "Flag" is a terrible name for 2010-12-21 02:38:05 +00:00
Verifier.cpp llvm.global_[cd]tor is defined to be either external, or appending with an array 2011-04-08 07:30:21 +00:00