llvm-6502/lib/Transforms/Scalar
Chris Lattner f2369f2042 when we see a unaligned load from an insufficiently aligned global or
alloca, increase the alignment of the load, turning it into an aligned load.

This allows us to compile:

#include <xmmintrin.h>
__m128i foo(__m128i x){
 static const unsigned int c_0[4] = { 0, 0, 0, 0 };
	  __m128i v_Zero = _mm_loadu_si128((__m128i*)c_0);
  x  = _mm_unpacklo_epi8(x,  v_Zero);
  return x;
}

into:

_foo:
	punpcklbw	_c_0.5944, %xmm0
	ret
	.data
	.lcomm	_c_0.5944,16,4		# c_0.5944

instead of:

_foo:
	movdqu	_c_0.5944, %xmm1
	punpcklbw	%xmm1, %xmm0
	ret
	.data
	.lcomm	_c_0.5944,16,2		# c_0.5944



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40971 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-09 19:05:49 +00:00
..
ADCE.cpp New CallInst interface to address GLIBCXX_DEBUG errors caused by 2007-08-01 03:43:44 +00:00
BasicBlockPlacement.cpp Fix typo in comment. 2007-05-06 13:37:16 +00:00
CodeGenPrepare.cpp wrap some long lines. Major offenders that are left include 2007-08-02 16:53:43 +00:00
CondPropagate.cpp Fix PR1575 and test/Transforms/CondProp/2007-08-01-InvalidRead.ll 2007-08-02 04:47:05 +00:00
ConstantProp.cpp Fix typo in comment. 2007-05-06 13:37:16 +00:00
CorrelatedExprs.cpp Remove a bogus return statement, what appears to have been a pasto 2007-07-26 15:29:35 +00:00
DCE.cpp Fix typo in comment. 2007-05-06 13:37:16 +00:00
DeadStoreElimination.cpp Make NonLocal and None const in the right way. :-) 2007-08-09 04:42:44 +00:00
GCSE.cpp Use DominatorTree instead of ETForest. 2007-06-07 18:45:06 +00:00
GVN.cpp Make NonLocal and None const in the right way. :-) 2007-08-09 04:42:44 +00:00
GVNPRE.cpp Fix 80 col. violations. 2007-08-02 18:20:52 +00:00
IndVarSimplify.cpp Fix a bug. 2007-06-27 09:50:26 +00:00
InstructionCombining.cpp when we see a unaligned load from an insufficiently aligned global or 2007-08-09 19:05:49 +00:00
LICM.cpp Add note. 2007-07-31 16:52:25 +00:00
LoopIndexSplit.cpp Traverse loop blocks' terminators to find split candidates. 2007-08-09 01:39:01 +00:00
LoopRotation.cpp Loop Rotation pass preserves dominator tree and frontier. 2007-07-30 20:22:53 +00:00
LoopStrengthReduce.cpp wrap some long lines. Major offenders that are left include 2007-08-02 16:53:43 +00:00
LoopUnroll.cpp wrap some long lines. Major offenders that are left include 2007-08-02 16:53:43 +00:00
LoopUnswitch.cpp Fix GLIBCXX_DEBUG error triggered by incrementing erased iterator. 2007-08-07 16:44:38 +00:00
LowerGC.cpp Fix comment typo 2007-08-07 16:52:03 +00:00
LowerPacked.cpp Silence some warnings from doxygen about @param argument name not matching the 2007-08-05 19:35:22 +00:00
Makefile DONT_BUILD_RELINKED is gone and implied by BUILD_ARCHIVE now 2005-10-24 02:26:13 +00:00
PredicateSimplifier.cpp Clean up comments, fix up some confusing code logic. 2007-08-04 18:45:32 +00:00
Reassociate.cpp Fix typo in comment. 2007-05-06 13:37:16 +00:00
RedundantLoadElimination.cpp Make NonLocal and None const in the right way. :-) 2007-08-09 04:42:44 +00:00
Reg2Mem.cpp Fix typo in comment. 2007-05-06 13:37:16 +00:00
ScalarReplAggregates.cpp Fix an accidental commit. 2007-08-02 21:33:36 +00:00
SCCP.cpp Place SCCPSolver also in the anonymous namespace. This 2007-07-20 08:56:21 +00:00
SimplifyCFG.cpp Fix typo in comment. 2007-05-06 13:37:16 +00:00
TailDuplication.cpp Fix typo in comment. 2007-05-06 13:37:16 +00:00
TailRecursionElimination.cpp Fix typo in comment. 2007-05-06 13:37:16 +00:00