1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00
llvm-mirror/lib/Transforms
Haicheng Wu 5302d65f58 [LIR] Add support for structs and hand unrolled loops
This is a recommit of r258620 which causes PR26293.

The original message:

Now LIR can turn following codes into memset:

typedef struct foo {
  int a;
  int b;
} foo_t;

void bar(foo_t *f, unsigned n) {
  for (unsigned i = 0; i < n; ++i) {
    f[i].a = 0;
    f[i].b = 0;
  }
}

void test(foo_t *f, unsigned n) {
  for (unsigned i = 0; i < n; i += 2) {
    f[i] = 0;
    f[i+1] = 0;
  }
}

llvm-svn: 258777
2016-01-26 02:27:47 +00:00
..
Hello Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
InstCombine [InstCombine, SCCP] Consolidate code used to remove instructions 2016-01-24 05:26:18 +00:00
Instrumentation [PGO] IR level instrumentation of indirect call value profiling 2016-01-21 18:11:44 +00:00
IPO [cfi] Cross-DSO CFI diagnostic mode (LLVM part). 2016-01-25 23:35:03 +00:00
ObjCARC Refactor: Simplify boolean conditional return statements in lib/Transforms/ObjCARC 2015-12-28 16:19:08 +00:00
Scalar [LIR] Add support for structs and hand unrolled loops 2016-01-26 02:27:47 +00:00
Utils [LoopSimplify] Reuse changeToUnreachable 2016-01-24 19:32:52 +00:00
Vectorize [LIR] Add support for structs and hand unrolled loops 2016-01-26 02:27:47 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile