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
BasicBlock.cpp
ConstantFold.cpp
ConstantFold.h
ConstantFolding.h
ConstantRange.cpp
Constants.cpp
Dominators.cpp
Function.cpp
Globals.cpp
Instruction.cpp
Instructions.cpp
LeakDetector.cpp
Makefile
Mangler.cpp
Module.cpp
ModuleProvider.cpp
Pass.cpp
PassManagerT.h
SymbolTable.cpp
SymbolTableListTraitsImpl.h
Type.cpp
Value.cpp
ValueTypes.cpp Teach LLVM how to scalarize packed types. Currently, this only works on 2005-11-19 00:36:38 +00:00
Verifier.cpp