llvm-6502/lib/IR
Meador Inge 8df7c39976 IR: Don't constant fold GEP bitcasts between different address spaces
PR15262 reported a bug where the following instruction:

  i8 getelementptr inbounds i8* bitcast ([4 x i8] addrspace(12)* @buf to i8*),
                                i32 2

was getting folded into:

  addrspace(12)* getelementptr inbounds ([4 x i8] addrspace(12)* @buf, i32 0,
                                        i32 2)

This caused instcombine to crash because the original instruction and
the folded instruction have different types.  The issue was fixed by
disallowing bitcasts between different address spaces to be folded away.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176156 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-27 02:26:42 +00:00
..
AsmWriter.cpp Use references to attribute groups on the call/invoke instructions. 2013-02-22 09:09:42 +00:00
AttributeImpl.h Add some accessor and query methods for retrieving Attribute objects and such. 2013-02-13 08:42:21 +00:00
Attributes.cpp Unify clang/llvm attributes for asan/tsan/msan (LLVM part) 2013-02-26 06:58:09 +00:00
AutoUpgrade.cpp
BasicBlock.cpp
CMakeLists.txt Move TargetTransformInfo to live under the Analysis library. This no 2013-01-07 03:08:10 +00:00
ConstantFold.cpp IR: Don't constant fold GEP bitcasts between different address spaces 2013-02-27 02:26:42 +00:00
ConstantFold.h
Constants.cpp Make APFloat constructor require explicit semantics. 2013-01-22 09:46:31 +00:00
ConstantsContext.h
Core.cpp Add multithreading functions and shutdown to the C API. Patch by Moritz 2013-02-17 16:35:51 +00:00
DataLayout.cpp Clean up whitespace and indentation a bit 2013-01-30 19:24:23 +00:00
DebugInfo.cpp [DebugInfo] remove more node indirection (this time from the subprogram's variable lists) 2013-02-04 05:56:36 +00:00
DebugLoc.cpp
DIBuilder.cpp DIBuilder: support structs with vtable pointers in the same way as classes 2013-02-25 01:07:18 +00:00
Dominators.cpp
Function.cpp Don't assert on empty attributes. 2013-02-21 19:46:51 +00:00
GCOV.cpp
Globals.cpp Added instance variable/initializers/getter/setters for new keyword externally initialized to GlobalVariable. No *TRUE* functionality change. 2013-02-03 21:54:38 +00:00
GVMaterializer.cpp
InlineAsm.cpp Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration. 2013-02-12 21:21:59 +00:00
Instruction.cpp Fix a bug in mayHaveSideEffects. Functions that do not return are now considered as instructions with side effects. 2013-02-19 20:02:09 +00:00
Instructions.cpp Use the AttributeSet when removing multiple attributes. Use Attribute::AttrKind 2013-01-23 00:45:55 +00:00
IntrinsicInst.cpp
IRBuilder.cpp
LeakDetector.cpp
LeaksContext.h
LLVMBuild.txt
LLVMContext.cpp Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration. 2013-02-12 21:21:59 +00:00
LLVMContextImpl.cpp Revert "Rename LLVMContext diagnostic handler types and functions." 2013-02-11 05:37:07 +00:00
LLVMContextImpl.h Revert "Rename LLVMContext diagnostic handler types and functions." 2013-02-11 05:37:07 +00:00
Makefile Actually update the CMake and Makefile builds correctly, and update the 2013-01-02 12:09:16 +00:00
Metadata.cpp
Module.cpp
Pass.cpp Enable *BasicBlockPass::createPrinterPass() 2013-02-08 23:37:41 +00:00
PassManager.cpp Use a DenseMap instead of a std::map for AnalysisID -> Pass* maps. This reduces the pass-manager overhead from FPPassManager::runOnFunction() by about 10%. 2013-02-26 01:31:59 +00:00
PassRegistry.cpp
PrintModulePass.cpp Enable *BasicBlockPass::createPrinterPass() 2013-02-08 23:37:41 +00:00
SymbolTableListTraitsImpl.h
Type.cpp
TypeFinder.cpp Move TypeFinder.h into the IR tree, it clearly belongs with the IR library. 2013-01-07 15:43:51 +00:00
Use.cpp Fix Casting 2013-01-14 21:04:37 +00:00
User.cpp
Value.cpp
ValueSymbolTable.cpp
ValueTypes.cpp
Verifier.cpp Unify clang/llvm attributes for asan/tsan/msan (LLVM part) 2013-02-26 06:58:09 +00:00