llvm-6502/lib
Duncan Sands 05e11fab87 When expanding unaligned loads and stores do not make
use of illegal integer types: instead, use a stack slot
and copying via integer registers.  The existing code
is still used if the bitconvert is to a legal integer
type.

This fires on the PPC testcases 2007-09-08-unaligned.ll
and vec_misaligned.ll.  It looks like equivalent code
is generated with these changes, just permuted, but
it's hard to tell.

With these changes, nothing in LegalizeDAG produces
illegal integer types anymore.  This is a prerequisite
for removing the LegalizeDAG type legalization code.

While there I noticed that the existing code doesn't
handle trunc store of f64 to f32: it turns this into
an i64 store, which represents a 4 byte stack smash.
I added a FIXME about this.  Hopefully someone more
motivated than I am will take care of it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60964 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-12 21:47:02 +00:00
..
Analysis Revert my re-instated reverted commit, fixes the bootstrap build on x86-64 linux. 2008-12-12 17:09:07 +00:00
Archive Silence unused variable warnings. 2008-11-21 20:00:59 +00:00
AsmParser Extend the 'noalias' attribute to function return values. This is intended to 2008-11-24 03:41:24 +00:00
Bitcode Added support for the following definition of shufflevector 2008-11-10 04:46:22 +00:00
CodeGen When expanding unaligned loads and stores do not make 2008-12-12 21:47:02 +00:00
Debugger Initial support for the CMake build system. 2008-09-22 01:08:49 +00:00
ExecutionEngine Fix MachineCodeEmitter to use uintptr_t instead of intptr_t. This avoids some overflow issues. Patch by Thomas Jablin. 2008-12-10 02:32:19 +00:00
Linker Make comments and code for QuietWarnings and QuietErrors 2008-10-25 17:57:20 +00:00
Support remove unused var 2008-12-09 17:04:06 +00:00
System Don't use plain %x to print pointer values. I had changed it from %p 2008-12-05 23:39:24 +00:00
Target - Use patterns instead of creating completely new instruction matching patterns, 2008-12-12 21:15:41 +00:00
Transforms Teach GVN to invalidate some memdep information when it does an RAUW 2008-12-09 22:06:23 +00:00
VMCore fix grammar, thanks Duncan! 2008-12-11 11:44:49 +00:00
Makefile