llvm-6502/test/Transforms
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 Unreachable block is not a root node in post dominator tree. 2007-07-24 01:02:25 +00:00
ArgumentPromotion Convert .cvsignore files 2007-06-29 16:35:07 +00:00
BlockPlacement Convert .cvsignore files 2007-06-29 16:35:07 +00:00
CodeExtractor Convert .cvsignore files 2007-06-29 16:35:07 +00:00
CondProp Fix PR1575 and test/Transforms/CondProp/2007-08-01-InvalidRead.ll 2007-08-02 04:47:05 +00:00
ConstantMerge Convert .cvsignore files 2007-06-29 16:35:07 +00:00
ConstProp Convert .cvsignore files 2007-06-29 16:35:07 +00:00
CorrelatedExprs Convert .cvsignore files 2007-06-29 16:35:07 +00:00
DeadArgElim Convert .cvsignore files 2007-06-29 16:35:07 +00:00
DeadStoreElimination Forgot to update these files for the FastDSE changes. 2007-08-01 16:53:51 +00:00
DecomposeMultiDimRefs Convert .cvsignore files 2007-06-29 16:35:07 +00:00
GCSE Convert .cvsignore files 2007-06-29 16:35:07 +00:00
GlobalDCE Convert .cvsignore files 2007-06-29 16:35:07 +00:00
GlobalOpt For PR1553: 2007-07-19 23:13:04 +00:00
GVN Fix a failure I accidentally caused in my last commit by mishandling the 2007-07-31 20:18:28 +00:00
GVNPRE For PR1553: 2007-07-19 23:13:04 +00:00
IndVarsSimplify For PR1553: 2007-07-19 23:13:04 +00:00
Inline Convert .cvsignore files 2007-06-29 16:35:07 +00:00
InstCombine when we see a unaligned load from an insufficiently aligned global or 2007-08-09 19:05:49 +00:00
IPConstantProp Convert .cvsignore files 2007-06-29 16:35:07 +00:00
LCSSA Bunch of tests to check loop passes. 2007-07-31 08:04:17 +00:00
LICM Bunch of tests to check loop passes. 2007-07-31 08:04:17 +00:00
LoopRotate Bunch of tests to check loop passes. 2007-07-31 08:04:17 +00:00
LoopSimplify Convert .cvsignore files 2007-06-29 16:35:07 +00:00
LoopStrengthReduce Convert .cvsignore files 2007-06-29 16:35:07 +00:00
LoopUnroll Convert .cvsignore files 2007-06-29 16:35:07 +00:00
LoopUnswitch Update dominator info for the middle blocks created while spliting 2007-08-02 15:25:57 +00:00
LowerInvoke Convert .cvsignore files 2007-06-29 16:35:07 +00:00
LowerSetJmp Convert .cvsignore files 2007-06-29 16:35:07 +00:00
LowerSwitch Convert .cvsignore files 2007-06-29 16:35:07 +00:00
Mem2Reg Convert .cvsignore files 2007-06-29 16:35:07 +00:00
PredicateSimplifier Convert .cvsignore files 2007-06-29 16:35:07 +00:00
PruneEH Convert .cvsignore files 2007-06-29 16:35:07 +00:00
RaiseAllocations Convert .cvsignore files 2007-06-29 16:35:07 +00:00
Reassociate Convert .cvsignore files 2007-06-29 16:35:07 +00:00
RedundantLoadElimination Rename a lot of things to change FastDLE to RedundantLoadElimination. 2007-07-24 00:17:04 +00:00
ScalarRepl Convert .cvsignore files 2007-06-29 16:35:07 +00:00
SCCP Convert .cvsignore files 2007-06-29 16:35:07 +00:00
SimplifyCFG Convert .cvsignore files 2007-06-29 16:35:07 +00:00
SimplifyLibCalls Convert .cvsignore files 2007-06-29 16:35:07 +00:00
TailCallElim Convert .cvsignore files 2007-06-29 16:35:07 +00:00
TailDup Change the x86 assembly output to use tab characters to separate the 2007-07-31 20:11:57 +00:00