llvm-6502/lib/Transforms/Scalar
Dale Johannesen 0488fb649a Massive rewrite of MMX:
The x86_mmx type is used for MMX intrinsics, parameters and
return values where these use MMX registers, and is also
supported in load, store, and bitcast.

Only the above operations generate MMX instructions, and optimizations
do not operate on or produce MMX intrinsics. 

MMX-sized vectors <2 x i32> etc. are lowered to XMM or split into
smaller pieces.  Optimizations may occur on these forms and the
result casted back to x86_mmx, provided the result feeds into a
previous existing x86_mmx operation.

The point of all this is prevent optimizations from introducing
MMX operations, which is unsafe due to the EMMS problem.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115243 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-30 23:57:10 +00:00
..
ADCE.cpp Reapply r110396, with fixes to appease the Linux buildbot gods. 2010-08-06 18:33:48 +00:00
BasicBlockPlacement.cpp Reapply r110396, with fixes to appease the Linux buildbot gods. 2010-08-06 18:33:48 +00:00
CMakeLists.txt Removed a bunch of unnecessary target_link_libraries. 2010-09-28 22:39:14 +00:00
CodeGenPrepare.cpp Try again to disable critical edge splitting in CodeGenPrepare. 2010-09-30 20:51:52 +00:00
ConstantProp.cpp Reapply r110396, with fixes to appease the Linux buildbot gods. 2010-08-06 18:33:48 +00:00
CorrelatedValuePropagation.cpp Use a depth-first iteratation in CorrelatedValuePropagation to avoid wasting time trying 2010-09-16 18:35:07 +00:00
DCE.cpp Reapply r110396, with fixes to appease the Linux buildbot gods. 2010-08-06 18:33:48 +00:00
DeadStoreElimination.cpp Reapply r110396, with fixes to appease the Linux buildbot gods. 2010-08-06 18:33:48 +00:00
GEPSplitter.cpp Reapply r110396, with fixes to appease the Linux buildbot gods. 2010-08-06 18:33:48 +00:00
GVN.cpp We do want to allow LoadPRE to perform LICM-like transformations: we already consider PHI nodes to be negligible for 2010-09-30 20:53:04 +00:00
IndVarSimplify.cpp do not rely on the implicit-dereference semantics of dyn_cast_or_null 2010-09-18 11:53:39 +00:00
JumpThreading.cpp Fix PR8247: JumpThreading can cause a block to become unreachable while still having predecessor, if it is part of a self-loop. 2010-09-29 20:34:41 +00:00
LICM.cpp fix PR8102, a case where we'd copyValue from a value that we already 2010-09-14 00:19:00 +00:00
LoopDeletion.cpp Reapply r110396, with fixes to appease the Linux buildbot gods. 2010-08-06 18:33:48 +00:00
LoopIndexSplit.cpp typoes 2010-09-10 22:25:58 +00:00
LoopRotation.cpp Teach loop rotate to hoist trivially invariant instructions 2010-09-06 01:10:22 +00:00
LoopStrengthReduce.cpp Delete an unused function. 2010-09-27 16:58:21 +00:00
LoopUnrollPass.cpp Revert r114919, which caused some serious regressions on ARM. 2010-09-29 18:05:19 +00:00
LoopUnswitch.cpp Fix loop unswitching's assumption that a code path which either 2010-09-01 21:46:45 +00:00
LowerAtomic.cpp more cleanups 2010-09-05 20:13:07 +00:00
Makefile make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
MemCpyOptimizer.cpp If we're changing the source of a memcpy we need to use the alignment 2010-09-25 00:57:26 +00:00
Reassociate.cpp Reapply r110396, with fixes to appease the Linux buildbot gods. 2010-08-06 18:33:48 +00:00
Reg2Mem.cpp Now that PassInfo and Pass::ID have been separated, move the rest of the passes over to the new registration API. 2010-08-23 17:52:01 +00:00
Scalar.cpp Whoops this already existed. 2010-03-11 23:21:19 +00:00
ScalarReplAggregates.cpp Massive rewrite of MMX: 2010-09-30 23:57:10 +00:00
SCCP.cpp remove some dead code. 2010-08-18 02:41:56 +00:00
SimplifyCFGPass.cpp Teach SimplifyCFG how to simplify indirectbr instructions. 2010-08-14 00:29:42 +00:00
SimplifyHalfPowrLibCalls.cpp Reapply r110396, with fixes to appease the Linux buildbot gods. 2010-08-06 18:33:48 +00:00
SimplifyLibCalls.cpp Tighten up prototype verification of strchr and strrchr to avoid a crash in the very unlikely case that someone passes an integer > i64 to strchr. 2010-09-30 11:21:59 +00:00
Sink.cpp Reapply r110396, with fixes to appease the Linux buildbot gods. 2010-08-06 18:33:48 +00:00
TailDuplication.cpp Reapply r110396, with fixes to appease the Linux buildbot gods. 2010-08-06 18:33:48 +00:00
TailRecursionElimination.cpp tidy up 2010-08-31 21:21:25 +00:00