llvm-6502/lib/IR
Jingyue Wu c77dec905a InstCombine: Canonicalize addrspacecast between different element types
addrspacecast X addrspace(M)* to Y addrspace(N)*

-->

bitcast X addrspace(M)* to Y addrspace(M)*
addrspacecast Y addrspace(M)* to Y addrspace(N)*

Updat all affected tests and add several new tests in addrspacecast.ll.

This patch is based on http://reviews.llvm.org/D2186 (authored by Matt
Arsenault) with fixes and more tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210375 91177308-0d34-0410-b5e6-96231b3b80d8
2014-06-06 21:52:55 +00:00
..
AsmWriter.cpp Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00
AsmWriter.h
AttributeImpl.h
Attributes.cpp Add a new attribute called 'jumptable' that creates jump-instruction tables for functions marked with this attribute. 2014-06-05 19:29:43 +00:00
AutoUpgrade.cpp [X86] Auto-upgrade AVX1 vbroadcast intrinsics 2014-05-29 23:35:33 +00:00
BasicBlock.cpp
CMakeLists.txt
ConstantFold.cpp
ConstantFold.h
ConstantRange.cpp
Constants.cpp
ConstantsContext.h
Core.cpp Allow alias to point to an arbitrary ConstantExpr. 2014-06-03 02:41:57 +00:00
DataLayout.cpp
DebugInfo.cpp
DebugLoc.cpp Add missing const specifier to a const method. 2014-06-05 14:32:15 +00:00
DiagnosticInfo.cpp Remove LLVMContextImpl::optimizationRemarkEnabledFor. 2014-05-22 17:19:01 +00:00
DiagnosticPrinter.cpp
DIBuilder.cpp
Dominators.cpp
Function.cpp Add 'nonnull', a new parameter and return attribute which indicates that the pointer is not null. Instcombine will elide comparisons between these and null. Patch by Luqman Aden! 2014-05-20 01:23:40 +00:00
GCOV.cpp
Globals.cpp Fix gcc -Wparentheses warning. 2014-06-04 11:21:11 +00:00
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp Instruction::isIdenticalToWhenDefined(): Check getNumOperands() in advance of std::equal(op) to appease MSVC Debug build. 2014-06-02 01:35:34 +00:00
Instructions.cpp InstCombine: Canonicalize addrspacecast between different element types 2014-06-06 21:52:55 +00:00
IntrinsicInst.cpp
IRBuilder.cpp
IRPrintingPasses.cpp Fix some misplaced spaces around 'override' 2014-05-24 20:19:40 +00:00
LeakDetector.cpp
LeaksContext.h
LegacyPassManager.cpp Add C API for thread yielding callback. 2014-05-16 02:33:15 +00:00
LLVMBuild.txt
LLVMContext.cpp Remove LLVMContextImpl::optimizationRemarkEnabledFor. 2014-05-22 17:19:01 +00:00
LLVMContextImpl.cpp Remove LLVMContextImpl::optimizationRemarkEnabledFor. 2014-05-22 17:19:01 +00:00
LLVMContextImpl.h Remove LLVMContextImpl::optimizationRemarkEnabledFor. 2014-05-22 17:19:01 +00:00
Makefile
Mangler.cpp
MDBuilder.cpp
Metadata.cpp
Module.cpp Use error_code() instead of error_code::succes() 2014-05-31 01:37:45 +00:00
module.modulemap [modules] Add module maps for LLVM. These are not quite ready for prime-time 2014-05-21 02:46:14 +00:00
Pass.cpp
PassManager.cpp Add C API for thread yielding callback. 2014-05-16 02:33:15 +00:00
PassRegistry.cpp
SymbolTableListTraitsImpl.h
Type.cpp
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp Allow alias to point to an arbitrary ConstantExpr. 2014-06-03 02:41:57 +00:00
ValueSymbolTable.cpp
ValueTypes.cpp
Verifier.cpp Allow aliases to be unnamed_addr. 2014-06-06 01:20:28 +00:00