llvm-6502/include/llvm/CodeGen
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
..
AsmPrinter.h Teach emitAlignment to handle explicit alignment requests by globals. 2005-11-14 19:00:06 +00:00
ELFWriter.h Add two helper methods, adjust a prototype 2005-07-16 17:40:34 +00:00
InstrScheduling.h Remove trailing whitespace 2005-04-21 20:39:54 +00:00
IntrinsicLowering.h add a flag 2005-11-16 07:21:15 +00:00
LiveInterval.h add a new method 2005-10-20 07:37:59 +00:00
LiveIntervalAnalysis.h add missing prototype 2005-10-21 15:49:28 +00:00
LiveVariables.h Fix a problem Duraid noticed, where we weren't removing values from the kills 2005-08-25 05:45:31 +00:00
MachineBasicBlock.h Remove trailing whitespace 2005-04-21 20:39:54 +00:00
MachineCodeEmitter.h new is not a valid default anywhere, so make this pure virtual 2005-07-28 18:13:59 +00:00
MachineConstantPool.h add a helper method 2005-07-11 04:49:33 +00:00
MachineFrameInfo.h Change a comment slightly 2005-11-06 17:40:18 +00:00
MachineFunction.h remove an inappropriate comment 2005-08-31 22:49:51 +00:00
MachineFunctionPass.h Remove trailing whitespace 2005-04-21 20:39:54 +00:00
MachineInstr.h Mark these as V9 specific 2005-08-01 20:38:31 +00:00
MachineInstrBuilder.h Remove trailing whitespace 2005-04-21 20:39:54 +00:00
MachineRelocation.h Eliminate tabs and trailing spaces. 2005-07-27 05:53:44 +00:00
Passes.h Remove a prototype 2005-10-24 04:13:21 +00:00
SchedGraphCommon.h Convert tabs to spaces 2005-04-22 03:46:24 +00:00
SelectionDAG.h Teach LLVM how to scalarize packed types. Currently, this only works on 2005-11-19 00:36:38 +00:00
SelectionDAGISel.h add a method 2005-08-18 18:44:33 +00:00
SelectionDAGNodes.h Teach LLVM how to scalarize packed types. Currently, this only works on 2005-11-19 00:36:38 +00:00
SSARegMap.h add an assertion 2005-01-05 16:27:34 +00:00
ValueSet.h Remove trailing whitespace 2005-04-21 20:39:54 +00:00
ValueTypes.h Teach the type lowering code about turning packed types into vector types. 2005-11-17 21:44:42 +00:00