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 Remove trailing whitespace 2005-04-21 23:48:37 +00:00
ConstantFolding.h Remove trailing whitespace 2005-04-21 23:48:37 +00:00
ConstantRange.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
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 Remove trailing whitespace 2005-04-21 23:48:37 +00:00
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 Remove trailing whitespace 2005-04-21 23:48:37 +00:00
ModuleProvider.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Pass.cpp Older compilers won't like the inline virtual destructor in the header file 2005-04-25 01:01:35 +00:00
PassManagerT.h Remove trailing whitespace 2005-04-21 23:48:37 +00:00
SymbolTable.cpp Fix an iterator invalidation problem in code used by the -strip pass 2005-10-31 18:42:37 +00:00
SymbolTableListTraitsImpl.h Remove trailing whitespace 2005-04-21 23:48:37 +00:00
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