llvm-6502/lib/VMCore
Nate Begeman 5fbb5d2459 Teach LLVM how to scalarize packed types. Currently, this only works on
packed types with an element count of 1, although more generic support is
coming.  This allows LLVM to turn the following code:

void %foo(<1 x float> * %a) {
entry:
  %tmp1 = load <1 x float> * %a;
  %tmp2 = add <1 x float> %tmp1, %tmp1
  store <1 x float> %tmp2, <1 x float> *%a
  ret void
}

Into:

_foo:
        lfs f0, 0(r3)
        fadds f0, f0, f0
        stfs f0, 0(r3)
        blr


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24416 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-19 00:36:38 +00:00
..
AsmWriter.cpp print section info 2005-11-12 00:10:19 +00:00
BasicBlock.cpp Add a helper method 2005-08-12 22:14:06 +00:00
ConstantFold.cpp Use ANSI-approved way of getting the value infinity (otherwise VC++ won't compile it) 2005-05-03 03:13:01 +00:00
ConstantFold.h
ConstantFolding.h
ConstantRange.cpp
Constants.cpp add a hack to work around broken VC++ scoping rules. Thx to JeffC for pointing 2005-10-07 05:23:36 +00:00
Dominators.cpp This requires proper dominance 2005-11-18 07:27:53 +00:00
Function.cpp continued readcyclecounter support 2005-11-11 16:47:30 +00:00
Globals.cpp Change the signature of replaceUsesOfWithOnConstant. The bool was always 2005-10-04 18:13:04 +00:00
Instruction.cpp add new helper function 2005-08-08 05:21:50 +00:00
Instructions.cpp verify that alignments are always a power of 2 2005-11-05 21:57:54 +00:00
LeakDetector.cpp
Makefile only build .a on alpha 2005-08-14 15:14:34 +00:00
Mangler.cpp Fix handling of multiple unnamed globals with the same type 2005-11-15 01:32:03 +00:00
Module.cpp
ModuleProvider.cpp
Pass.cpp
PassManagerT.h
SymbolTable.cpp Fix an iterator invalidation problem in code used by the -strip pass 2005-10-31 18:42:37 +00:00
SymbolTableListTraitsImpl.h
Type.cpp * Fix DerivedType::dropAllTypeUses to not change the number of types in a 2005-11-16 06:09:47 +00:00
Value.cpp Change the signature of replaceUsesOfWithOnConstant. The bool was always 2005-10-04 18:13:04 +00:00
ValueTypes.cpp Teach LLVM how to scalarize packed types. Currently, this only works on 2005-11-19 00:36:38 +00:00
Verifier.cpp continued readcyclecounter support 2005-11-11 16:47:30 +00:00