llvm-6502/lib
Bill Wendling e09b2a0d49 When inferring the pointer alignment, if the global doesn't have an initializer
and the alignment is 0 (i.e., it's defined globally in one file and declared in
another file) it could get an alignment which is larger than the ABI allows for
that type, resulting in aligned moves being used for unaligned loads.

For instance, in file A.c:

   struct S s;

In file B.c:
   struct {
     // something long
   };
   extern S s;

   void foo() {
     struct S p = s;
     // ...
   }

this copy is a 'memcpy' which is turned into a series of 'movaps' instructions
on X86. But this is wrong, because 'struct S' has alignment of 4, not 16.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140902 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-30 23:19:55 +00:00
..
Analysis indvars: generalize SCEV getPreStartForSignExtend. 2011-09-28 17:02:54 +00:00
Archive
AsmParser
Bitcode Fix a typo in the bitcode reader in the handling of atomic stores. Reported by David Meyer on llvmdev. 2011-09-19 19:41:28 +00:00
CodeGen When inferring the pointer alignment, if the global doesn't have an initializer 2011-09-30 23:19:55 +00:00
DebugInfo DWARF: avoid unnecessary map lookups. 2011-09-21 17:31:42 +00:00
ExecutionEngine MCJIT initialization TargetData 2011-09-30 16:40:10 +00:00
Linker lib/Linker: add support of deps which does not end with ".so". 2011-09-20 22:52:35 +00:00
MC Add definition of MipsELFObjectWriter. 2011-09-30 21:55:40 +00:00
Object Object: Add isSection{Data,BSS}. 2011-09-28 20:57:30 +00:00
Support Fix a bug in compare_numeric(). 2011-09-30 17:03:55 +00:00
Target Store sub-class lists as a bit vector. 2011-09-30 22:19:07 +00:00
Transforms Don't modify constant in-place. 2011-09-30 19:58:46 +00:00
VMCore Tracing or debug-printing a newly formed instruction should not crash. 2011-09-30 19:50:40 +00:00
CMakeLists.txt Remove from cmake too. 2011-09-20 00:38:04 +00:00
Makefile Remove more of llvmc and dependencies. 2011-09-20 00:34:27 +00:00