llvm/lib
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
..
Analysis Finally re-apply r46959. This is made feasible by the combination 2008-09-16 18:52:57 +00:00
Archive Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
AsmParser Update generated files. 2008-09-09 01:13:24 +00:00
Bitcode Re-enables the new vector select in the bitcode reader, by modifying the 2008-09-16 01:01:33 +00:00
CodeGen Change SelectionDAG::getConstantPool to always set the alignment of the 2008-09-16 22:05:41 +00:00
Debugger Add #include 2008-08-23 21:34:34 +00:00
ExecutionEngine Make safer variant of alias resolution routine to be default 2008-09-09 20:05:04 +00:00
Linker Make safer variant of alias resolution routine to be default 2008-09-09 20:05:04 +00:00
Support Updating VC++ project. 2008-08-24 11:56:40 +00:00
System AllocateRWXMemory -> AllocateRWX. 2008-09-16 17:28:18 +00:00
Target Reverting r56249. On further investigation, this functionality isn't needed. 2008-09-16 21:48:12 +00:00
Transforms Improve instcombine's handling of integer min and max in two ways: 2008-09-16 18:46:06 +00:00
VMCore Fix WriteAsOperand to not emit a leading space character. Adjust 2008-09-14 17:21:12 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00