mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 20:29:48 +00:00
7362ac7f8c
constants in C++11 mode. I have no idea why it required such particular circumstances to get here, the code seems clearly to rely upon unchecked assumptions. Specifically, when we decide to form an index into a struct type, we may have gone through (at least one) zero-length array indexing round, which would have left the offset un-adjusted, and thus not necessarily valid for use when indexing the struct type. This is just an canonicalization step, so the correct thing is to refuse to canonicalize nonsensical GEPs of this form. Implemented, and test case added. Fixes PR12642. Pair debugged and coded with Richard Smith. =] I credit him with most of the debugging, and preventing me from writing the wrong code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@155466 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
2004-10-10-CastStoreOnce.ll | ||
2005-06-15-LocalizeConstExprCrash.ll | ||
2005-09-27-Crash.ll | ||
2006-07-07-InlineAsmCrash.ll | ||
2006-11-01-ShrinkGlobalPhiCrash.ll | ||
2007-04-05-Crash.ll | ||
2007-05-13-Crash.ll | ||
2007-06-04-PackedStruct.ll | ||
2007-11-09-GEP-GEP-Crash.ll | ||
2008-01-03-Crash.ll | ||
2008-01-13-OutOfRangeSROA.ll | ||
2008-01-29-VolatileGlobal.ll | ||
2008-04-26-SROA-Global-Align.ll | ||
2008-07-17-addrspace.ll | ||
2008-12-16-HeapSRACrash-2.ll | ||
2008-12-16-HeapSRACrash.ll | ||
2009-01-13-phi-user.ll | ||
2009-02-15-BitcastAlias.ll | ||
2009-02-15-ResolveAlias.ll | ||
2009-03-05-dbg.ll | ||
2009-03-06-Anonymous.ll | ||
2009-03-07-PromotePtrToBool.ll | ||
2009-06-01-RecursivePHI.ll | ||
2009-11-16-BrokenPerformHeapAllocSRoA.ll | ||
2009-11-16-MallocSingleStoreToGlobalVar.ll | ||
2010-02-25-MallocPromote.ll | ||
2010-02-26-MallocSROA.ll | ||
2010-10-19-WeakOdr.ll | ||
2011-04-09-EmptyGlobalCtors.ll | ||
alias-resolve.ll | ||
atomic.ll | ||
basictest.ll | ||
constantexpr-dangle.ll | ||
constantfold-initializers.ll | ||
crash.ll | ||
ctor-list-opt-constexpr.ll | ||
ctor-list-opt-inbounds.ll | ||
ctor-list-opt.ll | ||
cxx-dtor.ll | ||
deadfunction.ll | ||
deadglobal-2.ll | ||
deadglobal.ll | ||
globalsra-partial.ll | ||
globalsra-unknown-index.ll | ||
globalsra.ll | ||
heap-sra-1.ll | ||
heap-sra-2.ll | ||
heap-sra-3.ll | ||
heap-sra-4.ll | ||
heap-sra-phi.ll | ||
integer-bool.ll | ||
invariant.ll | ||
invoke.ll | ||
iterate.ll | ||
lit.local.cfg | ||
load-store-global.ll | ||
malloc-promote-1.ll | ||
malloc-promote-2.ll | ||
memcpy.ll | ||
memset-null.ll | ||
memset.ll | ||
metadata.ll | ||
phi-select.ll | ||
storepointer-compare.ll | ||
storepointer.ll | ||
trivialstore.ll | ||
undef-init.ll | ||
unnamed-addr.ll | ||
zeroinitializer-gep-load.ll |