LLVM backend for 6502
Go to file
Dan Gohman 50284d81f8 Change SelectionDAG::getConstantPool to always set the alignment of the
ConstantPoolSDNode, using the target's preferred alignment for the
constant type.

In LegalizeDAG, when performing loads from the constant pool, the
ConstantPoolSDNode's alignment is used in the calls to getLoad and
getExtLoad.

This change prevents SelectionDAG::getLoad/getExtLoad from incorrectly
choosing the ABI alignment for constant pool loads when Alignment == 0.
The incorrect alignment is only a performance issue when ABI alignment
does not equal preferred alignment (i.e., on x86 it was generating
MOVUPS instead of MOVAPS for v4f32 constant loads when the default ABI
alignment for 128bit vectors is forced to 1 byte.)

Patch by Paul Redmond!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56253 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-16 22:05:41 +00:00
autoconf Reapply majority of r55557 but with the changes to compilation flags 2008-09-02 17:35:16 +00:00
bindings PR2731: C and Ocaml bindings for setTailCall and isTailCall. 2008-08-30 16:34:54 +00:00
docs Fix documentation for these functions; they do not only modify users within the 2008-09-15 06:31:52 +00:00
examples Switch the asmprinter (.ll) and all the stuff it requires over to 2008-08-23 22:23:09 +00:00
include Reverting r56249. On further investigation, this functionality isn't needed. 2008-09-16 21:48:12 +00:00
lib Change SelectionDAG::getConstantPool to always set the alignment of the 2008-09-16 22:05:41 +00:00
projects Add "sample" documentation to sample project. 2008-09-15 05:31:29 +00:00
runtime
test Finally re-apply r46959. This is made feasible by the combination 2008-09-16 18:52:57 +00:00
tools End of the GlobalsModRef experiment. 2008-09-15 18:42:38 +00:00
utils Reverting r56249. On further investigation, this functionality isn't needed. 2008-09-16 21:48:12 +00:00
website
win32 Update VC++ project files. 2008-09-09 11:38:37 +00:00
Xcode
build-for-llvm-top.sh
configure Enable -fvisibility-inlines-hidden by default for compilers which 2008-08-30 01:16:19 +00:00
CREDITS.TXT Add another description to my entry. 2008-08-28 23:16:37 +00:00
LICENSE.TXT
llvm.spec.in
Makefile
Makefile.common
Makefile.config.in Reapply majority of r55557 but with the changes to compilation flags 2008-09-02 17:35:16 +00:00
Makefile.rules Reapply majority of r55557 but with the changes to compilation flags 2008-09-02 17:35:16 +00:00
ModuleInfo.txt
README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level 
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments. 

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.