llvm-6502/lib
Chandler Carruth aa3cb334af Teach the integer-promotion rewrite strategy to be endianness aware.
Sorry for this being broken so long. =/

As part of this, switch all of the existing tests to be Little Endian,
which is the behavior I was asserting in them anyways! Add in a new
big-endian test that checks the interesting behavior there.

Another part of this is to tighten the rules abotu when we perform the
full-integer promotion. This logic now rejects cases where there fully
promoted integer is a non-multiple-of-8 bitwidth or cases where the
loads or stores touch bits which are in the allocated space of the
alloca but are not loaded or stored when accessing the integer. Sadly,
these aren't really observable today as the rest of the pass will
already ensure the invariants hold. However, the latter situation is
likely to become a potential concern in the future.

Thanks to Benjamin and Duncan for early review of this patch. I'm still
looking into whether there are further endianness issues, please let me
know if anyone sees BE failures persisting past this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165219 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-04 10:39:28 +00:00
..
Analysis Use method to query for NoAlias attribute. 2012-10-04 07:17:46 +00:00
Archive Mark checkSignature const, and in turn stop casting away const from 2012-09-05 22:09:23 +00:00
AsmParser Add in support for SPIR to LLVM core. This adds a new target and two new calling conventions. 2012-10-01 17:01:31 +00:00
Bitcode Use method to query if there are attributes. 2012-10-04 07:19:46 +00:00
CodeGen Fix reg mask slot test, and preserve LiveIntervals and VirtRegMap in the PBQP 2012-10-04 04:50:53 +00:00
DebugInfo Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION. 2012-09-18 02:01:41 +00:00
ExecutionEngine Implement .rel relocation for R_ARM_ABS32 in MCJIT. 2012-10-03 16:29:42 +00:00
Linker Move the "findUsedStructTypes" functionality outside of the Module class. 2012-08-03 00:30:35 +00:00
MC Remove template from function that is only used with one type after r165092. 2012-10-04 05:18:31 +00:00
Object Reverting r 160419. 2012-07-19 21:43:55 +00:00
Support Improve overflow detection in StringRef::getAsUnsignedInteger(). 2012-10-02 20:01:48 +00:00
TableGen tblgen: Whitespace and 80-col cleanup. 2012-10-04 00:54:27 +00:00
Target Use new accessor methods to query for attributes. 2012-10-04 06:43:21 +00:00
Transforms Teach the integer-promotion rewrite strategy to be endianness aware. 2012-10-04 10:39:28 +00:00
VMCore Add method to query for NoCapture attribute. 2012-10-04 07:18:12 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile