llvm-mirror/test/Assembler
Duncan Sands 4a18d9e5d2 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.

llvm-svn: 131532
2011-05-18 09:21:57 +00:00
..
2002-01-24-BadSymbolTableAssert.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-01-24-ValueRefineAbsType.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-02-19-TypeParsing.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-03-08-NameCollision2.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-03-08-NameCollision.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-04-04-PureVirtMethCall2.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-04-04-PureVirtMethCall.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-04-05-TypeParsing.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-04-07-HexFloatConstants.ll Use opt -S instead of piping bitcode output through llvm-dis. 2009-09-08 22:34:10 +00:00
2002-04-07-InfConstant.ll
2002-04-29-NameBinding.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2002-05-02-InvalidForwardRef.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-05-02-ParseError.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-07-08-HugePerformanceProblem.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-07-14-InternalLossage.ll
2002-07-14-OpaqueType.ll
2002-07-25-ParserAssertionFailure.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-07-25-QuoteInString.ll
2002-07-25-ReturnPtrFunction.ll
2002-07-31-SlashInString.ll
2002-08-15-CastAmbiguity.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-08-15-ConstantExprProblem.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-08-15-UnresolvedGlobalReference.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-08-16-ConstExprInlined.ll
2002-08-19-BytecodeReader.ll Fix this test to test what it was originally intended to test. 2009-09-11 18:16:43 +00:00
2002-08-22-DominanceProblem.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-10-08-LargeArrayPerformance.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-10-13-ConstantEncodingProblem.ll
2002-10-15-NameClash.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2002-12-15-GlobalResolve.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2003-01-30-UnsignedString.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2003-04-15-ConstantInitAssertion.ll
2003-04-25-UnresolvedGlobalReference.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2003-05-03-BytecodeReaderProblem.ll
2003-05-12-MinIntProblem.ll
2003-05-15-AssemblerProblem.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2003-05-15-SwitchBug.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2003-05-21-ConstantShiftExpr.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2003-05-21-EmptyStructTest.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2003-05-21-MalformedShiftCrash.ll implement .ll and .bc support for nsw/nuw on shl and exact on lshr/ashr. 2011-02-07 16:40:21 +00:00
2003-05-21-MalformedStructCrash.ll
2003-06-17-InvokeDisassemble.ll
2003-06-30-RecursiveTypeProblem.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2003-08-20-ConstantExprGEP-Fold.ll fix test to not get a moduleid that matches 'br' 2009-09-11 16:47:41 +00:00
2003-08-21-ConstantExprCast-Fold.ll
2003-10-04-NotMergingGlobalConstants.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2003-11-05-ConstantExprShift.ll
2003-11-11-ImplicitRename.ll
2003-11-12-ConstantExprCast.ll
2003-11-24-SymbolTableCrash.ll
2003-12-30-TypeMapInvalidMemory.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2004-01-11-getelementptrfolding.ll
2004-01-20-MaxLongLong.ll
2004-02-01-NegativeZero.ll
2004-02-27-SelfUseAssertError.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2004-03-07-FunctionAddressAlignment.ll
2004-03-30-UnclosedFunctionCrash.ll
2004-04-04-GetElementPtrIndexTypes.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2004-06-07-VerifierBug.ll
2004-10-22-BCWriterUndefBug.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2004-11-28-InvalidTypeCrash.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2005-01-03-FPConstantDisassembly.ll
2005-01-31-CallingAggregateFunction.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2005-02-09-AsmWriterStoreBug.ll
2005-05-05-OpaqueUndefValues.ll
2005-12-21-ZeroInitVector.ll
2006-05-26-VarargsCallEncode.ll
2006-09-28-CrashOnInvalid.ll
2006-12-09-Cast-To-Bool.ll
2007-01-02-Undefined-Arg-Type.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2007-01-05-Cmp-ConstExpr.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2007-01-16-CrashOnBadCast2.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2007-01-16-CrashOnBadCast.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2007-03-18-InvalidNumberedVar.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2007-03-19-NegValue.ll
2007-04-20-AlignedLoad.ll
2007-04-20-AlignedStore.ll
2007-04-25-AssemblerFoldExternWeak.ll
2007-05-21-Escape.ll
2007-07-19-ParamAttrAmbiguity.ll
2007-07-30-AutoUpgradeZextSext.ll
2007-08-06-AliasInvalid.ll
2007-09-10-AliasFwdRef.ll
2007-09-29-GC.ll
2007-11-26-AttributeOverload.ll
2007-11-27-AutoUpgradeAttributes.ll
2007-12-11-AddressSpaces.ll
2008-01-11-VarargAttrs.ll
2008-02-18-IntPointerCrash.ll
2008-02-20-MultipleReturnValue.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2008-07-10-APInt.ll
2008-09-02-FunctionNotes2.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2008-09-02-FunctionNotes.ll
2008-09-29-RetAttr.ll
2008-10-14-NamedTypeOnInteger.ll
2008-10-14-QuoteInName.ll
2009-02-01-UnnamedForwardRef.ll
2009-02-28-CastOpc.ll
2009-02-28-StripOpaqueName.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
2009-03-24-ZextConstantExpr.ll
2009-04-25-AliasGEP.ll
2009-07-24-ZeroArgGEP.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
2010-02-05-FunctionLocalMetadataBecomesNull.ll Function-local metadata whose operands had been optimized to no longer refer to function-local IR were not getting written by BitcodeWriter; solution is for these metadata to be enumerated just like global metadata. 2010-02-06 01:21:09 +00:00
aggregate-constant-values.ll
aggregate-return-single-value.ll Remove some support for ReturnInsts with multiple operands, and for 2011-04-04 07:44:02 +00:00
align-inst-alloca.ll Define a maximum supported alignment value for load, store, and 2010-07-28 20:12:04 +00:00
align-inst-load.ll Define a maximum supported alignment value for load, store, and 2010-07-28 20:12:04 +00:00
align-inst-store.ll Define a maximum supported alignment value for load, store, and 2010-07-28 20:12:04 +00:00
align-inst.ll Make GlobalValue alignment consistent with load, store, and alloca 2010-07-28 20:56:48 +00:00
alignstack.ll Adjust testcases for msasm -> alignstack. 2009-10-21 23:29:12 +00:00
anon-functions.ll Fix spacing. 2009-09-06 00:00:13 +00:00
AutoUpgradeIntrinsics.ll Replace the "movnt" intrinsics with a native store + nontemporal metadata bit. 2011-05-03 21:11:17 +00:00
AutoUpgradeMMXIntrinsics.ll The pshufw instruction came about in MMX2 when SSE was introduced. Don't place 2010-10-04 20:24:01 +00:00
bcwrap.ll
comment.ll Reapply: Add type output to llvm-dis annotations. Patch by Yuri! 2011-03-17 19:50:04 +00:00
ConstantExprFold.ll Clean up the usage of evaluateICmpRelation's return value. 2009-09-20 04:27:06 +00:00
ConstantExprFoldCast.ll
dg.exp
extractvalue-invalid-idx.ll Fix PR 4170 by having ExtractValueInst::getIndexedType() reject out-of-bounds indexing. 2010-12-05 20:50:26 +00:00
flags.ll implement .ll and .bc support for nsw/nuw on shl and exact on lshr/ashr. 2011-02-07 16:40:21 +00:00
functionlocal-metadata.ll Fix (and test) function-local metadata that occurs before the instruction that it refers to; fix is to not enumerate operands of function-local metadata until after all instructions have been enumerated 2010-02-04 01:13:08 +00:00
getelementptr_struct.ll
getelementptr.ll remove some noise from tests. 2010-09-02 22:35:33 +00:00
huge-array.ll
insertextractvalue.ll fix PR4963: folding insertvalue would sometimes turn a packed struct into 2009-09-15 06:28:12 +00:00
insertvalue-invalid-idx.ll Fix PR 4170 by having ExtractValueInst::getIndexedType() reject out-of-bounds indexing. 2010-12-05 20:50:26 +00:00
invalid_cast2.ll Tighten up checking of the validity of casts. (1) The IR parser would 2011-05-18 09:21:57 +00:00
invalid_cast.ll Tighten up checking of the validity of casts. (1) The IR parser would 2011-05-18 09:21:57 +00:00
metadata.ll add newlines at the end of files. 2010-04-07 22:53:17 +00:00
MultipleReturnValueType.ll
numbered-values.ll
private.ll
select.ll Remove obsolete -f flags. 2009-08-25 15:38:29 +00:00
unnamed-addr.ll Move unnamed_addr after the function arguments on Sabre's request. 2011-01-25 19:09:56 +00:00
unnamed.ll
vbool-cmp.ll
vector-cmp.ll Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
vector-select.ll
vector-shift.ll
x86mmx.ll Basic smoke test for new x86mmx type. 2010-09-13 21:01:36 +00:00