llvm-6502/lib
Bill Wendling 4b722108e2 We are missing opportunites to use ldm. Take code like this:
void t(int *cp0, int *cp1, int *dp, int fmd) {
  int c0, c1, d0, d1, d2, d3;
  c0 = (*cp0++ & 0xffff) | ((*cp1++ << 16) & 0xffff0000);
  c1 = (*cp0++ & 0xffff) | ((*cp1++ << 16) & 0xffff0000);
  /* ... */
}

It code gens into something pretty bad. But with this change (analogous to the
X86 back-end), it will use ldm and generate few instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106693 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-23 23:00:16 +00:00
..
Analysis use the new isFreeCall API and ArgOperand accessors 2010-06-23 22:48:06 +00:00
Archive
AsmParser Eliminate the restriction that the array size in an alloca must be i32. 2010-05-28 01:14:11 +00:00
Bitcode Tidy. 2010-06-19 05:33:57 +00:00
CodeGen MorphNodeTo doesn't preserve the memory operands. Because we're morphing a node 2010-06-23 18:16:24 +00:00
CompilerDriver
ExecutionEngine Handle execution entrypoints with non-integer return types. 2010-06-18 02:01:10 +00:00
Linker
MC Get the addend correct for i386 pic. 2010-06-22 23:51:47 +00:00
Support Look for and use a different darwin crash reporter library. 2010-06-22 21:01:04 +00:00
System Avoid "variable 'bits' set but not used [-Wunused-but-set-variable]" 2010-06-10 16:23:15 +00:00
Target We are missing opportunites to use ldm. Take code like this: 2010-06-23 23:00:16 +00:00
Transforms Revert 106592 for now. It causes clang-selfhost build failure. 2010-06-22 23:29:55 +00:00
VMCore use ArgOperand accessors 2010-06-23 13:56:57 +00:00
Makefile