llvm-project/llvm/lib
Chris Lattner 3b0a62d8a5 Implement a little hack for parity with GCC on crafty. This speeds up
186.crafty by about 16% (from 15.109s to 13.045s) on my system.

This turns allocas with unions/casts into scalars.  For example crafty has
something like this:

    union doub {
      unsigned short i[4];
      long long d;
    };
int f(long long a) {
  return ((union doub){.d=a}).i[1];
}

Instead of generating loads and stores to an alloca, we now promote the
whole thing to a scalar long value.

This implements: Transforms/ScalarRepl/AggregatePromote.ll

llvm-svn: 24667
2005-12-12 07:19:13 +00:00
..
Analysis Collapsing node if variable length struct with final field of length zero 2005-12-06 18:04:30 +00:00
AsmParser regenerate 2005-11-12 18:22:38 +00:00
Bytecode Fix a problem with llvm-ranlib that (on some platforms) caused the archive 2005-11-30 05:21:10 +00:00
CodeGen Minor tweak to get isel opt 2005-12-11 09:05:13 +00:00
Debugger tell selectiondag when we're debugging 2005-11-16 07:21:47 +00:00
ExecutionEngine Fix a nasty bug that was causing miscompilation of global variables 2005-10-23 23:54:56 +00:00
Linker Fix test/Regression/Linker/2005-12-06-AppendingZeroLengthArrays.ll and 2005-12-06 17:30:58 +00:00
Support indicate when a tool is a debug build. 2005-11-16 06:36:47 +00:00
System instead of using mstats, use malloc_zone_statistics which returns numbers 2005-11-14 07:27:56 +00:00
Target Fix typo :( 2005-12-11 18:43:13 +00:00
Transforms Implement a little hack for parity with GCC on crafty. This speeds up 2005-12-12 07:19:13 +00:00
VMCore Add a flag to Module::getGlobalVariable to allow it to return vars with 2005-12-05 05:30:21 +00:00
Makefile Add the Linker library 2004-11-14 21:54:41 +00:00