llvm/test/Assembler
Jingyue Wu f6eb7e3175 Canonicalize addrspacecast ConstExpr between different pointer types
As a follow-up to r210375 which canonicalizes addrspacecast
instructions, this patch canonicalizes addrspacecast constant
expressions.

Given clang uses ConstantExpr::getAddrSpaceCast to emit addrspacecast
cosntant expressions, this patch is also a step towards having the
frontend emit canonicalized addrspacecasts.

Piggyback a minor refactor in InstCombineCasts.cpp

Update three affected tests in addrspacecast-alias.ll,
access-non-generic.ll and constant-fold-gep.ll and added one new test in
constant-fold-address-space-pointer.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211004 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-15 21:40:57 +00:00
..
2002-03-08-NameCollision2.ll
2002-03-08-NameCollision.ll
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
2002-07-14-OpaqueType.ll
2002-07-25-QuoteInString.ll
2002-07-25-ReturnPtrFunction.ll Land the long talked about "type system rewrite" patch. This 2011-07-09 17:41:24 +00:00
2002-07-31-SlashInString.ll
2002-08-15-CastAmbiguity.ll
2002-08-15-ConstantExprProblem.ll
2002-08-15-UnresolvedGlobalReference.ll
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
2002-10-08-LargeArrayPerformance.ll
2002-10-13-ConstantEncodingProblem.ll
2002-12-15-GlobalResolve.ll Land the long talked about "type system rewrite" patch. This 2011-07-09 17:41:24 +00:00
2003-01-30-UnsignedString.ll
2003-04-15-ConstantInitAssertion.ll Make tests which first provide a negative assertion via 'not', then 2012-07-02 12:23:19 +00:00
2003-04-25-UnresolvedGlobalReference.ll
2003-05-03-BytecodeReaderProblem.ll
2003-05-12-MinIntProblem.ll
2003-05-15-AssemblerProblem.ll
2003-05-15-SwitchBug.ll
2003-05-21-ConstantShiftExpr.ll
2003-05-21-EmptyStructTest.ll
2003-05-21-MalformedShiftCrash.ll Make tests which first provide a negative assertion via 'not', then 2012-07-02 12:23:19 +00:00
2003-05-21-MalformedStructCrash.ll Make tests which first provide a negative assertion via 'not', then 2012-07-02 12:23:19 +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-11-05-ConstantExprShift.ll
2003-11-11-ImplicitRename.ll
2003-11-12-ConstantExprCast.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2003-11-24-SymbolTableCrash.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
2004-01-11-getelementptrfolding.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
2004-01-20-MaxLongLong.ll
2004-02-01-NegativeZero.ll
2004-02-27-SelfUseAssertError.ll
2004-03-07-FunctionAddressAlignment.ll
2004-03-30-UnclosedFunctionCrash.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
2004-04-04-GetElementPtrIndexTypes.ll
2004-06-07-VerifierBug.ll
2004-10-22-BCWriterUndefBug.ll
2004-11-28-InvalidTypeCrash.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
2005-01-03-FPConstantDisassembly.ll
2005-01-31-CallingAggregateFunction.ll
2005-05-05-OpaqueUndefValues.ll
2005-12-21-ZeroInitVector.ll
2006-09-28-CrashOnInvalid.ll Make tests which first provide a negative assertion via 'not', then 2012-07-02 12:23:19 +00:00
2006-12-09-Cast-To-Bool.ll
2007-01-02-Undefined-Arg-Type.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
2007-01-05-Cmp-ConstExpr.ll
2007-01-16-CrashOnBadCast2.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
2007-01-16-CrashOnBadCast.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
2007-03-18-InvalidNumberedVar.ll Make tests which first provide a negative assertion via 'not', then 2012-07-02 12:23:19 +00:00
2007-03-19-NegValue.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-04-20-AlignedLoad.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-04-20-AlignedStore.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-04-25-AssemblerFoldExternWeak.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-05-21-Escape.ll
2007-07-19-ParamAttrAmbiguity.ll
2007-08-06-AliasInvalid.ll Make tests which first provide a negative assertion via 'not', then 2012-07-02 12:23:19 +00:00
2007-09-10-AliasFwdRef.ll Reject alias to undefined symbols in the verifier. 2014-03-12 20:15:49 +00:00
2007-09-29-GC.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2007-11-26-AttributeOverload.ll
2007-12-11-AddressSpaces.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
2008-01-11-VarargAttrs.ll
2008-02-18-IntPointerCrash.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
2008-07-10-APInt.ll
2008-09-02-FunctionNotes2.ll Inline the checks for mutually exclusive attributes since they're used in only one module. 2012-10-09 20:11:19 +00:00
2008-09-02-FunctionNotes.ll Modify the LLVM assembly output so that it uses references to represent function attributes. 2013-02-20 07:21:42 +00:00
2008-09-29-RetAttr.ll
2008-10-14-QuoteInName.ll
2009-02-01-UnnamedForwardRef.ll
2009-02-28-CastOpc.ll Remove support for parsing the "type i32" syntax for defining a numbered 2011-06-19 00:03:46 +00:00
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-07-24-ZeroArgGEP.ll
2010-02-05-FunctionLocalMetadataBecomesNull.ll Debug Info Testing: updated to use NULL instead of "i32 0" in a few fields. 2013-09-06 21:03:58 +00:00
addrspacecast-alias.ll Canonicalize addrspacecast ConstExpr between different pointer types 2014-06-15 21:40:57 +00:00
aggregate-constant-values.ll FileCheckize these testcases. 2012-04-08 11:00:38 +00:00
aggregate-return-single-value.ll Remove some support for ReturnInsts with multiple operands, and for 2011-04-04 07:44:02 +00:00
alias-redefinition.ll Don't crash on redefinitions. 2014-05-09 21:49:17 +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
atomic.ll IR: add "cmpxchg weak" variant to support permitted failure. 2014-06-13 14:24:07 +00:00
attribute-builtin.ll Remove verifier check that attribute 'builtin' is only applied to calls to 2013-09-07 00:25:48 +00:00
auto_upgrade_intrinsics.ll Change objectsize intrinsic to accept different address spaces. 2013-10-07 18:06:48 +00:00
bcwrap.ll FileCheckize these testcases. 2012-04-08 11:00:38 +00:00
comment.ll Reapply: Add type output to llvm-dis annotations. Patch by Yuri! 2011-03-17 19:50:04 +00:00
ConstantExprFold.ll Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
ConstantExprFoldCast.ll Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
ConstantExprFoldSelect.ll Fold vector selects with undef elements in the condition. Fixes PR18319. 2013-12-31 19:30:47 +00:00
ConstantExprNoFold.ll Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
externally-initialized.ll Added LLVM Asm/Bitcode Reader/Writer support for new IR keyword externally_initialized. 2013-02-05 05:57:38 +00:00
extractvalue-invalid-idx.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
fast-math-flags.ll Fast-math test case for bitcode and textual reading/writing 2012-11-27 00:45:08 +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 broken CHECK lines. 2014-01-11 21:06:00 +00:00
getelementptr_struct.ll Make tests which first provide a negative assertion via 'not', then 2012-07-02 12:23:19 +00:00
getelementptr_vec_idx1.ll Relax the restrictions on vector of pointer types, and vector getelementptr. 2012-11-13 12:59:33 +00:00
getelementptr_vec_idx2.ll Relax the restrictions on vector of pointer types, and vector getelementptr. 2012-11-13 12:59:33 +00:00
getelementptr_vec_idx3.ll Relax the restrictions on vector of pointer types, and vector getelementptr. 2012-11-13 12:59:33 +00:00
getelementptr_vec_struct.ll Relax the restrictions on vector of pointer types, and vector getelementptr. 2012-11-13 12:59:33 +00:00
getelementptr.ll Relax the restrictions on vector of pointer types, and vector getelementptr. 2012-11-13 12:59:33 +00:00
getInt.ll Clean up RUN command for Assembler/getInt.ll. 2014-01-13 22:37:35 +00:00
global-addrspace-forwardref.ll Preserve address space of forward-referenced global variables in the LL parser 2012-11-16 21:03:47 +00:00
half-constprop.ll No need for those tests to go thru llvm-as and/or llvm-dis. 2014-05-27 22:03:28 +00:00
half-conv.ll No need for those tests to go thru llvm-as and/or llvm-dis. 2014-05-27 22:03:28 +00:00
half.ll Add half support to LLVM (for OpenCL) 2012-05-24 15:59:06 +00:00
huge-array.ll FileCheckize these testcases. 2012-04-08 11:00:38 +00:00
inalloca.ll IR: Change inalloca's grammar a bit 2014-03-09 06:41:58 +00:00
insertextractvalue.ll Remove old 'grep' lines. 2012-04-08 11:53:54 +00:00
insertvalue-invalid-idx.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
internal-hidden-alias.ll IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
internal-hidden-function.ll IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
internal-hidden-variable.ll IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
internal-protected-alias.ll IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
internal-protected-function.ll IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
internal-protected-variable.ll IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
invalid_cast2.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
invalid_cast3.ll Bug 18228 - Fix accepting bitcasts between vectors of pointers with a 2014-01-22 19:21:33 +00:00
invalid_cast.ll Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
invalid-fwdref1.ll Don't crash if a .ll file contains a forward-reference that looks like a global 2012-10-11 00:38:25 +00:00
invalid-name.ll Make it explicit that nulls are not allowed in names. 2013-11-19 21:12:39 +00:00
metadata.ll FileCheckize these testcases. 2012-04-08 11:00:38 +00:00
MultipleReturnValueType.ll
named-metadata.ll Add testcase for r133050 which added support for printing and parsing escaped 2011-06-16 17:14:38 +00:00
numbered-values.ll
private-hidden-alias.ll IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
private-hidden-function.ll IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
private-hidden-variable.ll IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
private-protected-alias.ll IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
private-protected-function.ll IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
private-protected-variable.ll IR: Don't allow non-default visibility on local linkage 2014-05-07 22:57:20 +00:00
select.ll
tls-models.ll Extend the IL for selecting TLS models (PR9788) 2012-06-23 11:37:03 +00:00
unnamed-addr.ll Modify the LLVM assembly output so that it uses references to represent function attributes. 2013-02-20 07:21:42 +00:00
unnamed.ll
vbool-cmp.ll FileCheckize these testcases. 2012-04-08 11:00:38 +00:00
vector-cmp.ll FileCheckize these testcases. 2012-04-08 11:00:38 +00:00
vector-select.ll FileCheckize these testcases. 2012-04-08 11:00:38 +00:00
vector-shift.ll FileCheckize these testcases. 2012-04-08 11:00:38 +00:00
x86mmx.ll Basic smoke test for new x86mmx type. 2010-09-13 21:01:36 +00:00